- Pulssileveyden modulointi (PWM)
- ATtiny13: n ohjelmointi Arduinolla
- Tarvittavat komponentit
- Piirikaavio ja työskentely
Servomoottori toimii pulssinleveyden moduloinnin (PWM) pääosassa ja sen kiertokulmaa ohjataan ohjaustappiin kohdistetun pulssin kestolla. Tässä ohjauksessa ohjaamme servomoottoria ATtiny13-mikrokontrollerilla PWM-tekniikalla. Joten ennen kuin jatkat, opimme ensin PWM: stä, servomoottorista ja ATtiny13: n ohjelmoinnista Arduino Boardilla.
Pulssileveyden modulointi (PWM)
PWM (Pulse Width Modulation) on määritelty menetelmäksi analogisen signaalin muodostamiseksi digitaalisesta lähteestä. PWM-signaali koostuu kahdesta pääkomponentista - käyttöjakso ja taajuus. Nämä komponentit määrittelevät sen käyttäytymisen. Käyttösykli kuvaa aikaa, jonka signaali on korkeassa tilassa. Se on merkitty prosenttiosuutena kokonaisajasta, joka kuluu yhden jakson suorittamiseen.
Käyttösykli = Kytke päälle aika / (Kytke päälle aika + Sammuta aika)
Taajuus määrittää kuinka nopeasti PWM suorittaa jakson ja kuinka nopeasti signaali vaihtaa korkean ja matalan tilan välillä. 100 Hz: n taajuus tarkoittaa 100 jaksoa sekunnissa. Kytkemällä digitaalinen signaali päälle ja pois päältä nopealla nopeudella ja tietyllä käyttöjaksolla, lähtö näyttää vakiojännitteen analogisena signaalina. Yksi PWM: n voimakkaista eduista on, että tehohäviöt ovat hyvin vähäisiä.
Kaikki servomoottorit toimivat suoraan + 5 V: n jännitteellä, mutta meidän on oltava varovaisia moottorin kuluttaman virran suhteen. Jos käytämme enemmän kuin kahta servomoottoria, on suunniteltava oikea servosuojus.
Ennen kuin kytket servon Attiny13: een, voit testata servoasi tämän servomoottorin testauspiirin avulla. Tässä olemme liittäneet servomoottorin moniin mikro-ohjaimiin:
- Servomoottorin liitäntä ARM7-LPC2148: een
- Servomoottorin ja MSP430G2: n liitäntä
- Useiden servomoottoreiden hallinta Arduinolla
- Servomoottorin ja PIC-mikrokontrollerin liitäntä MPLAB: ää ja XC8: ta käyttäen
- Servomoottorin ohjaus Raspberry Pi: llä
- Servomoottorin ohjaus ja Arduino Due
- Servo-moottorin ja AVR-mikrokontrollerin Atmega16-liitäntä
ATtiny13: n ohjelmointi Arduinolla
Attiny13 voidaan ohjelmoida Arduino Unolla tai millä tahansa muulla Arduino-levyllä. Liitä Attiny13 Arduino Unoon alla olevan kuvan mukaisesti.
- Arduino 5V - ATtiny13-nasta 8
- Arduino GND - ATtiny13-nasta 4
- Arduino-nasta 13 - ATtiny13-nasta 7
- Arduino-nasta 12 - ATtiny13-nasta 6
- Arduino-nasta 11 - ATtiny13-nasta 5
- Arduino-nasta 10 - ATtiny13-nasta 1
Arduino on asetettu ohjelmoijaksi ohjelmoimaan ATtiny13. Tämä tapahtuu lataamalla ArduinoISP-luonnos Arduinoon. Tämä Arduino-luonnos on saatavana Arduino IDE -esimerkkien sisällä. Avaa Arduino IDE ja siirry kohtaan Tiedostot> Esimerkit> ArduinoISP .
Nyt ArduinoISP-ohjelma avautuu. Lataa ohjelma Arduino Unoon.
Arduino Uno on nyt valmis ohjelmoimaan Attiny13: n. Mutta meidän on asennettava Attiny asentamalla sen ydintiedostot. Voit tehdä tämän siirtymällä kohtaan Tiedosto >> Asetukset Arduino IDE: ssä
Sitten uusi ikkuna avautuu. Lisää " Board Board Manager -lisäosoitteisiin " alla oleva linkki ja napsauta "OK".
"Https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json"
Siirry nyt Arduino IDE: ssäsi kohtaan Työkalut >> Hallitus >> Taulukoiden hallinta
Sitten avautuu toinen ikkuna, jossa hakukentässä kirjoita 'Attiny' , saat "DIY ATtiny" ja napsauta sitten "asennus" -painiketta (olen jo asentanut sen, siksi asennuspainike harmaana)
ATtiny 13: n ohjelmoinnin aloittamiseksi meidän on poltettava Bootloader siihen. Siitä varten siirry kohtaan Työkalut> Lauta> ATtiny13.
Siirry nyt Työkalut> Suorittimen versio ja tarkista, onko valittu ATtiny-versio. Valitse sirustasi riippuen joko ATtiny13 tai ATtiny13a.
Napsauta sitten Työkalut-valikon alareunassa Polta käynnistyslataimen painiketta.
Käynnistyslataimen polttamisen jälkeen ATtiny on nyt valmis ohjelmoitavaksi. Nyt voit ladata ohjelman.
Tarvittavat komponentit
- ATtiny13-mikrokontrolleri
- Servo moottori
- Potentiometri
- + 5 V akku
- Arduino IDE
- Johtojen liittäminen
Piirikaavio ja työskentely
Kytkentäkaavio servomoottorin ohjaamiseksi ATtiny13-potin avulla on annettu alla.
Alla on yhteydet
- Liitä servomoottorin ohjaustappi ATtiny13: n tapaan 5
- Liitä servomoottorin maadoitus ATtiny13: n napaan 4
- Liitä servomoottorin VCC ATtiny13: n napaan 8
- Liitä potentiometrin keskitappi ATtiny13: n tapiin 7
- Liitä potentiometrin ensimmäinen ja kolmas nasta VCC: hen ja GND: hen.
- Liitä + 5 V: n pariston plus-asema ATtiny13: n napaan 8
- Liitä + 5 V: n pariston miinus ATtiny13: n napaan 4
Potentiometri on kytketty ATtiny13: n tapiin 7 (PB2) ja servomoottorin ohjausjohto on kytketty tapiin 5 (PB0).
Tässä luetaan potentiometrin arvo ja se muunnetaan arvoksi välillä 0 - 180. Sitten tämä kulma-arvo muunnetaan mikrosekunteiksi ja servomoottorin ohjaustapille annetaan pulssi lasketulla mikrosekunnin viiveellä. Nyt servomoottori pyörii potentiometrin arvon mukaan, kuten alla olevassa videossa on esitetty.