Volevo condividere anche con questa community il mio progetto di una schedina di sviluppo basata su AtMega328p e compatibile con l'ambiente di sviluppo di Arduino (non con Shield).
Ecco il mio progetto per immagini:
Nato dall'esigenza di avere un sistema Arduino modulare, a basso consumo energetico, con ICSP senza adattatori, Bluetooth, USB e abbondanza di pin header e per finire.. a bassissimo costo.
L'idea è nata prevalentemente dal desiderio di comunicare senza traslatori di livello con FPGA a 3.3v e si è evoluta per includere ulteriori caratteristiche.
MODULARE
Per ottimizzare i consumi energetici e i costi sia il regolatore di tensione, sia il bluetooth e l'USB non sono on-board anche se previsto un connettore per il bluetooth ed alcuni pin header per il regolatore di tensione.
BASSO CONSUMO ENERGETICO:
La scheda non dispone di un regolatore di tensione on-board perché alimentata da un modulo regolatore di tensione esterno a 3.3volt. Questa scelta permette di alimentare il sistema efficacemente sia con tensioni inferiori tramite uno step-up sia con tensioni superiori tramite uno step down o un alimentatore stabilizzato sia direttamente con 2 batteria Alcaline da 1.5 volt (ottenendo in base allo stato di carica una tensione leggermente inferiore ai 3.3 volt ma pienamente funzionante).
ABBONDANZA DI PIN DI I/O:
Ogni pin del microcontrollore è dotato di almeno 2 header, uno maschio ed uno femmina a tulipano per poter collegare semplicemente l'AtMega328 sia a breadboard o a moduli con header femmina tramite i normali cavetti jumper sia a moduli con header maschi tramite l'utilizzo di cavi dupont (femmina-femmina).
L'utilizzo del bluetooth non richiede ulteriori pin in quanto è presente un header JST-XH a 5 vie dedicato (i pin RX e TX sono accessibili ma collegati al modulo bluetooth)
Sono disponibili 2 pin di I/O aggiuntivi rispetto alla configurazione base di Arduino grazie all'oscillatore interno, programmabili direttamente tramite registri.
ABBONDANZA DI PIN DI GND e VCC:
Il pin VCC è accessibile tramite 6 pin (3 femmina e 3 maschi) mentre il pin GND è accessibile con un ulteriore pin tra gli header ICSP per un totale di 7 pin. Eventualmente è possibile collegare alcuni header ICSP non utilizzati a GND per ulteriori 3 pin.
Un pin VCC e un pin GND dovrà necessariamente essere collegato ad una fonte di alimentazione mentre gli altri rimangono disponibili per alimentare moduli esterni.
ICSP SENZA ADATTATORI
La programmazione può avvenire tramite un qualsiasi programmatore esterno ISP a 10 pin senza bisogno di adattatori.
BLUETOOTH
Il modulo HC-06 con fili e connettore JST saldato permette un utilizzo semplice ed immediato. Da prove sperimentali la distanza raggiungibile con bitrate di 9600bps è circa 15 metri. Il modulo se connesso tramite JST è automaticamente collegato all'alimentazione e ai pin RX e TX. Il pin relativo al led è collegato al connettore JST ma non utilizzato per massimizzare il risparmio energetico.
USB
Tramite il modulo con CP2102 è possibile collegare al pc tramite USB l'Atmega328p, il collegamento avviene tramite 4 cavetti dupont (femmina-femmina)
SPECIFICHE:
- Tensione di ingresso: Min 2.7 volt, Max 4.2 volt (limitata dal modulo Bluetooth, se non utilizzato 5.5 volt)
- ATMega328p con oscillatore interno 8 Mhz su socket DIP
- Modulo bluetooth HC-06
- Modulo usb con CP2102
- Pulsante di reset
- Dimensioni 4.7 x 7.2 cm
Costo dei componenti:
- 0,80€ 1 Basetta millifori
- 4,85€ 1 AtMega328p
- 0,52€ 1 Connettore JST-XH a 5 vie
- 0,20€ 40 Pin header maschi
- 0,42€ 30 Pin header femmina a tulipano
- 0,12€ 1 Socket DIP 28 pin
- 5,64€ 1 Modulo Bluetooth HC-06
- 3,27€ 1 Modulo USB CP2102
- 0,80€ 4 Distanziali PCB
- 0,70€ (approssimativo) 1 Pulsante, 2 Condensatori 100nF, 1 Condensatore 10uF, 1 Resistenza 10K, Pezzi di cavo ad anima unica per millifori
-----------------------------------------------------------------
17,32€
Il prezzo è basato sui miei acquisiti ed in alcuni casi sono stati ordinati più pezzi per raggiungere un prezzo inferiore.
Ordinando grossi quantitativi è possibile raggiungere costi ancora inferiori.
Con meno di 18 euro (compresi anche i distanziali!) ho raggiunto il mio scopo e data la modularità della soluzione è possibile utilizzare in altri progetti i moduli Bluetooth ed il convertitore USB/UART.
Ho impiegato alcune ore per progettare e realizzare su millifori il progetto ma un "elettronico esperto" potrebbe impiegare molto meno o comunque copiando il progetto il tempo cala drasticamente.
Adesso ho una schedina pronta per comunicare con FPGA
Ciao e grazie a tutti
Per aggiornamenti su questo progetto non relativi all'interazione con FPGA: http://www.electroit.tk/index.php/topic,152.0.html