Sensore di distanza CapSensor
Il sensore può essere un qualunque oggetto conduttivo, anche di forma non regolare, una semplice piastra di rame o di alluminio, una antenna, un filo da elettricista o un sensore fatto con il nastro di rame adesivo.
Il sensore deve essere connesso al pin marcato “Sensor” di un modulo CapSensor, con un filo non schermato e non molto lungo (da qualche centimetro a qualche decina di centimetri al massimo)
Il pin marcato “GND” può essere lasciato libero oppure connesso ad una massa metallica di riferimento che in alcuni casi può stabilizzare la misura, ridurre il rumore e aumentare la distanza massima usabile. La massa di riferimento deve essere connessa con un filo. Il filo di connessione deve essere non più lungo di qualche decina di centimetri. La massa non deve essere affacciata al sensore o troppo vicina ad esso perché altrimenti la capacità del sensore aumenterebbe troppo e il raggio di azione si ridurrebbe.
La superficie del sensore può andare da pochi centimetri quadri fino a oltre un metro quadro. Con sensori grandi si ottiene un raggio di azione di molti metri, con sensori piccoli il raggio di azione si riduce a poche decine di centimetri.
Il sensore e il suo filo di connessione devono essere posizionati lontano da parti metalliche e da circuiti elettronici, che possono creare disturbi. In genere la distanza da rispettare è paragonabile al raggio di azione desiderato.
Se si usano contemporaneamente più CapSensor allora i loro sensori devono essere lontani uno dall’altro di una distanza paragonabile al loro raggio di azione. Se li si avvicina troppo, può accadere che si influenzino tra loro. Si può verificare se si sono agganciati tra loro, controllando se le loro frequenze sono identiche (le frequenze si leggono nelle proprietà dei pin del programma HAL). Per evitare che due sensori adiacenti si influenzino è possibile applicare un condensatore da 15pF (NPO) tra i terminali GND e Sensor, su uno solo di essi (se sono due soli), oppure su tutti i sensori dispari (se sono molti)
Funzionamento del CapSensor
Il funzionamento è basato su una misura iniziale chiamata “calibrazione” che memorizza il valore di capacità del sensore in condizioni di riposo.
In seguito l’avvicinarsi di qualunque oggetto conduttivo, una mano o un oggetto metallico, aumenta la capacità del sensore di una quantità molto piccola proporzionale alla distanza tra sensore e oggetto.
Per mezzo di un FET a basso rumore e di un convertitore ADC a 24 bit gli slaves di tipo CapSensor riescono a misurare con precisione variazioni di capacità piccolissime, anche inferiori al millesimo di PicoFarad, e forniscono al software di misura un valore digitale molto preciso e stabile.
Il software di misura, che si trova nel programma HAL, tenendo conto del valore di calibrazione, delle capacità parassite e delle leggi fisiche che legano aree, distanze e capacità elettriche, effettua un calcolo molto complesso che trasforma i dati grezzi in un valore di distanza abbastanza lineare.
Il CapSensor è meno preciso e meno lineare di un sensore di distanza a ultrasuoni ma ha una proprietà unica, la gradualità della misura di distanza che non può in nessun modo “saltare” tra due valori.
La gradualità e la velocità di risposta dei CapSensor non sono ottenibili con nessun altro sensore. Solo con i CapSensor è possibile guidare suoni e video in modo sempre lineare e piacevole.
La versione HS è identica tranne una piccola modifica nel firmware che produce una risposta più veloce quando si muove la mano velocemente. Questa proprietà è apprezzata da chi suona il theremin.
Sensori di distanza Sharp a infrarossi
Questi sensori usano i raggi infrarossi, collimati in un fascio molto stretto con una lente e misurano la distanza tra sensore e bersaglio con il metodo della triangolazione.
Per i particolari consultare la pagina: hardware/sensors/sharp-sensors
Sensori di distanza a ultrasuoni
Per la misura precisa di tempi generati da questo modulo che vanno da qualche micro secondo a 30 mS si deve usare il tipo di pin “Usound_sensor” disponibile su tutti i pin del Master oppure sul pin 9 dei moduli “Servo”.
Se si usa il Master, per cambiare PIN si deve disabilitare il precedente, prima di configurare un altro pin come Usound_sensor.
Fare attenzione all’ordine dei fili, che è differente tra i moduli tipo “SRF05” e i connettori standard del sistema Theremino.
SRF05sensor: GND Signal +5V Theremino: GND +5V Signal
Questo modulo consuma solo 4 mA, se ne possono collegare un gran numero a un sistema Theremino con alimentazione da USB.
Noi abbiamo provato solo lo SRF05, ma tutti i sensori della serie SR, dovrebbero andare bene. Prima di acquistarli fate attenzione che abbiano una interfaccia universale, e non una interfaccia particolare, ad esempio per il sistema “Grove”, o una seriale oppure una I2C. Controllare anche che segnali e tensioni siano gli stessi dello SRF05.
Maggiori informazioni qui:
SRF05: http://www.robot-italy.com/en/low-cost-ultrasonic-range-finder-1.html
SRF04: http://www.robot-italy.com/en/low-cost-ultrasonic-range-finder.html
– – – – – – –
Un nuovo sensore che costa pochissimo, lo HC-SR04
Questo sensore si trova su eBay per meno di cinque Euro, spedizione compresa, e ha quasi le stesse caratteristiche di quelli da 20 Euro.
Lo abbiamo provato e va peggio dello “SRF05”, è più instabile, saltella tra la distanza giusta e la massima e non arriva a 3 metri.
Un ulteriore problema dello HC-SR04 è che ha i collegamenti TRIG e ECHO separati. Per cui si deve collegarli tra loro con un partitore resistivo per abbassare la tensione di uscita da 5 Volt ai 3,3Volt del sistema Theremino. Quindi si utilizza il solo collegamento TRIG. (fare click sulla immagine per ingrandirla)
Questa modifica con due resistori è stata provata e funziona bene. Non usate resistori di valore diverso da quelli indicati. Il rapporto tra i due resistori va mantenuto e non si deve salire troppo di resistenza. (al massimo si potrebbero usare 1.2k e 2.2k oppure 1.5k e 2.7k) Anche qui ringraziamo Mauro per aver insistito nelle prove fino a farlo funzionare.
Ringraziamo Mauro Riboni per averci fatto conoscere lo HC-SR04 e per l’dea della applicazione “radar”
Un video della prima versione: http://www.youtube.com/watch?v=Yw1YPpPC9Ww
Un video del ThereminoRadar versione 1.2: http://www.youtube.com/watch?v=FsW4qwXvpB4
Maggiori informazioni sul prototipo di Mauro nel Blog sulla robotica: blog/robotics-and-cnc
Il download di TheremioRadar: downloads/automation#radar
– – – – – – –
Aggiornamento del 2021
Gli HC-SR04 funzionano male e c’è già da ringraziare quando funzionano, perché molti non funzionano proprio. Numerose ditte li copiano una dall’altra e ogni volta che copiano sbagliano qualche componente, così a forza di errori accumulati non funzionano quasi più.
Consigliamo quindi di utilizzare al loro posto gli HY-SRF05 (economici anche loro), collegandoli secondo lo schema seguente.
Caratteristiche generali per tutti i sensori
Sono misurabili distanze da 1 cm a oltre 4 mt
Ampiezza del fascio fascio di circa 30..50 gradi.
La risoluzione del nostro firmware è circa 0.1 mm ma i sensori a ultrasuoni, anche i migliori e nelle migliori condizioni ambientali, non scendono sotto il millimetro.
ATTENZIONE: La distanza massima non è sempre raggiungibile. Tutti i sensori di distanza a ultrasuoni hanno un fascio abbastanza largo e che si fa ingannare facilmente da ostacoli e riflessioni del segnale. La effettiva precisione di misura dipende da molti fattori e in alcuni casi si possono ottenere misure completamente sbagliate. Questo non è dovuto a difetti dei moduli del sistema Theremino ma a una debolezza intrinseca al metodo di rivelazione a ultrasuoni. Per fare misure precise si dovrebbero usare i misuratori di distanza a infrarossi (SHARP), o meglio ancora quelli con tecnologia laser.
Ridurre la ampiezza del fascio
L’ampiezza del fascio di ultrasuoni è di circa 60° (curva rossa), ma può essere facilmente ridotta a 30° (curva verde), con completa eliminazione dei lobi laterali, con due tubi di materiale morbido che sporgono di circa 10 mm oltre la sommità dei sensori.
Articolo originale e caratteristiche di attenuazione presso:
http://www.robot-electronics.co.uk/htm/reducing_sidelobes_of_srf10.htm
Migliorare i sensori a ultrasuoni
Tutti i sensori a ultrasuoni, anche i migliori, ogni tanto perdono il segnale. A volte le riflessioni creano interferenze distruttive e la distanza misurata salta improvvisamente su una misura diversa. Questo problema assomiglia ai segnali radio, che in certi punti si affievoliscono fino a mancare. E la soluzione che abbiamo trovato è la stessa che si usa con il WiFi, cioè raddoppiare o triplicare le antenne.
Fino ad ora (primi mesi del 2021) eravamo convinti che non si potessero utilizzare gli ultrasuoni per compiti “delicati”, come ad esempio usare la applicazione Video Player per far scorrere un video avanti e indietro, quando un visitatore si avvicina a un quadro sulla parete. Poi, durante le ricerche di un metodo sicuro e affidabile per rallentare i COBOT all’avvicinarsi di un umano, abbiamo provato ad aumentare il numero di sensori.
Il risultato è notevole, già con due sensori i “saltelli” spariscono quasi completamente. E dato che i sensori costano pochi Euro, se ne possono utilizzare tre o anche cinque, ottenendo così una altissima affidabilità e un segnale perfettamente stabile.
Usare più sensori (e il firmware che abbiamo scritto ne supporta fino a 17), permette anche di posizionarli e dirigerli in modo da allargare la zona sensibile. Si possono quindi sentire i visitatori anche se arrivano dai lati, o anche da dietro come può accadere con i nostri COBOT.
Con il nostro firmware si riescono a resuscitare anche i sensori più scarsi e difettosi (HC-SR04), che altrimenti sarebbero totalmente inaffidabili. Consigliamo comunque di utilizzare sensori economici ma di qualità migliore, cioè gli HY-SRF05.
Per collegare molti sensori ci vuole un modulo con molti Pin, possibilmente economico e piccolo, in pratica un Arduino NANO (cercate quelli con il CH340 che vanno meglio).
Il firmware che abbiamo scritto è molto curato, legge fino a 17 Pin di ingresso per i segnali degli echi di ritorno. Ottiene la massima precisione e affidabilità utilizzando un sofisticato meccanismo di “interrupt on change” su tutti i pin di ingresso e riesce anche a individuare e correggere i campionamenti difettosi.
Il singolo segnale risultante è la misura in millimetri dell’oggetto più vicino.
Per far funzionare questo sistema dovrete:
– Installare in Arduino la libreria Theremino (se non c’è già)
– Caricare il firmware Theremino_USOUND.ino con l’editor di Arduino
– Scegliere i PIN da utilizzare (FirstEchoPin e LastEchoPin) nella zona “INITIALIZATIONS”
– Collegare il Nano, scegliere la porta COM giusta e programmarlo.
– Aprire la applicazione ArduHAL e controllare che veda i PIN (eventualmente leggere questa pagina)
– Impostare il primo PIN (Pin zero) come Gen_in_float
Poi facendo doppio click sul primo Pin, si apre il piccolo oscilloscopio dell’HAL e si può verificare che il sistema funzioni bene, muovendo una mano davanti ai sensori.
DOWNLOAD DEL FIRMWARE E DEL SOFTWARE
Il file ZIP da scaricare contiene il firmware per Arduino Nano, la applicazione ArduHAL e la libreria Theremino per far comunicare l’Arduino Nano con la applicazione ArduHAL via USB. Leggete le spiegazioni per ArduHAL in questa pagina.
Download di Theremino USOUND
Theremino_USOUND.zip
Per tutti i sistemi Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.
Tastiere capacitive e sensori di prossimità
I tasti di tipo CapTouch si collegano ai “Pin” del sistema Theremino con un filo elettrico o con una pista su un circuito stampato, come PinType si sceglie “Cap_8”, oppure “Cap_16”. Per maggiori informazioni consultare il datasheet del modulo ThereminoMaster e la documentazione della applicazione ThereminoHAL.
Ogni tasto è composto da una piastrina di materiale conduttivo. Le piastrine sono normalmente di dimensioni adatte ad essere toccate con un dito ma possono anche essere molto piccole, molto grandi e di qualunque forma come, ad esempio, i tasti di un pianoforte o i petali di un fiore.
Se si usa una piastra di circuito stampato è bene tenere il rame sulla faccia superiore, si copre poi il tutto con un foglio di carta stampata con il disegno dei tasti ed infine con un foglio di plastica trasparente sottile per avere una superficie impermeabile e facile da pulire.
I cursori di tipo “slider” si compongono con forma “multi-triangolare” che è sensibile ai movimenti in direzione verticale ma che presenta una sensibilità molto bassa ai movimenti in direzione laterale (la forma multi-triangolare è un nostro miglioramento rispetto alle soluzioni Microchip che sono più complesse, poco lineari, e con risposta ai movimenti meno simile ad un vero “slider”)
I controlli che agiscono su due assi, come un mouse, richiedono quattro piastre “multi-triangolari” rivolte nelle quatto direzioni e un software particolare per comporre i quattro valori in due assi X/Y ed un asse Z che rappresenta la altezza.
La tecnologia CapTouch può anche sostituire i classici “sensori di prossimità” molto usati nei controlli industriali ma con un costo minore, un’area sensibile di qualunque forma ed una sensibilità regolabile.
– funzionano anche attraverso uno strato di carta o plastica spesso molti millimetri
– i fili possono essere abbastanza lunghi e non devono essere schermati
– i pulsanti non soffrono di disturbi radio
– hanno una risposta velocissima (qualche millisecondo)
– non producono rimbalzi
– costano molto meno dei pulsanti meccanici
– non patiscono l’umidità
– uno slave di tipo “Servo” ne può leggere otto in modo diretto (uno per pin)
– con tecniche di incrocio si possono leggere fino a 36 tasti con un solo modulo slave di tipo “Servo”
Sensori di prossimità capacitivi per piccole distanze
Questi sensori usano la tecnologia capacitiva, come i precedenti CapTouch e CapSensor, ma hanno un funzionamento di tipo “Acceso o Spento”.
I sensori proposti qui in precedenza davano problemi. Il chip MTCH101 non funzionava secondo le caratteristiche dichiarate nel suo data-sheet per cui lo abbiamo abbandonato.
Si consiglia quindi di usare al suo posto il TTP223 che è reperibile per pochi euro su eBay e su Amazon.
Tensione di alimentazione
I 5 Volt in arrivo dalla USB non sono molto stabili e questo sensore potrebbe funzionare male (scattare a volte anche da solo). Inoltre alimentandolo con 5 Volt, il segnale di uscita sarebbe di 5 Volt e manderebbe il Master in protezione. Quindi si dovrebbe abbassare il segnale di uscita da 5 volt a 3.3 volt, con un partitore da 2.2 k in serie al segnale e poi un resistore da 4.7 k verso massa. Per cui consigliamo di alimentare questo sensore con i 3.3 volt stabilizzati dal Master.
Caratteristiche
- Rivelazione di superfici metalliche a distanze fino a dieci centimetri. Aumentando l’area delle parti sensibili si ottiene un aumento della distanza di rivelazione (circa un centimetro di distanza per ogni centimetro quadro di area).
- Deve essere connesso a un Pin standard, configurato come DigIn.
- Deve essere alimentato con tensione stabilizzata, quindi è bene collegarlo ai 3.3 Volt disponibili su alcuni Pin del Master.
Vantaggi di questa soluzione
- Si possono collegare con tre fili ai Pin e i tre fili possono essere molto lunghi, anche decine di metri.
- Si collegano a Pin di tipo digitale (DigIn) e quindi tutti i Pin sono validi (dodici sul Master e dieci sugli Slave Servo)
- Costano meno dei CapSensor.
Sensori di luce
Molti tipi di sensori di luce, fotodiodi e fotoresistori sono facilmente collegabili agli ingressi standard del sistema Theremino.
Per i particolari consultare la pagina: hardware/sensors/light-sensors
Encoders
Gli encoder leggono la posizione angolare di un perno, come i potenziometri, ma il numero di giri è illimitato.
Esistono encoder simili a piccoli potenziometri (i più noti sono i KY-040 delle seguenti immagini). Questi modelli sono meccanici e forniscono 18, 20 o 24 impulsi per giro, a seconda del costruttore. Il firmware ricava da questi impulsi 72, 80 o 96 posizioni angolari per ogni giro.
Altri encoder, ottici o magnetici, hanno un numero impulsi per giro molto elevato (600, 2400 e oltre). Con essi si deve limitare la velocità di rotazione per non superare la massima velocità di lettura consentita dai Pin di tipo Encoder (circa 10 KHz e anche meno se il micro-controllore è sovraccarico).
Le due fasi, qui indicate con CLK e DT, si collegano a una coppia di Pin configurati come Encoder_A e Encoder_B. Scambiando i due fili si inverte il senso di rotazione.
Gli encoder meccanici possono facilmente generare impulsi aggiuntivi o mancanti, a causa dei rimbalzi dei contatti. Per migliorare il funzionamento degli encoder KY-040 mostrati nelle immagini, si consiglia di:
- Sostituire i due resistori SMD da 10 Kohm, con due condensatori da 100 nF
- Configurare i due Pin come Encoder_A_Pu e Encoder_B_Pu
- Non collegare l’encoder al 5 Volt, o al 3.3 Volt, dei Pin del Master
- Collegare il terminale “+” a “GND” (per collegare a massa i due condensatori)
Questa soluzione ha il vantaggio di non doversi preoccupare di quale tensione di alimentazione fornire all’encoder.
Chi invece volesse utilizzare lo schema originale con i due resistori da 10K, dovrebbe fare attenzione a fornire il 3.3 Volt (non il 5 Volt) al terminale “+” dell’encoder. Dovrebbe aggiungere due condensatori da 100 nF. E infine dovrebbe configurare i Pin come Encoder_A e Encoder_B (senza “Pu”).
Encoders ottici o magnetici
Gli encoder ottici o magnetici hanno generalmente un numero di passi per giro molto alto. Si deve quindi progettare la meccanica con attenzione, in modo da non superare il limite di alcuni KHz dei Pin di tipo “Encoder”.
Per applicazioni che richiedono grande velocità e precisione si dovranno usare adattatori commerciali come quello mostrato nella immagine. Con questi adattatori la frequenza massima di conteggio sale a circa 1 Mhz, ma anche il costo sale in proporzione. Gli adattatori commerciali costano circa 50 Euro per ogni asse. Invece con un Theremino Master, il costo per asse è circa 2 Euro.
Fare attenzione che molti encoder ottici vanno alimentati a 5 Volt e i loro segnali di uscita vanno da 0 a 5 Volt. Quindi superano la tensione massima degli ingressi del Master. Superando i 3.3 Volt i Master non si danneggiano ma perdono la comunicazione con l’USB e si deve premere “Riconosci” per riavviarli. Si possono collegare direttamente i segnali solo se le uscite dell’encoder sono Open-Collector. Altrimenti ci sono le seguenti tre soluzioni:
1) Si interpone un resistore da 100k in serie e ogni segnale (vicino al Master) e si impostano gli ingressi senza pull-up (Encoder_a senza _pu).
2) Si interpone un diodo 1N4148 su ogni filo di segnale, con la fascetta verso l’encoder e si impostano gli ingressi con pull-up (Encoder_a_pu).
3) Si utilizzano gli ingressi 7 e 8, che tollerano segnali da 5 Volt. Questa è la soluzione più pulita, inoltre sullo stesso connettore a cinque poli sono disponibili anche la massa (GND), la alimentazione (+5V) e un ingresso aggiuntivo (9), che si può usare per collegare anche il segnale “Indice” dell’encoder.
Solitamente gli encoder hanno i fili con colori standardizzati quindi, se si utilizzano gli ingressi 7, 8 e 9, li si dovrebbe collegare come nella seguente tabella:
GND ---- Nero 7 ------ Verde (A) 8 ------ Bianco (B) 9 ------ Giallo (Index) +5V ---- Rosso
Leggere il segnale degli encoder
Tutti gli ingressi di conteggio del Master (Encoder_a, Encoder_a_pu, Counter, Counter_pu, Fast_counter e Fast_counter_pu) generano in uscita un valore limitato tra zero e 65535 (16 bit in totale). Quando si supera il valore 65535 si riparte da zero e quando si scende sotto allo zero si riparte da 65535. Questo meccanismo permette a molte applicazioni di leggere il valore in modo asincrono. Le applicazioni possono essere impegnate a fare altro e non sono tenute a registrare ogni variazione del valore. Basta leggere il valore periodicamente, almeno qualche volta ogni secondo, per non perdere mai il passo.
La applicazione Theremino Counter Reader mostra come leggere correttamente gli encoder e i contatori.
Progetti semplici possono usare Theremino CounterReader, per leggere un encoder da uno slot e scrivere il valore su un altro, ma applicazioni importanti dovrebbero usare la classe “CounterReader”. In questo modo avrebbero accesso alla funzione ReadValue, da chiamare periodicamente e alla funzione Reset che permette di azzerare il valore in ogni momento (quello che viene fatto dal pulsante “Set Zero” del Counter Reader).
Dalla versione 1.2 in poi è possibile utilizzare encoders con conteggio massimo di 65535, 4095 o 255 impulsi. La possibilità di impostarlo a 4095 impulsi permette di leggere gli encoder magnetici dei servo Feetech in modo da ottenere uno spazio multi-giri virtualmente illimitato. Vedere anche la applicazione Theremino_Modbus e la pagina dedicata ai servo Feetech (in pubblicazione nel dicembre del 2020).
Download di Theremino CounterReader V1.2
Theremino_CounterReader V1.2_WithSources
Per tutti i sistemi Windows a 32 e 64 bit. Per Raspberry Pi, Linux, Android e OSX, leggere le note di installazione.
Potenziometri
Tutti i trasduttori che si comportano come un potenziometro, possono essere collegati ai PIN del sistema Theremino e letti immediatamente. Per il “PinType”, si sceglie Adc8 o Adc16 (Adc16 = maggiore precisione).
Qui si trovano esempi (con ottimi prezzi) di potenziometri classici e di sensori di vario tipo, che si comportano come potenziometri:
www.sparkfun.com_Membrane_Potentiometers
www.sparkfun.com_Flex_Sensors
Anche i trasduttori lineari sono collegabili direttamente. (controllare che siano dei potenziometri da 1k a 100k, in caso di dubbi inviateci il DataSheet prima di comprarli)
– – – – – – –
Esistono molti Joysticks analogici perfetti per il sistema Theremino.
Il modello di questa immagine è facile da collegare e dispone anche di un pulsante a pressione. Lo si trova facilmente su eBay per meno di 5 Euro (cercare: Analogue Joystick Controller).
Esistono anche joysticks analogici molto più piccoli (per la playstation) o molto grandi (con quattro potenziometri laterali). Fare attenzione che potrebbe essere difficile montarli meccanicamente e collegare i fili ai potenziometri. Controllare sempre che siano analogici.
– – – – – – – –
Potenziometri e trasduttori devono essere alimentati con tensione di 3.3 volt. Questo per non inviare tensioni superiori a 3,3Volt ai PIN di input e per ottenere la giusta escursione da zero al massimo, leggendoli con i PIN configurati come Adc16.
Per ottenere i 3.3 Volt potrebbe bastare un resistore tra il +5V e il potenziometro, calcolato in base al valore resistivo del potenziometro per ottenere 3.3 volt. Questo metodo però avrebbe due difetti: il primo è che il 5 volt derivato dalla porta USB è piuttosto rumoroso e può cambiare anche di mezzo volt da un computer all’altro. Il secondo difetto è che il valore di resistenza reale del potenziometro spesso è abbastanza diverso da quello teorico per cui la tensione effettiva non sarà di 3.3 volt esatti e non si riuscirà ad arrivare al massimo oppure ci si arriverà prima del fondo corsa. Per evitare questi problemi sarebbe meglio alimentare il potenziometro con tensione regolata a 3.3 volt, vedere ad esempio quello illustrato alla fine di questo documento.
Per alimentare i potenziometri si consiglia di collegare i due estremi del potenziometro alle connessioni 3.3 Volt e GND della presa ICSP-AUXpins e il polo centrale alla connessione SIG del PIN di ingresso, come visibile nelle immagini seguenti:
Questa immagine si riferisce al collegamento dei “ribbons” (usati nel ThereminCello) ma il principio è valido per tutti i sensori, che si comportano come un potenziometro.
Questa immagine si riferisce al collegamento dei Trasduttori Lineari, ma il principio è valido per tutti i sensori, che si comportano come un potenziometro.
ATTENZIONE: Assicurarsi che il centrale del potenziometro (2), sia collegato a un polo “SIG”, di uno dei PIN del sistema Theremino. Se si collega il centrale del potenziometro a “GND” oppure a “3,3V”, il potenziometro può scaldare e rovinarsi!!!
Invece i due estremi del potenziometro (1) e (3), che portano la alimentazione (+3.3Volt) e (GND), possono essere scambiati tra loro senza danni. Scambiare (1) con (3) può servire, per invertire la misura rispetto alla direzione di movimento.
Molti potenziometri possono essere collegati in parallelo ai poli 3.3 e GND. Ma ogni potenziometro deve avere il suo filo centrale (2) separato e collegato a un polo “SIG” separato.
Il valore resistivo dei potenziometri non è critico. Tutti i costruttori di trasduttori lineari usano valori da 1k a 100k, quindi dovrebbero andare tutti bene. (anche valori inferiori a 1k e superiori a 100k potrebbero funzionare, ma nel primo caso si consumerebbe troppa corrente e nel secondo si avrebbe poca linearità e un incremento dei disturbi captati dai fili)
Un potenziometro potrebbe anche essere usato come resistore variabile, se lo si usa con due soli terminali (lasciando libero uno degli estremi). Questo tipo di connessione comporta come vantaggio la semplicità, due soli fili e niente alimentazione. Come svantaggio però, per usare esattamente tutto il range di valori (normalmente da 0 a 1000), si dovrebbe usare un potenziometro da 50 Kohm precisi. Per cui normalmente si userà un potenziometro da 47 Kohm, che produce valori tra 0 e 940, con un certo margine prima del massimo e infine si dovrà correggere l’escursione in software.
Resistori variabili
Molti trasduttori si comportano come resistori variabili, ad esempio i Foto-Resistori e i resistori variabili con la temperatura (PTC o NTC)
I resistori variabili si connettono tra massa e segnale (i due estremi del PIN di input) lasciando libero il filo centrale che porta la alimentazione. Come tipo di Pin si sceglie Res_8 o Res_16.
Per produrre una buona escursione con i PIN configurati come Res8 o Res16, il valore del resistore dovrebbe variare da valori molto bassi a circa 50 kohm.
Collegare i Force Sensitive Resistors
Non si tratta di sensori per fare bilance ma, ad esempio, per sentire la pressione in un ThereminCello, posizionandoli sotto al potenziometro della nota (solitamente un Ribbon).
Questi sensori hanno in genere una resistenza molto alta (circa 1 Mega Ohm) quando non sono premuti e la loro resistenza scende con andamento logaritmico, aumentando la pressione, fino ad arrivare a qualche centinaio di ohm, quando premuti con forza (circa 1 Kg)
La loro variazione di resistenza è perfetta per poterli collegare direttamente ai nostri PIN. Si collegano tra SIGNAL e GND, lasciando inutilizzato il 5V. E infine, si configura il PIN come Res16.
Grazie alla loro risposta logaritmica rispondono alla pressione in modo naturale e preciso.
Collegare i resistori variabili come potenziometri
Se non si riesce ad avere una buona escursione si può trasformare un resistore variabile in un potenziometro, con l’aggiunta di un resistore fisso, come visibile nella immagine seguente:
A seconda della escursione del resistore variabile, si deve usare un resistore fisso di valore adeguato. Provare a cambiare il valore del resistore fisso e controllare con il visualizzatore della applicazione HAL, fino a che si ottengono valori con l’escursione desiderata.
Come Vcc si devono usare i 3.3 Volt stabilizzati e la tensione V deve essere collegata al polo di segnale di un PIN di input configurato come Adc8 o Adc16.
In pratica con questa configurazione si ottiene un potenziometro, quindi vedere la sezione precedente per i particolari di connessione dei potenziometri.
Sensore di liquido nei tubi
Per identificare la presenza di liquido in tubi di plastica trasparenti da 1.6 mm a 6.3 mm di diametro i sensori OPB350 sono comodi, poco costosi e possono essere facilmente collegati al sistema Theremino.
Per leggere il valore si imposta l’ingresso come “ADC” in modo da avere una rilevazione proporzionale. Un valore proporzionale rende possibile discriminare la presenza del liquido ma anche misurare la sua torbidità e rilevare la presenza di particelle solide nel flusso.
In casi particolari, con liquidi molto torbidi o molto trasparenti, se il valore misurato fosse molto basso o molto alto, si potrebbe aumentare il valore del resistore da 10k fino a 100k oppure abbassarlo fino a 1k.
Se la luce ambiente non fosse troppo forte si potrebbe far lavorare il led con corrente minore dei 18 mA standard e risparmiare corrente nel caso si usino molti di questi sensori. Con un resistore da 3300 ohm, ad esempio, la corrente sarebbe circa 1 mA e si potrebbe compensare la perdita di segnale alzando il resistore da 10k fino a 100k o anche a 220k.
Dato che il segnale di uscita può superare i 3.3 Volt accettati dai pin di Input del sistema Theremino, si consiglia di aggiungere un resistore da 33k in serie al segnale (filo giallo) Se qualcuno ha tempo e voglia potrebbe modificare il PCB, spostare R2 sul collettore, cambiarla da 10 a 33k e prelevare il segnale dal collettore, in questo modo si eliminerebbe la 33k aggiuntiva.
Questi sensori sono disponibili in vari modelli con prezzi da 4 a 10 euro circa presso Farnell,
andare sul sito http://it.farnell.com e cercare OPB350
Sempre presso Farnell è disponobile il data-sheet con i dati tecnici completi.
http://www.farnell.com/datasheets/4603.pdf
–
Adattatore per OPB350 su PCB o su millefori
Seguendo la traccia delle immagini seguenti è possibile realizzare un adattatore su un ritaglio di piastrina millefori o su un circuito stampato.
Le prime due immagini sono per il modello stretto di APB350 le due seguenti sono per il modello largo. I progetti completi in formato Eagle si possono scaricare da qui: AdapterOPB350_EagleProjects
Sensori di PH e di ORP (Oxidation/Reduction Potential)
Per misurare il PH si consigliano questi ottimi adattatori costruiti da Phidgets che costano circa 25 euro.
Qui si trovano le informazioni principali: www.phidgets.com/products.php?product_id=1130_0
Nella user-guide si trovano tutte le caratteristiche elettriche, le formule per la taratura e consigli su quali elettrodi usare www.phidgets.com/docs/1130_User_Guide
Dato che questo sensore fornisce una uscita da 0 a 5 volt e che gli ingressi del sistema Theremino usano uno standard da 0 a 3.3 Volt si deve aggiungere, sul cavo di collegamento, un partitore resistivo da 10k in serie al segnale e 22K verso massa.
Bianco --------@-- 10K --@---------- Bianco | 22K | PH SENSOR Rosso ----------------------------- Rosso MASTER | Nero ------------------@---------- Nero
Come soluzione alternativa si potrebbe sostituire un resistore sul modulo Phidgets. Se non sapete come farlo scriveteci e vi aiuteremo con disegni dettagliati.
Sensori di campo magnetico
Per misurare il campo magnetico si consigliano i sensori A1301 e A1302 prodotti da Allegro Microsystems, il 1301 è più sensibile, costa meno, e andrà meglio in quasi tutte le applicazioni. Vedere catalogo Farnell: http://it.farnell.com e cercare A1301/A1302. Il costruttore indica di alimentarli da 4.5 a 6 volt basandosi sul regolatore interno e su un funzionamento di tipo ratio-metrico ma dopo molte prove abbiamo trovato che con una tensione stabilizzata esternamente a 3.3 volt si ottengono caratteristiche di stabilità e di rumore migliori, nonché una posizione di riposo esattamente a metà del campo di valori dell’ADC. Ecco le caratteristiche per i due modelli
SENSOR Sensitivity Saturation Power supply Price approx ( mV/Gauss ) ( Gauss ) ( mA ) 1/10 pcs ----------------------------------------------------------------- A1301 1.65 +/- 1000 11 mA 1.5/1.2 Euro A1302 0.87 +/- 1900 11 mA 1.7/1.3 Euro–
–
Questi sensori sono disponibili in versione per montaggio superficiale ( SMD ) o con i piedini normali ( SIP ), ecco i contenitori per le due versioni. Fare attenzione che l’ordine dei collegamenti è diverso a seconda della versione ( SMD o SIP ) e che in tutti e due i casi è differente rispetto allo standard del sistema Theremino.
——————————————
——————————————
——————————————
——————————————
—————————————-
————————————————————————————
Per ottenere la massima sensibilità e il minimo rumore è bene alimentare questi sensori con il regolatore da 3.3 volt visibile in questa immagine e illustrato alla fine di questo documento. Questa immagine mostra anche come invertire i fili per adattare la sequenza dei collegamenti a quella del sensore di tipo SIP. In questo esempio non si sono usati i connettori e il regolatore è stato saldato lungo il cavo ottenendo un cablaggio piccolo e robusto.Infine un tubetto termo-restringente completerà il cablaggio, isolando il regolatore e aumentando la robustezza delle connessioni.
Sensori di “Soffio” e di pressione
Per rivelare differenze di pressione debolissime si può usare un microfono electret connesso a questo pre-amplificatore, l’uscita può essere connessa direttamente a qualunque pin del sistema Theremino configurato come ADC. Usare un microfono electret a due terminali (non quelli a tre terminali) e fare attenzione a connettere la parte che fa anche capo alla carcassa al collegamento di massa (IN-) Questo pre-amplificatore è progettato per connetterlo ad un tubo interrato che funziona da rivelatore di passi. Il tubo viene collegato ermeticamente al microfono e la sensibilità è altissima in modo da rivelare piccoli movimenti dello strato di terra che copre il tubo. Se si vuole usare questo rivelatore con minore sensibilità, ad esempio come rivelatore di soffio, è bene abbassare C2 e C4 a 1uF e alzare R2 e R4 a 100K. Se la sensibiltà fosse ancora troppa alzare ulteriormente R2 e R4. Con queste modifiche si migliora anche il tempo di assestamento iniziale che con i valori originali è molto lungo (circa un minuto).
Sensori di corrente alternata
Con i sensori di corrente alternata è possibile misurare la corrente assorbita da un elettrodomestico, da un motore o da un intero impianto elettrico. Misurando con un canale ADC alla massima velocità di ripetizione è facendo la media dei quadrati (RMS ovvero “Root Mean Square”) e infine moltiplicando per 220 (la tensione di rete), con un programma sul PC, si ottiene una misura precisa della potenza con la risoluzione di un watt. Noi consigliamo il sensore (trasformatore di corrente) modello 3110 della CR-Magnetics che costa indicativamente intorno ai 10 euro, è molto preciso e può misurare potenze fino a 16 KWatt (75 Ampere a 220 volt). Il sensore 3110 permette di fare misure in tutta sicurezza in quanto dispone di un ottimo isolamento ed è certificato CE e ISO (le certificazioni sono disponibili su richiesta)
Model 3110 specifications ---------------------------------- Max primary current: 75Aac Frequency: 50/60 Hz Secondary turns: 3000 DC resistance: 460 Ohms Precision: 1% Isolation continuous: 1KV Isolation max: 5KV Wire lead: AWG 18
Un ponte di diodi rende positive ambedue le semionde facilitando i calcoli da fare in software, inoltre questo metodo elimina la necessità di calibrare il punto di zero. Non ci si deve preoccupare della caduta sui diodi e della sua variazione con la temperatura perché il trasformatore di corrente è un generatore di corrente quasi perfetto. A seconda del fondo scala desiderato il valore del resistore di carico deve essere scelto come da tabella:
Fondo scalaWatt |
Fondo scalaAmpere AC |
Resistore di carico per un fondo scala di circa 3 volt (lasciando un piccolo margine prima dei 3.3V) |
Risoluzione di misuraWatt |
16000 | 72.8 | 180 | 1 |
8000 | 36.4 | 360 | 0.5 |
4000 | 18.2 | 720 | 0.2 |
2000 | 9.1 | 1500 | 0.1 |
1000 | 4.5 | 3000 | 0.05 |
Sensori di Tensione e Corrente – Versione semplice
Tensioni riferite a massa possono essere misurate con un semplice partitore resistivo e con un normale ingresso ADC. Dei connettori standard di InOut si usano solo i due pin estremi, Massa e Segnale, mentre il pin centrale che porta il +5 non viene collegato.
(+) ------- R1 ---@--------- White(bianco) | Theremino Input voltage R2 --- Red(rosso) standard | InOut Pin (-) --------------@--------- Black(nero)
Tra segnale e massa si collega un resistore che chiameremo R2, invece tra il positivo della tensione da misurare e il pin di segnale si collega un resistore che chiameremo R1.
Tensioni da 0 a +3.3 V, risoluz. 50 micro Volt (R1 = 10k - R2 non presente) Tensioni da 0 a +10 V, risoluz. 200 micro Volt (R1 = 100k - R2 = 33k) Tensioni da 0 a 100 V, risoluz. 2 milli Volt (R1 = 1 Mega - R2 = 33k) Tensioni da 0 a 1 KV, risoluz. 20 milli Volt (R1 = 100 Mega - R2 = 330k) Tensioni da 0 a 10 KV, risoluz. 200 milli Volt (R1 = 1000 Mega - R2 = 330k)
Accorgimenti per le alte tensioni: Per misurare tensioni superiori ai 100 Volt in tutta sicurezza il resistore R1 deve essere in grado di sopportare il doppio della tensione che si intende misurare. Piuttosto che un resistore unico è meglio usare una stringa composta da molti resistori in serie da 10 Mega o da 82 Mega (Farnell 1469973 / 2073866 / 9236503) In questo modo si spende molto meno che a comprare resistori per alta tensione e si ottiene maggiore sicurezza per via della lunghezza totale della stringa, che allontana fisicamente l’alta tensione e impedisce il verificarsi di scariche ad arco.
Per misurare alte tensioni si vedano anche i consigli della pagina: /blog/gamma-spectrometry/hardware-tests
La corrente è 1uA per la portata da 3.3 Volt, 100uA per le portate 10 e 100 Volt e 10uA per 1000 e 10000 Volt, se questa corrente fosse eccessiva allora sarebbe meglio usare il sensore differenziale del prossimo capitolo che lavora normalmente con correnti di 100nA e può essere adattato per lavorare anche con correnti minori.
————————–
Correnti riferite a massa possono essere misurate con due resistori e con un normale ingresso ADC. Dei connettori standard di InOut si usano solo i due pin estremi, Massa e Segnale, mentre il pin centrle che porta il +5 non viene collegato.
(+) ------@--- 10K ------ White(bianco) | Theremino Input voltage R1 --- Red(rosso) standard | InOut Pin (-) ------@-------------- Black(nero)
Tra l’ingresso (positivo) della corrente da misurare e la massa si collega un resistore che chiameremo R1, un secondo resistore da 10 K Ohm serve per limitare la corrente verso il Pin di InOut e lo protegge da ogni genere di errore.
Correnti da 0 a 100 uA, risoluzione 2 nA (R1 = 33k) Correnti da 0 a 1 mA, risoluzione 20 nA (R1 = 3300 ohm) Correnti da 0 a 10 mA, risoluzione 200 nA (R1 = 330 ohm) Correnti da 0 a 100 mA, risoluzione 2 uA (R1 = 33 ohm / 1 watt) Correnti da 0 a 1 A, risoluzione 20 uA (R1 = 3.3 ohm / 10 watt)
Con questi semplici circuiti quando si misura la massima corrente di ogni portata si ha una caduta di tensione di 3.3 Volt che può falsare alcuni tipi di misure, se questa caduta è eccessiva allora è meglio usare il sensore differenziale del prossimo capitolo, che ha normalmente una caduta inferiore ai 150mV e può essere adattato per cadute anche inferiori.
Sensori di Tensione e Corrente – Versione differenziale
Questo circuito è un “Jolly”. Può misurare differenze di tensione piccolissime (o molto grandi) anche in presenza di forti tensioni di modo comune.
Collegare CN2 – OUT con un cavetto standard ad un Pin di InOut del sistema Theremino configurato come ADC (Adc16 per ottenere la massima precisione)
Con i valori di questo schema il circuito tollera tensioni di modo comune fino a +/- 33 Volt e con la sola sostituzione di R9 si ottengono i seguenti range di tensione:
Tensioni da -10 mV a +10 mV con risoluzione di 0.3 micro Volt (R9 = 1.5Mega) Tensioni da -15 mV a +15 mV con risoluzione di 0.5 micro Volt (R9 = 1Mega) Tensioni da -30 mV a +30 mV con risoluzione di 1 micro Volt (R9 = 470k) Tensioni da -100 mV a +100 mV con risoluzione di 3 micro Volt (R9 = 150k) Tensioni da -150 mV a +150 mV con risoluzione di 5 micro Volt (R9 = 100k) Tensioni da -300 mV a +300 mV con risoluzione di 10 micro Volt (R9 = 47k) Tensioni da -1 V a +1 V con risoluzione di 30 micro Volt (R9 = 15k) Tensioni da -1.5 V a +1.5 V con risoluzione di 50 micro Volt (R9 = 10k) Tensioni da -3 V a +3 V con risoluzione di 100 micro Volt (R9 = 0)
Scegliere un giusto compromesso tra le caratteristiche
Se si esagera con il fondo scala si peggiorano la precisione di misura e la risoluzione.
Se si esagera con il modo comune tollerabile si peggiorano la stabilità alle variazioni di temperatura e la facilità di taratura (regolazione dei trimmer).
Quindi è bene minimizzare le tensioni di modo comune (effettuando gli opportuni collegamenti di massa e terra) e non esagerare con il modo comune sopportabile.
Minimizzare le tensioni di modo comune
Senza collegamento di terra, in alcuni casi, soprattutto con i notebook che non hanno la terra sulla spina del 220 Volt, potrebbero svilupparsi tensioni tra il PC e l’ambiente anche di centinaia di volt. In questi casi si dovrebbe usare una portata che sopporta 330 Volt di modo comune, peggiorando notevolmente la stabilità.
Invece, se la massa del PC è collegata a terra, si possono usare portate che sopportano soli 3.3 Volt di modo comune e si ottiene un miglioramento di 10 volte della stabilità in temperatura e della facilità di regolazione.
Se il PC è collegato a terra attraverso la presa di alimentazione siamo a posto (controllare e assicurarsi anche che l’impianto elettrico sia a terra come da norme di legge)
Altrimenti si può collegare un filo alla terra dell’impianto elettrico, partendo del Master in un punto robusto (il punto migliore è dove c’è il grande piano di massa vicino al connettore USB). Si potrebbe anche collegare la terra dell’impianto elettrico al punto GND di uno qualunque dei PIN del Master o di uno Slave o anche il GND dell’ingresso del pramplificatore. Però sono tutti punti delicati ed è sconsigliabile usarli, meglio la robusta massa dell’USB.
In tutti i casi è sempre bene aggiungere un resistore da 100 ohm (1/4 Watt), in serie al filo che va a terra. Questo resistore evita di produrre anelli di masse, con conseguenti disturbi ai moduli più delicati e agisce anche da fusibile in caso di gravi errori nei collegamenti.
ATTENZIONE: SOLITAMENTE IL SISTEMA THEREMINO TOLLERA OGNI ERRORE SENZA DANNI MA QUESTO E’ UN CASO SPECIALE – STIAMO COLLEGANDO LA TERRA DELL’IMPIANTO ELETTRICO CHE E’ GROSSO E CATTIVO – SI DEVE COLLEGARE LA MASSA DEL PC O DELL’USB E NON, AD ESEMPIO, LA MASSA DI UN SENSORE O DI UN PIN DEL MASTER – PRIMA DI DARE TENSIONE TUTTI I COLLEGAMENTI DEVONO ESSERE COMPLETATI E CONTROLLATI – BASTA SBAGLIARE QUALCOSA E DARE UNO SCINTILLONE NEL PUNTO SBAGLIATO PER FRIGGERE TUTTO!!!
Ridurre il modo comune tollerabile a +/- 3.3 Volt
Sostituendo R3, R4, R5 e R6 con resistori da 10 MOhm e i due trimmer da 470 KOhm, si ottengono i seguenti range di tensione:
Tensioni da -10 mV a +10 mV con risoluzione di 0.3 micro Volt (R9 = 150k) Tensioni da -15 mV a +15 mV con risoluzione di 0.5 micro Volt (R9 = 100k) Tensioni da -30 mV a +30 mV con risoluzione di 1 micro Volt (R9 = 47k) Tensioni da -100 mV a +100 mV con risoluzione di 3 micro Volt (R9 = 15k) Tensioni da -150 mV a +150 mV con risoluzione di 5 micro Volt (R9 = 10k) Tensioni da -300 mV a +300 mV con risoluzione di 10 micro Volt (R9 = 4.7k) Tensioni da -1 V a +1 V con risoluzione di 30 micro Volt (R9 = 1.5k) Tensioni da -1.5 V a +1.5 V con risoluzione di 50 micro Volt (R9 = 1k) Tensioni da -0.3 V a +0.3 V con risoluzione di 10 micro Volt (R9 = 0 ohm)
Aumentare il modo comune tollerabile a +/- 300 Volt
Sostituendo R1 e R2 con resistori da 100 Mega Ohm (R3, R4, R5 e R6 = 1 Mega e trimmer = 47k, come da schema), si ottengono i seguenti range di tensione:
Tensioni da -1.5 V a +1.5 V con risoluzione di 50 micro Volt (R9 = 100k) Tensioni da -15 V a +15 V con risoluzione di 500 micro Volt (R9 = 10k) Tensioni da -100 V a +100 V con risoluzione di 3 milli Volt (R9 = 1k) Tensioni da -300 V a +300 V con risoluzione di 10 milli Volt (R9 = 0)
Aumentare il modo comune tollerabile a +/- 3000 Volt
Sostituendo R1 e R2 con resistori da 1 Giga Ohm (R3, R4, R5 e R6 = 1 Mega e trimmer = 47k, come da schema), si ottengono i seguenti range di tensione:
Tensioni da -1.5 V a +1.5 V con risoluzione di 50 micro Volt (R9 = 1Mega) Tensioni da -15 V a +15 V con risoluzione di 500 micro Volt (R9 = 100k) Tensioni da -150 V a +150 V con risoluzione di 5 milli Volt (R9 = 10k) Tensioni da -1000 V a +1000 V con risoluzione di 30 milli Volt (R9 = 1k) Tensioni da -3000 V a +3000 V con risoluzione di 100 milli Volt (R9 = 0)
Aumentare il modo comune tollerabile a +/- 30000 Volt
Sostituendo R1 e R2 con resistori da 1 Giga Ohm, R3, R4, R5 e R6 con 100 K Ohm e i trimmer con 4.7k, si ottengono i seguenti range di tensione:
Tensioni da -15 V a +15 V con risoluzione di 500 micro Volt (R9 = 1Mega) Tensioni da -150 V a +150 V con risoluzione di 5 milli Volt (R9 = 100k) Tensioni da -1500 V a +1500 V con risoluzione di 50 milli Volt (R9 = 10k) Tensioni da -10000 V a +10000 V con risoluzione di 300 milli Volt (R9 = 1k) Tensioni da -30000 V a +30000 V con risoluzione di 1 Volt (R9 = 0)
Accorgimenti per le alte tensioni
Se le tensioni in ingresso superano i 150 Volt, si deve fare attenzione che R1 e R2 possano sopportarle. Sostituire R1 e R2 con resistori esterni per alta tensione, composti da molti resistori in serie, da 10 Mega o da 82 Mega (Farnell 1469973 / 2073866 / 9236503). Questi resistori sono più economici dei (costosissimi e difficili da reperire) resistori per alta tensione e usando più resistori in serie si ottiene maggiore sicurezza. La lunghezza totale della stringa di resistori allontana fisicamente l’alta tensione e impedisce il verificarsi di scariche ad arco.
Aumentando il valore di R1 e R2 fino a 1 Giga Ohm (con resistori esterni in serie) si potranno misurare tensioni fino a +/- 30000 Volt, in presenza di tensioni di modo comune altrettanto grandi.
Aumentare il valore di R1 e R2 può servire anche per ridurre ulteriormente la corrente di ingresso che con i 10 Mega Ohm standard è 100 nA per ogni Volt misurato.
Perché non abbiamo predisposto diodi di protezione? Perché sono già presenti nell’operazionale e aggiungerne di esterni non avrebbe aumentato la affidabilità. Non fatevi spaventare dalle alte tensioni. Se i resistori di ingresso sono di alto valore, la corrente è bassa e tutto quadra senza problemi. Naturalmente si deve sapere cosa si sta facendo e non fare errori.
Misurare la corrente
Correnti non riferite a massa possono essere misurate con un resistore di opportuno valore, a seconda del fondo scala desiderato. Partendo dalla versione base (da -150mV a +150mV con tutti i valori come da schema) e aggiungendo un resistore (chiamato R0), tra IN+ e IN-, si ottengono le seguenti portate:
Correnti da -1.5 mA a +1.5 mA con risoluz. di 50 nano Ampere (R0 = 100 Ohm) Correnti da -15 mA a +15 mA con risoluz. di 500 nano Ampere (R0 = 10 Ohm) Correnti da -150 mA a +150 mA con risoluz. di 5 micro Ampere (R0 = 1 Ohm) Correnti da -1.5A a +1.5 A con risoluz. di 50 micro Ampere (R0 = 0.1 Ohm)
———————–
Formule di calcolo
I valori listati nelle tabelle sono approssimativi e servono per stabilire grossolanamente la scala. Si può ottenere maggiore precisione con le simulazioni LTSpice o le formule seguenti:
Formule
Guadagno in tensione = (R3 / R1) * (1 + 2 * R9 / R8)
Massima tensione di modo comune = 3.3 * R1 / R3
Massima tensione differenziale = 3.3 / Guadagno in tensione
Vincoli
VoutMax = 3.3 Volt
VoutMIn = 0
R1 = R2
R3 = R4 = R5 = R6 (e R3 selezionata per essere maggiore di R4)
Trimmers = circa il 5% di R3
———————–
Questo file ZIP contiene il progetto completo di PCB in formato Eagle, le immagini, gli schemi, i piani di montaggio e le simulazioni LTSpice: Sensor_DiffMeter
Per le simulazioni LTSpice scaricare le librerie da questa pagina:
https://www.theremino.com/downloads/uncategorized#ltspice
Sensore di corrente
Questo semplice circuito trasforma un ingresso ADC del modulo Master, in un sensore di corrente high-side. Uno degli utilizzi possibili di questo sensore è misurare la corrente di alimentazione dei servomotori (i classici “servo” per aeromodelli) e usare questa informazione per limitare la coppia meccanica che si applica al perno di uscita.
La particolarità che differenzia questo circuito da altri è la possibilità di misurare la corrente di alimentazione positiva, di qualunque dispositivo che lavori con tensioni fino a 28 volt (25 per non lavorare proprio al limite).
La corrente da misurare va applicata ai poli 1 e 2 del connettore INPUT. In pratica si taglia il filo di alimentazione positiva e lo si collega al polo 1, e proseguendo dal polo 2 si va al dispositivo alimentato.
Sostituendo il resistore R1, che deve essere da 1 o 2 watt e lungo circa 10 mm, si possono ottenere varie portate di misura, come indicato nello schema.
Si possono ottenere anche altre portate intermedie a seconda dei resistori che si hanno a disposizione. Se si dispone, ad esempio, di resistori da 0.5 ohm, utilizzandone uno solo si ottengono 330 mA di fondo scala. Ma saldandone un secondo in parallelo (di fianco), si otterrebbero 660 mA. E saldandone un terzo si otterrebbero 990 mA.
Se si prevede di superare la portata massima di corrente consigliamo di sostituire R2 con un resistore da 100 ohm. In questo modo si proteggono gli ingressi anche se si supera di molto la portata massima. Naturalmente oltre alla portata massima non si otterranno misurazioni utili, ma almeno l’integrato non si rompe. Fate anche attenzione che, se si supera la portata massima per tempi lunghi, il resistore R1 potrebbe scaldare e alla fine anche bruciarsi.
Si può costruire questo sensore seguendo il progetto Eagle che si scarica con questo file. Oppure lo si può acquistare sul sito Store-ino.
Sensori di Resistenza e Capacità
Resistenze da 0 a 50Kohm possono essere misurate con un normale ingresso Res_16Capacità piccolissime, nell’ordine del millesimo di pF possono essere misurate con gli slave CapSensor. Tenere conto che il sistema Theremino è fatto per misurare valori di resistenza e capacità che cambiano nel tempo e non per misurare i componenti del laboratorio per i quali è molto meglio usare un normale tester che ha molti vantaggi e che non necessita di taratura.
Sensori di umidità
I sensori di umidità (e di temperatura) sono tutti nella pagina dei sensori meteorologici
https://www.theremino.com/hardware/inputs/meteorology-sensors#hih4000
Sensori di Temperatura a termocoppia
I sensori di temperatura (e di umidità) sono tutti nella pagina dei sensori meteorologici:
https://www.theremino.com/hardware/inputs/meteorology-sensors#thermocouples
Sensori di Temperatura ambiente
I sensori di temperatura (e di umidità) sono tutti nella pagina dei sensori meteorologici:
https://www.theremino.com/hardware/inputs/meteorology-sensors#ambient
Celle di carico
Le celle di carico possono essere collegate ai Pin di tipo ADC, attraverso un modulo Differential Meter, ma danno un segnale di uscita molto basso, per cui è difficile ottenere una buona stabilità.
Per provare le celle di carico serve la applicazione HAL ed è anche utile la applicazione “Balance” che si scarica da questa pagina: https://www.theremino.com/downloads/automation#balance
Modificare bilance di precisione e collegarle al modulo ADC24
Alcune bilance di precisione, che si comprano su eBay per pochi Euro, contengono celle di carico molto precise. Il meccanismo a trapezio di queste celle rende verticale la forza peso dovunque si posizioni il carico. In questo modo la misura è indipendente dalla posizione e dalla forma dell’oggetto da misurare.
Se si dispone dei nuovi moduli ADC 24 i collegamenti sono semplici e le prestazioni molto buone. Un modulo Theremino Adc24 può leggere fino a 8 bilance, cento volte al secondo. Se la meccanica è adeguata si possono raggiungere risoluzioni fino ai milligrammi e oltre. Le celle di carico si collegano direttamente, senza adattatori e senza potenziometri da tarare.
Questo documento spiega come connettere le celle di carico al sistema Theremino.
In questa nuova versione è spiegato come modificare le bilance di precisione e quali sono le migliori da acquistare (da pagina 9 in poi)
https://www.theremino.com/files/Connecting_LoadCells_V2_ENG.pdf
https://www.theremino.com/files/Connecting_LoadCells_V2_ITA.pdf
Adattatori, regolatori di tensione, limitatori di corrente
Alcuni sensori e attuatori necessitano di alimentazione stabilizzata o limitata in corrente. In alcuni casi si deve anche adattare il segnale da 5 Volt a 3.3 Volt.
Tutti gli adattatori sono raccolti qui:
www.theremino.com/hardware/adapters
Sensori di precisione
I Pin del sistema Theremino forniscono misure con una risoluzione altissima, fino a una parte su 50000, molto superiore alla risoluzione di un normale tester, inoltre il valore letto è molto stabile, poco rumoroso e la velocità di campionamento è molto superiore a quella di un tester. In compenso però la precisione delle misure è più scarsa. Con i sensori mostrati in questo documento, connessi ai Pin standard di Input-Output, la precisione raggiungibile è dell’ordine dell’uno per cento, precisione che può essere spinta fino allo 0.1% o poco più, con una laboriosa taratura individuale. Per superare questi limiti si devono progettare “Slave” e moduli specifici, con i quali è possibile misurare ogni grandezza fisica con qualunque precisione realizzabile dalla tecnologia attuale.
Attualmente noi stiamo sviluppando solo nuovi Pin sui Master e il modulo ADC 24.
Altri “Slaves” potranno essere sviluppati dagli utenti. Ricordiamo però che non si tratta di un lavoro da cinque minuti. Un esperto di firmware e del sistema Theremino, potrebbe impiegare alcune settimane per fare un nuovo tipo di pin e alcuni mesi per fare un nuovo Slave (oltre a scrivere il firmware è necessario aggiornare anche l’HAL sia in VbNet che in CSharp, altrimenti i nuovi tipi non vengono riconosciuti).