Innehållsförteckning:
Video: UCL - Inbäddad - Välj och plats: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Denna instruerbara kommer att gå hur en 2D plocka och placera enhet är gjord och hur man kodar den.
Steg 1: Datorer
1x Adrio Mega
2x stegmotorer (vi använde JLB Stepper Motor, modell 17H1352-P4130)
2x Stepper Motor Drive Controller Board Module L298N Dual H Bridge DC För Arduino
1x servomotor (vi har inte fläcken på den här)
3x 10k ohm motstånd
2x nylonflis
1x 12V strömförsörjning
Lite trä till ramen
Trådar
Steg 2: Konstruktion
Det första under konstruktionsytan var att bestämma storleken och formen på plock- och placeringsmaskinen
Först bygger vi grundformen trä. Vi byggde vår pick and place -ram 50 cm x 25 cm x 30 cm. Allt utom ramen, bryggan och lyftarmen tillverkades med en laserskärare.
Här är en länk till alla filerna
Sedan ville vi till remskivsystemet. Här gick vi med två 50 mm ringar och en 20 mm ring. Sedan lägger vi ett parakord bredvid 20 mm med lite lim. Därefter klämde vi ihop de två 50 mm ringarna på vardera sidan av 20 mm ringen.
20 mm
50 mm
Sedan måste vi utforma en glidguide till armen. Här gjorde vi två sidor och en bakplatta.
Som sedan limmades i en U -form. Sedan kopplade vi det till bron.
Sidoplatta
Bakplatta
Nu när delarna för att flytta armen upp och ner är klara. Vi måste flytta den fram och tillbaka.
När vi designade detta såg vi till att tänderna ligger i linje med varandra. Så båda artiklarna skapades på samma projektplats.
Steg 3: Kod
Programmeringen är ganska enkel och består av 5 delar
- Inkludering av bibliotek och installation av variabler för intern och IO -användning
- Ladda ingångar till Ram
- Sekvens, välj den rörelse du vill ha.
- Stepper/servopositionskontroll
- Output till världen
Vi kommer i stora drag att förklara varje del, men kom ihåg att detta bara är en av många lösningar.
1: Innan den tomma installationen inkluderade vi de två bibliotek vi behöver för detta projekt. Stepper och servo. Genom att använda de medföljande biblioteken, sparar du från att lära dig varje detalj om steg- och servomotorer.
#omfatta
#omfatta
const int stepsPerRevolution = 200; // ändra detta för att passa antalet steg per varv för din motor
// initiera stegbiblioteket på stift 8 till 11:
Stepper XStepper (stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stepsPerRevolution, 28, 29, 30, 31); Servo Griper; // skapa servoobjekt för att styra ett servo
gripern måste få fäst i tomrumsinställningen
void setup () {// initiera serieporten: Serial.begin (9600); Griper. Fäst (9); // fäster servon på stift 9 på servoobjektet
Resten av det här avsnittet är bara installation av variabler och konstant.
2: Det första i Void Loop är att ladda alla använda ingångar till en variabel. Detta görs av två skäl. Den första anledningen är att begränsa CPU -tunga uppgifter för att läsa en ingång. Den andra anledningen, som är den viktigaste, för att se till att om en ingång används mer än en gång kommer den att ha samma värde under hela genomsökningen. Detta gör det enklare att skriva konsekvent kod. Detta är en mycket vanlig metod i PLC -programmering, men det gäller också för inbäddad programmering.
// ------------------------- Mata in RAM -------------------- Xend = digitalRead (34); Yend = digitalRead (35); Ena = digitalRead (36);
3: I sekvensdelen av koden gjorde vi precis en sekvens med switch och fallkommandon. Sekvensdelen ger bara signaler till kodens positionskontrolldel. Denna del kan enkelt anpassas till din applikation eller användas som den är.
4: Servos position styrs precis av servo liberi och ett if -uttalande för griparen öppen och stängd.
Stepper Control är lite mer knepigt. Funktionen jämför börvärdet (positionen du vill att armen ska gå till) och den aktuella positionen. Om den nuvarande positionen är älskare, lägger funktionen till positionen och ber Stepper liberi -funktionen att ta ett positivt steg. Motsatsen gäller för en hög position. om positionen är densamma som börvärdet är en XinPos -bit satt hög och steget stannar.
// SP controal X
if (XstepCountXsp och inte hem) {
XstepCount = XstepCount-1; Xstep = -1; XinPos = 0; } if (XstepCount == Xsp) {Xstep = 0; XinPos = 1; }
5: Lägg till slutet av koden som motorerna styrs med liberi -funktionerna.
// -------------------- Output ---------------------- // steg ett steg: XStepper.step (Xstep); // steg ett steg: YStepper.step (Ystep);
Griper.write (GripSp);
Steg 4: Made By
casp6099 - Casper Hartung Christensen
rasm616d - Rasmus Hansen
Rekommenderad:
Arduino Parking Assistant - Parkera din bil på rätt plats varje gång: 5 steg (med bilder)
Arduino Parking Assistant - Parkera din bil på rätt plats varje gång: I det här projektet visar jag dig hur du bygger din egen parkeringsassistent med hjälp av en Arudino. Denna parkeringsassistent mäter avståndet till din bil och guidar dig att parkera den på rätt plats med hjälp av en LCD -skärmavläsning och en lysdiod, som fortskrider
Hur man skapar och infogar en tabell och lägger till ytterligare kolumner och/eller rader till den tabellen i Microsoft Office Word 2007: 11 steg
Hur man skapar och infogar en tabell och lägger till ytterligare kolumner och/eller rader till den tabellen i Microsoft Office Word 2007: Har du någonsin haft mycket data du arbetar med och tänkt för dig själv … " hur kan jag göra allt av dessa data ser bättre ut och blir lättare att förstå? " Om så är fallet kan en tabell i Microsoft Office Word 2007 vara ditt svar
Hur man bygger en parkeringssensor för att lösa smärtan med att hitta en ledig plats: 12 steg
Hur man bygger en parkeringssensor för att lösa smärtan att hitta en ledig plats: I det här projektet bygger vi en enkel parkeringssensor med en Raspberry Pi. Det visar sig att jag varje morgon måste ställas inför denna fråga: är den ENDA parkeringsplatsen framför mitt kontor redan upptagen? För när det faktiskt är så måste jag gå runt
Hopfällbar ljusbox för dem som har ont om plats och kontanter: 12 steg (med bilder)
Hopfällbar ljuslåda för dem som har ont om utrymme och kontanter: Jag bestämde mig för att ta mig an utmaningen att skapa en prisvärd, hopfällbar ljusbox för människor som kan ha ont om plats och kontanter. Problemet jag hittade med många av de prisvärda lådorna med skumkärna är att varje gång du vill ta det
Snabb laptopstativ med plats för tillbehör: 6 steg
Snabb bärbar dator med plats för tillbehör: Jag fann en dag att jag ville ansluta två usb -enheter och min mus och tangentbord med bara två USB -portar på min dator. Så då visste jag att jag behövde USB 2.0 -hubb. (Ja, tangentbordet har två USB -portar, men de är USB 1, utan ström och riktigt täta.