ATmega8 a modeláøské servo
Moderátor: Moderátoři
ATmega8 a modeláøské servo
Prosím Vás moc o pomoc..
Mám modeláøské servo zapojené žlutým drátkem na nožièku 17 = B.3
u ATmega8. Èerný drát serva na - èervený na +
Servo je normálnì funkèní.
Nemám zapojený krystal, nic....
Vložím do èipu tento program:
A ono nic, prosím Vás o pomoc, èím to je, co mám napravit?
Config Servos = 1 , Servo1 = Portb.3 , Reload = 10
Config Portb = Output
Enable Interrupts
Servo(1) = 10
Waitms 1000
Dim I As Byte
Do
For I = 0 To 100
Servo(1) = I
Waitms 1000
Next
For I = 100 To 0 Step -1
Servo(1) = I
Waitms 1000
Next
Loop
End
Mám modeláøské servo zapojené žlutým drátkem na nožièku 17 = B.3
u ATmega8. Èerný drát serva na - èervený na +
Servo je normálnì funkèní.
Nemám zapojený krystal, nic....
Vložím do èipu tento program:
A ono nic, prosím Vás o pomoc, èím to je, co mám napravit?
Config Servos = 1 , Servo1 = Portb.3 , Reload = 10
Config Portb = Output
Enable Interrupts
Servo(1) = 10
Waitms 1000
Dim I As Byte
Do
For I = 0 To 100
Servo(1) = I
Waitms 1000
Next
For I = 100 To 0 Step -1
Servo(1) = I
Waitms 1000
Next
Loop
End
Snad trochu pomozem, Bascom tiez neviem, ale skus pozriet sem :
Kód: Vybrat vše
http://robotika.cz/guide/servo/cs
NPN, sipka ven!
Tak jinak, servo se řídí šířkou impulzu 1ms (levý okraj) až 2ms (pravý okraj), přitom výchylka páky je asi 120°.
Takže 1.5ms je střed serva. Impulzy se mají opakovat každých 20ms.
Takže 1.5ms je střed serva. Impulzy se mají opakovat každých 20ms.
Naposledy upravil(a) Mendor dne 15 pro 2008, 23:57, celkem upraveno 1 x.
Musíš vypotit program, který ti bude generovat trvale na nějakém pinu každých 20 ms kladný impuls délky 1,5 ms a číst 2 piny s tlačítkama. Potenciometr na elektronice serva nastavíš do polohy, kdy se ti servo zastaví. Po stisknutí jednoho tlačítka se musí na tom pinu generovat každých 20 ms delší impulsy než je 1, 5 ms, maximálně 2 ms a motor se ti bude točit na jednu stranu. Po zmáčknutí 2 tlačítka se musí generovat každých 20 ms kratší impulsy než 1,5 ms, ale ne kratší, než 1 ms a motor pojede opačně. Uvedené časování musíš dodržet, protože elektronika serva je takto nastavená. Čeká každých 20 ms na impuls a podle délky příchozího impulsu rozhoduje, na kterou stranu se má servo točit. Po puštění tlačítka se opět generují každých 20 ms impulsy 1,5 ms a motor se zastaví, protože snímací potenciometr je v nezměněné poloze. Program musíš ošetřit i na situaci, kdy jsou zmáčknutá obě tlačítka a generovat v tomto případě impulsy délky 1,5 ms a motor nebude dělat nic.