Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Tutustu Stepper Driver Pinoutiin
- Vaihe 2: Yhdistä Arduino 5V/GND leipälevyllesi
- Vaihe 3: Liitä +/- kiskot VIO/GND-liittimeen
- Vaihe 4: Yhdistä DIR/STEP digitaalisiin nastoihin Arduinossa
- Vaihe 5: Mennään eteenpäin ja lisätään tämä kondensaattori…
- Vaihe 6: Siirry eteenpäin ja yhdistä GND
- Vaihe 7: Liitä moottori ohjaimeen
- Vaihe 8: Yhdistä EN, MS1 ja MS2 "-"
- Vaihe 9: Juottaa naarasvirtaliitin kahteen johtoon
- Vaihe 10: Liitä juuri juotettu naarasliitin
- Vaihe 11: Yhdistä ne VM/GND: hen
- Vaihe 12: Ihaile käsityötäsi
- Vaihe 13: Valinnainen - Tarkista VREF
- Vaihe 14: Painikkeet
- Vaihe 15: Lisää mikrofonilevy
- Vaihe 16: Tämän pitäisi olla lopputulos
- Vaihe 17: Koodi
- Vaihe 18: Asennus ja pyörän asennus
- Vaihe 19: Lopullinen asennus
Video: Arduino Cradle Rocker: 19 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Anteeksi, en voinut vastustaa kovaa intensiivistä musiikkia, jota videoni editointi ehdotti.
Sain äskettäin ensimmäisen lapseni ja minulla oli jo puinen kehto, jonka setäni (joka on mahtava puutyöläinen) teki veljenpojalleni. Veljenpoikani oli jo kauan kasvanut siitä, joten otin sen mielelläni ja vältin kuluttamasta KAIKKIA RAHOJA mihin tahansa kehtoon/vaunuun, jonka äiti -bloggaajat saivat vaimoni pyörtymään. Kehto on melko yksinkertainen muotoilu, pohjimmiltaan kaksi pylvästä, joiden läpi on kiinnitetty pultit, jotka tukevat telineen runkoa. Siinä on irrotettava tappi, joka lukitsee sen paikalleen.
Muutaman viikon kuluessa huomasimme, että voisimme usein tukahduttaa kevyen hämmennyksen keinuttamalla kehtoa hieman, kunnes poikamme asettui. Yöllä, kun saimme tämän selville, vietin muutaman kymmenen minuutin venytyksen myöhään illalla käsivarteni peiton alta, uneliaasti keinuttamalla häntä, onnellisena siitä, että löysin tavan rauhoittaa häntä nousematta sängystä. aamulla kiinnitin narun ja pienen karabiinin, jotta voisin keinuttaa kehtoa ilman, että tarvitsisin ojentaa kättäni.
Aamuna sen jälkeen aloin aivoriihiä tapaa saada robotti rokkaamaan tätä lasta minulle. Astu Arduinoon…
Tarvikkeet
Ok, tämä oli ensimmäinen Arduino -projektini koskaan, joten tein kokeiluja ja kokeiluja ja erehdyksiä, ja olen varma, että suunnittelussani on parantamisen varaa, mutta tässä on osaluetteloni: Arduino Uno (13 dollaria) kaiken hallitsemiseksi sarja (10 dollaria) johtojen liittämiseen
Askelmoottori (14 dollaria) Tämä on hauskin kappale, koska se tekee kaiken työn. Aloitin hieman pienemmällä vääntömomentilla, mutta sitten sain tämän ja se toimii melko hyvin. Voit saada vieläkin tehokkaamman. Askelmoottorin ohjaimet (10–30 dollaria) Tämä istuu Arduinon ja moottorin välissä. Tämä erityinen voi ilmeisesti ajaa moottoria hiljaisemmin kuin jotkut muut, joten menin siihen, koska moottori on muutaman metrin päässä (ja poikani) päästä, kun nukumme. Ostin alun perin vain yhden TMC2209 -ohjaimen ~ 10 dollarilla, mutta päädyin ostamaan 4 kpl: n pakkauksen, koska minulla oli aluksi vaikeuksia ja halusin varmistaa, etten ollut paistanut levyä jossain vaiheessa. Päädyin todella tappamaan 3 lautaa, mikä tuo minut seuraavaan kohteeseen… Kondensaattorit! (10 dollaria) Tarvitset todella vain 1 47 uF 50 V: n kondensaattoria, joten tämä 240: n laatikko oli ylimitoitettu. 36 V: n virtalähde (17 dollaria) Ostin alun perin heikon 12 V: n virtalähteen ja huomasin, että se oli kaikkien ongelmieni lähde ja sain sellaisen, joka oli lähempänä maksimijännitettä, jota askelmoottorini pystyi käsittelemään. Jos käytät eri moottoria tai askelmoottoria, varmista, että se kestää jännitettä (V) ja että virransyöttö (A) on vähintään yhtä suuri kuin moottorin vetämät huippuampeerit. 8 dollaria) Tähän virtalähde kytketään. Sinun on juotettava nämä joihinkin johtoihin kiinnittääksesi leipälautaasi. Iso pakkaus puseroita (9 dollaria), jotta voisin laittaa säätimet minne haluan huoneeseen.
Painikkeet (8 dollaria) päälle/pois, jne
Mikrofonivahvistin (11 dollaria) Voi, etkö tiennyt, että tämäkin ääni oli aktivoitu?
Jotkut pienet hihnapyörät (8 dollaria) päädyin käyttämään näitä, mutta saattaa olla parempia vaihtoehtoja. Lisää siitä myöhemmin. Tarvitset myös ehdottomasti juotosraudan ja mitä haluat käyttää moottorin kiinnittämiseen. Itse tein juuri karkean laatikon neljästä ruuvatusta puukappaleesta ja ruuvasin ne sitten toiseen puukappaleeseen, joka on suunnilleen kehtojalan leveys. Tällä hetkellä minulla on vain se kiinni, koska en tiedä haluanko solmia setäni kehtoa.
Vaihe 1: Tutustu Stepper Driver Pinoutiin
Käyttämässäni mallinnusohjelmassa ei ollut tätä ohjainkorttia, joten sinun on viitattava tähän kuvaan. Olen järjestänyt kaiken samaan suuntaan kuin tämä kuva.
Vaihe 2: Yhdistä Arduino 5V/GND leipälevyllesi
Liitä johto Arduino 5V: sta "+" -kiskoon leipälevyn toisella puolellaKytke johto yhdestä Arduino GND: stä "-" -kiskoon leipälaudan samalla puolella
(jätä huomiotta
Vaihe 3: Liitä +/- kiskot VIO/GND-liittimeen
Kytke johto "-" -kiskosta GND: hen askelmoottorin ohjaustaulun vasemmassa alakulmassa. Kytke johto "+" -kiskosta VIO
Vaihe 4: Yhdistä DIR/STEP digitaalisiin nastoihin Arduinossa
Yhdistä DIR- ja STEP -nastat askelmoottorilevystä kahteen Arduinon digitaaliseen nastaan. Käytin nastoja 2 ja 3, mutta sillä ei ole väliä, kunhan asetat nastat koodiin myöhemmin.
Vaihe 5: Mennään eteenpäin ja lisätään tämä kondensaattori…
Poltin 2 askelmoottorilevyä, koska minulla ei ollut kondensaattoria paikallaan, joten mennään eteenpäin ja lisätään 47uF 50 V: n kondensaattori ohjainkortin VM/GND -nastoihin. Varmista, että kondensaattorin "-" nasta on leipälevyn GND-nastassa (kondensaattorin vastaavalla puolella on "-")
Vaihe 6: Siirry eteenpäin ja yhdistä GND
GND: ssä, johon juuri lisäsit kondensaattorin, mene eteenpäin ja yhdistä se samaan "-" kiskoon kuin toinen GND.
Vaihe 7: Liitä moottori ohjaimeen
Mikä nasta menee minne tahansa, riippuu ostamastasi moottorista, mutta luettelossani on kytkentäkaavio amazon -luettelossa.
Moottorilleni -
Liitä vihreä ja musta liittimiin M2B ja M2A
Punaisen ja sinisen liittäminen laitteisiin M1A ja M1B Huomautus: Jos jostain syystä moottorissasi ei ole kaaviota, voit helposti selvittää, mitkä johdot muodostavat piirin, jos sinulla on yleismittari. Aseta yleismittari matalalle vahvistimelle ja irrota moottori. Kosketa yhtä yleismittarin johtimista yhteen moottorijohdoista ja kokeile sitten jokaista muuta johtoa toisella johdolla. Jos saat vastuslukeman, nämä kaksi johtoa muodostavat 1 piirin ja kaksi muuta muodostavat toisen.
Vaihe 8: Yhdistä EN, MS1 ja MS2 "-"
En ole täysin varma, että tämä on välttämätöntä, mutta uskon, että se asettaa moottorin pienemmälle mikrotason asetukselle TMC2209 -ohjaimessa. Voit liittää ne lähimpään kiskoon "-", koska liitämme ne myöhemmin toiselle puolelle.
Vaihe 9: Juottaa naarasvirtaliitin kahteen johtoon
En ole maailman paras juotos, joten sinun on etsittävä sitä muualta, mutta tein omani niin. Taivutin johtimien päät niin, että ne asettuivat tasaisesti liitinjohtoja vasten, ja sitten juotin langan johtimeen. Minulla ei ollut johdon lämpökutistumista, joten käärin ne vain ihmeellisesti sähköteipillä.
Vaihe 10: Liitä juuri juotettu naarasliitin
Älä vielä kytke virtalähdettä. Punainen johto "+"-, musta "-"
Vaihe 11: Yhdistä ne VM/GND: hen
Liitä nuo "+" ja "-" kiskot VM: ään ja sen vieressä olevaan GND: hen. Ne, joissa on kondensaattori.
Vaihe 12: Ihaile käsityötäsi
Okei, moottori ja kuljettaja on nyt asennettu täysin! Tästä eteenpäin me vain valvomme. Muuten, eteenpäin:
- Jos olet irrottanut ohjaimesi jostain syystä, älä yritä kytkeä sitä, kun 36 V: n virtalähteesi on kytketty. Tapoin kolmannen ohjainkorttini näin.
- Kytke 36 V: n virta ennen Arduino -virran kytkemistä. En itse paista Arduinoa, mutta näin matkan varrella monia varoituksia.
Vaihe 13: Valinnainen - Tarkista VREF
TMC2209: ssä on potentiometri, joka ohjaa moottorin virtaa. Jos sinulla on sama ohjain kuin minulla, voit lukea siitä täältä. Jos haluat säätää asetusta:
- Katkaise virta ja irrota moottorin johdot ohjaimesta.
- Irrota johto ohjaimen EN (käyttöön) -nastaan. Tämä on tappi vasemmassa yläkulmassa.
- Kytke moottorin virtalähde (36V)
- Käytä 20 V: n yleismittaria ja kosketa yhtä johtoa GND-lähteeseen (käytin johtoyhteyttä "-" -kiskooni) ja toista johtoa VREF-nastaan. Älä koske johtoon mihinkään muuhun, VOIT lyhentää kuljettajasi, jos teet niin.
- Säädä potentiometrin ruuvi varovasti pienellä ruuvitaltalla. Oman levyn osalta vastapäivään = enemmän tehoa. VREF -laitteeni lukee henkilökohtaisesti ~ 0.6V.
Vaihe 14: Painikkeet
Yhdistä seuraavaksi painikkeet. He eivät tarvitse valtaa.
- Liitä painikkeen leipälaudan "-" kisko johonkin Arduinon GND-kiskoon. Voit halutessasi myös ketjuttaa sen pois toisen leipälaudan "-" kiskosta.
- Liitä yksi nasta jokaisesta painikkeesta "-" -kiskoon
- Liitä jokaisen painikkeen toinen nasta Arduinon digitaaliseen nastaan.
Käytin 4 painiketta: Moottori päälle/pois
Moottori jatkuu
Mikrofoni päällä
Mikrofoni pois päältä
Lisää näistä, kun pääsemme koodiin, mutta käytin erillisiä mikrofonipainikkeita yksinkertaisesti siksi, että minulla ei ollut LED -valoja, jotka kertoisivat minulle, onko mikrofoni päällä vai pois päältä, joten erilliset päälle/pois -painikkeet tekivät sen idioottivarmaksi.
Vaihe 15: Lisää mikrofonilevy
Tämä on yksinkertainen, ja Adafruitilla on hyvät ohjeet (ja juottamisen perusteet!).
- Yhdistä "-" GND: hen
- Liitä GND mikrofonikortilla liittimeen "-" (voit yhdistää GND: n suoraan GND: hen ja ohittaa edellisen vaiheen)
- Liitä VCC Arduinon 3,3 V: n virtalähteeseen. Tämä on tärkeää, koska tämä virtalähde on vähemmän "meluisa" kuin 5 V, mikä johtaa parempiin mikrofonilukemiin
- Kytke OUT ANALOG IN -nastaan Arduinossa. Käytin A0: ta.
Vaihe 16: Tämän pitäisi olla lopputulos
Kaiken pitäisi olla nyt valmis. Tässä on kuva lopullisesta kaaviosta ja johtojen sekoituksesta todellisuudessa. Katsotaanpa jotain koodia!
Vaihe 17: Koodi
Ok, katsotaan koodi! Tämä ei ole puhtain työni, mutta se tekee työn. Olen lisännyt kommentteja selittääkseni kaiken täällä, mutta ole kanssani. Käytin Arduino IDE: tä tähän kaikkeen (saatavana Windowsille ja Macille ilmaiseksi) Häiriö on seuraava: Aseta moottorin nopeus ja etäisyys.
Aseta tehtävien kivien (keinujen) määrä.
Käännä asetettua etäisyyttä 1 heilahdusta varten. Käännä tietty määrä kertoja.
Kaiken tämän välissä odota painikkeiden painamista tai kuuntele mikrofonia nähdäksesi, tuleeko moottorin käynnistyä. Mitä nopeammin moottori käy, sitä kovempaa se on ja sitä vähemmän vääntöä saat. Omani on tällä hetkellä melkein hiljainen, joten on mahdollista saada se toimimaan ilman paljon ääntä.
#include // "tavallinen" askelmoottorikirjasto
//#define DEBUG 1 // poista tämä kommentti, kun haluat säätää mikrofonin tasoja // Painikkeiden asetukset - nämä vastaavat sitä, mihin painikkeisiin liitetyt digitaaliset nastat const int motorEnablePin = 10; const int jatkaPin = 11; const int micDisablePin = 12; const int micEnablePin = 13; // Mikrofonin asetukset - A0 tässä on mikrofonin analogitulo. Näyteikkuna on millisekunteina int micPin = A0; const int sampleWindow = 1000; allekirjoittamaton int näyte; bool micEnabled = false; kaksinkertainen mikrofoni Herkkyys = 0,53; // sinun on todennäköisesti muutettava tätä // Minulle noin.5 oli tarpeeksi hyvä, jotta se ei laukaisisi pienillä höpötyksillä // mutta laukaisee pienistä itkuista int stepsPerRevolution = 3200; // muuta tämä niin, että se vastaa moottorisi askelmäärää kierrosta kohden // Moottorini on 200 askelta/kierros // Mutta asetin ohjaimen 1/16 mikrotasolle // joten 200*16 = 3200 … rehellisesti sanottuna ei ole aavistustakaan, onko tämä on oikea tapa // tehdä tämä Stepper myStepper (stepsPerRevolution, 2, 3); // 2 & 3 ovat DIR & STEP -nastat int stepCount = 0; int moottorin nopeus = 95; // sinun on säädettävä tämä kehtosi ja vauvan painon mukaan int numSteps = 90; // Etäisyys, jonka moottori liikkuu. // Sinun on säädettävä tämä moottoriin kiinnitetyn pyörän säteen perusteella //. Tämä ja nopeus ovat todennäköisesti yrityksiä ja erehdyksiä. // Huomaa - suurempi nopeus askelmoottoreissa = pienempi tehollinen vääntömomentti // Jos vääntömomentti ei ole riittävä, moottori ohittaa vaiheet (ei liiku) int oldmotorButtonValue = HIGH; bool käytössä = epätosi; // moottori käytössä? int loopStartValue = 0; int maxRocks = 100; // kuinka monta kertaa haluat sen rokkaavan ennen int rockCount = 0; void setup () {#ifdef DEBUG Serial.begin (9600); // virheenkorjauksen kirjaamiseen #endif pinMode (motorEnablePin, INPUT_PULLUP); // Tämä on asetus, jonka mukaan painikkeet toimivat ilman virtaa pinMode (jatkaPin, INPUT_PULLUP); pinMode (micEnablePin, INPUT_PULLUP); pinMode (micDisablePin, INPUT_PULLUP); myStepper.setSpeed (motorSpeed); // asettaa moottorin nopeudeksi aiemmin määrittämäsi} void loop () {int motorButtonValue = digitalRead (motorEnablePin); // digitalRead lukee vain painikkeiden arvot int jatkuuarvo = digitalRead (jatkaPin); // Tämä havaitsee moottoripainikkeen painamisen ja estää sitä laukaisemasta useammin kuin kerran napsautuksella, jos (motorButtonValue == HIGH && oldmotorButtonValue == LOW) {enabled =! Päällä; } micCheck (); // Jos moottori on sammutettu ja mikrofoni on päällä, kuuntele vauvan itkua, jos (! Käytössä && micEnabled) {jos (getMicReading ()> = micSensitivity) enabled = true; } if (käytössä) {stepsPerRevolution = stepsPerRevolution * -1; // käänteinen suunta // Asetuksillani on tehokkaampaa peruuttaa // ensimmäisen heilahduksen aikana. Voit laittaa tämän silmukan jälkeen // jos näin ei ole sinun tapauksessa // pyöritä moottoria edellä määritetylle etäisyydelle (int i = loopStartValue; i <numSteps; i ++) {// tarkista sammutetaanko int tempmotorButtonValue = digitalRead (motorEnablePin); if (tempmotorButtonValue! = motorButtonValue) {rockCount = 0; // Nämä kaksi seuraavaa riviä "tallentavat" moottorin asennon, joten kun seuraavan kerran käynnistät sen // se jatkaa matkaansa kuin et olisi sammuttanut sitä. Tämä estää heittämisen // liikkeen etäisyydet loopStartValue = i; // tallenna sijainti stepsPerRevolution = stepsPerRevolution * -1; // ylläpitää suuntaa oldmotorButtonValue = tempmotorButtonValue; tauko; } checkContinue (jatkuarvo); // tarkista onko jatkopainiketta painettu micCheck (); myStepper.step (stepsPerRevolution / 50); // kuinka monta askelta on suoritettava silmukkaa kohden, // sinun on ehkä muutettava tätä // varmista, että jatkamme koko silmukkaetäisyyttä, jos silmukka on valmis // tämä tulee käyttöön, jos sammutat moottorin itse ja se "pelastaa" sijainti if (i == numSteps - 1) {loopStartValue = 0; }}} viive (100); // tauko 100 milliä ennen seuraavan rockin tekemistä. Sinun täytyy säätää tätä. jos (käytössä) checkComplete (); oldmotorButtonValue = motorButtonValue; // tätä käytetään kaksoisnapsautusten estämiseen} // Tämä koodi on suoraan Adafruitista. double getMicReading () {unsigned long startMillis = millis (); unsigned int peakToPeak = 0; // huippu-huippu-taso unsigned int signalMax = 0; unsigned int signalMin = 1024; while (millis () - startMillis <näyteikkuna) {micCheck (); if (digitalRead (motorEnablePin) == LOW) käytössä = true; näyte = analoginen luku (micPin); if (sample signalMax) {signalMax = näyte; // tallenna vain enimmäistasot} else if (näyte
for (int i = loopStartValue; i <numSteps/2; i ++) {
myStepper.step (stepsPerRevolution * -1 / 50); // vaihe 1/100 vallankumouksesta:
}
} }
Vaihe 18: Asennus ja pyörän asennus
Tämä on edelleen WIP minulle, koska kuten sanoin, en ole varma, haluanko laittaa ruuveja kehtooni vielä.
- Laita puristin toimimaan käsivarresta, joka tulee ulos kehdosta, jotta pyöräni voi vetää suoraan
- Kierrä raakarasia yhteen moottorin laittamiseksi ja ruuvaa sen pohjalevyyn, jonka kiinnitin telineen jalkaan
- Valmistanut räätälöidyn puisen hihnapyörän, jossa oli reikä pienen askelpyörän pyörän sisään. Tein keskireiän erittäin tiukkaan ja vain häivytin askelpyörän pyörän. Porasin reiän pyörän läpi keskelle, jotta pääsin käsiksi metallisen hihnapyörän ruuviin ja kiristä se askelmoottoriin.
- Vedä naru telakan "käsivarresta" pyörään. Kiinnitin narun viemällä sen poratun reiän läpi ja teippaamalla sen paikalleen.
Parempi ratkaisu kolmanteen vaiheeseen on ostaa ensin halkaisijaltaan suurempi hihnapyörä. Omani on halkaisijaltaan hieman alle 3 uran sisällä ja toimii todella hyvin omalle kehdolleni.
Ensimmäinen versio käytti käsivartta pyörän sijasta. Se ei toiminut lähes yhtä hyvin, koska voimaa ei kohdistettu johdonmukaiseen suuntaan, ja se oli myös todella altis heittäytymään pois, jos lähtöasento ei ollut oikea. Pyörän käyttö ratkaisee nämä ongelmat. Viihdyin myös pienellä hihnapyöräjärjestelmällä, mutta en lopulta tarvinnut, koska pyöräni antoi minulle tarpeeksi vääntöä.
Vaihe 19: Lopullinen asennus
Kiinnitä mikrofoni lapsesi lähelle, mutta paikkaan, jossa he eivät osu johtoihin. Voit myös korvata painikkeet wifi -asetuksilla arduinossa, mutta en ole vielä mennyt niin syvälle.
Suositeltava:
Arduino Rocker -peli: 4 vaihetta
Arduino Rocker Game: Tämä on Arduino -peli, jossa on 11 LED -valoa, LED -valot loistavat kuviossa. Kun keskimmäinen LED -valo palaa, paina painiketta. Sinulla on kolme elämää, aina kun painat painiketta, kun valo ei ole keskellä, menetät elämän. Jälkeen
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
ÄLYKÄS BABY ROCKER: 7 vaihetta
ÄLYKÄS BABY ROCKER: Nykymaailmassa, jossa vanhemmat olisivat kiireisiä työelämänsä parissa, heidän on vaikea löytää riittävästi aikaa vauvalleen. Lisäksi yhteiskunnassa on yleinen tapa, että äidin on huolehdittava vauvasta
Halvin Arduino -- Pienin Arduino -- Arduino Pro Mini -- Ohjelmointi -- Arduino Neno: 6 vaihetta (kuvilla)
Halvin Arduino || Pienin Arduino || Arduino Pro Mini || Ohjelmointi || Arduino Neno: …………………………. Tilaa YouTube -kanavani saadaksesi lisää videoita ……. Tässä projektissa keskitytään kaikkien aikojen pienimpään ja halvinan arduinoon. Pienin ja halvin arduino on arduino pro mini. Se muistuttaa arduinoa
Arduino LED Rocker Game!: 4 vaihetta (kuvilla)
Arduino LED Rocker Game!: Tämä on yksinkertainen arduino -peli, melko yksinkertainen, mutta mielettömän koukuttava. Se perustuu Arduino -verkkosivuston vilkkumiseen viipymättä. Jos haluat pelata, avaa vain sarjamonitori ja paina painiketta, kun keskimmäinen LED -valo syttyy. Saat kolme elämää