Motorbestuurderspoedbeheer met 'n Ard...
Motorbestuurderspoedbeheer met 'n Arduino
Gepos deur Firgelli Automations Team aan November 19, 2019
In hierdie voorbeeld sal ons die snelheid van 'n lineêre aandrywer met 'n Arduino- en motorbestuurder beheer.
Opmerking: hierdie handleiding veronderstel voorkennis met basiese elektroniese beginsels, Arduino-hardeware en sagteware. As dit die eerste keer is dat u Arduino gebruik, stel ons voor dat u die basiese beginsels leer uit een van die vele wonderlike beginnershandleidings wat beskikbaar is deur Google en YouTube. Let daarop dat ons nie oor die hulpbronne beskik om tegniese ondersteuning vir aangepaste toepassings te bied nie, en dat ons nie foute, wysig, kode of bedradingsdiagramme sal verskaf buite hierdie openbaar beskikbare tutoriale nie.
Elektriese drade vir die maak van verbindings en krimpgereedskap of soldeerbout
Hardeware en sagteware oorsig
Die GS-motors in lineêre aandrywers benodig 'n hoë stroom (tot 5A). As ons die lineêre aandrywer direk aan die Arduino sou koppel, sou hierdie hoë stroomtrek die digitale penne van Arduino vernietig, aangesien hulle slegs 40mA elk beoordeel het. Daarom gebruik ons ​​'n motorbestuurder wat 'n lae stroom PWM (pulswydte modulasie) sein van die Arduino-bord kan afneem en 'n hoë stroom PWM sein na die lineêre aandrywer kan stuur.
Die motorbestuurder is gekoppel aan twee PWM digitale penne (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 die kode hieronder), kan ons die aandrywer met die maksimum spoed verleng. Om die aandrywer te stop, stel ons albei penne op LAAG (sien reël 21 en 22 in kode hieronder) en om die bewegingsrigting om te keer, kan ons die volgorde van die HOË en LAAG penne omkeer (sien reël 24 en 25 in kode hieronder). Ons kan ook die spoed aanpas deur die veranderlike "Spoed" na enige waarde in die reeks [0, 255] te verander; sien reël 17 in die kode hieronder.
Gevarieerde spoedbeheer met 'n potensiometer
In die voorbeeld hierbo stel ons die spoed handmatig in lyn 17 van die kode in. Daar kan egter situasies ontstaan ​​waar ons die spoed van die aandrywer betyds wil verander. Die maklikste manier om dit te bereik, is deur 'n potensiometer te gebruik. A potensiometer is'n drie-eindige veranderlike weerstand wat kan werk as 'n spanningsverdeler. Deur die knop van die potensiometer te draai, sal die uitsetspanning wissel en kan ons dit verbind met die analoogpen op 'n Arduino om 'n veranderlike spoed in te stel.
Soos hierbo genoem, is 'n potensiometer 'n draaiapparaat wat weerstand verander wanneer die knop gedraai word. Deur die twee buitenste penne van die potensiometer aan 5V en GND, en die middelste pen aan die Arduino analoogpen, A0, te koppel, word 'n spanningsverdeler geskep. Wanneer die knop gedraai word, sal die Arduino analooglesings lees wat wissel van [0, 1023].
Vir waardes in die reeks [512, 1023] wil ons hê dat die aandrywer moet uitbrei en vir waardes [0, 511] wil ons hê dat die aandrywer moet intrek, kan dit bereik word met 'n eenvoudige if () / anders-stelling in reëls 22 en 28 in die onderstaande kode. Dan kan ons die kaart () -funksie (lyn 23 en 29 in die onderstaande kode) omskakel in 'n PWM-sein wat die snelheid en rigting van die aandrywer sal beheer.