Sadržaj:

UCL - Ugrađeno - Odabir i mjesto: 4 koraka
UCL - Ugrađeno - Odabir i mjesto: 4 koraka

Video: UCL - Ugrađeno - Odabir i mjesto: 4 koraka

Video: UCL - Ugrađeno - Odabir i mjesto: 4 koraka
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Srpanj
Anonim
UCL - Ugrađeno - Odabir i mjesto
UCL - Ugrađeno - Odabir i mjesto

Ovo uputstvo će proći kroz način izrade 2D jedinice odabira i postavljanja te kako je kodirati.

Korak 1: Računi

Računi
Računi

1x Adrio Mega

2x koračni motori (koristili smo JLB koračni motor, model 17H1352-P4130)

Modul ploče s upravljačkim sklopom 2x koračnog motora L298N Dvostruki H most DC za Arduino

1x servo motor (na ovom nemamo mrlju)

3x 10k ohmski otpornici

2x najlonske žice

1x 12v napajanje

Malo drva za okvir

Žice

Korak 2: Izgradnja

Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo

Prva stvar tijekom izgradnje bila je odlučiti se o veličini i obliku stroja za odabir i postavljanje

Prvo gradimo drvo osnovnog oblika. Izgradili smo okvir za odabir 50 cm x 25 cm x 30 cm. Sve osim okvira, mosta i ruke za podizanje, proizvedeno je laserskom rezačom.

Ovdje je veza na sve datoteke

Zatim smo htjeli sustav remenica. Ovdje smo otišli s dva prstena od 50 mm i jednim prstenom od 20 mm. Zatim smo stavili paracord pored 20 mm s malo ljepila. Nakon toga smo stisnuli dva prstena od 50 mm s obje strane prstena od 20 mm.

20 mm

50 mm

Zatim moramo dizajnirati klizni vodič do ruke. Ovdje smo napravili dvije strane i jednu stražnju ploču.

Koji je zatim zalijepljen u U obliku. Zatim smo to spojili na most.

Bočna ploča

Stražnja ploča

Sada kada su dijelovi za pomicanje ruke gore -dolje gotovi. Moramo ga pomicati naprijed -natrag.

Prilikom projektiranja pobrinuli smo se da se zubi poravnaju jedan s drugim. Tako su obje stavke stvorene na istom mjestu projekta.

Korak 3: Kodirajte

Kodirati
Kodirati
Kodirati
Kodirati
Kodirati
Kodirati

Programiranje je prilično jednostavno i sastoji se od 5 dijelova

  1. Uključivanje knjižnica i postavljanje varijabli za internu i IO uporabu
  2. Učitajte ulaze u Ram
  3. Sekvens, odabirom pokreta koji želite.
  4. Stepper/servo kontrola položaja
  5. Izlaz u svijet

Objasnit ćemo svaki dio, ali zapamtite da je ovo samo jedno od mnogih rješenja.

1: Prije postavljanja praznine uključili smo 2 knjižnice koje su nam potrebne za ovaj projekt. Steper i servo. Korištenje priloženih knjižnica štedi vas od učenja svakog detalja o koračnim i servo motorima.

#uključi

#uključi

const int stepsPerRevolution = 200; // promijenite ovo tako da odgovara broju koraka po okretu za vaš motor

// inicijaliziramo knjižnicu koraka na pinovima 8 do 11:

Stepper XStepper (koraciPerRevolution, 22, 23, 24, 25); Stepper YStepper (koraciPerRevolution, 28, 29, 30, 31); Servo Griper; // izrada servo objekta za upravljanje servo pogonom

hvataljku je potrebno spojiti u postavci void

void setup () {// inicijalizira serijski port: Serial.begin (9600); Griper.prilog (9); // priključuje servo na pin 9 na servo objekt

Ostatak ovog odjeljka samo je postavljanje varijabli i Constant -a.

2: Prva stvar u Void Loopu je učitavanje svih korištenih ulaza u varijablu. To se čini iz dva razloga. Prvi razlog je ograničiti CPU -u teške zadatke čitanja unosa. Drugi razlog, koji je najvažniji, jest osigurati da će, ako se ulaz koristi više puta, imati istu vrijednost tijekom čitavog skeniranja. To olakšava pisanje dosljednog koda. To je vrlo česta praksa u PLC programiranju, ali se također odnosi i na ugrađeno programiranje.

// ------------------------- Ulaz u RAM -------------------- Xend = digitalno čitanje (34); Da = digitalno čitanje (35); Ena = digitalRead (36);

3: U dijelu koda sekvens upravo smo napravili sekvens s naredbama Switch i case. Dio sekvens samo daje signale dijelu koda za pozicioniranje. Ovaj se dio može lako prilagoditi vašoj aplikaciji ili koristiti takav kakav jest.

4: Položaj servo servera kontrolira samo servo liberi i if naredba za hvataljku otvorenu i zatvorenu.

Stepper Control je malo zeznutiji. Ova funkcija uspoređuje zadanu vrijednost (položaj u koji želite da ruka ide) i trenutni položaj. Ako je trenutni položaj ljubavniji, funkcija se dodaje položaju i traži od funkcije Stepper liberi da učini pozitivan korak. Suprotno vrijedi za položaj od najvišeg do visokog. ako je položaj isti kao i zadana vrijednost, bit će postavljen XinPos bit, a koračnica se zaustavlja.

// SP kontrola X

if (XstepCountXsp, a ne Home) {

XstepCount = XstepCount-1; Xstep = -1; XinPos = 0; } if (XstepCount == Xsp) {Xstep = 0; XinPos = 1; }

5: Dodajte kraj koda kojim se motori upravljaju s liberi funkcijama.

// -------------------- Izlaz ---------------------- // korak jedan korak: XStepper.step (Xstep); // prvi korak: YStepper.step (Ystep);

Griper.write (GripSp);

Korak 4: Napravio

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Preporučeni: