Vai al contenuto
PLC Forum


Gestione impulsi feedback di posizionamento


Piero63

Messaggi consigliati

Buongiorno a tutti e ancora complimenti per questa utilissima piattaforma tecnica.

Sono giorni e giorni che cerco di capire come fare a risolvere questo problema....mi spiego:

Tuttì quanti saprete cosa sono e come funzionano gli attuatori lineari (elettrici), i quali possono avere diverse caratteristiche elettriche, meccaniche ecc.ecc.

 

Questi benedetti attuatori, possono essere equipaggiati con diversi sistemi di "controllo di posizione", ovvero potenziometri, reed o sensori ad effetto di Hall.

Scartando a priori il feedback a potenziometro, scelgo il sistema di impulsi generati da uno (o due) sensori di Hall. I sensori sono montati direttamente sull'albero del motore.

Quindi parliamo di uno o due impulsi per giro (del motore...).  E fino qui è tutto chiaro.

 

Il problema è che questo sistema di feedback (una sorta di encoder), è proprio montato sull'albero (del motore), quindi su un albero veloce (siamo sui 300 RPM circa....).

Non avrei il problema per contare gli impulsi, ci pensa il PLC.

 

Mettiamo ora il caso che - dovendo muovere il mio attuatore di un "certo" numero di impulsi (corrispondenti ad "certo" movimento lineare dell'attuatore), una volta raggiunto il conteggio desiderato, togliendo tensione al motore, mi trovo INEVITABILMENTE alcuni impulsi (o alcune decine di impulsi, dipende dall'inerzia del motore/attuatore), in più a quelli desiderati.....che si traduce quindi in un errato posizionamento dell'attuatore.

 

Essendo che - l'intera corsa dell'attuatore - è suddivica in molti "step" di posizionamento, mi trovo INEVITABILMENTE

 

 

 

Link al commento
Condividi su altri siti


Buongiorno a tutti e ancora complimenti per questa utilissima piattaforma tecnica.

 

Sono giorni e giorni che cerco di capire come fare a risolvere questo problema....mi spiego:

Tuttì quanti sapete cosa sono e come funzionano gli attuatori lineari (elettrici), i quali possono avere diverse caratteristiche elettriche, meccaniche ecc.ecc.

 

Questi benedetti attuatori, possono essere equipaggiati con diversi sistemi di "controllo di posizione", ovvero potenziometri, reed o sensori ad effetto di Hall.

Scartando a priori il feedback a potenziometro, scelgo il sistema di impulsi generati dai sensori di Hall. I sensori sono montati direttamente sull'albero del motore.

Quindi parliamo di uno o due impulsi per giro (del motore...).  E fino qui è tutto chiaro.

 

Il problema è che questo sistema di feedback (una sorta di encoder), è proprio montato sull'albero (del motore), quindi su un albero veloce (siamo sui 300 RPM circa....).

Non avrei il problema per contare e gestire gli impulsi, ci pensa il PLC.

 

Mettiamo ora il caso che - dovendo muovere il mio attuatore di un "certo" numero di impulsi (corrispondenti ad "certo" movimento lineare dell'attuatore), una volta raggiunto il conteggio desiderato, togliendo tensione al motore, mi trovo INEVITABILMENTE alcuni impulsi (o alcune decine di impulsi, dipende dall'inerzia del motore/attuatore), in più a quelli desiderati.....che si traduce quindi in un errato posizionamento dell'attuatore.

 

Essendo che - l'intera corsa dell'attuatore - è suddivisa in molti "step" di posizionamento, mi trovo INEVITABILMENTE che questo errore (impulsi in più del dovuto, quindi errata posizione), si somma ogni posizionamento. alla fine della corsa ho un grosso errore di posizione.

 

E' inutile avere a monte un calcolo molto preciso, se poi l'errore di posizione me lo genera il feedback di posizione dell'attuatore...

 

Premesso che:

 

Non posso (non voglio) comandare il motore con rampe di accelerazione (e soprattutto di decelerazione), in quanto dovrei complicare il sistema e la cosa non mi piace.

Non posso sapere a priori di quanti impulsi sarà il prossimo posizionamento. Lo calcola il PLC di volta in volta per ogni posizionamento (e aspetta in feedback di posizione...che arriva sbagliato !! ).

Il motore è comunque in cc a bassa tensione (12/24 Vdc).

Tutti i produttori forniscono questo tipo di sistema di retroazione (sul motore).

 

Quello che io dico  - correggetemi se sbaglio - è che se i sensori che generano gli impulsi, fossero montati su un albero lento (albero di uscita o su un albero "lento"dei vari stadi del rapporto di riduzione...insomma "più lento" di quello del motore), questo problema di "inerzia", cioè di impulsi in più dei richiesti, ovvero errato posizionamento, non esisterebbe.

 

O meglio: l'inerzia ci sarebbe lo stesso...ma riuscirei a contare esattamente gli impulsi che mi occorrono, senza generare errori di calcolo (impulsi in più del dovuto).

 

Penso  che i sensori siano installati sull'albero motore per avere una maggiore "risoluzione" di posizionamento, cosa che a me non serve.

 

Qualcuno si è mai imbattuto in una storia simile? Come risolverla?

 

Spero di essermi spiegato, resto in attesa - ringraziando anticipatamente - tutti coloro che mi sapranno rispondere.

Link al commento
Condividi su altri siti

Devi migliorare la precisione sul posizionamento,chiaro che se lasci il motore libero una volta raggiunta la quota questo per inerzia la supera(se il movimento sarà veloce l'errore sarà maggiore,se lento sarà minore).Adotta un sistema di controllo motore CC con driver 4 quadranti con cui regolare bene le rampe di accelerazione e decelerazione,in più valuta una velocità di rallentamento(fai un anticipo sulla quota calcolata e riducila,tipo al 10-20%) all'avvicinarsi dello step.

Link al commento
Condividi su altri siti

Se si vuole un posizionamento preciso, bisogna realizzare un anello di posizione. Punto. Altre vie non ce ne sono, almeno se si vule un sitema affidabile.

Anche se i sensori fossero montati sull'albero lento il problema rimane, magari meno visibile, ma rimane.

 

Se tu raccontassi un poco con quale PLC e come implementi il sistema forse sarebbe possiible consigliarti per il meglio.

 

Tanto per farti un esempio, nel mio tutorial sui controlli se ben ricordo c'è un esempio di posizionatore dove le rampe sono automatiche, Il link alla sezione didattica lo trovi anche nella mia firma.

Link al commento
Condividi su altri siti

Grazie a Livio e anche a Blackrice, per le risposte.

 

Certo, alimentando il motore con un sistema a 4 quadranti, potrei risolvere il problema delle rampe...ma se possibile vorrei evitare di utilizzare sistemi simili, soprattutto per mantenere semplice la cosa. Al momento alimento il sistema in modo  ON-OFF.

 

Il motore - comunque - non gira mai libero, se non altro perchè  - anche in assenza di "carico" sull'attuatore - i vari ingranaggi degli stadi di riduzione introducono un minimo di "freno motore". Gli impulsi che "sfuggono" al controllo, non sono molti...ma ci sono. Questo errore mi dà fastidio da morire...

 

Riguardo a realizzare un'anello di posizione, è proprio quello che vorrei tentare di fare, anche (e sopratutto) in maniera semplice e spartana. Lo so che se anche i sensori fossero montati sull'albero lento, l'errore ci sarebbe lo stesso (meno evidente, ma lo stesso), ma almeno riuscirei a contare i miei impulsi in modo più preciso.

Come ripeto, non ho problemi di "elevata risoluzione" di posizionamento, ma ho bisogno che l'attuatore si posizioni ad un numero certo di impulsi raggiunti.

 

Riguardo al PLC, sto usando una CPU Elsist 6DI 4DO. Molto semplice ed economica. Non posso dire altro riguardo al sw di controllo, perchè se ne occupa un caro amico al quale ho chiesto di aiutarmi in questa semplice automazione, io non sarei in grado di programmarla...

 

Ora vado a vedere il link di Livio (che ringrazio ancora), se avete altri suggerimenti o idee, vi ringrazio ancora tantissimo.

 

Piero.

Link al commento
Condividi su altri siti

SandroCalligaro

 Anche nell'ipotesi di usare un controllo rudimentale (ad es. ON-OFF), non vedo il motivo per cui l'errore debba accumularsi. A meno che il tuo PLC non azzeri il conteggio ogni volta che raggiunge l'obiettivo.

 

PS: anche se il controllo non può funzionare in 4 quadranti, avrai comunque previsto la possibilità di far ritornare indietro l'attuatore, no?

Link al commento
Condividi su altri siti

Ci sono cose che per funzionare devono essere fatte nel modo giusto, non esistono modi spartani, ricchi o altro; esistono solo il modo corretto ed il modo errato.

 

Non conosco nei dettagli il tuo sistema, ma molti anni fa realizzazi un sistema di posizionamento, con una realtivamente buona precisione, utilizzando solo il comando on-off tramite contattore che azionava un motore trifase.

 

Tutto sta nel trovare il modo corretto per far funzionare al meglio il sistema.

Ovviamente le prestazioni sono legate al sistema in uso.

Link al commento
Condividi su altri siti

  • 3 weeks later...

Concordo con SandroCalligaro, anche nell ipotesi di un semplice controllo on-off non vedo perchè il conteggio debba andar perso dopo ogni missione di posizionamento. Non conosco il tuo attuatore( anche perchè non lo descrivi) , ma posso ipotizzare che a velocità costante dopo una fermata l inerzia sia pressochè costante( a meno che il carico non vari di volta in volta). Quindi teoricamente ti basterebbe trovare empiricamente gli "N" impulsi di anticipo necessari a fermare il motore nei pressi della quota voluta. Secondo me la ripetibilità già cosi sarebbe discreta.

 

Realizzare un anello di posizione non puó essere una operazione spartana...come dice Livio, ci sono cose che vanno eseguite in un determinato modo e basta, pena un risultato a pene di Molosso..;)

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...