In hierdie voorbeeld sal ons die snelheid van 'n lineêre aktuator met 'n arduino en motorbestuurder beheer.
Opmerking: Hierdie tutoriaal veronderstel voorkennis met basiese elektroniese beginsels, Arduino -hardeware en sagteware. As dit u eerste keer is om Arduino te gebruik, stel ons voor dat u die basiese beginsels leer uit een van die vele groot beginner -tutoriale wat beskikbaar is via Google en YouTube -soektogte. Let daarop dat ons nie die hulpbronne het om tegniese ondersteuning vir pasgemaakte toepassings te bied nie, en dat ons nie hierdie tutoriale wat in die openbaar beskikbaar is, ontfout, kode of bedrading bied nie.
Komponente
- 12V lineêre aktuator
- 12V kragtoevoer
- Arduino
- Motorbestuurder
- Potensiometer (opsioneel)
- Elektriese drade vir die maak van verbindings en krimpgereedskap of soldeerbout
Bedrading
Hardeware en sagteware -oorsig
Die GS -motors in lineêre aktuators benodig 'n hoë stroom (tot 5A), as ons die lineêre aktuator direk aan die Arduino sou koppel, sou hierdie hoë huidige trekking die Arduino -digitale penne vernietig, aangesien dit slegs vir 40mA beoordeel word. Daarom gebruik ons 'n motorbestuurder wat 'n lae stroom PWM (Pulse Width Modulation) sein van die Arduino -bord kan neem en 'n hoë stroom PWM -sein na die lineêre aktuator kan uit lewer.
Die motorbestuurder is aan twee PWM -digitale penne gekoppel (penne 10 en 11 op die Arduino UNO). Deur een van hierdie penne laag en die ander hoog in te stel (sien reël 18 en 19 in kode hieronder), kan ons die aktuator met maksimum snelheid uitbrei. Om die aktuator te stop, stel ons albei penne op laag (sien reël 21 en 22 in kode hieronder) en om die bewegingsrigting te keer, kan ons die volgorde van die hoë en lae penne omkeer (sien reël 24 en 25 in die kode hieronder). Ons kan ook die snelheid aanpas deur die veranderlike “snelheid” na enige waarde in die reeks [0, 255] te verander; Sien reël 17 in kode hieronder.
Kode
https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a
Uiteenlopende snelheidsbeheer met 'n potensiometer
In bogenoemde voorbeeld stel ons die snelheid in reël 17 van die kode handmatig in. Situasies kan egter ontstaan waar ons die snelheid van die aktuator betyds wil wissel. Die maklikste metode om dit te bereik, is deur 'n potensiometer te gebruik. N potensiometer is 'n drie terminale veranderlike weerstand wat as spanningsverdeler kan dien. Deur die knop van die potensiometer te draai, sal die uitsetspanning wissel en kan ons dit aan die analoogpen op 'n arduino koppel om 'n veranderlike snelheid in te stel.
Bedrading
Hardeware en sagteware -oorsig
Soos hierbo genoem, is 'n potensiometer 'n draaistelsel wat weerstand verander wanneer die knop geroteer word. Deur die twee buitenste penne van die potensiometer aan 5V en GND te koppel, en die middelste pen aan die Arduino -analoogpen, A0, word 'n spanningsverdeler geskep. Terwyl die knop geroteer word, sal die Arduino analoog lesings lees, wat wissel van [0, 1023].
Vir waardes in die reeks [512, 1023] wil ons hê dat die aktuator moet uitbrei en vir waardes [0, 511] wil ons hê dat die aktuator moet terugtrek, kan dit bereik word met 'n eenvoudige if ()/anders -stelling in reël 22 en 28 in die kode hieronder. Dan kan ons die MAP () -funksie (reël 23 en 29 in kode hieronder) gebruik in 'n PWM -sein wat beide die snelheid en rigting van die aktuator sal beheer.
Kode
https://gist.github.com/Will-Firgelli/d2cdf69edc829974885984b3fb8e4856