DVD till Laser gravör (5 / 12 steg)
Steg 5: elektronik!
Denna del är relativt lätt, den är indelad i detta lilla steg:
- Förbereda motorerna
- Ladda programvaran till Arduino
- Testa den Arduino + drivrutiner + motorer
Förbereda motorerna
De flesta av dessa motorer har 4 trådar motsvarar 2 spolar, så vi måste hitta vilka som motsvarar vilken spole. Vi har gjort detta i steg 3, men jag ska bara citera mig själv hur man gör det nu:
Om du vill kontrollera steppers måste du sätta din testare/multimeter i motstånd inställningen (en med Ω [OHM]) och åtgärd mellan 2 stiften i nummerlistan. Gå med par du behöver hitta 2 par Pins med lite motstånd (vanligtvis mellan 6 och 10 Ω, är den vanligaste 6Ω och 8Ω). När du hittar dem löda flatkabeln och lämna den andra änden med bare wire för nu. Du kan, om du vill, löda pinheaders temporally för att sätta dem på en skärbräda.
Jag kommer att inkludera i detta steg behöver för en extern strömkälla, som ni kanske har märkt det, easydrivers har en ingång för en separat strömförsörjning för motorerna. Detta beror på arduino CANT hantera den nuvarande som motorerna hantera eller spänningen. I detta fall detta motorer verk böter med 5v och 12v (de värma mycket snabbare så se upp), fortfarande behöver du en extern strömförsörjning eftersom de drar mycket mer ström än arduino.
Ladda GRBL till Arduino
Först av allt, när jag först pluggade i min arduino NANO min dator inte känner igen det, har jag ingen aning varför det behövs vissa uppsättning specifika drivrutiner för nano, så jag var tvungen att söka efter dem. Dessa de fungerade för mig, im på Windows 7 64 bitar.
2016-03-24:
Den ursprungliga Nano har en standard USB-chip som känns igen av Windows. Men många Nano Klonerna anfaller (de som bara kostar några tior) använder ett annat gränssnitt chip kallas en CH340 som är mycket billigare men är inte erkänd av Windows--så du måste hitta och läsa in drivrutiner för den. Vanligtvis är det inga problem men jag har sett rapporter att vissa märken av laptop bara aldrig erkänna chipet även med drivrutiner.
Tack TimothyJ999 för insikten! Jag har också lagt föraren till detta steg om du behöver det och kan inte hitta det! Det är den CH341SER rar filen!
Nu behöver vi en programvara för att kontrollera easydrivers i arduino och någon form av gränssnitt med datorn så kan vi skicka GCODE av det som vi vill gravera.
För programvara har jag använt GRBL 0.9f, heres länken till git proyect så kan du hämta den
När du hämtar filer från GRBL git Proyect ser du att du sluta med en massa mappar som i min förra bild. De allt arbete, men har lite förbättringar eller ändringar här är de viktigaste sakerna som du behöver veta:
- Dessa mappar att säger Arduino UNO kommer också att arbeta med arduino NANO eftersom de delar samma pinut
- Det finns en stor förändring i versioner > 0.9f och det är att de lagt till en spindel hastighet variation Pin (detta används om du vill att modulera pulsen till din Laser så det inte dra mycket ström, eller om du vill kontrollera hastigheten på roterande verktyg, som en dremel) Detta är viktigt eftersom i tidigare versioner kallades detta stift "Spindel aktivera" och det var på ett annat stift , så var försiktig.
Ordningen på pinout för arduino NANO jag läste det på detta instructable
För gränssnittet jag använder här en benämn GRBL Controller 3.6.1, jag minns inte när jag hämtade den, men gratis, så leta efter den.
Testa den Arduino + drivrutiner + motorer
Nu är dags för vårt första test! Detta är när vi ser våra barn rör sig, eller om vi skapat en styggelse. Du behöver inte göra detta steg så här, men jag har hittat att denna ordning minimerar risken att bränna något så, Välkommen att följa den!
- Koppla in motorerna till EasyDrivers
- Koppla in extern ström suplly till EasyDrivers men inte slå på den ännu.
- Ansluta EasyDrivers till arduino
- Makt på den yttre strömförsörjningen
- Ansluta arduino till datorn
- Öppna och Anslut GRBL mjukvaran
Du borde se något sånt här:
$0 = 10 (steg puls, usec)
$1 = 25 (steg inaktiv dröjsmål, MSEK)
$2 = 0 (steg port Invertera masken: 00000000)
$3 = 6 (dir port Invertera masken: 00000110)
$4 = 0 (steg aktivera Invertera, bool)
$5 = 0 (limit pins Invertera, bool)
$6 = 0 (sond pin Invertera, bool)
$10 = 3 (status rapport mask: 00000011)
.............
Detta är konfigurationen för din maskin, med standard värden så, innan vi skickar några kommandon var försiktig, vi har inte konfigurerat något om steppers, så med dessa värden dess mycket troligt för vår axel att flytta mycket mer än vad de borde och i olika riktningar. Så om din struktur är skör, eller motorerna är hoppa över detta steg och göra konfigurationen först. Om du bara vill att de flyttar sedan skicka några kommandon!
Om du gjorde allt rätt, vill det flytta, riktigt snabb och förmodligen inte i den riktning som du berättade det att flytta (för exempel du berätta för X-axeln till advance 1mm och det går åt andra hållet 100mm). Oroa dig inte! Vi har inte finjusterad något ännu!
I för att kalibrera det ordentligt, kan du använda denna sida:
https://github.com/grbl/grbl/wiki/Configuring-Grbl...
Här är min sista konfiguration:
$0 = 43.300 (x, steg/mm)
$1 = 43.300 (y, steg/mm)
$2 = 43.300 (z, steg/mm)
$3 = 200.000 (x max hastighet, mm/min)
$4 = 50.000 (y max hastighet, mm/min)
$5 = 50.000 (z max hastighet, mm/min)
$6 = 200.000 (x accel, mm/s ^ 2)
$7 = 50.000 (y accel, mm/s ^ 2)
$8 = 10.000 (z accel, mm/s ^ 2)
$9 = 50.000 (x max resor, mm)
$10 = 50.000 (y max resor, mm)
$11 = 200.000 (z max resor, mm)
$12 = 10 (steg puls, usec)
$13 = 0 (steg port Invertera masken: 00000000)
$14 = 0 (dir port Invertera masken: 00000000)
$15 = 25 (steg inaktiv dröjsmål, MSEK)
$16 = 0.020 (korsningen avvikelse, mm)
$17 = 0,002 (arc tolerans, mm)
$19 = 0 (rapport inches, bool)
$20 = 1 (automatisk start, bool)
$21 = 0 (Invertera steg aktivera, bool)
$22 = 0 (Invertera gräns stift, bool)
$23 = 0 (mjuka gränser, bool)
$24 = 0 (hårda gränser, bool)
$25 = 0 (homing cykel, bool)
$26 = 0 (homing dir Invertera masken: 00000000)
$27 = 25.000 (homing foder, mm/min)
Jag beräknas värdena för:
$0 = 43.300 (x, steg/mm)
$1 = 43.300 (y, steg/mm)
$2 = 43.300 (z, steg/mm)
Gillar det här:
- Sätta ett nummer i närheten av vad du tycker det kanske rätt (till exempel 50 steg/mm)
- Skicka en order att flytta axeln ett fast belopp (till exempel 10mm)
- Mäta hur mycket axel verkligen rörd, (till exempel axel flyttade 15mm)
- Beräkna felet hitåt: e = (önskas rörelse / real rörelse) (i detta fall e = 0,666...)
- Multiplicera det fel som du fick, med det ursprungliga antalet, (i detta fall 50 * 0,666... =33.333...)
- Upprepa med det nya värdet (33.3333) och justera tills nöjd.