PWMSwizzling en Edison Arduino Breakout att arbeta med Grove Seeed Motor sköldar (1 / 4 steg)
Steg 1: Förstå varför det inte fungerar direkt ur lådan
När en Grove Seeed Motor sköld är ansluten till en Intel Edison Arduino Breakout styrelse som har sin "ur lådan" standard konfiguration, kommer endast en DC-motor att styras av standard motor demo Arduino skisser.
Jag observerade att en omstart av motorn skölden skulle resultera i ett kort spinn på andra DC-motor. Det skulle bara flytta en gång, trots skiss slingan upprepade gånger försöker drivmotorer i omväxlande riktningar.
Ansluta en stegmotor och laddar en stepper kontrollen skiss skulle resultera i några motoriska rörelser alls. Jag använde en Arduino Uno för att bekräfta att den motoriska sköld, motorer och demo skisser arbetade på ursprungliga Arduino hårdvara. Kontroll problemen var något specifikt för Intel Edison Arduino emulering.
Med tanke på att endast en av de två DC-motorer reagera på kontroll ingångar, försökte jag olika skiss redigeringar i ett försök att få problemet pendla mellan de två motorerna. Jag justerade likströmsmotorer kontrollen skiss att ändra ordningen i vilken aktivera pins har uppdaterats, och förseningar mellan uppdrag och användning av stiften. Allt till ingen nytta.
Jag har en V1 och V2 version av Seeed motoriska kontroll sköld. V2 version var till mer hjälp vid felsökning kontroll problemet. V2 motor sköld har LED-indikatorer för motorn aktiverar linjer. V1 har inte dessa indikatorer. Med V2 sköld kunde jag se att en av de motoriska aktivera linjerna aldrig byta till aktiv.
Jag investerat mycket tid spåra internet omnämnanden av oförenlighet Grove Seeed Motor sköldar med Intel Edison. Beskrivningar av problem fanns, men inga referenser för lösningar dykt upp. Några förslag för att justera GPIO pin timing var försökte utan framgång.
Det var inte förrän jag hittade Edison Arduino Breakout styrelsen hardware guide som en brödet smula på spåret till svaret som hittades.
https://communities.Intel.com/servlet/JiveServlet/...
Den första ledtråden var i dokumentationen för ett block av byglar märkt PWM breakout styrelse. Denna uppsättning av 10 stift med 4 2-polig hoppare dokumenteras som PWMSwizzler. Det styr vilken 4 6 standard Arduino PWM stift är aktiva i Edison Arduino Breakout styrelsen. Endast 4 normala 6 PWM stift finns för någon viss hårdvarukonfiguration styrelsens breakout. Även om det finns PWM ~ markerar silkscreened bredvid alla 6 stift i breakout styrelsen, inte alla av dessa stift kan vara aktiva samtidigt.
Fabriken konfigurationen av Arduino Breakout styrelsen kan PWM stift 3, 5, 6 och 9. PWM-10 och 11 stift är inaktiva.
Genomgång av Grove Seeed Motor Shield data täcker avslöjar att skölden använder stift D8 genom D13.
http://www.seeedstudio.com/wiki/Motor_Shield_V1.0
http://www.seeedstudio.com/wiki/Motor_Shield_V2.0
Det blev uppenbart att hårdvara konfiguration för Arduino Breakout styrelsen inte vill prata med Seeed Motor skölden eftersom D10 och D11 stiften inte var aktiv.