# data[].attributes.headline
Esercitazione pratica di mercoledì 22 marzo 2017

# data[].attributes.subject
Esercitazione pratica di mercoledì 22 marzo 2017

# data[].attributes.body
Dopo aver completato l'esercizio di simulazione proposto dal prof. Losi, assemblate, completate la tabella e rispondente alla domanda del circuito seguente.

# data[].attributes.body
E' del tipo SAR.
Notate però la frequenza del clock .....
..... poichè il prescaler è pari a 128, il clock è 16MHz/128 = 125 KHz
.... poichè ADC è di 10 bit ed Arduino ha overhead, il tempo di ciclo del SAR è pari a 13 colpi di clock
..... quindi la frequenza di acquisizione è pari a 125 kHz/13 = 9,6 kHz
..... per il teorema di Nyquist, possiamo acquisire con ADC di Arduino segnali con frequenza massima di 4,8 kHz, ossia possiamo al massimo campionare il suono della voce (vedi slide più avanti).

# data[].attributes.headline
Automazione e regolazione con microcontrollore

# data[].attributes.subject
Automazione e regolazione con microcontrollore

# data[].attributes.body
La figura seguente illustra lo schema tipico di impiego di un microcontrollore tipo Arduino/STM32/PIC per la regolazione di un processo.

# data[].attributes.body
Se è chiara la funzione di ciascun blocco, è facile avere un'idea come il circuito lavora.
Notate che un convertitore A/D contiene sempre un convertitore D/A (varrà anche per il SAR questa osservazione).

# data[].attributes.body
Esempio di conversione. Il tempo impiegato nel caso peggiore è pari a 2^n impulsi di clock.

# data[].attributes.body
Convertitore A-D ad approssimazioni successive. A differenza del convertitore a rampa, il contatore binario è stato sostituito con da un registro binario. Ciascun bit del registro binario viene settato/resettato dal circuito di controllo.

# data[].attributes.body
Esempio di conversione. Il tempo impiegato è sempre pari ad n+1 impulsi di clock.

# data[].attributes.body
Ecco un algoritmo per realizzare il registro SAR con una logica programmabile o una FPGA.

# data[].attributes.body
Ha il vantaggio di essere molto veloce ma richiede parecchi componenti.
Per una conversione ad n bit, richiede 2n-1 comparatori.
la rete di resistori genera i gradini della quantizzazione, in questo caso 8 gradini. Il valore del segnale analogico è confrontato con tutti i gradini mediante i comparatori. Alla fine, in questo esempio, viene generata una codifica a 3 bit.
Sul libro, volume 3B, a pagina 269 viene chiamato anche "convertitore a comparatori a livello".

# data[].attributes.body
Nota che l'amplificatore è in configurazione invertente.

# data[].attributes.headline
DAC - Esempio pratico di rete pesata con resistori

# data[].attributes.subject
DAC - Esempio pratico di rete pesata con resistori

# data[].attributes.body
Se c'è +5V sul pin MSB, l'uscita è pari a -8V, ossia [(-8k/5k)x5V], mentre se c'è +5V sul pin LSB, l'uscita è pari a -1V, ossia [(-8k/40k)x5V].

# data[].attributes.body
Un esempio di rete di resistenze in parallelo ed un esempio di resistenze in serie/parallelo.
Un esempio di rete R-2R.

# data[].attributes.body
Il registro a 4 bit contiene il valore digitale che deve essere convertito. I bit controllano gli interruttori digitali della logica di output.

# data[].attributes.body
Soluzioni interattive della prova.

# data[].attributes.attachment_link.title
ITIS Marconi - Dalmine - Simulazione di terza prova del 01/03/2017 - Prof. L. Bergamaschi

# data[].attributes.attachment_link.description
Simulazione di terza prova del 01/03/2017

# data[].attributes.body
Come abbiamo visto due settimane fa, l’elemento sensibile di un
trasduttore fornisce un segnale, correlato alla grandezza fisica misurata, che è di tipo essenzialmente analogico.
Il segnale analogico generato dal trasduttore ha quasi sempre bisogno di essere manipolato o modificato per essere adattato ai sistemi elettronici di controllo (PLC, PC, regolatori di temperatura, ecc.).

# data[].attributes.body
Una categoria di segnali è costituita dai segnali numerici, detti anche segnali quantizzati, i quali risultano discreti sia nel dominio dei valori che nel dominio del tempo.

# data[].attributes.body
La discretizzazione di un segnale analogico in un segnale numerico si ottiene attraverso un processo di conversione A/D con il quale si trasforma una sequenza di valori campionati in un record di dati numerici.
Nella figura seguente si può osservare come una sequenza di campioni viene trasformata in un “record” numerico [ossia in una “serie” numerica o in un “array” numerico].

# data[].attributes.body
Sono possibili due curve di quantizzazione: la curva midtread e la curva midriser.

# data[].attributes.body
La trasformazione di un segnale analogico (continuo) in uno discreto implica una forma di approssimazione in quanto l’insieme continuo dei valori presenti nell’intervallo quantico q, viene trasformato in un unico valore binario. Questo fenomeno determina il cosiddetto errore di quantizzazione che non è evitabile in quanto implicito nel processo
stesso di conversione A/D. L’errore di quantizzazione può però essere ridotto aumentando la risoluzione del convertitore A/D come abbiamo visto due settimane fa nella app.

# data[].attributes.headline
Dinamica di un segnale e Rapporto segnale-rumore

# data[].attributes.subject
Dinamica di un segnale e Rapporto segnale-rumore

# data[].attributes.body
Si definisce range dinamico DR espresso in dB il rapporto tra il valore del fondo scala ed il valore della più piccola quantità risolvibile dall’A/D. La dinamica di un segnale espressa in dB è cioè indicata dal rapporto tra la massima ampiezza e la minima ampiezza del segnale e rappresenta l’intervallo di “ampiezza relativa” del segnale.
Il DR fornisce, in pratica, informazioni circa l’entità della più piccola escursione sinusoidale rilevabile dall’A/D senza che questa risulti limitata dal rumore di quantizzazione.
In un convertitore A/D il “rumore” è sinonimo di “disturbo”.

# data[].attributes.body
Da un punto di vista pratico, come indicato nella tabella seguente, si può anche constatare che non si ottiene alcun vantaggio nell’ aumentare il grado di risoluzione del sistema di conversione quando questo viene usato per convertire segnali affetti da elevati livelli di
rumore correndo perfino il rischio di ottenere dati privi di significato.
Per esempio non avrebbe alcun senso convertire un segnale analogico di per se affetto da un SNR di 47 db con un convertitore avente una risoluzione superiore a 6 bit.

# data[].attributes.headline
Una definizione del rapporto segnale rumore un po' diversa

# data[].attributes.subject
Una definizione del rapporto segnale rumore un po' diversa

# data[].attributes.body
Su diversi riferimenti bibliografici è riscontrabile una definizione del rapporto segnale rumore un po' diversa da quella proposta nel mio libro e così articolata (ma la sostanza non cambia):

# data[].attributes.body
il processo di quantizzazione di un segnale analogico introduce un errore detto errore di  quantizzazione in quanto il valore vero del segnale viene approssimato con quello più vicino al livello di quantizzazione. Quanto più numerosi sono i livelli (ossia i bit
disponibili per la codificazione) tanto minore è l’errore di quantizzazione.

# data[].attributes.headline
RTD1: il trasduttore PT100 utilizzato per la Robur

# data[].attributes.subject
RTD1: il trasduttore PT100 utilizzato per la Robur

# data[].attributes.body
Il trasduttore di temperatura RTD al platino, mostra delle buone caratteristiche di accuratezza e di stabilità.
L’acronimo RTD deriva dal termine “Resistance Temperature Detectors”.

# data[].attributes.body
Il coefficiente di temperatura di un trasduttore RTD è positivo, ossia si comporta in modo apposta ad un termistore NTC che dipende dalla temperatura attraverso un coefficiente negativo.

# data[].attributes.headline
RTD3: l’elemento RTD richiede di essere alimentato mediante un generatore di corrente

# data[].attributes.subject
RTD3: l’elemento RTD richiede di essere alimentato mediante un generatore di corrente

# data[].attributes.body
Nel circuito seguente è sufficiente avere a disposizione una tensione di riferimento VREF di 2,5V e due amplificatori operazionali per poter ottenere un generatore di corrente costante di 1 mA.

# data[].attributes.body
Fintanto che la resistenza dell’elemento RTD è relativamente bassa, la variazione con la temperatura della resistenza dei cavi di collegamento può influenzare il valore della misura. Per questo motivo viene utilizzato un elemento RTD a tre fili di collegamento.
Gli errori introdotti dalle resistenze Rw1 ed Rw2 sono sottratti dal circuito mediante l’amplificatore operazionale A3.

# data[].attributes.headline
RTD5: Mettiamo tutto insieme per ottenere un sistema completo per l’acquisizione di una temperatura.

# data[].attributes.subject
RTD5: Mettiamo tutto insieme per ottenere un sistema completo per l’acquisizione di una temperatura.

# data[].attributes.body
Il circuito utilizza quattro OP-AMP ed un convertitore A/D a 12
bit per realizzare un sistema completo per l’acquisizione di una temperatura.
Il guadagno pari a 6 è stato scelto in modo da adattarsi al livello di ingresso del convertitore A/D. Supponendo che la frequenza di campionamento del convertitore A/D è di 75 kHz, che è anche conosciuta come la frequenza di Nyquist, la frequenza di taglio
del filtro antialising è impostata a 10 kHz. In questo modo il filtro può attenuare con un buon margine il segnale prima della metà della frequenza di Nyquist.
Il convertitore A/D è un convertitore ad approssimazioni successive (SAR) a 12 bit ed è interfacciato con un microcontrollore ma potete collegarlo direttamente all'ingresso analogico di Arduino o ad una scheda di LabView o ad un PLC.

# data[].attributes.headline
Per esercitazione di domani mercoledì 15/02/2017

# data[].attributes.subject
Per esercitazione di domani mercoledì 15/02/2017

# data[].attributes.body
Costruiremo il nostro oscilloscopio per catturare il segnale proveniente dal nostro circuito per i segnali mioelettrici sEGM.
Saremo in grado di visualizzare sul PC un grafico con l'andamento dell'ingresso analogico AN0. Invieremo al PC un array di byte tramite la porta seriale di Arduino e, con Processing, ne visualizzeremo il grafico. La stessa cosa la rifarete nelle successive ore della mattinata nel laboratorio di sistemi con LabView, in modo che possiate confrontare le due architetture di acquisizione (SAR e microcontrollore).

Processing è un linguaggio di programmazione molto potente.

Per creare un oscilloscopio virtuale, il procedimento è piuttosto semplice: su Arduino, andiamo a caricare uno sketch che si limita a inviare un segnale sul pin 0 – il pin RX della scheda, quello adibito alla trasmissione dati (per intenderci, è il pin da cui “riceviamo” le informazioni del monitor seriale).

Una volta impostato Arduino per inviare informazioni, andremo a scrivere il codice per Processing, che dovrà ricevere i dati e mostrarli graficamente in tempo reale.

Dovrete però stare attenti ad applicare il partitore corretto all'ingresso di Arduino per non far assumere al segnale un valore compreso tra 0 e 5 volt.

Ho trovato queste tre versioni di oscilloscopi, di difficoltà crescente, che possiamo utilizzare nello studio dei segnali analogici provenienti dai sensori sEGM.

Buon lavoro !

# data[].attributes.body
Creazione dell’interfaccia uomo-macchina-impianto per la gestione settimanale delle accensioni con controlli di performance e comunicazione degli errori con segnalazione via web-app o sms di anomalie. L’impianto sarà collocato nell’area verniciatura.

# data[].attributes.body
L’IEC (International Electrotechnical Commision) definisce il sensore come “l’elemento primario di una catena di misura, che converte la variabile di ingresso in un segnale adatto per la misura” mentre definisce il trasduttore come “il dispositivo che accetta una informazione nella forma di una variabile fisica in ingresso e la converte in una variabile di uscita della stessa o di diversa natura, in accordo ad una legge definita”.

# data[].attributes.body
il trasduttore può essere formato dall’insieme di:
- elemento captatore di acquisizione (sensore vero e proprio);
- elemento di condizionamento (alimentazione, amplificazione, compensazione, linearizzazione, autotaratura, offset, ecc.) in genere realizzato mediante OP-AMP;
- elemento di elaborazione in genere realizzato mediante OP-AMP o con microprocessori.

# data[].attributes.body
Si può tentare una classificazione dei sensori secondo:
a) la natura della grandezza fisica misurata;
b) il principio di funzionamento;
c) il tipo di segnale di uscita;
d) la completezza e la complessità dell'informazione fornita;
e) l’impiego caratteristico.

# data[].attributes.body
Se si osservano i valori adottati nel segnali standard per individuare lo zero della grandezza da misurare, si scopre che sono state operate due scelte distinte:
- valore nullo del segnale in uscita quando la grandezza misurata è nulla (0 V, 0 mA)
- valore diverso da zero del segnale in uscita quando la grandezza misurata è nulla (1 V, -10 V, 4 mA).

# data[].attributes.headline
Caratteristiche metrologiche generali e di regime stazionario -1-. 

# data[].attributes.subject
Caratteristiche metrologiche generali e di regime stazionario -1-. 

# data[].attributes.body
Le caratteristiche metrologiche sono l’insieme delle informazioni necessarie a correlare l’uscita del sensore alla grandezza di misura. Esse sono suddivise in due gruppi, le  caratteristiche metrologiche generali e di regime stazionario e le caratteristiche  metrologiche di regime dinamico.

# data[].attributes.headline
Caratteristiche metrologiche generali e di regime stazionario -2-.

# data[].attributes.subject
Caratteristiche metrologiche generali e di regime stazionario -2-.

# data[].attributes.headline
Caratteristiche metrologiche generali e di regime stazionario -3-.

# data[].attributes.subject
Caratteristiche metrologiche generali e di regime stazionario -3-.

# data[].attributes.headline
 Caratteristiche metrologiche di regime dinamico. 

# data[].attributes.subject
 Caratteristiche metrologiche di regime dinamico. 

# data[].attributes.body
È essenziale la conoscenza delle caratteristiche dinamiche di un trasduttore per poter valutare se è in grado di effettuare la misura su una grandezza variabile nel tempo. Se la grandezza da misurare subisce delle variazioni con tempi caratteristici più rapidi del tempo minimo di risposta del trasduttore, il trasduttore non è in grado di seguirne l’evoluzione.

# data[].attributes.body
Sistemi di acquisizione di dati

# data[].attributes.body
Linearizzazione/compensazione, amplificazione, limitazione di banda

# data[].attributes.body
Acquisizione di un segnale mediante un convertitore ad approssimazioni successive

# data[].attributes.body
Acquisizione di un segnale utilizzando A/D del microcontrollore

# data[].attributes.body
Cella di carico a compressione

# data[].attributes.headline
Acquisizione di segnali mioelettrici per il controllo di protesi meccaniche

# data[].attributes.subject
Acquisizione di segnali mioelettrici per il controllo di protesi meccaniche

# data[].attributes.body
Quando un muscolo scheletrico deve compiere un movimento il cervello invia un impulso elettrico che tramite i nervi raggiunge le fibre muscolari interessate al movimento. Questo impulso, detto in gergo segnale mioelettrico, ha queste caratteristiche:
- Ampiezza: 0-5 mV;
- Range di frequenza: 0-500 Hz;
- Frequenze dominanti nel range: 50-150 Hz.
Ci sono tre range di frequenze in cui il rumore può essere presente:
a) 0-10 Hz: segnale a bassa frequenza per il movimento degli arti (nervi);
b) 50-60 Hz: disturbi della linea (ad esempio equipaggiamenti elettrici nella stanza);
c) > 500 Hz: disturbi ad alta frequenza (esempio movimenti casuali relativi tra elettrodi e muscolo).

