RC-servo roterar bara medsols!
Postat: 12 mars 2011, 23:33:25
Hej, här kommer en alldeles färsk medlem med en liten fråga:
Jag har precis börjat pyssla med PIC-programmering och kämpat med lysdioder i ett par veckor nu, men tröttnade lite och tänkte ge mig an ett gammalt servo som ligger o skräpar.
Problemet är nu att det bara roterar medsols och vad jag sett så verkar inte pulslängder mellan 0.9 ms och 1.9 ms ha någon som helst effekt på servots rotationsriktning.
Lite intressant är det att en snabbare uppdateringsfrekvens verkar göra så att det snurrar fortare... Vet inte om det har något med problemet att göra dock.
Testar jag dessutom att köra en pulslängd på 9 mikrosekunder så verkar servot snurra på som vanligt, det borde väl inte ens fungera?
Datablad till servot:
http://www.hitecrcd.com/files/Discontinued_303.pdf
En del av den kod jag anväder till min pic (pic16F690):
while (1){
PORTC = 1; // Signal hög;
_delay(9); // _delay(x)===> x mikrosekunders fördröjning
PORTC = 0; // Låg
_delay(2500);
Tack på förhand
/Jonney
Jag har precis börjat pyssla med PIC-programmering och kämpat med lysdioder i ett par veckor nu, men tröttnade lite och tänkte ge mig an ett gammalt servo som ligger o skräpar.
Problemet är nu att det bara roterar medsols och vad jag sett så verkar inte pulslängder mellan 0.9 ms och 1.9 ms ha någon som helst effekt på servots rotationsriktning.
Lite intressant är det att en snabbare uppdateringsfrekvens verkar göra så att det snurrar fortare... Vet inte om det har något med problemet att göra dock.
Testar jag dessutom att köra en pulslängd på 9 mikrosekunder så verkar servot snurra på som vanligt, det borde väl inte ens fungera?
Datablad till servot:
http://www.hitecrcd.com/files/Discontinued_303.pdf
En del av den kod jag anväder till min pic (pic16F690):
while (1){
PORTC = 1; // Signal hög;
_delay(9); // _delay(x)===> x mikrosekunders fördröjning
PORTC = 0; // Låg
_delay(2500);
Tack på förhand
/Jonney