App och timer kontrollerad automatiska mörkar (4 / 6 steg)
Steg 4: Ansluta makt och steg föraren
Nu dra ut din Lödfritt breadbord! Inte behöver löda eller göra fancy anslutningar i detta skede, först vi bara vill kolla att allt fungerar.
Jag går inte in så mycket i detalj med elektronik och app, jag antar att du vet dina grejer och kan också ha olika komponenter än jag har. Jag vill bara förklara vad går där.
Power till arduino (Förutsatt att du har 12 V, 2A strömkälla)
Du kommer att driva din steg föraren och arduino separat så gör en parallell anslutning (4 kablar) med din leverans. GND1 till arduino gnd, VCC1-VI på arduino (spänning i, inte 5 V om du inte använder 5 volt leverans!).
Beroende på vilka steg driver du har, kan du ha en PIN-kod kallas "sömn". När we´re inte använder mörkarna kommer vi antingen satt föraren att sova eller stänga av dem för att hålla strömförbrukningen nere. I detta projekt vi kommer inte att använda funktionen sömn men istället vända föraren på och av precis innan vi använder den (om drivrutinen inte har sömn bedriften). Vakna föraren från sömn är snabbare än att starta det, dess vanligtvis runt 1 ms men i vårt fall som inte är nödvändiga.
Power till motor
Se bifogad bild. Vi ska börja med vår 12V försörjning. Anslut VCC2 och GND2 till VMOT och GND. Du kan också (bör) ansluta en 100uF kondensator dem emellan.
Okej nu har motorn makt. Vi levererar nu föraren med makt!
Power till drivrutinen
Anslut den andra GND (den lägre som i bilden) till din GND. VDD pin kommer att driva upp föraren, detta är den vi kommer att slå på och av. Anslut denna till stift 16 på din arduino.
Okej steg föraren har makt. Nu we´re kommer att ge det några signaler att arbeta med.
Driver signaler
Anslut DIR till stift 14 på arduino. Connect steg till stift 15 på arduino. Beroende drivrutinens steg kanske du har stift som MS1, MS2, MS3. Dessa är för "microstepping", denna process kan din motor att göra mindre steg. Vi är inte intresserad av detta eftersom 200/400 steg per rotation är redan över våra behov. Microstepping gör vanligtvis genom att ansluta den PIN-kod (MS1, MS2...) till VCC eller GND. Check din stepper datablad. Vara försiktig att använda mindre steg kan ge dig mindre vridmoment (och kanske overflow int variabeln i koden genom att räkna super många steg).
Steg motoriska signaler
Okej kommer vi nu att göra en tillfällig anslutning mellan föraren och steg motor. Detta är att se till att allt fungerar innan vi fortsätter.
Eftersom olika steppers använder olika färger på kablar ska jag beskriva en metod som fungerar för alla steppers. Vad vi vill veta är vilken kabel går där. Fyra kablarna är i par, två per spole (motorn har 2 spolar). Det enklaste sättet är att ta en multimeter eller en LED och ansluta dem till två stift. Nu rotera motoraxeln, om multimeter läser en spänning you´ve hittade ett par! Om du använder en LED det tänds, se till att du byter stift om det inte fungerar (som lysdioder kan bara nuvarande strömma i en riktning).
Nu ansluta dem parvis till nummerlistan. Par 1 går till 1B, 1A och 2 par till 2A, 2B. Senare när vi testa dem, om du upptäcker att de rotera i fel riktning kan du ändra placeringen av paren.
Beräkna aktuell och justera Vref
Beroende på du steg driver typ, kolla in denna url eller kolla databladet.
http://RepRap.org/wiki/Pololu_stepper_driver_board
Om du planerar att använda en drivrutin och två motorer, se till att beräkna parallella motståndet av motorerna eller du kan bränna din drivrutin!
Kort förklaring av hur det fungerar
Arduino skriver högt till steg PIN-koden för 500 mikro sekunder, förseningar och skriver igen flera gånger. Genom interpenetrates denna signal och aktiverar spolarna i steg motorn i en sekvens för att göra det rotera 1 steg.
DIR PIN-koden är antingen hög eller låg beroende på vilken riktning vi vill genom att rotera.
Om din motor är flippar ut och alla anslutningar är korrekta kan du prova att byta de 500 mikro sekunderna till ett högre/lägre värde i arduino koden.
Inte fungerar alls eller är de motor bara göra konstiga ljud?
- Om du roterar steg motoraxeln för hand (koppla från makten först) det bör rotera fritt och det ska kännas "clicky", en "klick" är ett steg. Om det inte du kan ha en defekt motor.
- Kontrollera anslutningar, kontrollera anslutningar, kontrollera anslutningarna.
- Kolla steg driver databladet. Kontrollera först om du har anslutit faserna korrekt. Så kolla om du behöver marken en microstepping stift (MS1, MS2...). Kontrollera om du kan justera spänningen på föraren och göra detta mycket noga, och se till bara att röra justerskruv med din skruvmejsel (riskera till kort krets föraren om inte du är försiktig). Slutligen kontrollera om det har en inbyggd i nuvarande gräns som på något sätt ligger för lågt.
- Ändra skriva perioden i arduino koden (500 USA del) eller fördröjning efter skrivningen.
- Fortfarande inte fungerar? Kolla med en multimeter och oscilloskop om du har tillgång till en. Vad händer mellan förare och motor? Vad som händer mellan arduino och föraren, är stiften skriva korrekt?
- Ta bort alla kopplingar, en kopp kaffe och sätta ihop igen. (fungerar förvånansvärt ofta)
- Skicka mig ett meddelande och jag ska se om jag kan hjälpa.