Arduino UNO som AtMega328P programmerare (1 / 4 steg)
Steg 1: Designa en programmerare sköld
Designa den programmerare skölden, tittade jag på kraven att programmet marker med och utan bootloaders. Först tittade jag på oscillator markeringen.
Oscillator
AtMega328P med bootloader
Chip behöver en extern oscillator som skall programplaneras, så detta måste vara närvarande på skölden.
AtMega328P utan bootloader
Om chip konfigurerades för att använda en intern oscillator, behövs ingen ytterligare komponenter. Om tidigare chip konfigurerades för att använda en extern oscillator, kommer en oscillator dock krävas. Med en extern oscillator, kan båda typerna programmeras.
Det är tydligt att lägga till en extern oscillator i skölden, kommer att rymma alla typer av marker. En 16MHz kristall och 2 x 15pf kondensatorer, eller en 16MHz resonator kan användas.
Lampans betydelse
Källa koden eller skiss anges 3 utgångar som kan anslutas till lysdioder. Denna beteckningar bör vara närvarande på skölden.
Återställa programmeraren
Med en sköld som placeras ovanpå en Arduino UNO, är UNO reset-knappen normalt utom räckhåll. Skölden bör innehålla en separat återställningsknapp.
Driver chip till programmeras
Chip som ska programmeras, måste ha makt som är ansluten till den. För leverans, den + 5V och 0V tas från Arduino UNO styrelsen. Dock att infoga och ta bort ett chip från programmeraren med tillförsel på, kan orsaka skador på chipet. Därför lades en switch till skölden.
I/o-Port skydd
ArduinoISP skölden anger vissa stift som utgång på Arduino UNO. Om man ansluter nu en tidigare använda AtMega328P till programmeraren, kan det konflikt mellan de två chip I/O linjer som kan orsaka skador på portarna. För skydd la jag 470R motstånd mellan programmeraren och chip att programmeras.
Återställ linje av chip att programmeras
För att säkerställa en stabil återställa krets för chip till programmeras, La jag en 10K pull-up resistor till raden RESET.
Programmering-metoden
ZIF Socket
Detta är ett enkelt sätt att programmet fristående marker eller att bränna bootloader på nya marker. Jag la således ZIF socket till design.
Programmering-kabel
Nästan alla mina mönster är fristående kretsar, sker min programmering och utveckling på bakbord. Därefter görs uppdateras via programmering headers på det slutliga kretskortet. Av denna anledning jag lagt till programmering kabeln till design.