# data[].attributes.headline
Simulazione circuito per acquisizione segnali mioelettrici

# data[].attributes.subject
Simulazione circuito per acquisizione segnali mioelettrici

# data[].attributes.body
Caso 2 (sweep del generatore di segnali)

# data[].attributes.headline
Simulazione circuito per acquisizione segnali mioelettrici

# data[].attributes.subject
Simulazione circuito per acquisizione segnali mioelettrici

# data[].attributes.body
Caso 1 (frequenza da impostare a mano)

# data[].attributes.headline
L’amplificatore differenziale a guadagno finito.

# data[].attributes.subject
L’amplificatore differenziale a guadagno finito.

# data[].attributes.body
Gli amplificatori differenziali a guadagno finito realizzati con operazionali (conosciuti anche come  amplificatori per strumentazione) sono usati molto spesso nella strumentazione e nelle applicazioni
industriali per amplificare la differenza tra due segnali di ingresso come, per esempio, le uscite di un ponte di Wheatstone.

# data[].attributes.headline
Studio del circuito con il solo effetto di V1.

# data[].attributes.subject
Studio del circuito con il solo effetto di V1.

# data[].attributes.body
Nella figura è illustrato il circuito nel caso in cui il segnale V2 è posto a zero (utilizzando il principio di sovrapposizione degli effetti). Tale circuito è assimilabile alla configurazione classica invertente.

# data[].attributes.headline
Studio del circuito con il solo effetto di V2.

# data[].attributes.subject
Studio del circuito con il solo effetto di V2.

# data[].attributes.body
Se è soppresso il segnale V1 il circuito funziona come un amplificatore non invertente rispetto a VP. Nella figura 3 è illustrato il circuito nel caso in cui il segnale V1 è posto a zero (utilizzando il principio di sovrapposizione degli effetti).

# data[].attributes.headline
La tensione di uscita VO è pari alla somma dei due contributi VO1 e VO2 (ossia VO=VO1+VO2)

# data[].attributes.subject
La tensione di uscita VO è pari alla somma dei due contributi VO1 e VO2 (ossia VO=VO1+VO2)

# data[].attributes.body
L’equazione stabilisce che l’uscita è ancora una combinazione lineare degli ingressi ma con coefficienti di polarità opposti poiché un segnale è applicato all’ingresso invertente e uno all’ingresso non invertente
dell’amplificatore operazionale.

# data[].attributes.body
L’amplificatore differenziale a singolo operazionale illustrato nelle precedenti immagini è riassunto nella mappa seguente. La sua impedenza di input è relativamente bassa e richiede di considerare l’impedenza del sensore nel calcolo del guadagno.

# data[].attributes.headline
Amplificatore di strumentazione con tre operazionali.

# data[].attributes.subject
Amplificatore di strumentazione con tre operazionali.

# data[].attributes.body
L’amplificatore di strumentazione utilizza tre operazionali. Il circuito illustrato nella figura ha una elevata impedenza in ingresso. Inoltre, la resistenza della sorgente in ingresso non gioca alcun ruolo nel calcolo del guadagno.

# data[].attributes.headline
Amplificatore di strumentazione con due operazionali.

# data[].attributes.subject
Amplificatore di strumentazione con due operazionali.

# data[].attributes.body
Anche questo amplificatore di strumentazione, illustrato nella figura, ha in ingresso un valore elevato di impedenza come il circuito precedente ma richiede un operazionale in meno. In questo circuito l’impedenza della sorgente non gioca alcun ruolo nel calcolo del guadagno.
N.B.: ricordatevi di correggere la formula così come vi ho detto a lezione (mettere 2x davanti all'ultimo termine R2/Rg). Sorry