Sisällysluettelo:

Servo Squirter - USB -vesipistooli: 5 vaihetta
Servo Squirter - USB -vesipistooli: 5 vaihetta

Video: Servo Squirter - USB -vesipistooli: 5 vaihetta

Video: Servo Squirter - USB -vesipistooli: 5 vaihetta
Video: Servo Motor Squirter Project 2024, Marraskuu
Anonim
Servo Squirter - USB -vesipistooli
Servo Squirter - USB -vesipistooli

USB -ohjattu servovesipistooli. Tämä projekti on pieni vesipumppu, joka on asennettu servon päälle suunnattavaan ampumiseen. Koko hommaa ohjaa mikro -ohjain, ja sitä ohjataan näppäimistöllä USB: n kautta.

Vaihe 1: Kerää materiaalit

Kerää materiaalit
Kerää materiaalit
Kerää materiaalit
Kerää materiaalit
Kerää materiaalit
Kerää materiaalit

Tämä projekti perustuu mikrokontrolleriin. Muu kuin USB NerdKitin mukana toimitettu ATmega168 -mikrokontrolleri. Tässä projektissa käytimme seuraavia: 1 Hobby Servo, Hitec HS-501 Pienjännitemäntävesipumppu 1 Pieni n-kanavainen MOSFET, 2N7000

Vaihe 2: Kokoa piiri

Kokoa piiri
Kokoa piiri
Kokoa piiri
Kokoa piiri
Kokoa piiri
Kokoa piiri
Kokoa piiri
Kokoa piiri

Piirimme ensimmäinen osa kytkeytyy vain servoon. Tämä on yksinkertaista: yksi johto mikrokontrollerista servoon. Valmistajasta riippuen on olemassa muutamia eri värimerkintöjä, joten tarkista ennen kuin yrität tätä. Itse ATmega168 -siru sallii vain 40 mA: n maksimin minkä tahansa tapin sisään tai ulos, mutta pumppumme vaatii lähemmäs 1000 mA: ta! Joten hallitaksemme tätä suurempaa kuormitusta, olemme päättäneet käyttää isompaa transistoria, 2N7000. Ensin selitämme perusasiat MOSFETien (metallioksidipuolijohdekenttitransistorit) käyttämisestä kytkiminä: kun portin jännite saadaan lähteen yläpuolelle, voimme antaa virran kulkea tyhjennyksestä lähteeseen. Olemme poimineet 2N7000-tietolomakkeesta kuvan 1, joka näyttää tyhjennysvirran ja tyhjennyslähteen jännitteen välisen suhteen eri porttilähdejänniteasetuksissa. Tästä kaaviosta voi oppia muutamia tärkeitä asioita: 1. Jos VGS on alle noin 3,0 volttia, virta ei saa virrata. Tämä on pois päältä -tila, jota kutsutaan myös "katkaisuksi". 2. Pienillä VDS -laitteilla käyrä näyttää suunnilleen lineaariselta lähtökohdan läpi - mikä tarkoittaa, että se "näyttää sähköisesti" vastukselta. Vastaava vastus on käyrän käänteinen kaltevuus. Tätä MOSFET -toiminnan aluetta kutsutaan "triodeksi". 3. Suuremmille VDS -laitteille saavutetaan jokin virran maksimitaso. Tätä kutsutaan "kylläiseksi". 4. Kun lisäämme VGS: ää, enemmän virtaa saa virrata sekä triodi- että kyllästystilassa. Ja nyt olet todella oppinut kaikista kolmesta MOSFET -toimintatilasta: katkaisun, triodin ja kylläisyyden. +5 tai 0), olemme huolissamme vain keltaisella korostetusta käyrästä, VGS = 5V. Normaalisti MOSFETin käyttö kytkimenä sisältää yleensä triodin toimintatilan, koska MOSFET hajottaa virran PD = ID*VDS, ja hyvän kytkimen pitäisi tuhlata vähän virtaa itse kytkimessä. Mutta tässä tapauksessa on kyse moottorista, ja moottorit vaativat yleensä paljon virtaa (pienellä jännitehäviöllä) ensimmäisen käynnistyksen yhteydessä. Joten ensimmäisen sekunnin tai kahden aikana MOSFET toimii korkealla VDS: llä, ja sitä rajoittaa sen maksimivirta - noin 800mA taulukosta piirretystä punaisesta katkoviivasta. Huomasimme, että tämä ei riittänyt pumpun käynnistämiseen, joten käytimme pientä temppua ja asetimme kaksi MOSFETia rinnakkain. Tällä tavalla ne jakavat virran ja voivat upottaa tehokkaasti noin 1600 mA yhteen. Pumpun korkeiden tehontarpeiden vuoksi käytimme myös korkeampaa virtalähtöistä muuntajaa. Jos sinulla on seinämuuntaja, jonka ulostulo on yli 5 V - ehkä 9 V tai 12 V -, niin n

Vaihe 3: Määritä PWM MCU: lle

Aseta PWM MCU: lle
Aseta PWM MCU: lle
Aseta PWM MCU: lle
Aseta PWM MCU: lle
Aseta PWM MCU: lle
Aseta PWM MCU: lle

