اطلاعیه

Collapse
No announcement yet.

مشکل در ساخت pwm ساده...

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

    مشکل در ساخت pwm ساده...

    سلام دوستان...من دارم به صورت مبتدی شروع به تمرین با pwm میکنم...ولی یه جای کار مشکل داره...
    من دوتا ال ای دی به پایه های OC1A-OC1B زدم...و این کن رو نوشتم.:::
    کد:
    $regfile="m8def.dat"
    $crystal=1000000
    '---------------
    Config Timer1=Pwm,Prescale=1,Pwm=9,Compare A Pwm=Clear Up,Compare B Pwm=Clear Down
    '-------
    Dim A As BYTE
    Dim B As BYTE
    '------------
    A=1
    B=1
    '--
    PWM1A=A
    PWM1B=B
    '------
    Do
    A=50
    B=50
    Waitms 250
    A=150
    B=150
    Waitms 250
    A=250
    B=250
    Waitms 250
    Loop
    End
    -----
    یعنی من میخوام هر 250 میلی ثانیه نور این ال ای دی ها تغییر کنه....توی پروتئوش درست کار میکنه...حتی ولتمتر هم گذاشتم واس ال ای دی ها...ولتاژشون کم و زیاد هم میشه...ولی مدارو که عملی بستم....مشکل داره...ال ای دی که به OC1A وصله با نور متوسط روشن و ثابت میمونه...و ال ای دی که به OC1B وصله با نور کامل ثابت میمونه...و هیچکدوم اصلا تغییر نور ندارن...
    خواهشا بگید مشکل کار کجاست تا بهتر یاد بگیرم...

    #2
    پاسخ : مشکل در ساخت pwm ساده...

    دوست عزیز سلام
    شما باید دستور PWM1A را داخل حلقه قرار دهید و متناسب با دستوراتی که در یک کورس تاخیر قرار میگیرند این دستور نیز نوشته شود(در مورد PWM1B هم به همین ترتیب)
    تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
    علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

    دیدگاه


      #3
      پاسخ : مشکل در ساخت pwm ساده...

      نوشته اصلی توسط amir4elec نمایش پست ها
      سلام دوستان...من دارم به صورت مبتدی شروع به تمرین با pwm میکنم...ولی یه جای کار مشکل داره...
      من دوتا ال ای دی به پایه های OC1A-OC1B زدم...و این کن رو نوشتم.:::
      کد:
      $regfile="m8def.dat"
      $crystal=1000000
      '---------------
      Config Timer1=Pwm,Prescale=1,Pwm=9,Compare A Pwm=Clear Up,Compare B Pwm=Clear Down
      '-------
      Dim A As BYTE
      Dim B As BYTE
      '------------
      A=1
      B=1
      '--
      PWM1A=A
      PWM1B=B
      '------
      Do
      A=50
      B=50
      Waitms 250
      A=150
      B=150
      Waitms 250
      A=250
      B=250
      Waitms 250
      Loop
      End
      -----
      یعنی من میخوام هر 250 میلی ثانیه نور این ال ای دی ها تغییر کنه....توی پروتئوش درست کار میکنه...حتی ولتمتر هم گذاشتم واس ال ای دی ها...ولتاژشون کم و زیاد هم میشه...ولی مدارو که عملی بستم....مشکل داره...ال ای دی که به OC1A وصله با نور متوسط روشن و ثابت میمونه...و ال ای دی که به OC1B وصله با نور کامل ثابت میمونه...و هیچکدوم اصلا تغییر نور ندارن...
      خواهشا بگید مشکل کار کجاست تا بهتر یاد بگیرم...
      شما باید برنامه تو اینجوری بنویسید:
      Dim A As BYTE
      Dim B As BYTE
      '------------
      A=1
      B=1
      '--
      PWM1A=A
      PWM1B=B
      '------
      Do
      A=50
      B=50
      PWM1A=A
      PWM1B=B
      Waitms 250
      A=150
      B=150
      PWM1A=A
      PWM1B=B
      Waitms 250
      A=250
      B=250
      PWM1A=A
      PWM1B=B
      Waitms 250
      Loop
      End
      [/CODE]
      البته این همون چیزیه که اقا سینا گفتن.
      eshop-hodhod.ir

      دیدگاه


        #4
        پاسخ : مشکل در ساخت pwm ساده...

        حالا چرا پروتئوس درست نشون میداده؟؟؟الآن با این برنامه ای شکه شما گفتین ، درست کار میکنه دیگه؟؟؟
        ----
        یه سوال دیگه...الان نور ال ای دی ها به 255 قیمت تشکیل میشه یعنی مثلا مقدار رو روی 10 بزارم خیلی کم نوره؟؟یا 255 خیلی پر نوره؟؟؟؟

        دیدگاه


          #5
          پاسخ : مشکل در ساخت pwm ساده...

          اگر روی 10 بگذارید ، تا 1023 میتونین مقدار بدین
          تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
          علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

          دیدگاه

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