Kazalo:

Upravljanje 3 servo motorjev s 3 potenciometri in Arduinom: 11 korakov (s slikami)
Upravljanje 3 servo motorjev s 3 potenciometri in Arduinom: 11 korakov (s slikami)

Video: Upravljanje 3 servo motorjev s 3 potenciometri in Arduinom: 11 korakov (s slikami)

Video: Upravljanje 3 servo motorjev s 3 potenciometri in Arduinom: 11 korakov (s slikami)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Upravljanje 3 servo motorjev s 3 potenciometri in Arduinom
Upravljanje 3 servo motorjev s 3 potenciometri in Arduinom

Zdravo. To je moj prvi pouk, zato upam, da boste potrpežljivi z mano, če naredim kakšno napako pri nastavitvi. Napisano je za začetnike, zato naprednejši med vami veliko tega lahko preskočite in ga preprosto ožičite.

Cilj, ki sem si ga zastavil, je bil nadzorovati robota, prikazanega na tej spletni strani:

bocabearingsworkshop.blogspot.co.id/2015/08…

Moral sem biti sposoben krmiliti 3 različne servo motorje s spreminjanjem položaja 3 potenciometrov. Obstaja veliko ljudi, ki počnejo takšne stvari, vendar nisem našel natančnega ujemanja za vse, kar sem potreboval, zato sem se odločil, da objavim to navodilo, da bom vse, kar sem se naučil, združil na enem mestu, tako da bo kdorkoli drug želel če naredite kaj takega, bi to lahko hitro začelo delovati. Ta pouk je res povzetek odličnega dela in truda drugih ljudi.

Preden navedem posamezne korake, ki so pri tem vključeni, želim na kratko razložiti, kako vse deluje.

Potenciometri pošiljajo analogni signal na Arduino. Skica na Arduinu (več o tem kasneje) nato pretvori analogni vhod s potenciometra v digitalni izhod in pošlje ta izhod na servo motor, ki se nato premakne levo ali desno za ustrezno količino.

Potenciometri se napajajo iz Arduinove 5v linije, servomotorji pa se napajajo iz akumulatorja.

Pomembna opomba: ZELO pomembno je, da Arduino ozemljite v baterijo/servomotorje, da se izognete neprijetnim stvarem, vendar bom o tem podrobneje govoril, ko bomo šli naprej.

1. korak: Priprava komponent

Priprava komponent
Priprava komponent
Priprava komponent
Priprava komponent
Priprava komponent
Priprava komponent

Potrebujete tri 10k potenciometre z nogami, ki se lahko prilegajo na mizo.

Našel sem jih tukaj:

www.adafruit.com/products/562

Sledijo servo motorji. Uporabil sem najmanjše, saj bi bil tovor, ki bi ga premaknili, zelo majhen in poceni.

www.adafruit.com/products/169

Nato potrebujete baterijo s 4 AA:

www.adafruit.com/products/830

Okvir za povezovanje vsega:

www.adafruit.com/products/239

Arduino Uno R3 (vsaj to sem uporabil jaz):

www.adafruit.com/products/50

USB kabel za priključitev Arduina na računalnik in napajanje:

www.adafruit.com/products/62

Programska oprema Arduino IDE za nalaganje programa, ki bo upravljal servomotorje:

www.arduino.cc/en/Main/Software

Nekaj moških/moških mostičnih kablov in nekaj mostičnih žic za povezavo

www.adafruit.com/products/1956

Odcepni zatiči glave, ki bodo uporabljeni za priključitev motorjev na ploščo. Te so mi všeč, ker vam ni treba prilagajati plastičnega razdelilnika, da se prilegajo na mizo.

www.adafruit.com/products/400

2. korak: Pripravite svojo ploščico

Pripravite svojo ploščico
Pripravite svojo ploščico

Veliko ploščic za kruh je razdeljenih na 2 odseka vzdolž vodil na vrhu in spodaj (zaradi česar sem se rahlo praskal po glavi, ko sem jih prvič začel uporabljati.) Z uporabo 4 majhnih kosov žice lahko premostite prepad do poskrbite, da bo vaša moč dosegla celotno površino. Končno sem kupil enega, ki je bil v celoti povezan, toda če imate to težavo, jo tako rešite.

3. korak: Priključite en potenciometer 1

Ožičenje enega potenciometra 1
Ožičenje enega potenciometra 1

Ta diagram prikazuje, čemu služijo 3 zatiči na potenciometru.

4. korak: Priključite potenciometer 2

Ožičenje potenciometra 2
Ožičenje potenciometra 2

Vzemite 3 moške moške kable in jih potisnite v mizo, kot je prikazano na diagramu

5. korak: Priključite potenciometer 3

Ožičenje potenciometra 3
Ožičenje potenciometra 3

Sedaj potisnite zatiče potenciometra v ploščo, kot je prikazano na diagramu

6. korak: Priključite potenciometer 4

Ožičenje potenciometra 4
Ožičenje potenciometra 4

Zdaj ponovite ta postopek še 2 -krat in zdaj bomo pripravljeni priključiti signalne kable na Ardiuno

7. korak: Ožičenje Potenciometra Zadnji korak

Ožičenje Potenciometra Zadnji korak
Ožičenje Potenciometra Zadnji korak

