Salve a tutti,
grazie a voi ho scoperto il mondo arduino! ho costruito un semplicissimo circuitino con un arduino, dei modulini 433Mhz tx/rx e due relay.
Serve per alzare ed abbassare la tapparella elettrica al semplice tocco del tasto senza dover rimanere con il dito premuto per tutta la corsa della stessa.
Oltre a poter pilotare il tutto con un telecomandino 433 o con un altro arduino dal PC.
Funziona TUTTO! .... pero'....
Spesso all'accensione di una luce o di un elettrodomestico la tapparella parte DA SOLA...
Per il comando uso un semplice circuito in pullup con due resistenze da 20K verso vcc (5v) e due pulsanti verso massa che se aperti lasciano i pin definito come INPUT a 5v (HIGH) e se il pulsante e' premuto lo portano a massa. (se non sono stato chiaro posto il circuito.
Ripeto FUNZIONA TUTTO !!!!!
PERO'.... l'interferenza con la 220 lo fa sfarfallare...
Ho rimosso l'alimentazione 5v verso 220 con una batteria ma il problema rimane lo stesso!
ho staccato i relay ma il problema rimane lo stesso!!!!! (lo vedo daI LED )
Tramite la seriale ho visto che arduino "CREDE" che il pulsante sia stato premuto... ma ho usato un pullup standard che non ha nioente a che fare con la 220!
Potrebbero servire dei condensatori in parallelo ai pulsanti?
Potrebbe dipendere dal fatto che i pulsanti distano dall' arduino circa 2 metri?
I tre fili (1massa + 2 pulsanti) devono andare direttamente a Arduino senza essere in comune con altri conduttori.
Installa resistenze di pull-up da 3,3k o meno, e in parallelo alle stesse un condensatore da 0,22uF.
Il tutto devi collegarlo quanto più vicino ad Arduino.
Serve per alzare ed abbassare la tapparella elettrica al semplice tocco del tasto senza dover rimanere con il dito premuto per tutta la corsa della stessa.
se era per questo ci sono vari tipi di pulsanti commutatori "tipo uomo presente" e "tipo uomo assente" o meglio quelli che restano premuti e te ne puoi andare
Se hai scritto sul forum 99/100 hai bisogno di aiuto, non è necessario scriverlo nel titolo
Le informazioni sono insufficienti, provare a ipotizzare è inutile, per quanto ne sappiamo potresti anche non aver impostato i pin in output e lasciati flottanti stessa cosa per gli input, hai usato un debounce? un antirimbalzo? il ricevitore 433 è schermato a parte l'antenna ovviamente? il software è corretto?
Potrebbe dipendere dal fatto che i pulsanti distano dall' arduino circa 2 metri?
no, su dei segnali aperto/chiuso i 2 metri non fanno la differenza.
sketch e schema danno un idea più completa sicuramente
ciao
Innanzitutto GRAZIE!
Cerco di darvi qualche info in piu'.
I pin di input li ho settati cosi':
int tapparella=16;
int salita=13;
int discesa=12;
int bottone1=14;
int bottone2=15;
...
void setup()
{
pinMode(salita, OUTPUT);
pinMode(discesa, OUTPUT);
pinMode(tapparella , INPUT);
pinMode(bottone1 , INPUT);
pinMode(bottone2 , INPUT);
digitalWrite(tapparella, HIGH);
digitalWrite(bottone1, HIGH);
digitalWrite(bottone2, HIGH);
...
}
lo schema l'ho scarabocchiato ed allegato... spero si capisca! In pratica mi suggerite di passare da quello attuale a SX a quello di DX?
Purtroppo non riesco a fare i collegamenti piu' corti... Se usassi del cavo schermato sarebbe meglio?
Per quanto riguarda il circuito, ho usato un arduino per questa semplice attivita' perche' in realta' funge anche da contaimpulsi wireless per tre sensori di tapparella per l'antifurto, oltre ad avere un controllo per cui "stoppa" il motore della tapparella se non "sente" un impulso ogni 2 secondi... evitando di far continuare a muovere la tapparella se ci fosse un ostacolo...
..."cazziatemi" tranquillamente se non sono stato chiaro!
GRAZIE1000 per l'aiuto!
Accidenti siete piu' rapidi voi nelle risposte che io nel correggere i miei errori!
Si i DigitalWrite li ho messi per attivare le resistenze di pullup interne... almeno cosi' ho letto!
Gli input sono i pin 14 e 15 (pulsanti) e 16 (contatto sensore tapparella).
Mentre gli output sono i pin 12 e 13 che vanno alla schedina con i relay.
Si ho tolto il ricevitore 433 ma stesso problema!
Ho anche ricablato il tutto evitando che i tre fili dei pulsanti passassero nello stesso corrugato della 220... ma niente!
Mi rimane il condensatore in parallelo alla resistenza!!!!!
Esatto....
ora, a parte i condensatori, non so che provare... magari funziona perfettamente per ore ma poi allo scatto di un rele' passo passo delle luci, o del motore di un'altra tapparella.... parte!.
Dimenticavo ho provato pure un'altro arduino! ma NIENTE!
Si ma anche se mettendo i condensatori funziona, riduci le probabilità, ma sei sempre a rischio che prima o poi riappaia il problema.
Anche ipotizzando che sia un disturbo e che quei fili facciano da antenna, sono pochi mV per brevissimo tempo, ma hai già i pin a +5v, non è possibile che la causa sia un disturbo elettromagnetico nel tuo caso, sei isolato dai motori e dalla rete 220, c'è qualcosa che non ci dici.
Ma hai messo un debounce nel software? http://arduino.cc/en/Tutorial/Debounce ovvero il pulsante deve essere premuto per un tot di ms per dare il consenso (un impulso troppo breve tipo disturbo non viene accettato e te l'ho chiesto qualche post indietro )
hai usato un cavo twistato sui comandi?
Grazie Pablos,
no i fili non sono twistati.
Pero' ho letto con attenzione lo sketch che mi hai suggerito.
Il problema in cui mi ero imbattuto, e che avevo risolto, eliminava il rimbalzo SOLO dopo la pressione del tasto.
In pratica dopo aver registrato la pressione di un pulsante attivavo l'output solo se dall'ultimo comando "buono" erano trascorsi 50ms (misurando con millis() ). In realta' non facevo alcun controllo sulla lunghezza del comando!