Mr Compost: Hur man gör en i-kitchen kompost Turbo! (3 / 6 steg)
Steg 3: Integrera din mikrokontroller
(Observera att jag har undersökt omprogrammering befintliga handkontrollen. Medan dess program lagras på ett mycket vanliga EEPROM chip, registeransvarige själv har en egen etikett och jag skulle behöva mer specialiserade verktyg att observera den registeransvarige laddar sitt program från EEPROM för att hacka den. Det verkade mer effektivt att bara ersätta det med en känd kontroller.)
Testa med en skärbräda
Jag kopplade först flatkabeln till en skärbräda så att jag kunde ställa in olika logik signalerar hög eller låg eller enkelt observera deras stater, utan att begå något av löda saker tillsammans. På detta sätt kan jag bekräfta den sätt värmeelement och agitator motor styrs, och hur växeln locket fungerar, innan hårda-ledningar någon krets till min egen controller. Jag fann att jag behövde att ansluta en av signalerna i locket switch kretsen till en DC-spänning för att det ska fungera. När jag var redo att koppla upp min mikrokontroller, försökte jag först bara driver den från bröd tillverkarens likströmsförsörjning och kör ett test program innan upphakning signal kablar. Observera att bröd tillverkarens DC supply ska anslutas till det oreglerat DC ingång på din microcontroller eftersom vi inte kan anta DC försörjning är exakt rätt spänning och brusfri.
Lödning i mikrokontroller
När du är redo, Anslut logik signalerna på flatkabeln till din microcontroller digital I/O linjer på lämpligt sätt (för mig innebar direkt i nästan alla fall). Anslut termistor kretsen till en A/D ingångar; i mitt fall hade jag inte A/D så var tvungen att fejka med en digital i/o och ett trick som innebär mätning av ansvarsfrihet tiden av en speciell krets. (Arduino Duemilanove har 6 A/D ingångar)
Programmering Tips & Tricks
När du börjar programmera din mikrokontroller köra bröd maker, finns det några knep för att hålla saker säkra och produktiva:
-var uppmärksam till standardläget uppstart av din controller digital I/O linjer. Du vill inte att värmaren och motorn för att få påslagen omedelbart. din första raden i koden kan behöva ställa in kontroller
- börja med att skriva en slinga som kontrollerar växeln locket och förvandlar allt av om locket öppnas.
-Håll den bröd maker ansluten till en förgreningsdosa med sin egen brytare som är inte vad utvecklingsdatorn också är ansluten till. Detta tillför en säkerhetsnivå och tillåter dig att snabbt stänga av bröd maker utan driver alla pluggar eller förlora osparade ändringar.
-Så fort du har en bit av "säkra" koden som ska köras utan att sätta något på alls, spara det separat och hålla den öppen och redo att lasta i din utvecklingsprogram. Anledningen till detta är att om du ändrar din arbetskopia av programmet och det gör något dumt och farligt, som ständigt återställer sig själv samtidigt som du slår värmeelement på och av, helt enkelt skära av strömmen till tillverkaren inte kan lösa ditt problem: programmet är fortfarande kommer att läsas in när din microcontroller stövlar , och du kommer att behöva lite tid att reda ut fel i ditt program. Så istället för att hugga kraften när ditt program fungerar dåligt, kan du snabbt ladda din "säkra" program och fortsätt felsökning din arbetande program utan avbrott.
Om du använder en LCD, rekommenderar jag väntar på att tillägga att tills du har ovanstående grundläggande funktioner fungerar. Även om det kan verka som ett bekvämt sätt att felsöka genom att visa vad som händer, fann jag att felsökningsverktygen med min controller var mer användbar och att få saker att visas korrekt på LCD-skärmen var jobbigt som kräver sin egen felsökning. När / om du lägger till LCD, Använd en PWM-utgång på handkontrollen, om tillgänglig, att köra bakgrundsbelysningen. Du kan behöva en liten transistor, till exempel en 3904, till att öka nuvarande från din controller PWM utgången om som funktion inte är tillhandahålls av LCD-skärmen.
Vid det här laget har du förmodligen insett att hålla en viss temperatur i ugnsutrymmet ger när värmeelementet kan endast vara avstängd eller fullt på inte kommer att vara trivialt. Nästa steg är tillägnad itu med detta.