En Arduino-powered microplate spektrofotometer (6 / 16 steg)

Steg 6: Kör steppers



28YBJ-48 stepper är en 4-coil stepper med en hög skuldsättningsgrad (citerat som 64:1). Det finns några bra tutorials här:

http://42bots.com/tutorials/28byj-48-stepper-motor...

https://Arduino-info.wikispaces.com/SmallSteppers

Och en stor, allmän stepper Instructable här:

De ansluter till Arduino genom en ULN2003 förare ombord (stepper kabeln ansluts på ett sätt bara, så oroa dig inte om att få ledningarna fel). Du kan köra dessa motorer med inbyggda Stepper biblioteket på Arduino. Detta aktiverar varje spole i sekvens, rörliga rotorn genom 4 positioner att göra ett varv. Detta är verkligen enkelt, men begränsar hastigheten på nummerlistan. Om spolarna byta för snabbt, rotorn kan inte hänga och motorn fryser (du kommer att höra ett brummande ljud med några vibrationer). Vi använde AccelStepper bibliotek , som ger dig mer sofistikerad kontroll av motorn. Det låter dig använda en 8-stegs sekvens för att röra rotorn i halv-steg, vilket gör det lättare för den att hänga, och därmed nå snabbare hastigheter. Du kan också använda acceleration, vilket också ökar den maximala hastigheten. Försöker få rotorn att flytta direkt till den slutliga hastigheten från övriga gör rotorn stall. Skynda till den slutgiltiga hastigheten kan drivkraften i rotorn att bygga upp, så att du kan få till snabbare slutliga hastigheter. AccelStepper biblioteket tar lite tid att vänja sig, men det tillät oss att köra motorerna betydligt snabbare. Du kommer att behöva ladda ner biblioteket från länken och installera den.

Ställ in

inkludera < AccelStepper.h >

Motoriska pin definitioner

#define motorPin1 38 / / IN1 på ULN2003 driver
#define motorPin2 40 / / IN2 på ULN2003 driver
#define motorPin3 42 / / IN3 på ULN2003 driver
#define motorPin4 44 / / IN4 på ULN2003 driver
definiera motorPin5 39 / / IN1 på ULN2003 driver
#define motorPin6 41 / / IN2 på ULN2003 driver
#define motorPin7 43 / / IN3 på ULN2003 driver
#define motorPin8 45 / / IN4 på ULN2003 driver

Definiera parametrar för Steppers

