Come filtrereste questi disturbi?

Ciao,

ho una PT100 inserita in un motore asincrono trifase. Alla scatoletta di connessione posta sul telaio del motore mi arrivano i due fili della PT100, fili singoli, non schermati né twistati. Da lì parte un cavetto twistato e schermato di alcuni metri che arriva alla mia scheda.

Quando l'inverter è acceso, pur a motore fermo, ho sovrapposto al segnale un disturbo di questo tipo:

impulsi con molto ringing di ampiezza iniziale picco-picco di circa 1V. La frequenza è variabile ma è dell'ordine delle decine - centinaia di kHz a seconda del movimento del motore. La durata di ciascun "impulso" è di pochi us, con un inviluppo esponenziale dal valore massimo verso zero.

Purtroppo non ho fatto a tempo a fare qualche foto.

Ad ogni modo, mi serve acquisire la PT100 tra 30 e 150 °C, con una risoluzione di 1 °C e un'accuratezza di ±3 °C. Quindi le specifiche sono molto rilassate.

Proprio per questo motivo il front-end deve costare il meno possibile.

Attualmente ho fatto questo:

- generatore di corrente con LM317 sui 10 mA (in realtà calcolato per avere una tensione facile da convertire)

- mosfet di abilitazione per alimentare la PT100 solo durante la misura (pochi ms ogni 10 secondi)

- filtro LC con una L da 100 uH e un C da 47 uF in parallelo a un 10 nF. L'induttanza scelta con un Q piuttosto basso (R serie non trascurabile) così da ridurre il picco di risonanza.

- acquisizione diretta con ADC di un xmega

- TVS di protezione all'ingresso

L'accrocchio funziona. Il disturbo viene abbattuto a circa 50 mV picco-picco e le letture (con filtro mediano) registrate con inverter spento e acceso differiscono di circa 1 °C, quindi perfettamente entro le specifiche.

Mi chiedevo come si potesse fare di meglio, soprattutto per quanto riguarda il filtro passivo.

Grazie! Marco

Reply to
Marco Trapanese
Loading thread data ...

Allora sei a posto :-)

Sinceramente non so se sia meglio, ma per i termistori io uso sempre questo circuito qui:

[FIDOCAD] MC 120 50 0 0 580 MC 130 80 0 0 080 MC 100 35 1 0 080 MC 100 70 1 0 080 MC 80 35 1 0 080 MC 50 65 1 0 111 LI 100 45 100 70 0 LI 120 50 100 50 0 LI 80 45 80 60 0 LI 80 60 120 60 0 LI 80 60 50 60 0 LI 50 60 50 65 0 LI 130 80 115 80 0 LI 115 80 115 60 0 LI 140 80 155 80 0 LI 155 80 155 55 0 LI 155 55 145 55 0 SA 100 50 0 SA 115 60 0 SA 80 60 0 MC 130 90 0 0 170 LI 125 90 125 90 0 LI 125 90 130 90 0 LI 125 90 125 80 0 LI 140 90 145 90 0 LI 145 90 145 80 0 SA 125 80 0 SA 145 80 0 LI 155 55 170 55 0 SA 155 55 0 LI 80 35 80 30 0 LI 80 30 100 30 0 LI 100 30 100 35 0 MC 90 30 3 0 010 SA 90 30 0 MC 100 80 0 0 045 MC 50 80 0 0 045 MC 80 65 1 0 170 LI 80 60 80 65 0 MC 80 80 0 0 045 LI 80 80 80 75 0 TY 75 15 4 3 0 0 0 * Vref ADC TY 105 40 4 3 0 0 0 * R1 TY 105 75 4 3 0 0 0 * R2 TY 135 70 4 3 0 0 0 * Rf TY 65 35 4 3 0 0 0 * Rup TY 85 70 4 3 0 0 0 * C1 TY 135 95 4 3 0 0 0 * C2 TY 25 70 4 3 0 0 0 * PT100

Dimensiono Rup per la corrente indicata sul datasheet, di solito per le PT100 uso 1 mA e la lascio sempre accessa, non si scalda in modo percettibile. Alimentandola con la stessa VRef dell'ADC il tutto diventa insensibile alla stabilità e precisione della VRef stessa.

Poi puoi dimensionare R1, R2 e Rf in modo da adattare il segnale alla dinamica dell'ingresso ADC. L'operazionale bisogna che sia rail to rail verso il basso se l'ADC include lo 0V nel suo range, e anche verso l'alto se la Vref è molto vicina all'alimentazione. Il filtraggio lo faccio dimensionando C1 e C2. A limite, se serve, a volte aggiungo un altro RC all'uscita dell'operazionale.

Con questo circuito ho ottenuto una precisione di 1°C misurando una PT100 applicata ad un motore DC sempre alimentato in PWM, ad alcuni metri dal circuito. Nessun disturbo era presente.

--
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ http://www.develer.com/ - http://www.bertos.org
Reply to
Francesco Sacchi

Ehm, disegnandolo al volo a memoria ho invertito gli ingressi! Ecco quello corretto, valgono tutte le considerazioni fatte precedentemente:

[FIDOCAD] MC 120 50 0 0 580 MC 130 80 0 0 080 MC 100 35 1 0 080 MC 100 70 1 0 080 MC 80 35 1 0 080 MC 50 65 1 0 111 LI 100 45 100 70 0 LI 80 45 80 60 0 LI 80 50 50 50 0 LI 130 80 115 80 0 LI 115 80 115 60 0 LI 140 80 155 80 0 LI 155 80 155 55 0 LI 155 55 145 55 0 SA 115 60 0 MC 130 90 0 0 170 LI 125 90 125 90 0 LI 125 90 130 90 0 LI 125 90 125 80 0 LI 140 90 145 90 0 LI 145 90 145 80 0 SA 125 80 0 SA 145 80 0 LI 155 55 170 55 0 SA 155 55 0 LI 80 35 80 30 0 LI 80 30 100 30 0 LI 100 30 100 35 0 MC 90 30 3 0 010 SA 90 30 0 MC 100 80 0 0 045 MC 50 80 0 0 045 MC 80 65 1 0 170 LI 80 60 80 65 0 MC 80 80 0 0 045 LI 80 80 80 75 0 TY 75 15 4 3 0 0 0 * Vref ADC TY 105 40 4 3 0 0 0 * R1 TY 105 75 4 3 0 0 0 * R2 TY 135 70 4 3 0 0 0 * Rf TY 65 35 4 3 0 0 0 * Rup TY 85 70 4 3 0 0 0 * C1 TY 135 95 4 3 0 0 0 * C2 TY 25 70 4 3 0 0 0 * PT100 LI 120 50 80 50 0 LI 80 50 80 50 0 LI 120 60 100 60 0 LI 50 65 50 50 0 SA 80 50 0 SA 100 60 0
--
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ http://www.develer.com/ - http://www.bertos.org
Reply to
Francesco Sacchi

...

Forse effettuando una seconda misurazione invertendo la corrente e sommando i risultati. Allungherei anche la finestra di misurazione nell'ordine dei decimi di secondo.

Piccio.

Reply to
Piccio

Marco Trapanese ha pensato forte :

Abbastanza normale, gli inverter fanno così.

Li conosco, riesco a 'vederli' lo stesso.

Hai problemi di consumo o hai paura per il selfheating ?

Un 12 bit se non sbaglio.

Ti posso dire come ho progettato un sistema analogo, remoto e low-cost anche lui.

Resistenza a strato metallico collegata a Vref in serie alla PT100, poi ricavo il valore da una tabella precalcolata, in questo modo la Vref è la stessa VCC. Il vantaggio è la stabilità in temperatura e la lettura è praticamente immune alle variazioni di Vref perchè la PT100 è in un partitore. La resistenza in serie è da 2200 ohm, così i problemi di autoriscaldamento sono ridotti.

Il filtro che ho messo è costituito da due RC in serie di 220k e 1µF e

470k e 1µF, la scelta di quel filtro è dipesa anche dall'ingombro, i C da 1µF sono CK1206. Il convertitore che ho usato è un economico ADS1100 a 16 bit, sul Tiny non ho ADC per cui ho deciso di usare quello.

L'ADC ADS1100 è con gain interno a 8, ho letture stabili a 1/10 di K.

Non ho usato induttanze nel filtro, ho usato una BL01 in serie all'alimentazione, la schedina può funzionare per regolatore o per fare misure.

Reply to
SB

...

Oppure misurare il disturbo indotto. Con un condensatore-serie puoi disaccoppiare il segnale (disturbo), misurarlo e sottrarlo alla misurazione vera e propria. Occorrono un interruttore analogico in serie al segnale (sample), due integratori (veloci, uno per la continua ed uno per il segnale, resettabili in sincronia col sample), un differenziale ed un canale ADC. Inoltre toglierei l'induttanza e metterei una resistenza: le capacit=E0 tra le spire creano delle risonanze imprevedibili. Oppure una induttanza su ferrite con poche spire o una VK200 in serie a quella che hai gi=E0 messo.

Anche un condensatore ceramico ai capi dela PT100 non guasterebbe.

Piccio.

Reply to
Piccio

Il 14/01/2012 14:37, Francesco Sacchi ha scritto:

[cut]

Ciao Francesco! Grazie dello schema. Attualmente utilizzavo un circuito del tutto simile che ho realizzato però con un INA326, ma per il resto è praticamente identico.

Ed è proprio con questo che ho avuto problemi con i disturbi. E con l'INA326 viene fuori comunque un filtro a 2 poli.

Cercavo una soluzione alternativa per evitare l'utilizzo di operazionali (tra l'altro trovarne single-supply con l'uscita che includa lo 0V è alquanto arduo). Questo perché appunto volevo ridurre i costi a scapito delle prestazioni.

Ad ogni modo farò un po' di prove, male che vada opto per una soluzione ibrida: operazionale economico (non rail-to-rail) e dinamica aggiustata via software.

Ciao! Marco

Reply to
Marco Trapanese

Il 14/01/2012 14:47, Piccio ha scritto:

mumble, e chi mi assicura che mentre eseguo la seconda misurazione l'inviluppo del disturbo non sia cambiato?

In realtà pensavo a una soluzione più furba ma che ho scartato per la sua (relativa) complessità. Un rilevatore di picco per identificare il momento dello spike collegato a un interrupt del micro. Da lì aspetto un tempo pari al minimo necessario affinché lo spike sparisca anche alla massima frequenza e campiono.

Sicuramente sarebbe la strada migliore ma va contro i princìpi elencati nel primo post :)

Questo si può fare senza problemi.

Marco

Reply to
Marco Trapanese

Il 14/01/2012 14:58, SB ha scritto:

Vero, però se il cavetto che collega la pt100 alla morsettiera del motore fosse schermato non sarebbe stato meglio?

Buona la seconda. Nessun problema di consumo. Anche se è più che altro una fisima derivata dagli strain-gauge :) O piuttosto una possibilità che mi sono lasciato aperta (con il mosfet di abilitazione) nel caso in cui volessi aumentare la corrente per avere un segnale più importante.

Stando al datasheet si. In pratica quelli della Atmel han fatto il silicio con i piedi e se vuoi utilizzare decentemente l'ADC devi impostarlo come differenziale, quindi 11 bit.

Han corretto i bachi nelle versioni -U (con la scusa di aggiungerci l'USB) ma ancora si fa fatica a trovarle sul mercato.

Ok, se ho ben capito è tipo il circuito suggerito da Francesco che poi è anche quello che avevo disegnato nel primo prototipo.

Su queste tensioni irrisorie io uso comunemente gli 0603 fino a 1µF.

mumble, questa potrebbe essere una possibilità. Ingresso simile al tuo ma invece di usare un operazionale o l'INA326 come nel mio caso, acquisisco in differenziale con l'xmega abilitando il gain interno.

Intendi in serie all'alimentazione della pt100 o della scheda vera e propria?

Grazie! Marco

Reply to
Marco Trapanese

Il 14/01/2012 15:03, Piccio ha scritto:

A questo punto farei come detto nell'altro post: già che rilevo il disturbo aspetto che passi ;)

Grazie dei suggerimenti. Domani farò qualche prova sul campo e vedo cosa riesce meglio.

Marco

Reply to
Marco Trapanese

Il giorno Mon, 16 Jan 2012 09:12:19 +0100, Marco Trapanese ha scritto:

Si, anche se non li elimini del tutto. Se i segnali possono essere lenti basta filtrare.

Avevo letto da qualche parte che gli XMega avevano problemi con l'ADC

Buono a sapersi

E' la soluzione usata da quelli che si sono stufati di generatori di corrente costante o current mirror che sono più complicasti e danno risultati peggiori. Quando gli ADC erano a 8-10 bit c'era poco da fare, adesso che un 16 bit costa come un operazionale si cercano strade diverse.

Dipende anche dal magazzino e dagli standard.

Devi fare due calcoli per ottimizzare la finestra e il valore della R in serie.

Della scheda, per la PT100 basta il filtro doppio, una specie di VCVS senza opamp, ma con attenuazione di diverse decadi per segnali a 1KHz

-- ciao Stefano

Reply to
SB

"Francesco Sacchi" ha scritto

...

Che contiene un grosso peccato originale: il guadagno del circuito è funzione del valore resistivo di PT. Cioè è tutt'altro che lineare in temperatura.

Mi permetti di dubitare?

Bye

Gigi

Reply to
g.f.

"Francesco Sacchi" ha scritto

Ooops!

Ho risposto al volo, senza aver visto la correzione.

Ovviamente non vale più la considerazione fatta prima.

Bye

Gigi

Reply to
g.f.

Il 16/01/2012 09:01, Marco Trapanese ha scritto:

Ho montato al volo lo schemino con un LT6003: i disturbi passano "indisturbati", come se il filtro non esistesse.

Ho circa 400 mV pk-pk di spike ai capi della pt100 e me li ritrovo identici in uscita, sovrapposti al segnale amplificato.

Ho utilizzato resistori dell'ordine dei kohm e condensatori dell'ordine dei uF (con in parallelo un piccolo ceramico).

In uscita dall'op-amp c'è l'ulteriore cella RC (1k, 1u).

Marco

Reply to
Marco Trapanese

Il 19/01/2012 10:59, Marco Trapanese ha scritto:

Quindi arrivano da qualche altra parte... sto indagando sull'alimentazione.

Marco

Reply to
Marco Trapanese

Il giorno Thu, 19 Jan 2012 11:14:01 +0100, Marco Trapanese ha scritto:

Se 'al volo' hai fatto un filato niente di più facile che i disturbi per via induttiva e/o capacitiva arrivino lo stesso, il layout è importante e lo sono anche le zone di massa e i percorsi delle piste.

-- ciao Stefano

Reply to
SB

Il 19/01/2012 11:19, SB ha scritto:

Vero, ma il circuitino iniziale (con l'INA326) era montato su PCB. Ok, sicuramente il layout non era dei migliori però per lo meno non era filato.

Sono arrivato alla conclusione che l'accoppiamento è di tipo radiato. Infatti anche solo con la sonda dell'oscilloscopio cortocircuitata (morsetto agganciato al puntale) tutto intorno all'inverter entro 10 cm vedo nettamente i disturbi.

Tra l'altro l'inverter è acceso ma disabilitato e non è nemmeno collegato il cavo che va al motore.

Purtroppo nel quadro la scheda andrà piuttosto vicina all'inverter e con queste intensità non credo che la differenza la facciano le zone di 0V e i percorsi delle piste. Anche perché qualunque cavo o oggetto nelle vicinanze viene invaso da questi disturbi.

Sbaglio?

Marco

Reply to
Marco Trapanese

Il giorno Thu, 19 Jan 2012 11:58:33 +0100, Marco Trapanese ha scritto:

Ok

Mah, l'inverter dovrebbe essere CE e qiundi non avere emissioni di quelle dimensioni, oltretutto senza il carico collegato.

I disturbi si eliminano con schermature e filtrature. Dalla tua hai che il segnale può essere lento e quindi puoi filtrare molto, poi l'effetto dipende dalle scelte che farai sull'uso di questi rimedi.

Credo invece che il layout e la regola di usare piste corte, zone o layer di massa e filtri all'ingresso del segnale sulla scheda sia determinante, se non basta dovrai anche mettere un contenitore metallico per schermare il tutto.

-- ciao Stefano

Reply to
SB

Il 19/01/2012 13:41, SB ha scritto:

L'inverter è Omron. Ha il filtro per le condotte, in realtà sono disponibili reattanze e toroidi per le radiate. Faremo una prova per vedere quando cambia.

Infatti inserendo un semplice lamierino di alluminio tra l'inverter e la scheda (che poi sarà proprio il supporto del PCB) i disturbi spariscono completamente.

La difficoltà sta nel fatto che la scheda (eurocard) ha la metà sinistra pena di connettori, e a destra c'è il micro con un po' di elettronica.

Per cui le piste "corte" sono solo quelle dei connettori di prima linea... per gli altri purtroppo devo attraversare metà scheda.

Ora cerco di fissare meglio tutti i vari componenti (inverter, filtro, pcb ecc...) ma la strada dovrebbe essere ora chiara.

Grazie! Marco

Reply to
Marco Trapanese

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.