Tässä opetusohjelmassa aiomme ohjata ARDUINO UNO: n servomoottoria. Servomoottoreita käytetään siellä, missä tarvitaan tarkkaa akselin liikettä tai asentoa. Näitä ei ehdoteta suurten nopeuksien sovelluksiin. Näitä ehdotetaan matalalle nopeudelle, keskivääntömomentille ja tarkalleen asennolle. Näitä moottoreita käytetään robottivarren koneissa, lennonohjaimissa ja ohjausjärjestelmissä.
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.
Piirikomponentit
Laitteisto: ARDUINO UNO, virtalähde (5v), 100uF kondensaattori, painikkeet (kaksi kappaletta), 1KΩ vastus (kaksi kappaletta), servomoottori (joka oli testattava)
Ohjelmisto: arduino IDE (Arduino nightly).
Arduino-servomoottorin piirikaavio ja selitys
Normaaleissa tapauksissa meidän on mentävä säätimen rekistereihin taajuuden säätämiseksi ja tarvittavan kuormasuhteen saamiseksi servon tarkalle paikannukselle, ARDUINOSSA meidän ei tarvitse tehdä näitä asioita.
ARDUINOSSA meillä on ennalta määritetyt kirjastot, jotka asettavat taajuudet ja suhdeluvut vastaavasti, kun otsikkotiedosto on kutsuttu tai sisällytetty. ARDUINOSSA meidän on yksinkertaisesti ilmoitettava tarvittava servon sijainti ja UNO säätää PWM: n automaattisesti.
Asiat, jotka meidän on tehtävä servon tarkan sijainnin saamiseksi, ovat:
|
Ensin meidän on asetettava PWM-signaalin taajuus ja sitä varten meidän tulisi kutsua "#include
Nyt meidän on määritettävä servolle nimi "Servo sg90sevo", tässä sg90servo on valittu nimi, joten kirjoittaessamme juomaa varten aiomme käyttää tätä nimeä, tämä ominaisuus on kätevä, kun meillä on monia servoja hallita, voimme hallita tällä tavalla jopa kahdeksaa servoa.
Nyt kerromme UNO: lle, mihin servon signaalitappi on kytketty tai mihin sen on luotava PWM-signaali. Tätä varten meillä on "Sg90.attach (3);", tässä kerrotaan UNO: lle, että yhdistimme servon signaalinastan PIN3: een.
Ainoa jäljellä on asettaa asento, aiomme asettaa servon sijainnin käyttämällä “Sg90.write (30);”, tällä komennolla servokäsi liikkuu 30 astetta, joten siinä se on. Sen jälkeen aina kun meidän on vaihdettava servon sijaintia, meidän on kutsuttava komento ”Sg90.write (needed_position_ angle);”. Tässä piirissä meillä on kaksi nappia, joista yksi painike lisää servon sijaintia ja toinen on servon asennon vähentämiseen.
Arduino servomoottori ohjaus opetusohjelma selitetään vaihe vaiheelta C-koodin alla.