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