اطلاعیه

Collapse
No announcement yet.

درخواست کمک در ارسال عدد با مد PWM بوسیله Mega8

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    درخواست کمک در ارسال عدد با مد PWM بوسیله Mega8

    با سلام خدمت دوستان
    میخوام یک عدد یا پالسی رو بوسیله PWM میکرو مگا 8 ارسال کنم در نرم افزار پروتئوس جواب میده ولی در عمل روی برد بورد کار نمیکنه
    برای امتحان ، به پین OC1a یا OC1b با تایمر یک و OC2 با تایمر2 و هر کدوم بصورت جداگانه در پروتئوس یک LED وصل کردم و جواب داد یعنی با توجه به پالس رسیده بسرعت روشن و خاموش میشد ولی زمانیکه همین برنامه رو روی مگا 8 پروگرام میکنم و با توجه به اینکه به led وصل میکنم فقط بطور ثابت روشن میماند . در ضمن از سالم بودن میکروی خودم مطمئنم
    این نکته رو هم بگم که من این کار رو برای پروژه ارسال سیگنال با لیزر انجام دادم

    برنامه :

    میکروی فرستنده

    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Timer1 = Pwm , Pwm = 9 , Prescale = 1 , Compare A Pwm = Clear Down , _
    Compare B Pwm = Clear Up
    Config Portb.1 = Output
    Config Portb.2 = Output
    Dim T As Word
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    Do
    Start Adc
    T = Getadc(0)
    T = T / 8
    Pwm1a = T
    Pwm1b = T
    Waitus 1
    Loop
    End


    برنامه گیرنده

    $regfile = "m8def.dat"
    $crystal = 16000000
    Config Pinc.0 = Input
    Config Portd = Output
    Config Timer1 = Timer , Prescale = 8
    Stop Timer1
    Do
    Bitwait Pinc.0 , Reset
    Start Timer1
    Bitwait Pinc.0 , Set
    Stop Timer1
    Timer1 = Timer1 * 2
    Portd = Timer1
    Timer1 = 0
    Loop
    End




    #2
    پاسخ : درخواست کمک در ارسال عدد با مد PWM بوسیله Mega8


    اگه شما لطف کنی و برای اطلاع من وبقیه دوستان یه توضیحاتی درباره سنسورهای لیزری بدین منم تو برنامه نویسیش کمکتون میکنم (قیمت و اندازه و بردو محدوده فرکانسی-- فقط برای افزایش اطلاعات عمومی خودم ودوستان میخوام بدونم)
    اول اینکه این جور مدار ها رو کلا رو برد بورد نبندین برای آزمایش رو فیبر سوراخدار با سیم وایرپ ببندین بردبورد حتی روی مدارهای صوتی هم نویز میندازه

    موضوع دیگه اینکه پروتیوس و بقیه نرم افزار های سیمولاتور بیشتر جنبه یادگیری داره و خیلی مسایل درش با واقعیت فاصله داره به قول یکی از دوستان "هیچ سیمولاتوری واقعیت نمیشه"

    درباره برنامه:
    فرکانس pwm در حالت 9 بیتی از رابطه
    (f=fosc/(1022*prescale
    بدست میاد در برنامه شما مبشه 8000000/1022
    میشه 7827.78865 که روند بشه همون 7827.8 هرتز میشه که دیود عملا روشن میشه اگه فرض کنیم دیودی باشه که با این سرعت روشن خاموش بشه با چشم دیده نمیشه

    درباره برنامه گیرنده هم بیشتر توضیح بدین من متوجه نشدم
    من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
    آلبرت اینشتین
    منبع: http://fa.wikiquote.org

    دیدگاه


      #3
      پاسخ : درخواست کمک در ارسال عدد با مد PWM بوسیله Mega8

      سلام
      دوست عزیز سنسور لیزر شما با پروتوکل pwm راه اندازی میشه و اعداد بر روی پهنای این pwm قرار میگیره؟؟ منظور شما رو درست متوجه شدم؟؟
      اگر اینطوره که باید در دیتا شیت لیزر توضیح داده باشه که شما چجوری اینو بفرستید!!
      موفق باشید

      دیدگاه


        #4
        پاسخ : درخواست کمک در ارسال عدد با مد PWM بوسیله Mega8

        سلام
        چیزی به نام سنسور لیزری نداریم . فقط برای گیرنده نور لیزر باید از فتوترانزیستور یا چشم پارسی استفاده کنیم .
        برای ارسال هم منظورم من همون لیزر دیود هستش که بیشتر در اسباب بازی فروشیها گیر میاد قیمتش هم حدود هزار تومان هستش ، اندازش حدود 5 سانتیمتر ، قدرتش یک میلی وات ،طول موج 630 تا 680 نانومتر ، ساخت چین .
        توی کلاس دانشگاه ها هم برخی اساتید از اون برای اشاره روی اسلایدها ازش استفاده میکنند . من داخلش رو باز کردم چیز خاصی نداره فقط یه نور قرمز خیلی تیز رو به مسافت طولانی و بصورت باریک می فرسته . اطلاعات بیشر رو خودم توی اینترنت سرچ کردم یه چیزهایی گیر آوردم .

        اما در مورد پروژه پایان ترم خودم که "انتقال سیگنال با لیزر هستش" بگم که تقریبا پاسخ مشکلم رو پیدا کردم . برنامه مشکل خاصی نداره توی پروتئوس جواب میده در عمل هم به احتمال زیاد پاسخ میده چون الان به اوسیلوسکوپ دسترسی ندارم . فکر کنم بتونه سیگنالهای صوتی رو انتقال بده .
        حق با شما بود در عمل چون فرکانس خیلی بالا هست چشم نور دیود رو ثابت میبیند یا به اصطلاح همون قضیه اصل پسماند در چشم رخ میدهد .
        در برنامه گیرنده با استفاده از تایمر باید پالسها رو دریافت کنیم
        یعنی همینکه اولین پالس صفر دریافت شد پین مورد نظر ریست شده و تایمر شروع به شمردن میکند و به محض یک شدن پالس تایمر متوقف میشود که در مجموع میتوان فرکانس فرستنده را در گیرنده ایجاد نمود
        در آخر هم مقدار تایمر را در عدد 2 ضرب کرده تا فرکانس گیرنده با فرستنده دقیقا مچ شود
        توضیحات دقیقتر و بیشتر این پروژه در کتاب "پروژه های میکروکنترلر AVR" به نویسندگی آقای حسین طالبی موجود هستش البته بدون استفاده از لیزر .
        فایل برنامه و شبیه سازی رو پلود کردم . اگه نکته خاصی داره لطفا به من اطلاع بدین . نکته مهم اینه که حتما در پروتئوس ورژن 7.1 به بالا اجرا شود وگرنه نرم افزار خطا میگیرد که فکر کنم به دلیل وجود مبدل دیجیتال به آنالوگ 0800 هستش .

        لینک دانلود:
        http://s1.picofile.com/file/6507493958/Laser_Project.rar.html

        دیدگاه


          #5
          پاسخ : درخواست کمک در ارسال عدد با مد PWM بوسیله Mega8

          نوشته اصلی توسط amirel
          سلام
          چیزی به نام سنسور لیزری نداریم . فقط برای گیرنده نور لیزر باید از فتوترانزیستور یا چشم پارسی استفاده کنیم .
          برای ارسال هم منظورم من همون لیزر دیود هستش که بیشتر در اسباب بازی فروشیها گیر میاد قیمتش هم حدود هزار تومان هستش ، اندازش حدود 5 سانتیمتر ، قدرتش یک میلی وات ،طول موج 630 تا 680 نانومتر ، ساخت چین .
          توی کلاس دانشگاه ها هم برخی اساتید از اون برای اشاره روی اسلایدها ازش استفاده میکنند . من داخلش رو باز کردم چیز خاصی نداره فقط یه نور قرمز خیلی تیز رو به مسافت طولانی و بصورت باریک می فرسته . اطلاعات بیشر رو خودم توی اینترنت سرچ کردم یه چیزهایی گیر آوردم .

          اما در مورد پروژه پایان ترم خودم که "انتقال سیگنال با لیزر هستش" بگم که تقریبا پاسخ مشکلم رو پیدا کردم . برنامه مشکل خاصی نداره توی پروتئوس جواب میده در عمل هم به احتمال زیاد پاسخ میده چون الان به اوسیلوسکوپ دسترسی ندارم . فکر کنم بتونه سیگنالهای صوتی رو انتقال بده .
          حق با شما بود در عمل چون فرکانس خیلی بالا هست چشم نور دیود رو ثابت میبیند یا به اصطلاح همون قضیه اصل پسماند در چشم رخ میدهد .
          در برنامه گیرنده با استفاده از تایمر باید پالسها رو دریافت کنیم
          یعنی همینکه اولین پالس صفر دریافت شد پین مورد نظر ریست شده و تایمر شروع به شمردن میکند و به محض یک شدن پالس تایمر متوقف میشود که در مجموع میتوان فرکانس فرستنده را در گیرنده ایجاد نمود
          در آخر هم مقدار تایمر را در عدد 2 ضرب کرده تا فرکانس گیرنده با فرستنده دقیقا مچ شود
          توضیحات دقیقتر و بیشتر این پروژه در کتاب "پروژه های میکروکنترلر AVR" به نویسندگی آقای حسین طالبی موجود هستش البته بدون استفاده از لیزر .
          فایل برنامه و شبیه سازی رو پلود کردم . اگه نکته خاصی داره لطفا به من اطلاع بدین . نکته مهم اینه که حتما در پروتئوس ورژن 7.1 به بالا اجرا شود وگرنه نرم افزار خطا میگیرد که فکر کنم به دلیل وجود مبدل دیجیتال به آنالوگ 0800 هستش .

          لینک دانلود:
          http://s1.picofile.com/file/6507493958/Laser_Project.rar.html

          دیدگاه

          لطفا صبر کنید...
          X