In dit voorbeeld regelen we de snelheid van een lineaire actuator met een Arduino en motordriver.
Opmerking: deze tutorial veronderstelt voorkennis met elektronische basisprincipes, Arduino-hardware en -software. Als dit de eerste keer is dat je Arduino gebruikt, raden we je aan om de basisprincipes te leren van een van de vele geweldige tutorials voor beginners die beschikbaar zijn via Google- en YouTube-zoekopdrachten. Houd er rekening mee dat we niet de middelen hebben om technische ondersteuning te bieden voor aangepaste toepassingen en we zullen geen fouten opsporen, bewerken, code of bedradingsschema's verstrekken buiten deze openbaar beschikbare tutorials.
Componenten
- 12V lineaire actuator
- 12V voeding
- Arduino
- Motor bestuurder
- Potentiometer (optioneel)
- Elektrische draden voor het maken van verbindingen en krimptang of soldeerbout
Bedrading
Hardware- en softwareoverzicht
De gelijkstroommotoren in lineaire actuatoren hebben een hoge stroomsterkte nodig (tot 5A), als we de lineaire actuator rechtstreeks op de Arduino zouden aansluiten, zou deze hoge stroomafname de digitale pennen van de Arduino vernietigen, aangezien ze slechts geschikt zijn voor 40 mA elk. Daarom gebruiken we een motordriver die een PWM (pulsbreedtemodulatie) -signaal met lage stroomsterkte van het Arduino-bord kan opnemen en een PWM-signaal met hoge stroom naar de lineaire actuator kan sturen.
De motordriver is verbonden met twee PWM digitale pinnen (pinnen 10 en 11 op de Arduino Uno). Door een van deze pinnen LAAG en de andere HOOG in te stellen (zie regel 18 en 19 in onderstaande code) kunnen we de actuator op maximale snelheid verlengen. Om de actuator te stoppen zetten we beide pinnen op LAAG (zie regel 21 en 22 in onderstaande code) en om de bewegingsrichting om te keren kunnen we de volgorde van de HOGE en LAGE pinnen omkeren (zie regel 24 en 25 in onderstaande code). We kunnen de snelheid ook aanpassen door de variabele "Snelheid" te veranderen in een waarde in het bereik [0, 255]; zie regel 17 in onderstaande code.
Code
https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a
Gevarieerde snelheidsregeling met een potentiometer
In bovenstaand voorbeeld stellen we handmatig de snelheid in regel 17 van de code in. Er kunnen zich echter situaties voordoen waarin we de snelheid van de actuator in de tijd willen variëren. De eenvoudigste methode om dit te bereiken, is door een potentiometer te gebruiken. EEN potentiometer iseen variabele weerstand met drie aansluitingen die als spanningsdeler kan werken. Door aan de knop van de potentiometer te draaien zal de uitgangsspanning variëren en kunnen we deze aansluiten op de analoge pin op een Arduino om een variabele snelheid in te stellen.
Bedrading
Hardware- en softwareoverzicht
Zoals hierboven vermeld, is een potentiometer een roterend apparaat dat de weerstand verandert wanneer de knop wordt gedraaid. Door de twee buitenste pinnen van de potentiometer te verbinden met 5V en GND, en de middelste pin met de analoge Arduino-pin, A0, ontstaat een spanningsdeler. Terwijl de knop wordt gedraaid, leest de Arduino analoge waarden van [0, 1023].
Voor waarden in het bereik [512, 1023] willen we dat de actuator uitschuift en voor waarden [0, 511] willen we dat de actuator intrekt, dit kan worden bereikt met een eenvoudige if () / else-instructie in regel 22 en 28 in de onderstaande code. Met behulp van de map () -functie (regel 23 en 29 in onderstaande code) kunnen we dit omzetten in een PWM-signaal dat zowel de snelheid als de richting van de actuator regelt.
Code
https://gist.github.com/Will-Firgelli/d2cdf69edc829974885984b3fb8e4856