Stap 2: Kracht en minimale AVR verbindingen
Bij het ingangsvermogen, J1 is gewoon + 12VDC en grond van een 12 volt "muur wrat" die ik had liggen. Het is perfect voor het voeden van de sensoren, en het is een zeer gemeenschappelijke grootte te redden van ergens. U ziet onmiddellijk na J1 D1. Deze diode dient alleen als bescherming tegen het aansluiten van de voeding achteruit. (en het daalt de spanning door ongeveer 0.7V vermindering van de warmte afgevoerd door de LM7805 iets, maar dat is gewoon een gelukkig neveneffect...)
Aangezien ik ben met behulp van 12 volt sensoren, moest ik een manier dat 12VDC brengen tot een niveau dat geschikt is voor het voeden van de AVR, 7-segment decoder, en - goed - alles maar de sensoren. De LM7805 is een + 5 volt regulator dat past perfect bij dit doel. De toezichthouder de taak is om het te controleren is eigen uitgangsspanning op pin 3 en het huidige totdat de voedingsspanning 5V is output aanpassen. We hoeven niet te bekommeren hoe ze dat dit doet; alleen dat het doet, en dat het het 'extra' spanning als warmte verdwijnt. De condensatoren op de input en output van de regulator zijn er om ervoor te zorgen dat er een beetje extra stroom beschikbaar is als de belasting snel verandert. Dit geeft de 7805 tijd om te reageren op eventuele wijzigingen aan de kant van de belasting, zoals alle LEDs die plotseling inschakelen of de reset-knop wordt ingedrukt en losgelaten. ** Opmerking ** ik testte dit circuit met levering spanning variërend over 9VDC >> 20VDC. De regelgever behandelt dit bereik prima, maar begint steeds warm op de hogere spanningen. Om deze reden ik aan de 7805 een heatsink toegevoegd.
Het lampje moet zichzelf. R5 is de huidige beperkende weerstand te beschermen van D3 en ze rechtstreeks zijn verbonden met de output en de grond van de regulator. Als er 5V, zal er een verlichte LED.
Nu naar het leuke spullen! Natuurlijk, in het midden van het hele circuit is onze ATMega328P aangewezen uC1. Dit ding heeft 28 pinnen, dus zorgvuldig rekenen! De pennen zijn neergelegd op het schema, precies zoals ze op de chip zijn en het label van precies zoals ze in het veiligheidsinformatieblad van de fabrikant (als u nog niet gedownload het gegevensblad PDF nog, ga je gang en doen dat - http://www.datasheetarchive.com/ - ga je gang en krijgen de datasheets voor de decoder en de beeldschermen en de transistoren ook - moet u ze mogelijk!) Deze chip is gonna vereisen + 5V, GND, een klokbron, een pull-up weerstand op de resetpin en programmering gegevenspoort voordat het om het even wat naast zitten er en kijken als een soort raar robotic duizendpoot, dus laten we doen kan aan het krijgen.
Did u verwittiging op het vereenvoudigde schema dat VCC en AVCC zijn samengebonden op de 5V leveren? VCC is de normale voedingsspanning en AVcc is het aanbod voor de onboard analoog / digitaal-converter. AVcc moet worden aangesloten op Vcc, zelfs als de ADC wordt niet gebruikt. Ik hoop dat je wist dat de GND naar een punt van de grond in het circuit, of de 0V-kant van de voeding gaat.
De kristal-resonator verbindt met pin 9 en 10 met een paar van parallelle condensatoren. Deze condensatoren zijn zeer kleine (22p.) en de hele groep 3 componenten moeten worden gemonteerd zo dicht op pin 9 en 10 mogelijk om te voorkomen dat strooilicht precisiecapaciteit aangroei met de oscillator. De fabrikant gegevensblad voor het kristal u zal staat aanbevolen formaten voor deze condensatoren, dus check it out eerste. Nogmaals, als u van plan bent te gebruiken de interne RC-oscillator, hebt u voor het configureren van uw AVR een beetje anders. Wanneer we in ATMEL Studio 6 zullen we deze dingen instellen met zekering bits en dergelijke... leuke dingen
Je misschien hebt gemerkt zijn er meerdere beschrijvingen voor de meeste van de pinnen. Dat komt omdat u ze hebben verschillende functies afhankelijk van uw toepassing kunt programmeren. Zelfs de resetpin kan worden geherprogrammeerd om een andere algemene I/O pin, maar doen dat niet want u uw vermogen wegmaken zal om de chip program, zodra u die wijziging aanbrengt! Hier is waarom... kijken naar pin 19. Het heet PB5, wat betekent dat PORTB 5. Het heeft een andere functie gebruikt voor het programmeren met het label SCK (master/slave klok.) Aankondiging dat deze SCK-pin en de RESET pin beide Ga naar de ISP6 programmering poort. De programmeerfuncties op de pinnen zijn alleen actief wanneer de resetpin is geaard. De programmeur (AVR Dragon in mijn geval) maakt de verbinding van de grond op de resetpin automatisch wanneer het communiceert met de chip waardoor de programmeerfuncties van de juiste pinnen. Dus, als uw programma wordt ingesteld de resetpin als een digitale ingang... u kunt niet langer gebruiken het om de programmeerfuncties op de andere programmering pinnen! Kortom, moet 'reset' altijd worden 'reset' - tenzij u bent productie 1.000.000 exemplaren en uw software man vertelt dat u tijdens de eerste productie uitvoert dat hij nodig heeft "slechts een meer input."
Dat betekent dus, dat de andere programmering pinnen (SCK, MISO, MOSI) kunnen worden gebruikt als I/O pinnen! Op het volledige schema, kunt u zien dat ik pin 17 als beide MOSI voor programmering gebruikte en een digitale uitgang voor een beetje op de decoder 7-segment. Dit werkt prima zolang de resetpin niet per ongeluk laag genoeg getrokken dat de AVR 'denkt' dat het is geaard in normale werking. Dat is het doel van pull-up weerstand R1. R1 zorgt ervoor dat als er niets is met de resetpin aan de grond, dan zal het hoge of 5V. In het volledige schema ziet u een drukknop switch aangesloten van pin1 op grond ook. Het is handig als uw chip een reboot voor sommige reden tijdens ontwikkeling moet (per ongeluk waardoor het delen door 0 is een goede manier om het te krijgen om te handelen dom! Vraag niet hoe ik dit weet...)
In de tweede foto ziet u een diagram van de 6-pins ISP-header en de namen van de verbindingen. Alles wat er nog te doen is maken de verbinding tussen deze koptekst pinnen en de overeenkomstige pinnen op de AVR, en we moeten klaar om het vermogen opwaarts en testen van onze programmeur!
Zoals ik vroeger vermeldde, SCK is de master/slave-klok - pin 19 Dit is hoe de programmeur en het doel chip weten ze praten met dezelfde snelheid.
MISO/MOSI - master input, slave uitgang en master output, slave input - pins 18/17 Dit zijn de pennen die daadwerkelijk het woord doen.
VCC/GND - zijn alleen de levering stroomaansluitingen - pins 7/8 de programmering poort heeft een Vcc-verbinding om het doel aan te drijven, of, in het geval van de AVR Dragon, waardoor de programmeur aan het doelapparaat spanning.
En ten slotte Reset - pin 1 zet de chip in programmeermodus toen sloeg, power-up van voorwaarde worden hersteld wanneer het wordt gewijzigd van laag naar hoog, en als de mededeling pin tijdens DebugWire modus dient (foutopsporing functie ondersteund door ATMEL Studio; het is cool, maar ik gebruik het niet veel.) Deze pin wordt ook gebruikt om de HVPP (hoogspanning parallel programmeren) modus wanneer 12V wordt toegepast, maar wij niet nodig om dat te doen. Het is vermeldenswaard dat de resetpin is de enige pin waarop u veilig 12V kunt toepassen, en alleen voor HVPP.
Het is tijd om dit klein circuit op het breadboard (ik hoop dat je weet hoe een breadboard werken.) zo niet:
Bekijk de 3e en 4e foto's hiervoor breadboarded programmering circuit en programmeur. De kristal oscillator is niet aanwezig in de foto's, maar het op dit punt moet niet uit als je hem er of niet. Nadat we klaar bent met het configureren van de AVR voor het gebruik van het kristal zal het niet langer werken zonder het totdat u configureren voor het gebruik van een andere klokbron.
Nu dat we dit eenvoudig circuit gebouwd hebben voor aandrijven en onze chip programmeren, kunnen wij overgaan tot ATMEL studio en start het opzetten van dingen!