- Tarvittava materiaali
- Piirikaavio
- Mikä on servomoottori?
- Arduino-koodin selitys
- Useiden servojen hallinta Arduinolla - Työskentely:
Yhden tai kahden Servon käyttö Arduinon kanssa on helppoa, mutta entä jos haluamme käyttää useampaa kuin yhtä Servomoottoria?
Tässä näytämme sinulle, kuinka hallita useita servomoottoreita Arduinolla. Useiden servomoottoreiden yhdistäminen Arduinoon näyttää olevan helppoa, mutta jos yhdistämme kaikki servot Arduinon syöttötappeihin, ne eivät toimi oikein, koska riittävästi virtaa puuttuu kaikkien moottoreiden ajamiseksi. Joten sinun on käytettävä erillistä virtalähdettä moottoreille, joko se on peräisin joistakin adaptereista (5v 2A) tai laadukkaista 9v paristoista.
Tarvittava materiaali
- Arduino UNO
- Servo moottori
- Virtalähde
- Leipälauta
- Johtojen liittäminen
Piirikaavio
Mikä on servomoottori?
Ennen kuin menemme yksityiskohtiin, meidän on ensin tiedettävä Servo Motorsista.
Servomoottoreita on saatavana eri muotoisina ja kokoisina. Servomoottorissa on pääasiassa johdot, toinen on positiivista jännitettä varten, toinen maadoitusta ja viimeinen asennon asettamista varten. PUNAINEN johto on kytketty virtaan, musta johto on kytketty maahan ja KELTAINEN johto on kytketty signaaliin.
Servomoottori on DC-moottorin, asennonohjausjärjestelmän, vaihteiden yhdistelmä. Servomoottorin ohjauselektroniikka säätää tasavirtamoottorin akselin sijainnin SIGNAL-nastan PWM-signaalin käyttösuhteen perusteella.
Yksinkertaisesti sanottuna ohjauselektroniikka säätää akselin asentoa ohjaamalla DC-moottoria. Nämä tiedot akselin sijainnista lähetetään SIGNAL-tapin kautta. Sijaintitiedot ohjaukseen tulisi lähettää PWM-signaalina servomoottorin signaalitapin kautta.
PWM (Pulse Width Modulated) -signaalin taajuus voi vaihdella servomoottorin tyypin mukaan. Tärkeää tässä on PWM-signaalin TYÖSUHDE. Tämän TULOSUOSITUKSEN perusteella ohjauselektroniikka säätää akselia.
Kuten alla olevassa kuvassa on esitetty, jotta akseli voidaan siirtää 9o-kelloon, PÄÄLLE-SUUNNIN on oltava 1/18 e. 1 ms ON-aikaa ja 17 ms OFF-aikaa 18 ms: n signaalissa.
Akselin siirtämiseksi 12o-kelloon signaalin ON-ajan on oltava 1,5 ms ja OFF-ajan 16,5 ms. Servo-ohjausjärjestelmä dekoodaa tämän suhteen ja säätää sijaintia sen perusteella. Tämä täällä oleva PWM luodaan käyttämällä ARDUINO UNO: ta.
Ennen kuin yhdistät servoja Arduinoon, voit testata servoasi tämän servomoottorin testauspiirin avulla. Tarkista myös alla olevat servoprojektimme:
- Servomoottorin ohjaus Flex-anturilla
Arduino-koodin selitys
Täydellinen Arduino-koodi Multiple Servo Controlille annetaan lopussa.
Arduinolla on kirjasto Servo Motorsille ja se käsittelee kaikki PWM: ään liittyvät asiat servon kääntämiseksi, sinun tarvitsee vain syöttää kulma, johon haluat kiertää, ja siellä on toiminto servo1.write (kulma); joka kääntää servon haluttuun kulmaan.
Joten tässä aloitamme määrittelemällä kirjaston Servo-moottorille.
#sisältää
Alla olevassa koodissa alustamme kaikki neljä servoa Servo1, Servo2, Servo3 ja Servo4.
Servo-servo1; Servo-servo2; Servo-servo3; Servo-servo4;
Sitten asetamme kaikki servon syöttötapit Arduinolla. Kuten alla olevassa koodissa näkyy, Servo1 on kytketty Arduinon 3. nastaan. Voit vaihtaa nastat haluamallasi tavalla, mutta pidä mielessä, että sen pitäisi olla PWM-tappi. Servon käyttäminen Arduinon digitaalisten nastojen kanssa ei ole luotettavaa.
void setup () { servo1.attach (3); servo2.attach (5); servo3.attach (6); servo4.kiinnitys (9); }
Nyt void loop () -toiminnossa käännämme vain kaikkia servoja 0-180 asteen ja sitten 180-0 asteen välillä. Alla olevassa koodissa käytettyä viivettä käytetään servon nopeuden lisäämiseen tai vähentämiseen, koska se vaikuttaa muuttujan 'i' kasvavaan tai laskevaan nopeuteen.
void loop () { for (int i = 0; i <180; i ++) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); viive (10); } varten (i = 180; i> 0; i--) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); viive (10); } }
Useiden servojen hallinta Arduinolla - Työskentely:
Me kaikki kohtaamme nykyisen ongelman, kun käytämme enemmän kuin kahta servoa yhden Arduinon kanssa. Ainoa ratkaisu tähän on kytkeä ulkoinen virtalähde sopivalla virralla (tässä projektissa käytin 2A 9v: n jännitteellä). Ulkoista virtalähdettä varten voit käyttää sovittimia, RPS: ää (säännelty virtalähde) tai laadukkaita 9 voltin paristoja. Voit käyttää kannettavan tietokoneen USB-porttia pienen Servon virtalähteeseen. Ulkoisen virtalähteen käyttämiseksi sinun on vain oikosuljettava Arduino-maadoitus ulkoiseen syöttömaahan.
Käytä alla olevaa Arduino-koodia ohjelmoidaksesi Arduino ja kytke kaikki servomoottorit kytkentäkaavion mukaisesti asianmukaisella virtalähteellä moottoreihin. Siksi kaikki servot toimivat yhdessä ilman keskeytyksiä.