Buongiorno ,
scrivo di mattina presto , quando il cervello è fresco , in pratica sto costruendo un controllo di misura con questo comparatore COMPARATORE CENTESIMALE 0-10mm RISOLUZIONE 0,01mm 5425622017079 | eBay , devo tenere una tolleranza di ± 0.1 mm. sotto un piano che scorre , allora avevo pensato di fare due forellini filettati nel vetro , inserire due perni in metallo a distanza radiale di 0.2 mm. , cosi quando la lancetta (a cui è connessa la 5 v) , sta nel range i perni non sento corrente e non comunicano nulla ad arduino , se il piano supera la tolleranza in positivo o in negativo la lancetta va a toccare uno dei due perni , inviando un segnale ad arduino , il problema è che se i perni non sentono corrente arduino sia in digitalinput che in analoginput restituisce dei valori casuali ..... Come posso risolvere questo problema ???
In pratica sono dei microswitch, quelli che hai realizzato tu.
Allora potresti evitare di usare i pin analogici ed usare i pin digitali (che oltretutto sono più veloci).
Per dare un valore di riferimento stabile per la condizione di "nella norma" potresti usare una resistenza di pull-down collegata tra l'ingresso del pin di lettura e massa, in modo che a sensore aperto (quindi non attivato) tu abbia una lettura di LOW, per passare ad HIGH quando le alette dei sensori si toccano.
Per velocizzare la cosa potresti anche pensare di usare degli interrupt agganciati ai pin di lettura.
leo72:
Per velocizzare la cosa potresti anche pensare di usare degli interrupt agganciati ai pin di lettura.
Che finezza .
Ok , chiarito questo , ho un ultima domanda , per un certo periodo di "setting time " , la lancetta toccherà sicuramente una delle due viti , mi piacerebbe che con un tasto da me premuto escludessi il contatto in modo tale che anche se la lancetta tocca uno dei due pin arduino sente sempre Gdn. Grazie !!
Ginozor:
il problema è che se i perni non sentono corrente arduino sia in digitalinput che in analoginput restituisce dei valori casuali ..... Come posso risolvere questo problema ???
Il tuo problema è dovuto al fatto che i pin in ingresso di Arduino sono ad alta impedenza e NON puoi lasciarli non collegati o ... rilevano qualsiasi disturbo ci sia nell'aria XD
Nel tuo caso la soluzione è mettere una resistenza di pull-down che li tiene normalmente in stato LOW, es. una 10K, e quando i perni verranno toccati dalla lancetta (che è collegata al +Vcc) passeranno in stato HIGH.
E' un problema di cui si è parlato un'infinità di volte qui sul forum ...
Guglielmo
Ginozor:
leo72:
Per velocizzare la cosa potresti anche pensare di usare degli interrupt agganciati ai pin di lettura.Che finezza .
Ok , chiarito questo , ho un ultima domanda , per un certo periodo di "setting time " , la lancetta toccherà sicuramente una delle due viti , mi piacerebbe che con un tasto da me premuto escludessi il contatto in modo tale che anche se la lancetta tocca uno dei due pin arduino sente sempre Gdn. Grazie !!
Beh, questa è una cosa che a livello software è facilissima da fare, basta implementare una variabile che imposti a true/1 quando vuoi ignorare la lettura dei sensori e rimettere a false/0 ad una successiva pressione del pulsante quando vuoi riattivare la lettura.
gpb01:
E' un problema di cui si è parlato un'infinità di volte qui sul forum ...
Guglielmo
Scusa.
Ginozor:
Scusa.
E mica devi chiedere scusa ... ci mancherebbe ...
Piuttosto, ricordati sempre di fare prima una ricerca sul forum perché spesso ... i problemi sono comuni e le soluzioni si trovano prima
Guglielmo
Una osservazione di ordine meccanico.
-
sostituirei i perni con dei "baffi" flessibili.
Finchè la variazione del tastatore è in estensione, la lancetta si appoggia sul tuo perno e tutto è ok!
Ma nel momento che lavori in compressione, la lancetta viene spinta di forza contro il perno che in questo caso crea una sorta di ostacolo. Se il sistema di correzione dell'errore non è abbastanza rapido rischi di provocare danni allo strumento. -
preparati a superare una serie di problemi di antirimbalzo sugli ingressi di Arduino.
Non essendo dei veri microswitch, non possono offrirti ne un contatto certo, ne quella piccola isteresi tipica dei micro.
lelebum:
Una osservazione di ordine meccanico.
sostituirei i perni con dei "baffi" flessibili.
Finchè la variazione del tastatore è in estensione, la lancetta si appoggia sul tuo perno e tutto è ok!
Ma nel momento che lavori in compressione, la lancetta viene spinta di forza contro il perno che in questo caso crea una sorta di ostacolo. Se il sistema di correzione dell'errore non è abbastanza rapido rischi di provocare danni allo strumento.preparati a superare una serie di problemi di antirimbalzo sugli ingressi di Arduino.
Non essendo dei veri microswitch, non possono offrirti ne un contatto certo, ne quella piccola isteresi tipica dei micro.
Hai perfettamente ragione per quanto riguarda i baffi , grazie dell'idea , si lo so che non potrò mai avere la precisione di un micro o un optical , ma mi serve proprio come allarme generale non come correzione se si supera la misura si spegne il sistema , perchè sto costruendo una macchina che lavorerà quando io sarò a lavorare
Ginozor:
allora avevo pensato di fare due forellini filettati nel vetro
Buona fortuna e comprati subito 5-10 comparatori di riserva.
uwefed:
Ginozor:
allora avevo pensato di fare due forellini filettati nel vetroBuona fortuna e comprati subito 5-10 comparatori di riserva.
ahahaha , attenzione che guido una huron , 5 assi con piano in granito , ho fatto cose che voi umani
Sulla storia di realizzare due fori sul vetro, se fattibile, io opterei per sostituire il vetro con un bel oblò in plastica.
Riferendomi al comparatore meccanico, la lancetta che stabilisce un contatto elettrico con i baffi mi lascia molti dubbi.
Quando speri che il contatto tra due parti metalliche chiudi un circuito elettrico, per la ben nota legge di Murphy, è la volta che non avviene.
Hai preso in considerazione di sostituire il comparatore con uno equivalente potenziometrico?
Immagino che i costi lieviteranno, ma se la lavorazione lo merita, ottieni un aumento di livello di sicurezza e precisione non indifferente.
lelebum:
Quando speri che il contatto tra due parti metalliche chiudi un circuito elettrico, per la ben nota legge di Murphy, è la volta che non avviene.
AAaaa si la legge di murphy : La probabilità che una fetta di pane imburrata cada dalla parte del burro verso il basso su un tappeto nuovo è proporzionale al valore di quel tappeto. (scusate L 'OT)
Attacca un adesivo riflettente sulla lancetta e rilevi la riflessione tramite un sensore opto a riflessione
Potresti usare un lvdt che ha in uscita un segnale + o- 2,5volt con una escursione di 5mm
https://www.google.it/search?q=lvdt+funzionamento&espv=2&tbm=isch&tbo=u&source=univ&sa=X&ei=WeKIU7P9HYKm0QWo-IGIDg&ved=0CHQQ7Ak&biw=1746&bih=869
leandro
interessante questa idea , per metterla in atto bisognerebbe usare dei blocchetti Johnson per le quote di massima e di minima, rilevare il valore, con un analog Read .... Però la precisione ??
precisione è relativa alle precisione della lettura della tensione di uscita io l' ho adoperati per leggere i centesimi di mm certamente dipende da quanto è precisa la lettura di arduino.
Leandro