Zdaj vzamemo rumene signalne kable in jih priključimo na ploščo Arduino. Pozorno poglejte Arduino in videli boste del plošče z imenom Analog In. Kable bomo priključili v A0, A1 in A2, kot je prikazano na diagramu.

Za trenutek, ko smo končali z lonci, zdaj za nastavitev motorjev.

8. korak: Ožičenje motorjev 1

Ožičenje motorjev 1
Ožičenje motorjev 1
Ožičenje motorjev 1
Ožičenje motorjev 1
Ožičenje motorjev 1
Ožičenje motorjev 1

Tako kot pri potenciometrih bomo trikrat naredili isto stvar, zato vam bom podrobno povedal, kako ga nastaviti, vse kar morate storiti je, da postopek ponovite.

Barve kablov na motorjih so zapletene, saj se razlikujejo od motorja do motorja. V mojem diagramu

črna je mleta (-)

Rdeča je moč (+)

Rumena je signal (i)

Vzemite par klešč z dolgim nosom in odlomite trak s 3 zatiči za glavo in jih vstavite v ženski konektor na servo motorju. Servo priključite na ploščo, kot je prikazano na diagramu. Ko to storite, bomo morali motorje priključiti na spodnje tirnice, zato vzemite dva moška moška kabla in ju vstavite v ploščo, kot je prikazano.

Ta postopek ponovite še dvakrat in nato bomo pripravljeni priključiti motorje na arduino

9. korak: Ožičenje motorjev 2

Ožičenje motorjev 2
Ožičenje motorjev 2

Zdaj smo motorje priključili na ploščo za kruh. Čas je, da signalni kabel priključite na Arduino, za to boste potrebovali 3 moške moške moške kable.

Priključite jih v mizo in nato v Arduino na teh lokacijah:

~9

~10

~11

Ti so na desni strani Arduina, kot je orientirano v mojem diagramu. Tu se digitalni signal iz Arduina pošlje na servo, da mu pove, kako se obrne.

Ko je to storjeno, smo pripravljeni priključiti napajanje in ga aktivirati

10. korak: Dodajte moč

Dodajanje moči
Dodajanje moči
Dodajanje moči
Dodajanje moči
Dodajanje moči
Dodajanje moči

Na tej točki želimo priključiti napajanje Arduino 5v in ozemljitev na zgornjo tirnico, ki bo dala moč potenciometrom, nato pa bomo naš akumulator priključili na spodnje tirnice za napajanje servomotorjev.

Če to storimo, bo to pomenilo, da ozemljitvena ravnina Arduino in servo ozemljitvena ravnina ne bosta povezana drug z drugim, kar bi lahko povzročilo velike težave. Odklopite Arduino iz kabla USB, se prepričajte, da baterija ni priključena na ploščo za kruh in priključite dva moška moška moška kabla, kot je prikazano na diagramu, enega na 5v v Arduinu, drugega na tla v Arduinu.

Nato vzemite moški moški mostični kabel in ozemljite od zgornje tirnice do tal na spodnji tirnici, kot je prikazano na desni strani plošče. To se zdaj veže na ozemljitev Arduino z ozemljitvijo baterije, ki jo bomo naslednjič pritrdili.

Končno dodajte baterijo na ploščo in končali smo fizično nastavitev ter se bomo lotili programiranja Arduina.

11. korak: Programiranje Ardiuna

Programiranje Ardiuno
Programiranje Ardiuno

Za vse, ki ne poznate nalaganja skic na Arduino, predlagam, da si vzamete čas in si ogledate vadnice, preden nadaljujete.

www.arduino.cc/en/Tutorial/HomePage

Za pregled povezav v moji nastavitvi

Potenciometri so priključeni na A0, A1 in A2

Servomotorji so priključeni na ~ 9, ~ 10 in ~ 11

Te številke bomo potrebovali, ko bomo pisali kodo, da bo Arduino deloval z našo nastavitvijo. Spodaj je koda, ki sem jo uporabil za delovanje Arduina. To ni moja koda, iz kode nekoga drugega sem vdrl dele, ki jih nisem potreboval, žal se ne spomnim, kje sem jo našel, zato ne morem priznati osebe, ki jo je napisala. Če ga prepoznate, mi to sporočite in tu bom dal povezavo do projekta osebe.

#vključi

Servo myservo3;

Servo myservo5;

Servo myservo6;

n

int potpin = 0; int potpin2 = 1;

int potpin3 = 2;

int val = 0; int val2 = 0;

int val3 = 0;

void setup () {

myservo3.attach (9); myservo5.attach (10);

myservo6.attach (11);

}

void loop () {

val = analogRead (potpin); val = zemljevid (val, 3, 1023, 0, 176);

myservo3.write (val);

zamuda (25);

val2 = analogRead (potpin2); val2 = zemljevid (val2, 3, 1023, 0, 176);

myservo5.write (val2);

zamuda (25);

val3 = analogRead (potpin3); val3 = zemljevid (val3, 3, 1023, 0, 175);

myservo6.write (val3);

zamuda (25);

}

Prilepite to v prazno skico, jo shranite in naložite v svoj Arduino. Zdaj bi lahko upravljali svoje servomotorje s potenciometri in lahko nadaljujete s svojim projektom!

Priporočena: