ESERCIZI - SERIE N.1 ACQUISIZIONE DELLO STATO DI SEGNALI ON/OFF Problema: acquisizione, da parte di un'unità di elaborazione realizzata con tecnologia a funzionalità programmata, di un'informazione proveniente dal campo e codificata in uno stato logico 0 1. Punti essenziali da tener presente per un corretto interfacciamento: 1. La compatibilità elettrica tra il segnale logico fornito e i vincoli dell'interfaccia di input dell'unità di elaborazione 1.1. Tipo e livello del segnale in tensione 1.2. Riferimento di massa 1.3. Isolamento galvanico con optoisolatori 2. L attendibilità del segnale ricevuto e il problema dell immunità ai disturbi 2.1. Soluzioni Hardware: 2.1.1. Filtro passa basso 2.1.2. Comparatore con isteresi 2.1.3. Circuito antirimbalzo 2.1.4. Resistenze di pull-up o pull-down 2.2. Soluzioni Software (filtraggio algoritmico): 2.2.1. Rilievo del primo fronte 2.2.2. Rilievo a fine transitorio 3. Protezioni 3.1. Resistenza e diodi clamp 3.2. Isolamento galvanico con optoisolatori 4. Ritardo complessivo H/S nel disporre dell'informazione logica (stato) 4.1. Ritardo Hardware: tempi di commutazione, filtri 4.2. Ritardo Software: tempi d'acquisizione dello stato logico nel caso di gestione a polling e a interrupt Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 1-12
Esercizi 1) Il segnale fornito, azionando un pulsante NC (stato logico "0"), a un ingresso TTL è 5V a regime. Dimensionare un filtro di primo ordine RC che consenta l'acquisizione del livello logico "1" in 10ms. Specifiche della famiglia logica TTL. G ul = 0,4V; R il = 0,8V; G uh = 2,4V; R ih = 2,0V; I ih 1 µa ; I il = 1,6 ma; Equazione di carica del condensatore. V c = E(1- e -t/τ ); τ = RC; Progetto V c = 2,0 V; E = 5 V; t = 0.01s; e = 2,713; Fisso C = 0,1 µf; Calcolo: R =. Calcolare la frequenza di taglio del filtro: f = 1/2πRC =. Eseguire un calcolo di massima della più alta frequenza di commutazione del pulsante perché possa venire acquisito il suo stato logico da un'unità di Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 2-12
elaborazione che interroga ciclicamente l'ingresso ogni 20 ms e impiega 0,1 ms per salvarlo in una variabile interna. 2) Una scheda d'acquisizione realizzata con tecnologia TTL deve leggere un'informazione logica, codificata in un segnale in continua a 24 V, proveniente da una sorgente con resistenza interna di 100 Ω e generata da un contatto che lavora alla frequenza massima di 50 Hz. Proporre una soluzione circuitale d'interfaccia, con filtraggio HW, che garantisca l'acquisizione del segnale e dimensionare i componenti. Progetto T = 1/50 = 20 ms; Fisso: I = 1 ma; calcolo: R 1 + R 2 = V s /I - R s ; V o = 5 V; Calcolo R 2 dalla relazione: V o = R 2 V s /(R s + R 1 + R 2 ); Per il dimensionamento del condensatore vedi schema equivalente e l'esercizio N. 1. 3) Una scheda d'acquisizione realizzata con tecnologia TTL deve leggere un'informazione logica codificata in un segnale in alternata a 24V. Proporre una soluzione circuitale d'interfaccia e dimensionare i componenti. Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 3-12
- RADDRIZZATORE - Forma d'onda raddrizzata - Forma d'onda raddrizzata in presenza di filtro capacitivo Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 4-12
- Interfaccia digitale con optoisolatore 4) Una scheda d'acquisizione, la cui massa ha potenziale uguale allo zero di terra, deve ricevere un segnale logico proveniente da una sorgente la cui massa si trova isolata a un potenziale diverso dallo zero di terra. Progettare un'interfaccia che consenta la consegna del segnale. Dati: - Il BJT saturi con: I c = 12 ma; V CEsat = 0,2; CTR = I c /I d = 0,45; V cc = 5 V; V in = 10 V; V F = 1,3 V Calcolo: I d = I c / CTR =.; R = (V in - V F ) / I d =..; R c = (V cc - V CEsat ) / I c =. Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 5-12
5)Il segnale proveniente da una fotocellula varia da 1 V (minima luminosità) ad 8 V (massima luminosità). Si vuole introdurre una certa immunità ai disturbi per ridurre le commutazioni legate a perturbazioni. Si utilizza un comparatore con isteresi che deve garantire un'informazione valida, in presenza di disturbi la cui ampiezza sia inferiore a 2V. Il ciclo d'isteresi deve essere centrato alla tensione di 5V. Proporre una soluzione circuitale e dimensionare i componenti. Dati: V H = 2 V; V R = 5 V; V OH = 10 V; V OL = -10 V; Calcolo: V RL = 4 V; V RH = 6 V; Fisso: R 1 = 1 KΩ; Utilizzando le relazioni di progetto dimensiono: - Comparatore con isteresi R 2 =..; V = ; Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 6-12
- Transcaratteristica del comparatore con isteresi - Relazioni di progetto: - Circuito d'interfaccia e comportamento del trigger di Schmitt Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 7-12
4) Gli ingressi digitali di una scheda d'acquisizione realizzata con tecnologia CMOS sono protetti con diodi clamp e una resistenza. Progettare la resistenza che limiti la corrente a 5mA in presenza di sovratensioni positive o negative di ampiezza massima 100V. 5) Proporre una soluzione HW digitale per eliminare i rimbalzi prodotti dal contatto di un pulsante meccanico che, comandato, deve generare un impulso senza commutazioni spurie generate durante la transizione. Dimensionare le resistenze di pull-up (soluzione con ingressi attivi a livello basso) e di pull-down (soluzione con ingressi attivi a livello alto). Progetto: R pull-up_max = (V cc V ih ) / I ih ; R pull-down_min = V il / I il Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 8-12
- Margini di rumori per un segnale logico - Pilotaggio di una porta logica TTL - Struttura interna della porta logica AND in tecnologia TTL Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 9-12
- Ingressi logici con resistenza di pull-up o pull-down - Soluzioni HW per l antirimbalzo dei contatti meccanici Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 10-12
6) Strutturare, implementare e collaudare una funzione in C in grado di simulare l'acquisizione dello stato di un contatto meccanico con accettazione a fine transitorio. Il contatto è simulato con un tasto. - Algoritmo Pensiamo ad una tecnica di gestione di tipo time-driven, ogni 200 ms il bit_n è campionato e il segnale logico viene filtrato ed accettato a fine transitorio. - timer_bit_n => timer caricato ad ogni fine transitorio, granularità 200 ms - bit_n => valore attuale del bit - bit_np => valore del bit precedente alla chiamata della funzione #define T_MORTO 10 char acq_bit_n(int *timer_bit_n, unsigned char bit_np) { if (*timer_bit_n == 0) { - leggi bit_n; - if (bit_n!= bit_np) { *timer_bit_n = T_MORTO; stampa bit_n e bit_np; return(bit_np); } else return(bit_n); } else { - decrementa timer_bit_n (si ipotizza di usare come base dei tempi il periodo di ciclo) } } Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 11-12
void main() { char bit_n = \0 ; int timer_bit_n = 0; } do { - bit_n = acq_bit_n(&timer_bit_n, bit_n); }while(condizione uscita); Informatica Industriale N. O. Esercizi serie N. 1 - G. Rigano 12-12