Vai al contenuto

Blocco funzione per acquisizione cella di carico

Home Forum Programmazione IEC 61131 (LogicLab) Blocco funzione per acquisizione cella di carico

Stai visualizzando 8 post - dal 1 a 8 (di 8 totali)
  • Autore
    Post
  • #35649
    Sergio Bertana
    Amministratore del forum

    Il blocco funzione StrainGaugeAcq, strain gauge acquisition (Estratto manuale) permette di acquisisre segnali da celle di carico direttamente tramite gli ingressi del modulo espansione I/O analogico. Utilizzando il canale 3 (Ingressi Ai03-/Ai03+) per acquisire la tensione di alimentazione dello strain gauge (Massimo 5 volt) è possibile dagli altri canali acquisire fino a 4 celle di carico (Tutte alimentate dalla stessa tensione).

    Il blocco funzione prevede due ingressi di comando, DoOfsCalibration per la calibrazione dell’offset, DoFSCalibration per la calibrazione del fondo scala di lettura. In questo modo può gestire autonomamente la sottrazione del valore di tara e compensare la precisione di lettura della cella di carico.

    Per l’alimentazione della cella di carico è possibile utilizzare un canale D/A nel caso di un modulo mixed A/D e D/A, oppure un alimentatore esterno. Nel caso di alimentatore esterno si sconsiglia l’utilizzo di alimentatori switching perchè la commutazione in uscita disturba l’acquisizione.

    Il parametro FilterCf permette di effettuare un filtraggio intelligente del segnale di peso, in pratica è possibile avere in uscita un valore di peso stabile in condizione di pesatura, ma il valore è libero di variare rapidamente durante le repentine variazioni di peso. Altre informazioni in questo topic.

    #38493
    Sergio Bertana
    Amministratore del forum

    Siccome l’acquisizione celle di carico per avere buoni risultati deve essere affrontata con i dovuti carismi, ho realizzato un semplice progetto per dare una tracccia di come si possa operare. Nel mio esempio utilizzo uno strain gauge da 20 Kg di cui riporto il datasheet.

    Come si vede, lo strain gauge ha una impedenza di ingresso di 415Ω, volendola alimentare a 4,5Volt occorre una corrente  di 10.84mA, l’uscita D/A del nostro modulo espansione I/O analogico può erogare massimo 10mA, quindi ho optato per utilizzare una uscita in corrente (Corrente massima 20mA). Ricordo che non è tanto importante la precisione del valore di tensione di alimentazione dello strain gauge, viene compensata mediante la lettura effettuata sul canale 3 (AI03-/AI03+), ma è importante la stabilità e pulizia del segnale.

    Come  si vede dallo screenshot del programma, alimento lo strain gauge dal canale 0 del modulo D/A (Corrente di 10.9mA), dal canale 4 del modulo di acquisizione A/D eseguo la lettura del peso. In accordo alle specifiche dello strain gauge il valore di SGaugeFullScale è 20Kg, mentre lo SGaugeRatio è 2mV/V. Avendo impostato il valore di fondo scala in grammi avrò tutte le definizioni di peso nella stessa unità di misura.

    Taratura offset: A cella scarica si attiva DoOfsCalibration che salva nella variabile RETAIN OfsCalibration il valore di offset.
    Taratura scala: Carico la cella con un peso di riferimento, il più preciso possibile e più vicino posibile al fondo scala (Nel mio esempio per semplicità ho utilizzato un pesetto da 400gr anche se avrei dovuto usarne uno da 19Kg). Il valore del peso di riferimento và definito in FSReference. Si attiva DoFSCalibration che salva nella variabile RETAIN FSCalibration il valore di offset.

    Terminata la taratura il sistema è pronto alla pesatura come si vede nella foto stò pesando un pesetto da 200gr. Nel mio sistema in test mi sono preso la libertà di usare fili non schermati per la connessione dello strain gauge, ma nella realtà sono indispensabili fili twistati e schermati, allego programma sorgente.

    #38494
    Sergio Bertana
    Amministratore del forum

    Per dare una idea dei valori di tensione in gioco e per avere uno strumento di test del cablaggio realizzato, ecco un programma che utilizzando lo stesso collegamento visto nel post precedente permette di verificare la correttezza del cablaggio (Screenshot programma).

    Siccome per acquisire le celle di carico gli ingressi del modulo A/D sono configurati hardware per segnali 0÷1.17V, occorre che la tensione di alimentazione della cella non superi 1V. Come si vede dallo screenshot del programma ho impostato una uscita sul D/A a 2mA che con la cella di carico utilizzata (415Ω) genera una tensione di 0.83V (Infatti dal canale di acquisizione 3 leggo 0.827V).

    Siccome la cella genera 2mV/V a 20Kg di carico avrei in uscita una tensione di 0.00164V (1.64mV) (0.827*(2/1000)). Al peso caricato sulla cella 200gr il valore in volt acquisito sarà 100 volte inferiore cioè 0.0000164V (0.0164mV). Per poter leggere questo valore in  modo stabile ho dovuto inserire un FB di Average con un coefficente di filtro elevato. Tutte queste operazioni sono però già svolte dal blocco funzione StrainGaugeAcq.

    Ecco quindi che per acquisire valori di tensione dell’ordine di pochi mV è importantissima la precisione e “pulizia” del segnale di alimentazione strain gauge e la cura del cablaggio utilizzando cavi schermati e twistati.

    Allego il progetto sorgente che può essere utilizzato per testare la connessione da voi realizzata, ricordo di impostare correttamente la corrente di uscita sul D/A in base alla resistenza dello strain gauge utilizzato per non superare 1V .

    #39787
    Andrea
    Partecipante

    Volevo chiedervi se era possibile collegare una cella di carico ad un modulo mixed signal, grazie mille in anticipo.

    #39788
    Sergio Bertana
    Amministratore del forum

    No, l’acquisizione cella di carico utilizza funzioni hardware che sono presenti solo nel modulo di espansione analogico. Naturalmente il modulomixed I/O può leggere una cella di carico che sia dotata del suo amplificatore e quindi con uscita in tensione e/o corrente ma non direttamente lo strain gauge.

    #39903
    Vito
    Partecipante

    Dovrei acquistare un modulo PCB126*110 per la gestione di celle di carico e le alimenterei a con Switching esterno a 5V, ma non ho chiaro se l’amentazione devo portarla a 5V come specificato sul Manuale hardware oppure ad 1V come menzionato nel secondo post di questo topic.

    #39904
    Sergio Bertana
    Amministratore del forum

    In effetti rileggendo il secondo e terzo post del topic mi sono perso un attimo… In realtà per utilizzare il FB di acquisizione strain gauge devi alimentare il ponte con un massimo di 5 Volt come ho fatto nel programma del secondo post.

    Gli ingressi analogici sono configurati senza partitore in ingresso (Stessa configurazione usata nella acquisizione 1 Volt) ma in realtà il FB StrainGaugeAcq modifica la configurazione per utilizzare un reference esterno (Come vedi dal manuale hardware si utilizza l’ingresso AI03). In questo modo l’acquisizione è relativa alla tensione utilizzata per alimentare lo strain gauge relativizzando l’acquisizione per renderla indipendente dalla tensione utilizzata.

    Nel terzo post ho voluto indicare, come, usando una acquisizione in tensione (Quindi con il reference interno) sia possibile verificare la tensione in uscita dallo strain gauge. Questo al solo scopo di effettuare tests sulla esatta connessione dello stesso al modulo di acquisizione. Questa spiegazione è nata da una diatriba con un cliente che non riusciva ad acquisire il valore di peso e non si capiva se era dovuto ad un errato cablaggio dello strain gauge. Ma in questo caso devi alimentare il ponte con un massimo di 1 Volt.

    #74119
    Stefano
    Partecipante

    Per alimentare il ponte di misura di una cella di carico è percorribile la strada di prelevare i 5V dalla usb di uno slimline (se presente) o dal bus di espansione?

Stai visualizzando 8 post - dal 1 a 8 (di 8 totali)
  • Devi essere connesso per rispondere a questo topic.