Contraves - Comparatore - Contatore

contraves comparatore

La necessità di poter confrontare un segnale con un sistema in grado di segnalare, con continuità, se è maggiore, minore o uguale, a un valore preimpostato, si è rivelata utile in molte applicazioni industriali.

Controllare un asse motore, equipaggiato con un sensore in grado di misurare i giri minuto, comparando la velocità di rotazione del motore, con un valore preimpostato, può essere utilizzato per mantenere costante il numero di giri di un carico collegato al motore tramite un sistema di frizione oleodinamica controllata elettronicamente.

L’operazione ripetitiva per la produzione di trasformatori o bobine, da avvolgere con un numero prefissato di spire di filo di rame, può essere risolto confrontando il conteggio delle spire con un valore preimpostato, in modo che al raggiungimento di questo valore, si attivi un comando che spenga l’avvolgitore in modo da inserire un supporto nuovo da avvolgere.

Impostare un “conta tempo”, che al raggiungimento del valore preimpostato, si attivi un controllo che accenda o spenga un dispositivo, come una luce o un forno, è una altra applicazione  di questo tipo di sistema.

L’esempio riportato utilizza tutte le uscite disponibili in Arduino UNO, per gestire tre “BCD_Binary Switch”.

Volendo costruire un’apparecchiatura basata sulla scheda Arduino UNO, senza passare a una scheda con un maggior numero di I/O (Arduino Mega), è opportuno utilizzare un display ” I2C”, in modo da liberare pins utili per la gestione dei “BCD_Binary Switch”.

LCD SPI

Possibile schema di collegamento di quattro BCD_Binary_Switch, rimangono ancora 3 I/O disponibili, anche se il PC6 è utilizzato dalla scheda Arduino UNO per il reset, la simulazione, riferendosi al chip ATMEGA328, funzion correttamente..

per liberare altre porte da utilizzare dopo la fase di preset, è possibile interporre tra i BCD_Binary_Switch e Arduino, dei circuiti ”Latch three state”; si tratta di memorie  buffer, che tramite un segnale di abilitazione (LE), portano l’uscita nello stato di alta impedenza, disaccopiando di fatto i segnali dei BCD_Binary_switch dai pin I/O , senza interferire con gli altri segnali.

Volendo utilizzare unicamente Arduino Uno , è possibile eliminare l’utilizzo dei BCD_Binary_Switch, che appartengono alla storia dell’elettronica degli anni 80’, sostituendoli con un tastierino numerico o un rotary_ encoder .

Il collegamento delle porte I/O con i BCD_Binary_Switch, è determinato dalla comodità del cablaggio, l’indirizzamento delle porte I/O è stabilito in funzione del collegamento fisico delle periferiche.

I pins INT0 e INT1,sono gli unici ingressi ancora disponibili in ArduinoUNO.

I pins PC4 e PC5, sono utilizzati per gestire il Display SCL/SDA.

PC6 è utilizzato da Arduino per il Reset; è collegato al+3,3V con una resistenza da 10K.

il deviatore “Preset/Load” collegato ai pins 2 e 3 della porta D ( INT0 e INT1) è di tipo  a zero centrale.

I circuiti integrati 74LS373 e74LS374, gestiscono otto segnali digitali memorizzando al suo interno i segnali presenti in ingresso con il controllo LE (Latch Enable), trasferendoli all’uscita tramite il controllo OE (Output Enable), con la particolarità di poter rendere “inesistente”, dal punto di vista elettronico, i segnali d’uscita, portandoli ad alta impedenza.

All’interno del C.I., ci sono otto circuiti Flip-Flop di tipo D, seguiti da un circuito di Buffer che può aumentare l’impedenza di uscita in modo da risultare invisibile ai circuiti che seguono.

I controlli LE e OE, agiscono contemporaneamente su tutti i Flip-Flop.

  • LE = HIGH (livello logico alto), i dati in ingresso sono trasparenti ai Flip-Flop, i dati cambiano in modo asincrono.
  • LE = LOW (livello logico basso), i dati sono memorizzati all’interno del circuito integrato.
  • OE = LOW, i dati memorizzati all’interno del C.I. sono trasferiti all’uscita del Buffer.
  • OE = HIGH, l’uscita è in Three State, in stato di alta impedenza.
4 contraves

 collegando il display LCD/I2C, ai pins A4/PC4/SDA e A5/PC5/SCL, si liberano altri quattro bit (C0, C1, C2, C3) da utilizzare con un quarto “BCB Binary Switch”.

Tra queste possibili applicazioni:

Riccardo Monti