giovedì 21 giugno 2012

Clone di Arduino Nano 3.0

Un po' perche' mi serve, un po' perche' costa poco ed e' molto piccola, mi sono comprata su Dealer Extreme un clone di Arduino Nano 3.0 (circa 10 Euro)
E' molto difficile da inserire sulla breadboard a causa del numero di piedini..bisogna fare attenzione ed avere mano ferma

Dall'alto

Dal basso

Montata sulla breadboard


martedì 19 giugno 2012

Mettendo tutto insieme


Diodo

Il diodo e' un componente semiconduttore che permette il passaggio di corrente quando l'anodo e' piu' positivo del catodo (forward biased)

Simbologia sul componente - La striscia indica il catodo





Simbologia sui circuiti

Nel corso di inversione della polarita' del diodo (reverse biased) c'e' un modesto passaggio di corrente (Corrente inversa Ir) che e' dell'ordine di qualche nanoampere. In caso di corrente inversa troppo alta si puo' avere la rottura del componente (PRV o PIV)



Amplificatore con LM358

Per sviluppare un amplificatore di segnale da accoppiare ad un sensore e' stato impiegato l'integrato LM358 che consiste in due separati operazionali comandati da una sola sorgente (nell'esempio ne verra' usato solo uno)
PIN dell'Integrato LM358 con indicatore a punto

Pin dell'integrato LM358 con indicatore non puntuale
per creare un amplificatore deve essere realizzata una configurazione da amplificatore non  invertente che e' determinato dalla grandezza delle resistenze R1 ed R2
Amplificatore Non Invertente (da Wikipedia)

Il fattore di amplificazione e' dato dal parametro Vi=1+(R2/R1)

La massima tensione di alimentazione Vcc e' +- 16V

Nella realta' devono essere collegati sulla breadboard
1) la resistenza R2 deve essere collegata al Pin 1 e Pin 2
2) la resistenza R1 deve essere collegata al Pin 2 e Pin 4
3) l'alimentazione deve essere collegata con il + al Pin 8 ed il - al Pin 4
4) il segnale in ingresso (da amplificare) deve essere inserito ai Pin 2 (-) e Pin 3 (+)
5) il segnale in uscita (amplificato) deve essere preso ai pin 4 (-) e Pin 1 (+)

Nel caso reale sono stati impiegati un valore di R1 = 1KOhm ed un valore di R2= 100KOhm per ottenere un fattore di amplificazione di circa 100, piu' precisamente 1+(R2/R1) (per avere una migliore scalabilita' si puo' mettere una resistenza variabile su R2). L'alimentazione e' fornita da una pila a 9 V


In configurazione invertente si presenta come segue

Amplificatore Invertente (da Wikipedia)
Il guadagno di tensione e' dato dal rapporto  tra R2/R1

Il valore massimo di tensione in uscita dall'amplificatore e' dato dalla tensione di Vcc (9V nel caso reale) meno 1.5 V

giovedì 14 giugno 2012

Java su Ubuntu 12.04 (Precise Pangoline)

Su Ubuntu 12.04 non e' possibile installare Java nella versione originale di Oracle  direttamente da apt
Per questo si deve scaricare il pacchetto JDK direttamente da Oracle per la versione Linux (.tgz)
Successsivamente allo scompattamento dei file in una directory

sudo mkdir -p /usr/lib/jvm/jdk1.7.0


sudo mv jdk1.7.0_03/* /usr/lib/jvm/jdk1.7.0/

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1

infine, dato che vi possono essere differenti installazione di Jdk (vedi OpenJDK) si deve scegliere quale attivare mediante il comando

sudo update-alternatives --config java




mercoledì 13 giugno 2012

Voltaggio variabile da Arduino

Sulla scheda Arduino non e' disponibile la porta analogica in modalita' output. Per generare quindi delle tensioni intermedie tra 0 e 5 V vengono impiegate le porte digitali in modalita PWM per simulare una tensione intermedia tra il valore off (0 V) e on (5 V) tipici degli stati digitali


In pratica la porta digitale funziona ad impulsi oscillando tra 0 e 5 V in modo da simulare che mediante l'uscita sia un valore intermedio. La velocita' di variazione, che e' circa 480 Hz, rende irriconoscibile allo strumento che si tratta di impulsi

Al contrario della lettura della porta digitale, in caso di scrittura si hanno solo 255 livelli per cui gli incrementi minimi di corrente sono 5V/255 circa 0.02 V

Il programma e' estremamente semplice

---------------------------------------
 void setup()
  {
    pinMode(9,OUTPUT);
  }
 
void loop()
{
  analogWrite(9,127);
}

---------------------------------------
variando il secondo parametro di analogWrite (in questo caso il 127) si puo' variare la tensione in uscita

Valore Output = 50

Valore Output =100

Valore Output =150

Valore Output =200

Valore Output =250
Nel caso si voglia una approssimazione ancora migliore di una corrente in uscita continua e non pulsata si  puo' aggiungere un filtro passa basso con una resistenza da almeno 4.7 KOhm ed un capacitore da almeno 2 uF

lunedì 11 giugno 2012

Sensore di alta pressione

Per il test di sensore di alta pressione 'e stato provato il modello Gefran TP867 2D che ha un range di misura 0-20 bar ed una uscita  di 3 mv/V

Il sensore ha 6 connettori (2 alimentazione, 2 segnale, 2 calibrazione) ma nell'esemplare di test erano collegati solo alimentazione e segnale con colori differenti da quelli riportati in scheda tecnica

La pedinatura e'
A : segnale + (colore cavo marrone)
B : segnale -  (colore cavo nero)
C : alimentazione + (colore cavo giallo)
D : alimentazione -  (colore cavo blu)

Sull'alimentazione e' stata messa una batteria da 9V


alla pressione atmosferica il sensore segnala 2 mV; soffiando con la bocca all'interno dell'imboccatura il segnale sale a 4-5 mV

Non e' presente nessun circuito di amplificazione per cui dovra' essere costruito esternamente

Change Detection with structural similarity

L'idea di base e' quella di cercare le differenze tra le due immagini sottostanti Non e' immediatamente visibile ma ci sono dei ...