Borstlösa Gimbal med Arduino (2 / 4 steg)
Steg 2: Genomföra borstlös motorstyrning
Att införa h-bron för att kontrollera motorerna kan vi bi-directional rörelse som gimbal kräver, och möjliggör också mycket smidig kliva av motorns position. H bron och i huvudsak vänder tecknet på en av elektromagneter så att vi kan ha en hög, en mitten och en låg spänning. Som nämnts i inledningen, använde vi L298 h-broar, som har 15 stift. Vi fast var och en av dem som framgår av bilden ovan. Här är databladet.
- Stift 1: jord
- Stift 2: Motor stift 1
- Stift 3: Motor stift 2
- Stift 4: Externa leverera spänning (sätta en 0.1 microFarad kondensator till marken)
- Stift 5: Arduino PWM Digital utgång (pin 3 eller 9)
- Stift 6: 5V från Arduino (sätta en 0.1 microFarad kondensator till marken)
- Stift 7: Arduino PWM Digital utgång (pin 5 eller 10)
- PIN 8: GND
- Stift 9: 5V från Arduino
- Stift 10: Arduino PWM Digital utgång (stift 6 eller 11)
- Stift 11: 5V från Arduino
- Stift 12: Inte ansluten
- Stift 13: Motor stift 3
- Stift 14: Inte ansluten
- PIN 15: GND
Vår Källa beskriver ett smart system för tillnärmning av en sinusformad signal till motorerna. De konstruera en matris med 48 värden mellan 0 och 255 som representerar värden för sinusfunktion med lika ökningar. De börjar varje elektromagnet stat A, B, och C 16 värden från en annan, som delar av funktionen i tredjedelar eller, med andra ord, fas skiftar påstår av 120 grader. Sedan, de helt enkelt öka varje stats värde i matrisen så att staterna cykeln genom sinusvåg med varje slinga av programmet. Resultatet är mycket jämn rotation i motorn, även om det är något hastigheten begränsas av motorn fysisk förmåga att hänga med Arduino signalerna.
Vi använder samma PWM sinus-array system som vår källa, som gör det möjligt för att öka men en numerisk uppskattning av funktionen sinus över ett givet antal steg under perioden. I vårt fall fördubblat vi antalet värden i matrisen från 48 till 96 så att vi kan mer exakt kontrollera motorn. Detta beror på att vår gimbal ansökan inte behöver motorn att göra fullständiga rotationer, Tja, någonsin. Vi behöver bara justera kamerans position mot förslaget av basen. Snabb observationer tyder våra systemet tillåter motorn att kliva i 0.2 graders steg i taget.
Det är viktigt att notera att detta är mestadels ett provisorium sätt att styra borstlösa motorer. Vid en given tidpunkt, vi vill ha en elektromagnet hög ström, en låg och en i ett high-impedence tillstånd, som approximerar att varken hög eller låg. I vårt fall kan den "high-impedence" faktiskt ström marken, vilket genererar en betydande mängd värme i motorn. En bestämd plats för förbättring är att hålla motorerna från få heta när det gäller långsiktig (e.g. över en minut eller två) drift.
En annan fara med vårt genomförande är i fallet att motorn fysiskt missar eller överskridanden ett av stegen, som kan hända med tanke på den betydande vikten av ram och kameran i förhållande till motorns vridmoment. I detta fall är våra program omedvetna om att motorn inte är i synk med signalerna, och växlar mellan sinus våg en gång innan "fånga" motorn och återuppta normalt.