Stap 1: Ontwerpen van een programmeur schild
U ontwerpt het schild van de programmeur, keek ik naar de eisen aan programma chips met en zonder bootloaders. Eerst, keek ik bij de selectie van de oscillator.
Oscillator
AtMega328P met bootloader
De chip moet een externe oscillator te programmeren, dus dit aanwezig zijn op het schild moet.
AtMega328P zonder bootloader
Als de chip werd geconfigureerd voor gebruik van de interne oscillator, zijn geen extra onderdelen nodig. Niettemin, als de chip was eerder geconfigureerd voor het gebruik van een externe oscillator, een oscillator zal worden verlangd. Met een externe oscillator, kunnen beide typen worden geprogrammeerd.
Het is duidelijk dat het toevoegen van een externe oscillator aan het schild, zal geschikt voor alle soorten chips. Een 16MHz kristal en 2 x 15pf condensatoren of een 16MHz resonator kan worden gebruikt.
LED-aanduidingen
De broncode of schets aangegeven 3 uitgangen die kunnen worden aangesloten op de LEDs. Deze aanduidingen moeten aanwezig zijn op het schild.
Resetten van de programmeur
Met een schild geplaatst op de top van een Arduino UNO, is de reset-knop van de UNO normaal gesproken buiten bereik. Het schild dient een aparte reset-knop.
Het aandrijven van de chip te programmeren
De chip die moeten worden geprogrammeerd, moet hebben macht aangesloten. Voor de levering, de + 5V en 0V is overgenomen uit de Arduino UNO-bestuur. Echter, invoegen en verwijderen van een chip van de programmeur met aanbod op, kan leiden tot schade aan de chip. Om deze reden was een schakeloptie toegevoegd aan het schild.
Bescherming van de i/o-poort
Het schild van de ArduinoISP stelt bepaalde pinnen als uitgang op de Arduino UNO. Als men nu verbinden met een eerder gebruikte AtMega328P voor de programmeur, kunnen er conflicten tussen de twee chip I/O lijnen die schade aan de poorten toebrengen kunnen. Voor bescherming voegde ik 470R weerstanden tussen de programmeur, en de chip te programmeren.
Reset lijn van chip te programmeren
Om te zorgen voor dat een stabiele resetcircuit voor de chip te programmeren, voegde ik een 10K pull-up weerstand op de RESET-lijn.
Programmering methode
ZIF-Socket
Dit is een gemakkelijke manier tot zelfstandige chips van programma, of om te branden de bootloader op de nieuwe chips. Ik heb dus de ZIF-socket toegevoegd aan het ontwerp.
Programmering kabel
Zoals bijna alle mijn ontwerpen zijn zelfstandige circuits, wordt mijn programmering en ontwikkeling gedaan op breadboard. Daarna, zijn programma-updates gedaan via programmering headers op de definitieve printplaat. Om deze reden, ik heb de programmeer kabel toegevoegd aan het ontwerp.