#define HALFSTEP 8
#define STEPS_PER_MOTOR_REVOLUTION 32
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 / = 2048
AccelStepper stepperX (HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
AccelStepper stepperY (HALFSTEP, motorPin5, motorPin7, motorPin6, motorPin8);
Stepper stepper_X (STEPS_PER_MOTOR_REVOLUTION, 38, 40, 42, 44);
Stepper stepper_Y (STEPS_PER_MOTOR_REVOLUTION, 39, 41, 43, 45);

int STÅNDPUNKTEN1 = 0;
int Position2 = 0;

Output portar på Arduino som ansluter med motorn förarens styrelser måste definieras. Varje stegmotor är ansluten till en förare ombord som modulerar utdata från Arduino och omvandlar det till rätt sekvens av pulser som ska skickas till elektromagneter i nummerlistan.

8-stegs mekanismen definieras som HALFSTEP som en parameter till kontroll stegmotorer. Detta ger information till koda för rotation av stegmotorer med 8-stegs mekanism. Stegvinkel i 8-stegs sekvens (hur mycket ett enda steg roterar tandat redskap) är 5.625˚ (64 steg per varv). Utväxlingen är 1/64, så är 64 x 64 (4096) steg per varv av den utgående axeln av motorn. Positionerna för stegmotorer definieras också som 0 vid sin start. STÅNDPUNKTEN1 är variabeln position av stepper1; Position2 är variabeln position av stepper 2. PositionX definierar kolumnen på microplate att sensorn är över (1-12), som kontrolleras av stepperX; PositionY definierar rad på microplate att sensorn är över (A-H), som kontrolleras av stepperY. På startpositionen är båda position variabler 0, vilket motsvarar sensorn ligger ovanför väl A1

Ställ in stepper hastighet och acceleration

void setup() {
stepper1.setMaxSpeed(3000.0);
stepper1.setAcceleration(500.0);
stepper2.setMaxSpeed(3000.0);
stepper2.setAcceleration(500.0);
}

Setup är inneslutna i klammerparenteser: {...}. Hastighet och acceleration av motorerna som har definierats för båda motorerna. Dessa variabler har valt att vara väl inom den stegmotorer kapacitet att förhindra stopp, men snabb nog för att vara överdrivet långa. Hastighet, 3000 (steg per sekund), motsvarar 44 varvtal. acceleration, 500, motsvarar 7,3 rpm ^ 2

Flytta tabellen

fördröjning (2000); Ta behandlingen av A1

Innan du flyttar motorer det är en fördröjning av 2000ms (2 sekunder) så att det första provet (A1) som skall analyseras

stepper1.runToNewPosition(stepper1.currentPosition() +52406);
STÅNDPUNKTEN1 = STÅNDPUNKTEN1 + 1;
Delay(5000); Stepper1 med förseningar mellan varje varv

Stepper 1 är roterade 52406 steg, vilket motsvarar flyttar microplate med 9mm mellan två angränsande prover. När nummerlistan har flyttat till intilliggande brunnen, ökar PositionX variabeln med en enhet att definiera att kolumnen som sensorn ligger ovanför på microplate har ökat med en (till exempel från väl A1 till A2). Stepper pauser så att brunnen för att analyseras.

om (STÅNDPUNKTEN1 == 11) {//after 11 varv stepper 1 (på A12)
stepper2.runToNewPosition(stepper2.currentPosition() +52406);
Position2 = Position2 + 1;
Delay(2000);
stepper1.runToNewPosition(0); återvända motorn 1 till A1
STÅNDPUNKTEN1 = 0;
Delay(2000);
}

Därför microplate kommer att flyttas så att intilliggande väl är under sensorn, paus och upprepa tills sensorn är ovanför kolumnen 12 (PositionX = 11). Vid denna punkt, kommandon klausulen om if() att stepperY skiftar microplate så att sensorn ligger över på nästa rad (från rad A till rad B etc.), det finns en paus och därefter microplate returneras tillbaka så att sensorn ligger ovanför den första kolumnen.

om (Position2 == 8) {//after 7 vänder sig motor 2 (rad H)
stepper1.runToNewPosition(0); återvända motorn 1 till H1
STÅNDPUNKTEN1 = 0;
Delay(2000);
stepper2.runToNewPosition(0); återgå till A1
While(1) {}
}
}

De andra if() klausul kommandon båda motorer att återvända till sina ursprungliga positioner (med prov A1 nedan sensorn) en gång första if() klausulen har upprepats 8 gånger. På denna punkt har varje brunn på microplate analyserats så att denna klausul återställer bara placeringen av microplate för nästa användning. Koden while(1) {} kommandon denna klausul bara upprepas en gång. Detta innebär att när microplate har skannats och återvände till väl A1 Loops-hållplatser och microplate står still.

Se Steg
Relaterade Ämnen

Ett trådlöst kontrollerade, Arduino-Powered anslagstavla

bygga själv en trådlöst styrd, Arduino-powered anslagstavla!Här är ett enkelt projekt som skapar en trådlöst programmerbart anslagstavla. XBee moduler använder för att ge en trådlös seriell länk mellan datorn och enheten. Du interagerar med den via e...

Arduino-Powered binära termometer

jag nyligen förvärvat en Arduino Uno och letade efter en cool "komma igång" projekt. Jag beslöt att göra en termometer, som satsen har jag haft alla nödvändiga delar (termistor, sladdar, motstånd, lysdioder). Genom ett par iterationer, jag äntli...

Arduino Powered infraröd sak

Hej, detta är min första instructible. Jag kommer att visa dig hur man gör en arduino powered analog sensor läsare (jag kommer att använda en infraröd fotodiod).Steg 1: delar Du behöver flera saker att göra detta:1. någon form av fallet eller låda2....

Arduino Powered uppvärmd handske Liners

Arduino Powered uppvärmda handskarDetta projekt är om hur att göra världens smartaste uppvärmd handske liners för extremt kalla förhållanden som de i Minnesota eller människor som har Raynauds syndrome(like me). Dessa handskar kommer förses du med ti...

Arduino-powered LED klocka

En rolig, enkel LED-klocka, som ger dig tiden till den närmaste halvtimmen med hjälp av enfärgade lysdioder. Delar som behövs är följande:Arduino Nano400 tie-punkt skärbrädaBandkabelDS1307 RTC IC32.768 kHz Crystal(12) 10mm lysdioder(12) 180 Ohm motst...

