Stap 3: Integratie van uw Microcontroller
(Merk op dat ik onderzoeken herprogrammering van de bestaande controller. Terwijl het programma bevindt zich op een zeer veelgebruikte EEPROM-chip, de controller zelf heeft een eigen label en ik zou moeten meer specialistische gereedschappen te observeren van de controller zijn programma van de EEPROM laden om te kappen. Het leek meer efficiënte net om het te vervangen met een bekende controller.)
Testen met een Breadboard
Ik eerst de lintkabel op aangesloten een breadboard zodat ik kon de verschillende logic-signalen hoog of laag handmatig in te stellen of eenvoudig het observeren van hun Staten, zonder ertoe te verbinden alles door solderen dingen samen. Op deze manier kan ik de manier waarop het verwarmingselement en roerwerk motor worden gecontroleerd, en hoe de deksel switch werkt, voor harde-bedrading elk circuit met mijn eigen controller bevestigen. Ik vond dat ik moest een van de signalen in het circuit van de schakelaar deksel verbinden met een gelijkspanning om deze correct te werken. Toen ik klaar was om mijn microcontroller haak, probeerde ik eerst gewoon voeden uit de broodmaker DC voedingsspanning en uitvoeren van een test programma voor het aansluiten van de draden van het signaal. Merk op dat de broodmaker DC supply moet worden aangesloten op de niet-gereglementeerde DC ingang op uw microcontroller omdat niet vanzelfsprekend dat de DC-levering is precies de juiste spanning en ruisvrij.
Solderen in de Microcontroller
Wanneer u klaar bent, sluit u de logic-signalen op de lintkabel aan uw microcontroller digitale I/O lijnen op de juiste wijze (voor mij die dit direct in bijna alle gevallen betekende). Het circuit thermistor aansluiten op een A/D ingang; in mijn geval had ik moest niet A/D dus het met een digitale i/o en een truc met betrekking tot de geen kwijting van de meettijd van een speciale schakeling fake. (De Arduino Duemilanove heeft 6 A/D ingangen)
Programmering Tips & trucs
Zodra u uw microcontroller begint te lopen de broodmaker programmeren, zijn er een paar trucjes om het te houden dingen veilig en productief:
-Let goed op de standaardstatus van de power-up van uw controleur digitale I/O lijnen. U wilt niet dat de kachel en de motor te krijgen ontstoken uw eerste coderegel wellicht de status van deze besturingselementen instellen
- beginnen met het schrijven van een lus die controleert de klep schakelaar en verandert alles uit als het deksel wordt geopend.
-Houd de broodmaker aangesloten op een stekkerdoos met zijn eigen circuit breaker thats niet wat uw ontwikkelcomputer is ook aangesloten. Dit voegt een niveau van veiligheid en kunt u snel uit te schakelen de broodmaker zonder yanking alle stekkers of niet-opgeslagen wijzigingen verloren gaan.
-Zodra u een stukje 'veilige' code die wordt uitgevoerd zonder aan te zetten iets helemaal hebt, apart opslaan en houd het open en klaar om te laden in uw ontwikkelingsprogramma. De reden hiervoor is dat als u een wijziging aanbrengt in je werkkopie van het programma en het doet iets doms en/of gevaarlijk, zoals voortdurend zelf stelt tijdens het schakelen van het verwarmingselement in- en uitschakelen, gewoonweg afsnijden van macht aan de maker uw probleem niet lost: dat programma is nog steeds te laden wanneer de laarzen van uw microcontroller , en you gonna moet enige tijd aan het uitzoeken van de fout in uw programma. Dus in plaats van snijden de macht wanneer uw programma zich slecht gedraagt, kunt u snel uw 'veilige' programma laden en doorgaan met het debuggen van uw werkprogramma zonder onderbreking.
Als u van een LCD gebruikmaakt, adviseer ik te wachten om toe te voegen dat totdat u de bovenstaande basisfuncties werken. Terwijl het lijkt misschien een handige manier om te zuiveren door te tonen wat er gaande is, vond ik dat de foutopsporingsprogramma's voorzien van mijn controller meer nuttig waren en het krijgen van dingen te correct weergegeven op het LCD-scherm was een ruzie waarbij eigen foutopsporing. Wanneer / indien u het LCD-scherm toevoegt, gebruik een PWM-uitgang op uw controller, indien beschikbaar om te rijden de achtergrondverlichting. Mogelijk moet u een kleine transistor, zoals een 3904, ter bevordering van de stroom van uw output van de PWM controller als die functie nog niet in het LCD-scherm.
Onderhand, hebt u waarschijnlijk gerealiseerd dat handhaving van een bepaalde temperatuur in de oven-zaal, wanneer het verwarmingselement alleen uitgeschakeld worden kan of volledig op is niet gonna be trivial. De volgende stap is gewijd aan het aanpakken van dit.