Home

Da un po’ di tempo mi sono preso l’impegno di sviluppare una mia versione del FabISP, la pennetta per programmare i chip ATMEL. Più di un anno fa, acquistai una usbasp, ma ho sempre desiderato mettere insieme una Franken-ISP.
Mi sono preso un po’ di tempo e partendo dallo schema elettronico del MIT ho disegnato gli stampati per la chiavetta.
Nulla di innovativo, solo ho cercato di realizzare un circuito doppia faccia in modo casalingo.
Per il disegno del circuito stampato (PCB) ho utilizzato il software opensource geda. Lo uso da tempo e mi trovo molto bene.
Realizzare PCB a doppia faccia non è semplice, ma con il metodo che ho impiegato io risulta semplicissimo.
Il metodo consiste nello stampare2 schede, una per la faccia superiore ed una per la faccia inferiore del PCB finale.

Screenshot at 2013-01-10 17:05:07

La faccia superiore di solito si esporta ‘mirrored’ mentre la faccia inferiore non deve essere rigirata.

Screenshot at 2013-01-10 17:05:42

La scheda superiore

Screenshot at 2013-01-10 17:05:51

La scheda inferiore

Una volta foto-incise e corrose, si passa alla foratura con punta da 0,7mm e da 1,5 per i fori di fissaggio della presa USB. Come mini trapano io uso un dremel-clone acquistato in un discount.
I fori delle due schede risultano allineati senza difficoltà. Una volta accoppiate le due piastre, inserisco degli spezzoni di filo da una parte all’altra e li saldo. Poi accorcio le estremità in eccesso.

DSCN5260
La tecnica potrebbe sembrare rozza ma funziona e permette di realizzare PCB anche complessi.

DSCN5261
Non è possibile realizzare con questa tecnica delle ‘VIE’ e quindi bisogna arrangiarsi così. Non è neppure possibile, nel caso si utilizzino componenti a foro passante, fare saldature su entrambi i lati della piazzola del componente. In questi casi per mettere in contatto due piazzole sulle 2 facce si deve creare una VIA adiacente e connessa con le due piazzole. Un po’ laborioso ma sopportabile.

DSCN5262

Saldati i componenti carico il firmware con la usbasp. Credo si possa fare anche utilizzando una schedina arduino programmata con lo sketch “arduino as ISP” (attenzione che dalla versione 1.0 di arduino, lo sketch arduinoasisp è bacato!).

DSCN5264

La UsbAsp e la FABisp

Installazione

Per verificare il funzionamento, su linux, si deve aprire un terminale e dare il comando dmseg.
Istantanea - 13012013 - 18:59:02

Nelle ultime 4 righe si può vedere se la chiavetta è stata rilevata correttamente (comapre la scritta FABIsp). Perché sia riconosciuta dal programma avrdude, si deve creare un file in /etc/udev. Aprire un terminale e digitare:

cd etc/udev/rules.d
sudo touch 51-avrdude.rules
sudo gedit 51-avrdude.rules

Quindi copiare la seguente riga:

ATTR{idVendor}==”1781“, ATTR{idProduct}==”0c9f“, GROUP=”plugdev”, MODE=”0660″ # FABIsp

Salvare il file e chiudere gedit. Riavviare il servizio udev:

sudo service udev restart

Su linux Ubuntu o Debian-based: installare con synaptic i pacchetti avr-gcc, avr-libc ed avrdude. Verificare che ci sia anche Java (OpenJDK Java 6 Runtime).

L’hello world per testare la chiavetta

Per provare la chiavetta basta anche un listato vuoto da copiare in un file di nome main.c

main() {
        while(1) { }
}

compilareil file:

avr-gcc -mmcu=attiny85 -Os -o main.o main.c

trasformare il file main.o in .hex per renderlo “compatibile” con il chip atmel:

avr-objcopy -O ihex -R .eeprom main.o main.hex

caricare il file .hex sul chip con avrdude:

avrdude -p attiny85 -c usbtiny -P usb -e -U flash:w:main.hex

I driver per win e mac si trovano sulla pagina del MIT: http://fab.cba.mit.edu/content/projects/fabisp/

E’ possibile usare la FABIsp anche con arduino. Ho trovato dei link interessanti:

Download

DOWNLOAD di: PCB, schemi, esempio e firmware

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...