اطلاعیه

Collapse
No announcement yet.

کمک برای تولید موج مربعی با فرکانس متغییر و pwm قابل تنطیم با بسکام

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

    کمک برای تولید موج مربعی با فرکانس متغییر و pwm قابل تنطیم با بسکام

    سلام دوستان سال نوتون مبارک
    یه مشکلی برام پیش اومده توی برنامه نویسی و ایرادشم نمیدونم کجاست لطفا راهنماییم کنید.
    مشکل اینه که من میخام 2 تا ولوم داشته باشم که با کم وزیاد کردن اونها 2 تا مغییرم از 1 تا 100 تغییر کنه بعد یک از متغیرها نشونگر فرکانس باشه مثلا از از 1 هرتز تا 100 هرتز و بعدی نشونگر درصد pwm باشه مثلا 1% یا 90% یا ...
    حالا مشکلی که من دارم بیشتر کار کردن با متغییر هایی هست که تو فرمول استفاده کردم یعنی مثلا نمیدونم برای عدد اعشاری چه متغیری بزارم تا برنامه درست کار کنه و هر چی هم متغیر ها رو عوض میکنم بازم جواب نمیگیرم و دیگه نمیدونم چی کار کنم .
    کد:
    Dim Temp1 As Word , Temp2 As Word
    Dim Freq_w As Byte , Pwm_w As Byte
    Dim T1 As Double , T2 As Double , Pwm As Double , Time_all As Double
    Dim T11 As Dword , T22 As Dword
    
    Sub Manuall:
    Temp1 = Getadc(0)
    Temp2 = Getadc(1)
    Freq_w = Temp1 / 10.24
    Pwm_w = Temp2 / 10.24
    If Freq_w <= 1 Then Freq_w = 1
    If Pwm_w <= 1 Then Pwm_w = 1
    If Freq_w >= 100 Then Freq_w = 100
    If Pwm_w >= 100 Then Pwm_w = 100
    Time_all = 1000000 / Freq_w
    Pwm = Pwm_w / 100
    T1 = Pwm * Time_all
    T2 = Time_all - T1
    T1 = Round(t1)
    T2 = Round(t2)
    T11 = T1 / 100
    T22 = T2 / 100
    Return
    End Sub
    تو برنامه بالا زمانی که متغییر های freq_w و pwm_w رو تو lcd نشون میدم درست عمل میکنه (زمانی که از نوع word باشه ) ولی زمانی (byte ) میکنمش
    دیگه درست عمل نمیکنه
    متغیر های t1 و t2 هم که اصل کاری هستند هم اصلا تو lcd نشون داده نمیشن.

    فرمول بالا زمان خاموش بودن و روشن بودن سیکل رو مشخص میکنه و بعد با تاخیر شکل موج رو میسازم مثل این
    کد:
    Infinite:
    Call Buz
    Call Starting
    Do
    Call Manuall
    Locate 1 , 1 : Lcd "P : " ; T11 ; "  "
    Locate 2 , 1 : Lcd "F : " ; T22 ; "  "
    Debounce Start_b , 0 , 4321                 'start
    Debounce Start_b , 0 , 4321                 'start
     '  For A = T11 To 1 Step -1
     ' Set Pulse1
      ' Set Pulse2
      'Waitus 80
      'Next
      'For A = T22 To 1 Step -1
      'Reset Pulse1
      'Reset Pulse2
      'Waitus 80
      'Next
    Loop
    End                             'end program
    تو برنامه بالا فقط 2تا از خروجی هام رو خاموش روشن میکنم با استفاده از 2 تا ولومی که دارم فرکانسشو و pwm رو کنترل میکنم
    حالا دوستان لطف کنن کمک کنن بگن که متغیر های من برای باید از چه نوعی باشن تا فرمول جواب بده ؟؟؟
    یا اگه فرمولی که نوشتم درست نیست لطفا بگن
    ممنون , منتظر جوابتون هستم...
    دعا پشتِ دعا براي آمدنت
    گناه پشــــــتِ گناه براي نيامــدنت
    دل درگــير ، مــيان اين دو انتخــــــــــــــــــــاب
    کــــــــــــــدام آخر ؟ آمـــدنـت يا نيامدنـــــــــــــــــــــــت

    #2
    پاسخ : کمک برای تولید موج مربعی با فرکانس متغییر و pwm قابل تنطیم با بسکام

    با سلام به دوست عزیز
    1اگه میخای متغیر های فرکانس را اعشاری تعریف کنی باید از نوع singleباشه البته با دستور config single هم میتونی ارقام اعشار را تنظیم کنی در ضمن شما اگه پنج ولت کامل را بدی به انالوگ 1023 به شما میده که تقسیم بر 10.24 عددی کمتر از 100 میشه هم چنین باید بگم امکان داره ولتاژ ماکزیمم ورودی به انالوگ 5 ولت هم نباشه شما ابتدا باید مقدار ها را با ال سی دی نمایش بدی و میزان تغییرات را تو دستور شرطی تون لحاظ کنی
    ضمنا متغیر های t اگه اعشاری اند single معرفی کن ودرموردt11,t22 هم همینطور :agree:
    دوربين مدار بسته و دزد گير و رفع مشكلات
    بانك اطلاعاتي سنسورها
    ساخت رقص نور براي شيشه سكوريت مغازه ها
    تعمير لوازم خانگي را اينجا مطرح كنيد
    [move][b] موفقيت بر روي ستون هاي شکست شکل مي گيرد.

    دیدگاه

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