Light Plotter with Intel Edison (5 / 16 steg)

Steg 5: Motorer och drivrutiner (Test med grundläggande Python)



Typer och källor till stegmotorer

Om du inte är bekant med stegmotorer, jag rekommenderar att läsa några online Introduktioner, detta instructable och denna Adafruit artikel är verkligen bra och tydlig.

Jag räddade min motorer ur gamla skrivare och en elektrisk typerwriter, scanners är ofta också en bra källa, laser-skrivare är inte.

Bipolära Stepper

Om motorn har 4 trådar sedan är det en bipolära motor och vi kan använda den. Mäta resistansen mellan varje av de fyra kablarna, hittar du två par, dessa är spolarna.

Unipolär

Om motorn har 6 trådar de representerar slutet på och i mitten av de två spolarna. Mått mellan alla kombinationer av sex trådarna, det blir 4 lågt motstånd par (halva ringar eller rullar) och två av två gånger de (full spolarna). Vi vill använda två full spolarna i serien, så leta efter de två största motstånd par.

Anslutningar

Som nämnts i det föregående steget, om du driva motor styrelser externt, se till att ta bort bygeln J4 från I2C förare ombord.

Ansluta spolarna motors styrelse, kan du använda rubriken 4-pin eller de två skruvplintar, de är direkt anslutna till varandra.

Om du använder min kod, en spole går över M1 / M1- och de andra går över M2 / M2-. Om du använder Grove drivrutiner då, av någon bisarr anledning, en spole går till M1 / M2 + och den andra går till M2 / M2-.

Aktuella spänningsgränser

Läst Grove Wiki eller databladet för den L298N som jag har bifogat berättar att h-bridge chip har en nuvarande gräns på 2A per kanal och en ingångsspänningens intervall mellan 6-15V

Motståndet av spolarna bestämmer hur mycket ström kan flöda genom motorerna.

Nuvarande = spänning/motstånd

Jag först provade några 60 ohm motorer vid 12V (0.2A), men de var inte producerar tillräckligt vridmoment. Sedan lyckades jag hitta några 4,8 ohm motorer, 12V skulle har dragit 2.5A som var för mycket kontinuerlig ström, så jag sänkte strömförsörjningen på motorerna till 5V vilket resulterar i en bekväm 1A rita med bra vridmoment.

Du måste också se till att strömförsörjningen du använda att driva motor styrelser kan hantera både motor toppströmmen samtidigt.

Kylning

L298N chip kan bli ganska varm när du arbetar nära sina nuvarande gränser, så bifoga en kylfläns är en bra idé. Jag hade några fans som bärgades från gamla elektronik, så jag använde dem till keeep motor förare coola.

Steppers med mycket lågt motstånd (som den < 10 ohm motorer jag använde) drivs med ström-begränsa kretsar (kallas "hackar"), så de kommer att få ganska varmt i denna fortlöpande nuvarande läge, men min överlevde, din antall Maj variera.

Ange adresser motor drivrutiner

Ange adresser på motor förare (de måste vara olika). Jag sätta min enligt beskrivningarna i wikin och valde "0x0a" och "0x0f"