Arduino powered Halloween pumpa med rörelsedetektor

Hejdetta Instructable visar dig hur man gör några Halloween dekorationer inklusive arduino powered Halloween pumpa med rörelsedetektor.Steg 1: Göra Halloween pumpa Material:Rund ballongGamla tidningarSmidig mjölVattenTemperaModellering leraSuperlimVe...

Acrylic fisk Tank med Arduino-Powered mataren

Har du någonsin velat ett mer händer på känsla när får en fisk? Eller ville ha något annat än de genomsnittliga akvarier finns i butiker? Denna fisk tank är helt anpassad och kan ändras för att passa din storlek behov och har en Arduino powered feede...

Arduino Powered RGB LED Vodka hylla

detta instructable kommer du igång att göra ditt eget arduino powered röd grön och blå LED-projekt. Det behöver inte ens vara en hylla! Vodka flaskor råkar bara lysa upp fint så det är vad jag valde att göra.I detta projekt använder vi varje stift på...

Att göra en Arduino Powered gardin Automation

I den här videon börja jag arbeta på visar dig hur man gör en Arduino Powered enhet som kommer att öppna och stänga gardiner!Med hjälp av några rep och en kontinuerlig rotation servo jag kan skapa en trissa system som fungerar som stamnät till rörels...

3 kanal arduino Powered Christmas Light Controller!

För julen i år, jag ville göra ett riktigt häftigt projekt men inte riktigt vet vad man ska göra. Som jag fick julen ljus ut att dekorera, var det en gammal trasig Christmas light timer. Jag tog isär och tittade på lågspänning kretsen. Innan detta ha...

Solar-orienterade, Arduino-Powered klockan

detta är en klocka för att hålla exakt tid (oberoende av atom eller GPS), Visa lokala soluppgång, solnedgång och solar, och även justera sig för sommartid.Jag ville ha klockan för att vara lätt att använda och vara flexibel. Funktionerna som inställn...

Arduino Powered raket styrsystemet

detta är min första Instructable så bär med mig.Detta är en Arduino Powered raket vägledning System. Jag skickade in detta för Google Global Science Fair. Min science projekt är på https://sites.google.com/site/arduinorocket/ . Det tog mig tre månade...

Arduino Powered Gainclone (förstärkare)

för er som inte vet (och jag inte förrän nyligen), en Gainclone är en förstärkare som är en klon av den ursprungliga utformningen av en förstärkare av 47 Labs kallas en Gaincard och är baserade på enkel flisa förstärkare av National Semiconductor - n...

Arduino powered RC tank

detta är min första instructable så snälla ha tålamod med mig. Mitt namn är Stanley Deakins och jag har spelat med elektronik ganska länge, men det var år sedan. På grund av min senaste anställning har jag återuppväcka denna passion. Jag har fått min...

Nattliga utsläpp: Min Arduino Powered Internet aktiverat dröm Generator

måste vi alla drömmer mer så jag har skapat denna Arduino Powered "dream generator" för att plantera frön för några stora tänkande galenskap. När du närmar dig generatorn en Maxbotix ultrasonic sensor utlöser ljus och musik som drar du i så du k...

Arduino Powered RGB humör lampa plus Simon

detta är grunden en arduino powered RGB humör lampa plus simon says spel, två i ett.Hur man använder: Enheten börjar med RGB humör lampa standardprogram, när du trycker på någon av de fyra knapparna längst ner, säger Simon spelet startar. När du tryc...

Hur man bygger en Arduino Powered Chess spela Robot

att döma av det stora antalet schack relaterade Instructables, jag tycker det är säkert att säga gemenskapen åtnjuter spelet. Det kan dock vara svårt, att hitta någon som spelar på samma nivå som du gör. Att lösa detta dilemma, och att öka min spela...

Arduino powered leaf scanner

Min praktikplats jag var intresserad av antocyaninfärgning och klorofyll koncentrationen i den blad av Begonia semperflorens. Det finns instrument för att mäta dessa pigment, men dessa är dyra (runt $2500,-) och kan endast mäta mängden antocyaninfärg...

Arduino-Powered fyra bokstäver Word Generator

bygga en Arduino-drivna versionen av de "fyra bokstäver Word Generator" (FLW). Denna version genererar "ord" i farten - det använder inte en lista. Den "ursprungliga" versionen från 1970-talet använde B7971 nixie alfanumerisk...