Styrning av stegmotorer med servosignaler [KLART juli 2003]
Detta projekt gick ut på att koppla ihop två stegmotorer med en mottagare för rc-modeller. Bygget har två grundinställningar, som gör att det uppför sig på två olika sätt.
Första läget styr stegmotorerna individuellt: första signalen från mottagaren styr första stegmotorns hastighet, och andra servosignalen styr andra stegmotorns hastighet.
När lådan jobbar i andra läget, så imitteras larvbandsstyrning: Första servosignalen bestämmer totala hastigheten frammåt, och andra servosignalen bestämmer hur stor hastighetsskillnaden skall vara mellan de två servomotorerna. Monteras servomotorerna mitt emot varandra, så kan man styra sitt bygge på samma sätt som en bandvagn. Bygget kan köra och svänga nästan hur som helst.
När jag skulle bygga ihop projektet fick jag inte på den drivarkrets jag ville ha, så jag följde inte den ursprungliga billigare designen jag hade. Schemat nedan visar vad jag verkligen byggde:
Några förklaringar är på sin plats:
- +12V är den spänning som man matar både bygget och stegmotorerna med. Denna spänning kan utan risker ligga mellan 9 och 15 volt.
- GND är givetvis jordningen för kretsen. Hit kopplas den jord som hör ihop med 12V-källan. Även servonas jordanslutningar MÅSTE kopplas in här för att kretsen skall fungera.
- Servo0 och Servo1 är ingångar som kopplas till
mottagarens utgångar för servon. Observera att en
annorlunda skarvsladd med honkontakter i bägge ändarna
behövs.
Observera också att alla servon inte har samma anslutningar. Vanligtvis finns det en svart sladd (som skall anslutas till GND), en röd sladd (som inte skall kopplas in över huvud taget). Ibland har den ledning som skall anslutas gul färg, men det är inte givet. //FIXME - Kondensatorn markerad med "behövs kanske inte" är faktiskt inte med i mitt bygge. Kondensatorn kan vara nödvändigt att montera om man antingen har stora stegmotorer, eller om man har ett svagt batteri.
- Bygeln sätts i för att styra motorerna på samma sätt
som man styr en bandvagn (kan vända på en femkrona).
När man trycker spaken frammåt kommer modellen man
byggt att åka framåt. Trycker man styrspaken åt sidan,
så svänger man. (Blir det tvärtom är det bara att
byta plats på sladdarna servo0 och servo1.
Bygeln dras ut för att styra stegmotorerna var och en för sig, så att vardera kanalen styr enbart en stegmotors hastighet. - AT90S2313 är en mikrokontroller, som måste programmeras innan projektet fungerar. Hexfilen kan laddas ned här.
- UDN2981 är en darlingtondrivare, med åtta utgångar, och inbyggda seriemotstånd för direkt koppling till logiska kretsar. Denna krets innehåller också skyddsdioder som oskadliggör de farliga spänningarna som uppstår när man switchar induktiva laster. Jag satte en rejäl kylfläns på denna krets, då den blev rättså varm (60 °C) när stegmotorerna var inkopplade.
Hur är stegmotorerna inkopplade till kontakten?
Detta är en bra fråga, som jag inte har ett bra tekniskt svar på. För att ta reda på detta blir man tvungen att mäta resistanser mellan stegmotorns anslutningar. Man kommer då att hitta två kablar som "ligger i mitten av varsin spänningsdelare". Dessa två kablar skall anslutas till stift 5 och 6. De andra kablarna skall anslutas så att motorn roterar om man jordar stift 5 och 6 och lägger en positiv spänning till resten av stiften ett och ett i följden 1, 2, 3, 4, 1, 2, ... Det råkar vara så att de två stegmotortyper jag provat båda hade samma anslutning, så därför är shemat som det är. Det finns trots detta många olika typer av kopplingar, så man blir tvungen att först hitta en sekvens som får motorn att rotera. Det kan också vara bra att påpeka att denna design bara fungerar med stegmotorer med "mittanslutningar" på båda lindningarna. |
Några bilder på det färdiga hopbygget:
Du ansvarar själv för risken att skada dig själv/andra/saker/datorer/eller annat!