Fler anteckningar

  • Du bör kunna köra kommandot "i2cdetect -y - r 6" från Edison terminal att se anslutna I2C enheter, men jag stött på några buggar när jag försökte att som kan eller inte kan fastställas när du läser detta.
  • Kontrollera att du har de senaste MRAA biblioteken installerat (jag följde denna guide)
  • Endast 100khz I2C stöds stöds av Grove I2C Motor förare (detta är inte ett problem för vårt projekt, det kan vara ett problem när du försöker använda dem tillsammans med andra moduler.
  • Modulen ger inte någon telemetri eller status - det accepterar endast I2C kommandon för dess olika operationer. Det är därför jag inte använda den fri-running stepper funktion, eftersom jag inte vet när de hade avslutat stegen.

Användbara program bibliotek dokument

GroveMD klass referens

Python GroveMD API

Python API

Intellekten sida på Grove I2C motorn förarens (kod exempel, men inte för steppers)

Testar program: Python snuttar

Det enklaste sättet att testa dessa kodavsnitt är:

  • Logga in med SSH via putty
  • Ange kommandot "vi test.py" att skapa en ny fil som heter "test.py" och öppna den för redigering med texteditor "vi"
  • Tryck på "i" för att ange infogningsläge
  • Markera och kopiera koden beckasin på din PC
  • Högerklicka i fönstret SSH för att klistra in koden
  • Tryck på escape
  • typ ": wq" att skriva och avsluta (eller ": q!" vill avsluta utan att spara ändringar)
  • Kör skriptet med kommandot "python test.py"

Manuell kliva

Denna kodsträng är lite av en ful hacka, men det fungerar för att testa stegmotorer från Edison via Python. Det kliver helt enkelt igenom fyra steg, ändra polariteten på spolarna manuellt. Det inte använder gratis-running stepper funktioner. Detta är hur jag hamnade göra det i slutet, men jag har ökat antalet steg till åtta (halv kliva).

Importera tid
importera pyupm_grovemd som upmGrovemd

I2C_BUS = upmGrovemd.GROVEMD_I2C_BUS
I2C_ADDR = 0X0F

# Instansiera en I2C Grove Motor Driver på I2C buss 0
myMotorDriver = upmGrovemd.GroveMD (I2C_BUS, I2C_ADDR)
myMotorDriver.setMotorSpeeds (255, 255)
Time.Sleep(0.5)

steg = [[0,1], [2,0], [0,2], [1,0]]
nextStep = 0
steptime = 0,05

numSteps = 48

samtidigt sant:
för steg i range(0,numSteps):
myMotorDriver.setMotorDirections(steps[nextStep][0],steps[nextStep][1])
nextStep += 1
om nextStep > 3:
nextStep = 0
Time.Sleep(steptime)

Lösspringande Stepper

Detta är ett exempel på hur du använder funktionerna gratis rinnande stepper. Det finns några saker att se upp för

  • Spolarna är inte ansluten "på på M1 en på M2" som man kan förvänta sig.
  • Speed arg är "bakåt", det är mer som en fördröjning mellan steg (och 0 är fortfarande inte mycket snabb)
  • Nummerlistan körs i bakgrunden som utlovat, men när python skript hållplatser, något avbryter det (därav min "pressa någon nyckel till fortsätta...").

Importera tid
importera pyupm_grovemd som upmGrovemd

I2C_BUS = 0
I2C_ADDR = 0X0F

# Instansiera en I2C Grove Motor Driver på I2C buss 0
myMotorDriver = upmGrovemd.GroveMD (I2C_BUS, I2C_ADDR)

#start upp som en stegmotor
skriva ut "stepper medurs"
myMotorDriver.setStepperSteps(48*4)

#time.sleep(1)
myMotorDriver.enableStepper(0,0) #direction 0, hastighet 2
#time.sleep(20)

#myMotorDriver.enableStepper(1,2) #direction 0, hastighet 2
#time.sleep(20)

#print "Stoppa motorer"
#myMotorDriver.enableStepper(upmGrovemd.GroveMD.STEP_DIR_CCW,0)

#myMotorDriver.disableStepper()
raw_input ("Tryck någon nyckel till fortsätta...")

Se Steg
Relaterade Ämnen

Cloud seismograf med Intel Edison

Vi är en grupp av beslutsfattare som vill tillbringa nätter och helger knorramed tecnology här på Verona FabLab (Verona är en stad i norra Italien) och med detta instructable vill vi beskriva projektet vi har insett för Intel Maker contest.Detta proj...

Geiger ryggsäck med Intel Edison

Vi är en grupp av beslutsfattare som vill tillbringa nätter och helger mixtra med tecnology här på Verona FabLab (Verona är en stad i norra Italien) och med detta instructable vill vi beskriva projektet vi har insett för Intel Maker contest.Vårt proj...

Intel Edison Sensor Dashboard med fribord/Python/kolv (minimal programmering krävs)

Först ville jag säga tack för möjligheten att arbeta med en Edison och ges en vid Intel/Instructables för att ange deras IoT tävling. Jag tror att detta är ett bra sätt att göra samhällsbyggande och uppmuntra utvecklare att få engagerade och ombord....

Göra ett intelligent skrivbordsklockan, skriven i JavaScript, drivs med Intel Edison

Varför min klockor måste vara mer intelligent...Jag ställa alltid in påminnelser för min kalender möten men när denna lilla "XYZ möte börjar i 15 minuter" desktop anmälan dyker upp i hörnet på min datorskärm jag trycker på Snooze eller Stäng kna...

WiFi baserade hemautomation av Intel Edison och banan Pi M1

#IntelIoT #2015HackNTUHej! Människor,Detta är projektet jag gjort ensam under den nationella Taiwan Univ. Hackthon, sedan 21 augusti 2015 till 23 augusti 2015 i Taipei. Jag försökte göra något kunde vara till hjälp för de Taiwaness vars ålder är gamm...

BeatBox: chock spårning för paket med Intel Edison - Intel IOT

Hej allaVi kom precis tillbaka hem efter deltagande till Intel IoT Roadshow (och hackathon) i London.Det var fantastisk och full av idéer och kreativa drar. En mycket bra erfarenhet. Du borde prova.Vi kom som en redan bildade lag och med en mycket br...

Intellekten IoT EDI - övervakning en bekväm och säker miljö (med Intel Edison)

Innan för att starta, jag skulle vilja tacka Intel och Instructables för tillfället: Jag har valts bland annat vinnaren av en fantastisk Intel IoT Edison & Grove Kit... Det var mycket förvånande för mig, och jag är mycket tacksam för det. Tack! :-)In...

