Sisukord:

UCL - manustatud - valimine ja koht: 4 sammu
UCL - manustatud - valimine ja koht: 4 sammu

Video: UCL - manustatud - valimine ja koht: 4 sammu

Video: UCL - manustatud - valimine ja koht: 4 sammu
Video: HAALAND & his GIRLFRIEND after winning the UEFA Champions League Title#football/The Goaling Ballers 2024, Juuli
Anonim
UCL - manustatud - valige ja asetage
UCL - manustatud - valige ja asetage

See juhend annab teada, kuidas 2D valiku- ja paigutusüksus valmistatakse ja kuidas seda kodeerida.

1. samm: loendamine

Compunets
Compunets

1x Adrio Mega

2x samm-mootorid (kasutasime JLB samm-mootorit, mudel 17H1352-P4130)

2x samm -mootoriga ajamikontrolleri moodul L298N Dual H Bridge DC Arduino jaoks

1x servomootor (meil pole seda täppi)

3x 10k oomi takistid

2x nailonklotsid

1x 12v toide

Raami jaoks natuke puitu

Juhtmed

2. etapp: ehitamine

Ehitus
Ehitus
Ehitus
Ehitus
Ehitus
Ehitus

Ehitusnäo ajal tuli esimese asjana otsustada masina suuruse ja kuju üle

Kõigepealt ehitame põhikujulise puidu. Ehitasime oma valimis- ja paigutusraami 50x25x30 cm. Kõik peale raami, silla ja tõstehoova valmistati laserlõikuriga.

Siin on link kõikidele failidele

Siis tahtsime rihmarataste süsteemi. Siin läksime kahe 50 mm rõnga ja ühe 20 mm rõngaga. Seejärel paneme paracordi 20 mm kõrvale mõne liimiga. Pärast seda pigistasime kaks 50 mm rõngast 20 mm rõnga mõlemal küljel.

20 mm

50 mm

Siis peame kujundama käe liugjuhiku. Siin tegime kaks külge ja ühe tagaplaadi.

Mis siis liimiti U kujul. Siis ühendasime selle sillaga.

Kõrvalroog

Tagaplaat

Nüüd, kui käe üles -alla liigutamise osad on tehtud. Peame seda edasi -tagasi liigutama.

Selle kavandamisel jälgisime, et hambad oleksid üksteisega kooskõlas. Nii et mõlemad esemed loodi samas projektikohas.

3. samm: kood

Kood
Kood
Kood
Kood
Kood
Kood

Programmeerimine on üsna lihtne ja koosneb viiest osast

  1. Raamatukogude kaasamine ja muutujate seadistamine sisemiseks ja IO kasutamiseks
  2. Laadige sisendid Ramile
  3. Sekvens, valides soovitud liikumise.
  4. Stepper/servoasendi juhtimine
  5. Väljund maailmale

Me selgitame laias laastus iga osa, kuid pidage meeles, et see on vaid üks paljudest lahendustest.

1: tühja seadistuse jaoks lisasime selle projekti jaoks vajalikud 2 raamatukogu. Stepper ja servo. Kaasasolevate raamatukogude kasutamine säästab teid sammude ja servomootorite iga detaili tundmaõppimisest.

#kaasake

#kaasake

const int stepsPerRevolution = 200; // muutke seda nii, et see vastaks teie mootori sammude arvule pöörde kohta

// initsialiseerige stepper -raamatukogu tihvtidel 8 kuni 11:

Stepper XStepper (stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stepsPerRevolution, 28, 29, 30, 31); Servohaarats; // luua servoobjekt servo juhtimiseks

Gripper peab tühimiku seadistuses kinnituma

void setup () {// initsialiseeri jadaport: Serial.begin (9600); Griper.attach (9); // kinnitab tihvti 9 servo servoobjekti külge

Selle jaotise ülejäänud osa on lihtsalt muutujate ja konstantide seadistamine.

2: Void Loopi esimene asi on laadida kõik kasutatud sisendid muutujale. Seda tehakse kahel põhjusel. Esimene põhjus on piirata sisendi lugemise protsessori raskeid ülesandeid. Teine põhjus, mis on kõige olulisem, on veenduda, et kui sisendit kasutatakse rohkem kui üks kord, on selle väärtus kogu skannimise ajal sama. See muudab järjekindla koodi kirjutamise lihtsamaks. See on PLC programmeerimisel väga levinud praktika, kuid see kehtib ka manustatud programmeerimise kohta.

// ------------------------- sisend RAM-i -------------------- Xend = digitalRead (34); Yend = digitalRead (35); Ena = digitalRead (36);

3: Koodi sekvensi osas tegime lihtsalt käskude Switch ja case käsu sekvens. Sekvensi osa annab lihtsalt signaale koodi positsiooni juhtimise osale. Seda osa saab hõlpsasti teie rakendusele kohandada või kasutada sellisena, nagu see on.

4: Servo asendit kontrollib lihtsalt servo liberi ja if -avaldus haaratsi avamiseks ja sulgemiseks.

Stepper Control on natuke keerulisem. Funktsioon võrdleb seadepunkti (asend, kuhu soovite käe liikuda) ja praegust asendit. Kui praegune positsioon on väljavalitu, lisab funktsioon sellele kohale ja palub Stepper liberi funktsioonil positiivse sammu teha. Kõrge ja kõrge positsiooni puhul on see vastupidine. kui asend on sama, mis seadeväärtus, siis XinPos bit istub ja samm -samm peatub.

// SP kontroll X

if (XstepCountXsp ja mitte Home) {

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

5: Lisage koodi lõpp, mida juhitakse mootoreid liberi funktsioonidega.

// -------------------- Väljund ---------------------- // samm üks samm: XStepper.step (Xstep); // samm üks samm: YStepper.step (Ystep);

Griper.write (GripSp);

Samm 4: Valmistatud

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Soovitan: