Pagina 1 di 3

Target board per AVR

MessaggioInviato: 10 mar 2016, 2:45
da Stemby
Sto avvicinandomi al mondo dei microcontrollori, optando per la famiglia AVR. Dispongo di un programmatore USBasp e di alcuni ATtiny85 per fare le prime prove.

Al momento ho collegato il programmatore al microcontrollore attraverso una breadboard, e sembra funzionare tutto correttamente. Ora vorrei però costruirmi una target board[1], possibilmente compatibile con tutti i microcontrollori programmabili con l'USBasp (ovvero gran parte della famiglia AVR) in formato DIP.

In rete si trovano numerose guide tutte molto simili tra loro; sostanzialmente si tratta di saldare degli zoccoli di varie misure su una millefori, un connettore IDC a cui attaccare il cavo proveniente dal programmatore, eventualmente uno zoccolo per un cristallo (per alcuni microcontrollori), e collegare correttamente i vari pin con dei cavetti (sempre da saldare).

Nel caso dell'USBasp il connettore IDC dovrà essere a 10 pin, anche se in realtà bastano 6 cavi (e infatti altri programmatori usano connettori a 6 pin):
  • VCC (5 V)
  • GND (0 V)
  • RST (reset)
  • MOSI
  • MISO
  • SCK (clock)
Gli altri 4 pin sono: uno inutilizzato (NC), una replica di GND, e due pin non supportati dal firmware (servirebbero per una connessione seriale) che vanno per ora collegati a GND. Volendo quindi rendere la target board compatibile anche con altri programmatori, si potrebbero anche saldare 2 connettori, uno a 10 pin e uno a 6 pin.

Fin qui mi sembrava tutto chiaro. Ora però, leggendo qui, mi è venuto un dubbio: non è che sarebbero da aggiungere anche un condensatore e un resistore? Perché nelle millemila guide che si trovano in giro non vengono contemplati?

Grazie!


[1] esiste una traduzione italiana?

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 10:31
da TardoFreak
Il resistore ha senso, il condensatore potrebbe dare problemi anzi, è sicuro che li darà.

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 13:40
da AlbertoBianchi
Stemby ha scritto:mi è venuto un dubbio: non è che sarebbero da aggiungere anche un condensatore e un resistore?

E' la classica rete RC per generare l'impulso di reset, negli AVR è facoltativa in quanto un impulso è già generato internamente al micro, solo in casi particolari ne può servire uno di durata maggiore per cui sono richiesti i componenti esterni.
Come board ti consiglio di acquistarne una già fatta tipo quelle Olimex https://www.olimex.com/Products/AVR/

...si potrebbero anche saldare 2 connettori, uno a 10 pin e uno a 6 pin.

Il maggiormente usato è quello a 10 pins, io ho fatto un adattatore 10-6 con uno spezzone di flat-cable con intestato il 6P femmina e dall'altro lato un maschio 10P.

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 15:08
da edgar
Stemby ha scritto:Ora vorrei però costruirmi una target board[1], possibilmente compatibile con tutti i microcontrollori programmabili con l'USBasp (ovvero gran parte della famiglia AVR) in formato DIP.

La famiglia comprende micro da 6 pin fino a 40 pin. Se sei proprio agli inizi, a meno di esigenze particolari, un micro a 20/28 pin ha già solitamente più degli I/O necessari per i compiti di base di un principiante :ok:

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 16:38
da Stemby
Grazie a tutti per le risposte!

HattoriHanzo ha scritto:Il resistore ha senso, il condensatore potrebbe dare problemi anzi, è sicuro che li darà.

Riguardo il resistore sto ragionandoci su, ma continuo a non afferrare appieno il senso. Rappresenta evidentemente una resistenza di pull-up; in fase di programmazione RST dovrebbe essere impostato a 0 V, mentre normalmente dovrebbe stare su "alto" (se ho ben capito). Dunque mi aspettavo di rilevare almeno un po' di tensione tra RST e GND, inserendo il programmatore in una porta USB, ma il tester mi dice 0 tondo. #-o C'è qualcosa che mi sfugge.

Per il condensatore invece oserei chiedere supporto a Foto UtenteTardoFreak, visto che in questa sua guida ne fa uso; guardando le schede "commerciali" sembrerebbe sempre presente.

AlbertoBianchi ha scritto:Come board ti consiglio di acquistarne una già fatta tipo quelle Olimex https://www.olimex.com/Products/AVR/

In realtà lo scopo di farla in casa era triplice:
1) fare esperienza col saldatore su un circuito semplicissimo (non sono proprio del tutto inesperto, ma non ho ancora molte ore di saldatura alle spalle)
2) costruire una scheda più completa e universale di quelle in commercio (che in genere dispongono di un solo zoccolo)
3) possibilmente risparmiare qualche soldino

ho fatto un adattatore 10-6 con uno spezzone di flat-cable con intestato il 6P femmina e dall'altro lato un maschio 10P.

Anche questa è un'opzione valida, in effetti, e permetterebbe di risparmiare qualche foro sulla basetta.

edgar ha scritto:La famiglia comprende micro da 6 pin fino a 40 pin. Se sei proprio agli inizi, a meno di esigenze particolari, un micro a 20/28 pin ha già solitamente più degli I/O necessari per i compiti di base di un principiante :ok:

Come dicevo, sto iniziando con un ATtiny85 (8 pin in tutto), e quindi inizierò a saldare solo uno zoccolo da 8 pin. Però in fase di progettazione vorrei prevedere già la possibilità di aggiungere altri zoccoli, lasciando loro lo spazio necessario.

P.S.:
Come traduzione forse "scheda di sviluppo" potrebbe andare (in inglese si trova spesso indicata anche come "development board", anche se mi sa che con "target board" si intenda in genere una scheda più essenziale).

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 16:44
da simo85
Stemby ha scritto:Perché nelle millemila guide che si trovano in giro

Quello a cui devi fare caso è il datasheet.

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 17:36
da AlbertoBianchi
Come dicevo, sto iniziando con un ATtiny85 (8 pin in tutto),...


Le periferiche degli ATtiny sono diverse da quelle degli ATMega, più risicate... :mrgreen:
paradossalmente essendo più grezze, la USI in particolare, forse sono più difficili da usare per un principiante.
Ti consiglierei di cominciare da un ATMega per esempio l'ATMega48 o 88

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 18:04
da edgar
AlbertoBianchi ha scritto:forse sono più difficili da usare per un principiante

Concordo. Un esempio: se imposta il pin di reset come pin generico perché serve un pin in più, poi possono essere dolori cercare di riprogrammare il micro con programmatori come l'USBasp.
Alla fine micro mainstream come gli ATmega 48/88/168/328 hanno costi contenuti e ci si lavora "comodi"

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 18:09
da AlbertoBianchi
Confermo :ok:
in un'occasione l'ho dovuto fare, dopo il micro non si puo più riprogrammare via spi, occorrerebbe il programmatore parallelo ma i devices con pochi pin non lo supportano per cui in pratica diventano OTP (one time programmable)

Re: Target board per AVR

MessaggioInviato: 10 mar 2016, 19:47
da edgar
Se lo supportano alcuni si possono recuperare con un programmatore seriale HV. Si trovano circuiti fatti con un pugno di componenti che lo possono fare. Io stesso ne ho replicato uno trovato in rete per gli ATmega che mi ha permesso di recuperare diversi ATmega 16 altrimenti inutilizzabili.
Questo è per gli Attiny