![UCL - Embedded - Pick and Place: 4 stappen UCL - Embedded - Pick and Place: 4 stappen](https://i.howwhatproduce.com/images/005/image-12531-23-j.webp)
Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
![UCL - Ingesloten - Pick and Place UCL - Ingesloten - Pick and Place](https://i.howwhatproduce.com/images/005/image-12531-24-j.webp)
Dit instructable zal echter gaan hoe een 2D pick-and-place-eenheid wordt gemaakt en hoe deze te coderen.
Stap 1: Computers
![computers computers](https://i.howwhatproduce.com/images/005/image-12531-25-j.webp)
1x Adrio Mega
2x stappenmotoren (we gebruikten JLB stappenmotor, model 17H1352-P4130)
2x Stappenmotor Drive Controller Board Module L298N Dual H Bridge DC Voor Arduino
1x servomotor (We hebben hier geen vlek op)
3x 10k ohm weerstanden
2x Nylon striemen
1x 12v voeding
Wat hout voor het frame
Draden
Stap 2: constructie
![Bouw Bouw](https://i.howwhatproduce.com/images/005/image-12531-26-j.webp)
![Bouw Bouw](https://i.howwhatproduce.com/images/005/image-12531-27-j.webp)
![Bouw Bouw](https://i.howwhatproduce.com/images/005/image-12531-28-j.webp)
Het eerste wat tijdens het constructievlak was om de grootte en vorm van de pick-and-place-machine te bepalen
Eerst bouwen we de basisvorm hout. We hebben ons pick-and-place-frame van 50 cm bij 25 cm bij 30 cm gebouwd. Alles, behalve het frame, de brug en de hefarm, is gemaakt met een lasercutter.
Hier is een link naar alle bestanden
Toen wilden we het katrolsysteem. Hier gingen we met twee ringen van 50 mm en een ring van 20 mm. Daarna zetten we met wat lijm een paracord naast de 20mm. Waarna we de twee 50 mm-ringen aan weerszijden van de 20 mm-ring hebben geperst.
20 mm
50 mm
Dan moeten we een schuifgeleider voor de arm ontwerpen. Hier hebben we twee zijkanten en een achterplaat gemaakt.
Die vervolgens in een U-vorm werd gelijmd. Die hebben we toen aangesloten op de brug.
Zijplaat
Achterplaat
Nu de onderdelen voor het op en neer bewegen van de arm klaar zijn. We moeten het heen en weer bewegen.
Bij het ontwerpen hiervan hebben we ervoor gezorgd dat de tanden op elkaar aansluiten. Dus beide items zijn gemaakt op dezelfde projectplaats.
Stap 3: Coderen
![Code Code](https://i.howwhatproduce.com/images/005/image-12531-29-j.webp)
![Code Code](https://i.howwhatproduce.com/images/005/image-12531-30-j.webp)
![Code Code](https://i.howwhatproduce.com/images/005/image-12531-31-j.webp)
De programmering is vrij eenvoudig en bestaat uit 5 delen
- Opname van bibliotheken en instelling van variabelen voor intern en IO-gebruik
- Ingangen laden naar Ram
- Sekvens, de beweging kiezen die je wilt.
- Stepper/servo positieregeling
- Uitvoer naar de wereld
We zullen in grote lijnen elk onderdeel uitleggen, maar onthoud dat dit slechts een van de vele oplossingen is.
1: Voor de void setup hebben we de 2 bibliotheken toegevoegd die we nodig hebben voor dit project. Stepper en servo. Door de meegeleverde bibliotheken te gebruiken, hoeft u niet elk detail over stappen- en servomotoren te leren.
#erbij betrekken
#erbij betrekken
const int stepsPerRevolution = 200; // verander dit zodat het past bij het aantal stappen per omwenteling voor uw motor
// initialiseer de stepper-bibliotheek op pinnen 8 tot en met 11:
Stepper XStepper(stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stappenPerRevolution, 28, 29, 30, 31); Servogrijper; // maak een servo-object om een servo te besturen
de grijper moet worden bevestigd in de lege setup
void setup () {// initialiseer de seriële poort: Serial.begin (9600); Griper.attach(9); // bevestigt de servo op pin 9 aan het servo-object
De rest van deze sectie is slechts het instellen van variabelen en constanten.
2: Het eerste in de Void Loop is om alle gebruikte inputs naar een variabele te laden. Dit wordt gedaan om twee redenen. De eerste reden is om de zware CPU-taken van het lezen van een invoer te beperken. De tweede reden, die het belangrijkst is, is om ervoor te zorgen dat als een ingang meer dan één keer wordt gebruikt, deze gedurende de hele scan dezelfde waarde zal hebben. Dit maakt het schrijven van consistente code een stuk eenvoudiger. Dit is een veel voorkomende praktijk bij PLC-programmering, maar het is ook van toepassing op embedded programmering.
//------------------------- Invoer naar RAM-------------------- Xend = digitaal lezen(34); Yend = digitalRead (35); Ena = digitalRead(36);
3: In het sekvens-gedeelte van de code hebben we zojuist een sekvens gemaakt met de Switch- en case-opdrachten. Het sekvens-gedeelte geeft alleen signalen aan het Positiecontrole-gedeelte van de code. Dit onderdeel kan eenvoudig worden aangepast aan uw toepassing of worden gebruikt zoals het is.
4: De positie van de servo wordt alleen gecontroleerd door de servo liberi, en een if-statement voor open en gesloten grijper.
De Stepper Control is wat lastiger. De functie vergelijkt het instelpunt (de positie waar u de arm naartoe wilt laten gaan) en de huidige positie. Als de huidige positie minnaar de is, wordt de functie toegevoegd aan de positie en wordt de Stepper liberi-functie gevraagd om een positieve stap te zetten. Het tegenovergestelde geldt voor een te hoge positie. als de positie hetzelfde is als het Setpoint, wordt een XinPos-bit hoog gezet en stopt de stepper.
// SP controle X
if (XstepCountXsp en niet Home){
XstepCount=XstepCount-1; Xstap=-1; XinPos = 0; } if (XstepCount==Xsp){ Xstep=0; XinPos = 1; }
5: Voeg het einde van de code toe dat de motoren worden bestuurd met de liberi-functies.
//--------------------Uitvoer---------------------- // stap een stap: XStepper.step(Xstep); // stap één stap: YStepper.step (Ystep);
Griper.write(GripSp);
Stap 4: Gemaakt door
casp6099 - Casper Hartung Christensen
rasm616d - Rasmus Hansen
Aanbevolen:
Fire, Music and Lights Sync: 10 stappen (met afbeeldingen)
![Fire, Music and Lights Sync: 10 stappen (met afbeeldingen) Fire, Music and Lights Sync: 10 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/001/image-199-11-j.webp)
Synchronisatie van vuur, muziek en licht: we weten allemaal dat elektronica wordt gebruikt voor veel belangrijke taken in ziekenhuizen, scholen en fabrieken. Waarom zou ik er ook niet een beetje plezier mee hebben? In deze Instructable maak ik uitbarstingen van vuur en lichten (Led's) die op muziek reageren om muziek een beetje
Print-in-Place robotgrijper - Ajarnpa
![Print-in-Place robotgrijper - Ajarnpa Print-in-Place robotgrijper - Ajarnpa](https://i.howwhatproduce.com/images/011/image-30632-j.webp)
Print-in-Place Robotic Gripper: Robotica is een fascinerend vakgebied en we hebben het geluk dat we in een tijd leven waarin de doe-het-zelf-robotica-gemeenschap fantastisch werk en projecten produceert. Hoewel veel van deze projecten verbazingwekkend geavanceerd en innovatief zijn, heb ik geprobeerd robots te maken t
UCL-IIoT-Drivhus: 5 stappen
![UCL-IIoT-Drivhus: 5 stappen UCL-IIoT-Drivhus: 5 stappen](https://i.howwhatproduce.com/images/001/image-603-37-j.webp)
UCL-IIoT-Drivhus: Het doel van dit project was om een tuinhuis te bouwen met Arduino. Daarom besloten de 3 studenten in de groep om een automatische kas te maken, we besloten om datalogging te maken op de informatie die door de kas wordt gegeven, via Wamp-server, node-re
UCL - Node-red verbinden met een Siemens PLC met KEPserver: 7 stappen
![UCL - Node-red verbinden met een Siemens PLC met KEPserver: 7 stappen UCL - Node-red verbinden met een Siemens PLC met KEPserver: 7 stappen](https://i.howwhatproduce.com/images/005/image-12858-23-j.webp)
UCL - Node-red verbinden met een Siemens PLC met KEPserver: RequirementsNode-red: https://nodered.org/docs/getting-started/installationKEPserver: https://www.kepware.com/en-us/kepserverex-6 -6-release
UCL-IIoT kleurensorteerder: 7 stappen
![UCL-IIoT kleurensorteerder: 7 stappen UCL-IIoT kleurensorteerder: 7 stappen](https://i.howwhatproduce.com/images/001/image-1691-28-j.webp)
UCL-IIoT Kleursorteerder: InleidingIn deze instructie zullen we proberen uit te leggen hoe we gaan programmeren en hoe we een kleursorteermachine verzamelen. Het zal worden geprogrammeerd in een Arduino Uno, via Arduino Software. Dit project is een keuzevak op onze studie. De betekenis