Intel® Edison Hands-on dag 1: Tryckknapp

Låt oss göra det enklaste exemplet! Tryck på knappen för att slå på lampan.Komponent som krävs1 × digital piranha LED ljus-modul1 × digital tryckknapp1 × IO Expansion sköld1 × Intel® Edison med Arduino Breakout KitSteg 1: anslutning Digital tryckknap...

Intel® Edison Hands-on dag 3: Tända dimmer

Lätta dimmers är anordningar som används för att variera ljusstyrkan påen ljus. Med en rotation sensor, kan vi finjustera intensiteten i ljuseffekt. Du rotera mer ratten, desto ljusare LED. Så låt oss försöka göra en dimmer av oss själva.Rotationen s...

Intel® Edison Hands-on dag 5: Röst aktiverat lampa

Röst aktiverat lampaHade du någonsin varit nyfiken på den röststyrda glödlampan i din barndom? Hade du någonsin stämplade och om igen och bara slå på ljuset? Så länge du klappa händerna, kommer ljuset att vända på. I detta avsnitt kommer vi göra såda...

Intel® Edison Hands-on dag 6: Sensor lampa

I detta avsnitt kommer vi försöka göra en sensor lampa. Närnågon går förbi sensor lampa, LED kommer att automatiskt på. Naturligtvis blir det om ingen är runt. I detta exempel väljer vi PIR rörelsesensor. Det gör att du kan upptäcka om någon har flyt...

Intel® Edison Hands-on dag 7: Lysande Treasure Box

Självlysande skattkista, namnet låter kul. Och det skulle vara riktigt roligt! Vi kommer att göra denna box, som kommer att vara stängd under dagen, en gång i natt, dess ljus får ljusare med rutan öppnas långsamt. Ha-ha... det inre arbetet i rutan är...

Lösa Sudoku med Intel Edison

Mål• Från en bild av en Sudoku pussel, extrahera och (valfritt) lösa pussel.Målet element• Packa pussel från bilden (omforma bilden).• Identifiera talen i varje cell. – Korrelera nummer till deras respektive cell position.• (valfritt) lösa pussel och...

TEAM INVERKAN! Smart hjälm - Intel Edison, Sparkfun 9DOF

Intellekten Edison med Sparkfun 9DOF LSM9DS0 IMU3: e plats @ Intel IoT Roadshow NYC 2015Detta Instructable är för en Intel Edison IoT Smart hjälm som använder en Sparkfun 9DOF att samla in data från hjälmen för att mäta huvudet tramas och skapa en 3D...

Remote bil övervakning och spårning med Intel Edison

Jag är vanligtvis mångordig, men för denna del ska jag försöka vara kortfattad. Detta projekt är:En Intel Edison + en GPS-mottagare + en Bluetooth OBD-II läsare (tillval eftermarknaden bil sensorer) + en bil.Lägg i några program och du kan övervaka p...

MCU-1: En budget-medvetna Intel Edison MCU baserat Rover leksaksbil. (Intel IoT)

Liten video visar hinder skatteundandragande och få knappen baserat kommandon via bluetooth.Steg 1: SammanfattningDetta projekt kommer att bygga en enkel rover bil som kan styras av en android smart app med röst eller knappen baserat kommandon distan...

Intel Edison IoT remote miljöparametrar monitor

Detta är en mycket grundläggande projekt helt gjord i javascript genom IDE "Intel XDK IoT edition". När du är klar, har du ett system för att övervaka miljöparametrar (temperatur, ljus och luft kvalitet), lokalt i LCD-skärmen och på distans via...

IoT NFT Aquaponic System Controler med WebApp (Intel Edison & Node.js)

KretsloppsodlingAquaponic kombinerar vattenbruk (odla fisk) med Hydroponics (odling i vatten). Fisk utsöndrar bryts ner av bakterier till nitrat som absorberas av växter som näringsämnen, och plantera rötter agera som ett filter till rent vatten för...

Kontrollerande julbelysningen med Intel Edison + Grove Smart Relay

Detta Instructable guidar dig genom processen att använda Intel Edison styrelsen och Grove Smart reläet för att styra Christmas lights (eller andra elektroniska objekt för den delen).I slutet av detta Instructable har du ett eluttag wired att bara ha...