
Semplice programmatore seriale per microcontrollori AVR della Atmel. Il programmatore si collega alla porta seriale RS232 del PC ed è compatibile con i software di programmazione PonyProg e Avrdude. Date un'occhiata su questa introduzione ad AVR.
Il circuito è abbastanza semplice, infatti vengono presi i segnali direttamente dalla porta RS232 usando i classici diodi per adattare il segnale della porta seriale. I pin usati sono i soliti RTS e DTR e CTS, mentre per il reset è stato usato un transistor NPN.
Il programmatore è stato testato con i microcontrollori ATMEL Attiny13, Attiny26, Attiny2313, Atmega48, Atmega88, Atmega168, Atmega16 e con PC dotati sia di RS232 che di USB (quindi con convertitore seriale USB-RS232) funzionando bene in ogni caso.
Inoltre sono stati fatti dei test con PonyProg2000 ed AVRdude ed il risultato è stato sempre positivo.
Infine la descrizione dell'header di programmazione è completa e ben schematizzata, offrendo 3 varianti alla connessione di programmazione, a 10 pin, a 6 pin e a 6 pin su fila singola.
Descrizione del programmatore seriale per Atmel AVR
Il programmatore è abbastanza semplice ed è basato su SI-Prog. I diodi Zener D2, D3 con le resistenze R2, R3 riducono la tensione dai pin di uscita DTR, RTS sulla porta seriale a circa 5V che è adatto al microcontrollore (MOSI, SCK). Il segnale MISO è collegato direttamente al pin di ingresso CTS. Il diodo Zener D2 con la resistenza R1 pilotano il transistor NPN T1 che controlla il segnale RESET. I microcontrollori AVR sono in reset quando il segnale ha un livello basso. La resistenza R5 funziona come un pull-up per il segnale di reset. La resistenza R4 aiuta a chiudere il transistor T1. Il programmatore ha 10 pins header standard. Verificate la posizione del Base-Colector-Emitor sul transistor.

Utilizzando PonyProg2000
Quando si desidera programmare il microcontrollore con il PonyProg2000 si deve impostare il programma. Si deve selezionare la porta COM dov'è collegato il programmatore.
Utilizzando Avrdude
Quando si desidera programmare il microcontrollore con Avrdude è necessario selezionare la parola chiave "ponyser" come un tipo di programmatore e la porta COM appropriata.
Si usa questo metodo per programmare il microcontrollore direttamente da Atmel AVRstudio quando si fa il debuging dell'applicazione. Si crea un file batch con il comando per l'avrdude e si prende il file batch direttamente dalla barra degli strumenti. E' molto veloce e facile. Avrdude è anche parte del package WinAVR.
A volte devi programmare il microcontrollore in un'applicazione dove ci sono solo 6 pins header invece di 10pins. Per questo viene consigliato di creare un piccolo adattatore (10 pins header, 6 pins header e 6 pins header in una sola riga). I 6 pin in una sola riga sono utili quando si desidera portare i segnali alla breadboard.
In poche parole, questa è una modalità molto semplice per costruire un programmatore per i microcontrollori Atmel. I micro devono supportare la programmazione seriale. Questo programmatore è collegato ad un PC attraverso l'interfaccia seriale RS232 e può esere utilizzato con il software PonyProg o Avrdude
Che aspettate a costruirvi questo semplice programmatore di avr atmel, avete a disposizione schema elettrico, galleria fotografica ed esempi di funzionamento con i software suddetti.
Leggi le ultime notizie e acquista i prodotti Atmel

Ionela che ne pensi se si introdurrebbe questa modifica nel programmatore fornendo l’alimentazione attraverso RS232 invece che da un alimentatore esterno?
Io personalmente ritiene questa soluzione per una serie di motivi il principale è che questi pin 5 e 6 sono già utilizzati dal programmatore per effettuare delle istruzioni di programmazione e renderebbe la cosa piuttosto instabile visto che l’approvazione rimane comunque una cosa critica, io secondo tempo la porta seriale RS 232 visto le specifiche costruttive citerebbe delle 12 V con pochissima potenza a disposizione, quindi non utilizzabile direttamente e la poca energia disposizione sarebbe mangiato direttamente dal 7805.
Un’assunzione più semplice sarebbe utilizzare una porta USB della scheda madre, l’attenzione di queste porte USB ricordo che è di 5 V già stabilizzata è possibile normalmente secondo standard prelevare 1 A anche se si può andare ben oltre secondo la marca e la scheda madre, visto che i fabbricanti spesso collegano direttamente il 5 V dell’alimentazione e computer alle uscite queste di così da renderli molto più potente chi lo standard lo permette.
Io personalmente avendo questo circuito alimentato con una pila 9 V chi è stato stabilizzato con un transistor e diodo Zener.
Questo è stato il mio primo programmatore per gli AVR, è molto facile da costruire e poco costoso ottimo per chi è alle prime armi, e vuole un po’ d’amatore veloce e facile da costruire.
purtroppo il problema principale è che i computer moderni hanno sempre di meno la seriale, quindi necessario usare un adattatore seriale USB in questo caso i livelli di tensione e di corrente non sono disponibili rendono la programmazione più complicata e spesso è necessario che programmare più volte il mitico controllore
Certo che alimentare un programmatore, già critico come schema elettrico, dalla porta RS232 mi sembra inserire una problematica ulteriore.
La tensione fornita dalla RS232 in genere è 10-12V (sia positivi che negativi) ma questa dipende dal PC che si sta utilizzando, a volte i livelli possono essere alquanto instabili e crollare letteralmente quando iniziamo ad assorbire corrente, anche pochi mA.
Ho letto tabelle con valori che scendono a 4V per assorbimenti di soli 8mA.
Se cosi fosse anche la seriale delo nostro PC, allora nemmeno un very low drop regulator potrebbe salvarci.
Perchè aumentare le variabili negative in fase di progettazione?
P.S. ringrazio Emanuele per le info