Differenze tra le versioni di "Una ciabatta controllata da USB"

Da raspibo.
Jump to navigation Jump to search
Riga 27: Riga 27:
  
 
[http://www.cs.unibo.it/~renzo/raspibo/PowerStrip.tgz PowerStrip.tgz]
 
[http://www.cs.unibo.it/~renzo/raspibo/PowerStrip.tgz PowerStrip.tgz]
 +
 +
Il software si compone di due parti, una da caricare sul Atmega8 a bordo della ciabatta e l'altra serve per generare il comando che potete usare con un Raspberry PI o un altro computer.
 +
 +
Il circuito prevede l'uso di uno dei programmatori per AtMega della Tux graphics. Se usate un altro programmatore i fili sono gli stessi ma il connettore e' diverso.
 +
 +
Compilate il firmware (occorre sulla macchina GNU-Linux la toolchain per avr, avr-gcc)
 +
<pre>
 +
cd firmware
 +
make hex
 +
</pre>
 +
 +
poi collegato il programmatore caricate l'hex sulla scheda
 +
<pre>
 +
make flash
 +
make fuse
 +
</pre>
 +
 +
(se non settate i "fuse" non funziona, dovete settare il clock del microcontrollore indicando la presenza dell'oscillatore quarzato a 12Mhz).
 +
 +
A questo punto andate nella directory commandline.
 +
Ci sono due comandi: uno scritto in C e uno in Python.
 +
Per la versione C occorre il pacchetto Debian libusb-dev (o l'equivalente in altre distro), per la versione python occorre python-usb.
 +
 +
Per python se avete la libreria pyusb (caricata col pacchetto python-usb) tutto dovrebbe funzionare subito,
 +
per il C occorre chiamare "make".

Versione delle 19:33, 1 mar 2013

A dire il vero questo progetto non e' realizzato con Raspberry PI ma con un Atmega8, potete comunque attaccare questa ciabatta a un HUB collegato al Raspberry PI per accendere e spegnere apparati. (Occorre l'HUB perche' quando tutti i Rele' sono attaccati forse non basta la corrente fornita dalle porte USB del Raspberry PI).

Ecco le foto:

USBpowerstrip.jpg

USBpsopen.jpg

Il progetto usa la libreria v-usb che implementa USB 1.1 completamente via software in microcontrollori atmega.

Come si vede dalla foto della ciabatta aperta ci sono due circuiti (collegati fra loro con un cavo flat):

  • quello attaccato al frutto, che ha la presa USB e il microcontrollore
  • quello fissato sul fondo dove sono installati i 4 rele' (con i 4 transistor BC547 e i diodi 1N4007 come descritto qui)

Tutto il circuito e' alimentato via USB. La tensione di rete e' attaccata solamente ai contatti delle commutazioni dei rele'.

Ecco lo schema elettrico della scheda USB:

Powerstrip.png

e questo e' lo schizzo della scheda rele' (sono 4 circuiti uguali con il transistor NPN che pilota un rele')

Powerele.png

Il software

PowerStrip.tgz

Il software si compone di due parti, una da caricare sul Atmega8 a bordo della ciabatta e l'altra serve per generare il comando che potete usare con un Raspberry PI o un altro computer.

Il circuito prevede l'uso di uno dei programmatori per AtMega della Tux graphics. Se usate un altro programmatore i fili sono gli stessi ma il connettore e' diverso.

Compilate il firmware (occorre sulla macchina GNU-Linux la toolchain per avr, avr-gcc)

cd firmware
make hex

poi collegato il programmatore caricate l'hex sulla scheda

make flash
make fuse

(se non settate i "fuse" non funziona, dovete settare il clock del microcontrollore indicando la presenza dell'oscillatore quarzato a 12Mhz).

A questo punto andate nella directory commandline. Ci sono due comandi: uno scritto in C e uno in Python. Per la versione C occorre il pacchetto Debian libusb-dev (o l'equivalente in altre distro), per la versione python occorre python-usb.

Per python se avete la libreria pyusb (caricata col pacchetto python-usb) tutto dovrebbe funzionare subito, per il C occorre chiamare "make".