Ciao a tutti,
tempo fa ho aperto un thread a proposito dei un progetto che ho iniziato tempo fa e che ora sto riprendendo in mano seriamente. La discussione originale è questa: http://arduino.cc/forum/index.php/topic,122245.0.html
Nell'ultimo post avevo chiesto consigli a proposito di un circuito di switching a relay, ma non avendo ancora fatto i test opportuni non avevo nemmeno fornito dettagli precisi. Oggi ho avuto un paio di ore di tempo ed ho terminato le prove sul circuito, il cui schema è il seguente: https://dl.dropbox.com/u/13991650/Switcher.png
Si tratta in particolare di una catena di relay, comandata da un MCP23S17 (expander SPI) tramite un paio di ULN2003. L'alimentazione dei relay è data da un regolatore da 6,5V mentre l'expander è alimentato direttamente da Arduino tramite l'header ICSP (questo forse non è ben chiaro dallo schema).
Il problema che ho riscontrato è il seguente: dei 15 relay solo 4 commutano correttamente (K11-12-13-14), mentre gli altri non funzionano.
Rilevando le tensioni sui relay funzionanti mi trovo i seguenti valori:
- tensione sulla bobina circa 4,5V (leggermente inferiore ai 5V nominali ma comunque corretto)
- tensione sulle uscite dell'expander circa 2,5V (qui mi sarei aspettato qualcosa in più)
Sui relay non funzionanti invece ho ovviamente tensioni pari a circa zero, anche sulle uscite dell'expander.
Ho utilizzato un semplice programma che tramite due cicli for attiva e disattiva tutte le uscite, ma non sono per nulla sicuro di aver impostato correttamente il tutto. Riporto il codice che sto utilizzando.
#include <SPI.h>
#include <MCP23S17.h>
MCP switcher(0);
void setup() {
pinMode(53, OUTPUT);
digitalWrite(53,LOW);
switcher.pinMode(0B00000000000000);
}
void loop() {
int i;
for (i=1;i<=16;i++) {
switcher.digitalWrite(i, HIGH);
delay(100);
}
delay(200);
for (i = 1; i <=16; i++) {
switcher.digitalWrite(i, LOW);
delay(100);
}
delay(200);
}
Potrebbe essere semplicemente un problema software? Non sono per niente sicuro di aver capito il funzionamento della libreria MCP23S17.h
Oppure c'è qualche errore nel circuito?
Grazie infinite per l'aiuto!
P.S. Ho un problema con il forum... Se tento di aggiungere un allegato (in questo caso lo schema che ho linkato sopra) non mi crea il thread e si blocca tutto su una pagina bianca!