سلام به اساتید گرامی AVR و بیسکام
برای راه اندازی سروو موتور و کنترل آن کافیست سیگنال زیر تولید و کنترل شود:

و مدار زیر:

خوب روشهای زیادی وجود دارد مثلا استفاده از دستور Pulseout :
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.1 , Db7 = Pinb.0 , E = Pinb.4 , Rs = Pinb.5
Config Lcd = 16 * 2 : Cursor Off : Cls
Config Portd = Output
Dim A As Word
Dim V2 As Single
Dim V3 As Single
Dim C As Single
Dim B As Word
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Do
A = Getadc(1)
B = A
B = B * 2
B = B + 2000
Pulseout Portd , 0 , B
V2 = B
Lcd "T=" ; Fusing(v2 , "#.##"
; " U.SEC"
Loop
End
و...
ولی روش دقیق استفاده از تایمر و PWM است
با توجه به شکل نمودار ما نیاز به تولید فرکانس 50 هرتز داریم که طول موج مثبت از 1 تا 2 میلی ثانیه تغییر کنه
اساتید استفاده از تایمر و PWM رو برای این کار با بیسکام بفرمایند
با تشکر
برای راه اندازی سروو موتور و کنترل آن کافیست سیگنال زیر تولید و کنترل شود:

و مدار زیر:

خوب روشهای زیادی وجود دارد مثلا استفاده از دستور Pulseout :
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.1 , Db7 = Pinb.0 , E = Pinb.4 , Rs = Pinb.5
Config Lcd = 16 * 2 : Cursor Off : Cls
Config Portd = Output
Dim A As Word
Dim V2 As Single
Dim V3 As Single
Dim C As Single
Dim B As Word
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Do
A = Getadc(1)
B = A
B = B * 2
B = B + 2000
Pulseout Portd , 0 , B
V2 = B
Lcd "T=" ; Fusing(v2 , "#.##"

Loop
و...
ولی روش دقیق استفاده از تایمر و PWM است
با توجه به شکل نمودار ما نیاز به تولید فرکانس 50 هرتز داریم که طول موج مثبت از 1 تا 2 میلی ثانیه تغییر کنه
اساتید استفاده از تایمر و PWM رو برای این کار با بیسکام بفرمایند
با تشکر
دیدگاه