Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
sciamannalucio.it
La base dei tempi può essere fissa con un certo lasso di tempo,
oppure senza tempo. In quest’ultimo caso il contatore di impulsi è
assoluto, e conteggia fino a quando non viene spento/azzerato.
Ogni impulso incrementa un contatore, aumentando il numero
memorizzato. Quando è terminato il tempo massimo per la conta il
numero viene visualizzato su un display o altro dispositivo di
visualizzazione. Il contatore ed il timer vengono azzerati e si
ricomincia a contare gli impulsi in ingresso.
1 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
2 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
3 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
con il metodo “interrupt”: ogni volta che all’ingresso del pin c’è
una variazione del segnale elettrico viene chiamata una funzione
speciale “interrupt” (alle volte definita ISR). Questa funzione è
speciale perchè ha la priorità massima, cioè il microprocessore
della scheda Arduino ferma la riga di comando che sta eseguendo
per eseguire la funzione “interrupt”. Si devono utilizzare solo i pin
che possono diventare interrupt hardware: per esempio nella
scheda Arduino UNO solo il pin 2 e 3 digitali sono fisicamente
collegati agli interrupt esterni INT0 (digital pin 2) e INT1 (digital pin
3). Nel caso vuoi utilizzare un qualsiasi pin della scheda Arduino
UNO allora puoi usare una libreria chiamata PinChangeInt.
4 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
5 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
6 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
void loop(){
7 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
8 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
pulsante
E chi non vuole utilizzare Arduino come fa? Ci sono circuiti integrati
che fungono da contatore di impulsi. Puoi vedere il circuito elettrico
utilizzabile anche con un encoder a quadratura. Gli integrati
utilizzabili sono il 74190 (versione con uscita BCD per
collegamento diretto a display decimali) e 74191 per uscita binaria
e puoi scaricare cliccando sul link datasheet_74190_191_counter.
Questi integrati sono in tecnologia TTL e pertanto vanno alimentati
con una tensione di 5 Volt. Se vogliamo utilizzare una tensione di
alimentazione fino a 15 Volt usiamo gli integrati CMOS
datasheet_cd40192_cd40193. Questo circuito può essere utilizzato
per dividere la frequenza di un encoder per un numero che varia tra
2 e 256, basta collegarsi alle uscite U1-Q0 (divisione per 2), U1-Q1
(divisione per 4), U1-Q2 (divisione per 8), U1-Q3 (divisione per 16),
U2-Q0 (divisione per 32), U2-Q1 (divisione per 64), U2-Q2
(divisione per 128) e U2-Q3 (divisione per 256). Si devono
utilizzare gli integrati con uscita binaria 74191 oppure cd40193.
9 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
10 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
11 di 12 08/12/2018, 14:02
Arduino: encoder conta impulsi-giri motore - Sciamanna Lucio
Pubblicità
12 di 12 08/12/2018, 14:02