PWM -rekisterit ja laskelmat Videossa puhumme kahdesta ajastin/laskurimoduulin käyttämästä tasosta: ylin arvo ja vertailuarvo. Molemmat ovat tärkeitä halutun PWM -signaalin muodostamisessa, mutta ATmega168: n PWM -lähdön aktivoimiseksi meidän on ensin määritettävä muutama rekisteri. Ensinnäkin valitsemme nopean PWM-tilan, jossa OCR1A on ylin arvo, jonka avulla voimme mielivaltaisesti asettaa, kuinka usein uusi pulssi käynnistetään. 1 joka 8/(14745600 Hz) = 542 nanosekuntia. Koska meillä on 16-bittiset rekisterit tälle ajastimelle, tämä tarkoittaa, että voimme asettaa kokonaissignaalijaksomme jopa 65536*542ns = 36 millisekuntia. Jos käyttäisimme suurempaa jakolukua, voisimme saada pulssimme kauemmas toisistaan (mikä ei auta tässä tilanteessa) ja menettäisimme resoluution. Jos käyttäisimme pienempää jaonumeroa (kuten 1), emme pystyisi erottamaan pulssejamme vähintään 16 millisekunnin päässä toisistaan, kuten servomme odottaa. lähtö, joka on kuvattu videossamme. Määritämme myös nastan PB2 lähtönapiksi-ei näy tässä, mutta se on koodissa. Napsauta suurentaaksesi näitä kuvia ATmega168-tietolomakkeen sivuilta 132-134, jolloin rekisteriarvovalintamme on korostettu:

Vaihe 4: Ohjelmoi mikrokontrolleri

Nyt on aika ohjelmoida MCU. Koko lähdekoodi on verkkosivustollamme https://www.nerdkits.com/videos/servosquirter Koodi määrittää ensin PWM: n ohjaamaan servoa. Koodi sitten vain istuu hetken silmukassa odottaen käyttäjän syöttöä. Merkit 1 ja 0 kytkevät pumpun transistoriin liitetyn MCU -nastan päälle tai pois päältä. Tämä kytkee pumpun päälle ja pois päältä ja antaa meille mahdollisuuden ampua haluamallasi tavalla. Koodi vastaa myös "[" ja "]" -näppäimiin. Nämä näppäimet lisäävät tai pienentävät PWM -nastan vertailuarvoa, mikä aiheuttaa moottori vaihtaa asentoa. Tämä antaa sinulle mahdollisuuden kohdistaa ennen ampumista.

Vaihe 5: Sarjaporttiviestintä

Sarjaporttiviestintä
Sarjaporttiviestintä
Sarjaporttiviestintä
Sarjaporttiviestintä
Sarjaporttiviestintä
Sarjaporttiviestintä
Sarjaporttiviestintä
Sarjaporttiviestintä

Viimeinen vaihe on määrittää tietokone, jotta voit lähettää komennot mikrokontrolleriin. NerdKitissä käytämme sarjakaapelia komentojen ja tietojen lähettämiseen tietokoneelle. On mahdollista kirjoittaa yksinkertaisia ohjelmia useimmilla ohjelmointikielillä, jotka voivat kommunikoida sarjaportin kautta NerdKitiin. On kuitenkin paljon yksinkertaisempaa käyttää pääteohjelmaa sarjaliikenteen suorittamiseen puolestamme. Tällä tavalla voit vain kirjoittaa näppäimistöllä ja nähdä NerdKitin vastauksen. WindowsJos käytät Windows XP: tä tai sitä aikaisempaa versiota, HyperTerminal sisältyy ja sen pitäisi olla Käynnistä -valikossa kohdassa "Käynnistä -> Ohjelmat -> Lisävarusteet -> Viestintä ". Kun avaat HyperTerminalin ensimmäisen kerran, se pyytää sinua muodostamaan yhteyden. Peruuta ne, kunnes olet HyperTerminal -pääkentässä. Sinun on asennettava HyperTerminal, valittava oikea COM -portti ja määritettävä porttiasetukset oikein, jotta ne toimivat NerdKitin kanssa. Seuraa alla olevia kuvakaappauksia saadaksesi oikeat HyperTerm -asetukset. Jos käytät Windows Vista -käyttöjärjestelmää, HyperTerminal ei ole enää mukana. Lataa tässä tapauksessa PuTTY (Windowsin asennusohjelma). Määritä Putty alla olevien yhteysasetusten avulla käyttämällä oikeaa COM -porttia. Mac OS X Kun olet päässyt Terminal -sovellukseen, kirjoita "screen /dev/tty. PL* 115200" aloittaaksesi kommunikoinnin sarjaportin kautta. LinuxOn Linux, käytämme " minicom "puhuaksesi sarjaportille. Aloita suorittamalla "minicom -s" konsolista päästäksesi minicomin asetusvalikkoon. Siirry kohtaan "Sarjaportin asetukset". Aseta parametrit seuraavasti: Minicom -kokoonpano Linuxissa Napsauta sitten Esc -näppäintä ja tallenna asetukset oletusasetukseksi Tallenna asetukset dfl -muodossa. Sinun pitäisi nyt voida painaa "Exit" ja käyttää minicomia puhuaksesi NerdKitille.

Suositeltava: