Progetto regolazione motore brushless

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

Avatar utente
Foto Utentez.deby
0 2
Messaggi: 18
Iscritto il: 12 set 2008, 17:23
0
voti

[1] Progetto regolazione motore brushless

Messaggioda Foto Utentez.deby » 12 set 2008, 17:36

Salve a tutti

Scusate se vi disturbo, ma forse qualcuno du voi riesce ad aiutarmi... [-o<

Per la mia tesi di primo livello sto lavorando alla progettazione di un sistema di controllo per camme elettroniche in sostituzione di camme meccaniche, comprendente la gestione della movimentazione degli assi in controllo di spazio, per macchine industriali adibite a processi di termoformatura di materiali plastici.

I miei problemi s'incentrano sulla fase di progettazione del regolatore in base alla struttura del motore (gli impianti sono forniti di motori brushless).

Purtroppo all'interno del mio corso di studi sono presenti solo un corso di Automatica e di regolatori industriali e quindi non ho sufficienti conoscenze per gestire la progettazione di un regolatore a partire da un processo reale come può essere quello di un motore brushless.

Attraverso un modello a tempo continuo fornito dal mio tutor universitario, sono riuscita a simulare il sistema e definire un regolatore di posizione (espresso ancora nel dominio delle frequenze), ma ora non riesco a passare alla fase di discretizzazione e quindi alla stesura di un codice corretto e preciso.

Ringraziando in anticipo chiunque avesse tempo e voglia di aiutarmi

Saluti

Deby

Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO
Contatta:
0
voti

[2] Re: Progetto regolazione motore brushless

Messaggioda Foto Utenteg.schgor » 12 set 2008, 19:57

Non e' chiaro in che modo vuoi controllare il motore (con un microprocessore?), e quale
grado di controllo vuoi realizzare (PID?) Forse un aiuto lo puoi trovare nel corso:
http://www.electroportal.net/vis_resour ... orso&id=64
(Cap 22 Regolatori digitali)

Si tratta di stabilire prima le prestazioni richieste, per poi sviluppare un programma
(ma non e' una cosa semplice e rapida!). Attendo precisazioni.

Avatar utente
Foto Utentez.deby
0 2
Messaggi: 18
Iscritto il: 12 set 2008, 17:23
0
voti

[3] Re: Progetto regolazione motore brushless

Messaggioda Foto Utentez.deby » 15 set 2008, 8:50

Per il momento, il motore che devo controllare è quello del SimoDrive 611U della Siemens (da comandare in coppia) e, per controllarlo, l'azienda per la quale sto realizzando questo progetto mi ha messo a disposizione un PLC fornito di una CPU (315-2 DP) e di un'interfaccia profibus per comunicare con l'azionamento.

L'obiettivo finale è quello di realizzare un software (in linguaggio SCL e AWL) che vada a sostituire un controllore tecnologico dedito al Motion Control.

Fino ad ora mi sto occupando unicamente del motore dedito al posizionamento, in riferimento al quale il mio tutor universitario mi ha suggerito come struttura di controllo una struttura a cascata avente un PI nell'anello interno per il controllo della velocità ed un P nell'anello esterno per il controllo della posizione.

Ho guardato con attenzione il link del corso da lei suggeritomi, ma purtroppo non dice nulla di più di quanto spiegatomi nel corso di Regolatori Industriali in università.

Il mio problema, sta proprio nel definire correttamente i parametri dei regolatori in funzione al motore su cui sto lavorando; nei corsi frequentati tali parametri venivano definiti in base al processo (espresso sempre con una funzione di trasferimento nel dominio delle frequenze), ma in questo caso non ho idea di come poter rappresentare un motore brushless quale processo del mio sistema!

Sperando di essere stata abbastanza chiara, la ringrazio sin da ora per la disponibilità

Saluti

Deby

Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO
Contatta:
0
voti

[4] Re: Progetto regolazione motore brushless

Messaggioda Foto Utenteg.schgor » 15 set 2008, 9:36

z.deby ha scritto:l mio problema, sta proprio nel definire correttamente i parametri dei regolatori

Ma non avevi detto che avevi gia' simulato il sistema in forma analogica?
Mi sembrava di capire che si trattava solo di convertire il controllo da analogico a digitale (quindi nel dominio
z, anziche' s) ed in questo poteva essere utile il corso citato.

Avatar utente
Foto Utentez.deby
0 2
Messaggi: 18
Iscritto il: 12 set 2008, 17:23
0
voti

[5] Re: Progetto regolazione motore brushless

Messaggioda Foto Utentez.deby » 15 set 2008, 10:26

Le allego lo schema a blocchi del modello in analogica su cui mi sto basando, al fine di essere il più chiara possibile:

all'interno del rettangolo rosso sono posizionati i componenti che simulano il comportamento di un motore brushless, mentre all'esterno ho lasciato i blocchi di regolazione (P , PI e blocco di derivazione per determinare l'errore in termini di velocità)

I 4 blocchi posti in fondo allo schema, invece, mi sono stati suggeriti dal professore come possibile linearizzazione del sistema.

I miei dubbi in merito a tale modello sono i seguenti:
* in uscita dal PI ( rettangolo verde), dovrei avere un riferimento per la corrente di quadratura, giusto??
* la posizione misurata dall'encoder risulta in rad, suppongo quindi che anche il mio Set Point di posizione (thetabar) dovrà essere espresso in radianti e non in mm, come suggeritomi dall'azienda, è corretto??

Per realizzare l'algoritmo, il professore mi ha suggerito di discretizzare l'intero sistema e di testarlo in C prima che sull'azionamento; il mio problema circa la discretizzazione sta proprio nel discretizzare i blocchi relativi al motore brushless, mentre quelli di regolazione (cerchiati in blu) li ho già discretizzati.

Per non perdere tempo, ho provato a scrivere l'algoritmo da testare direttamente sull'azionamento...in fase di test ho però riscontrato un errore d'inseguimento eccessivamente elevato e non so come andare a modificarlo se non modificando i parametri dei regolatori, ma questi dipendono (se non sbaglio) ancora dalla FdT del motore , e quindi rieccomi al problema iniziale della discretizzazione...

Sperando essere riuscita a chiarirle il problema, la ringrazio ancora e rimango in attesa di una sua risposta...

Grazie infinite

Deby
Allegati
ModelloDymola.JPG
ModelloDymola.JPG (58.79 KiB) Visto 6637 volte

Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO
Contatta:
0
voti

[6] Re: Progetto regolazione motore brushless

Messaggioda Foto Utenteg.schgor » 15 set 2008, 11:02

Mi spiace, ma non riesco a seguirti. Se i parametri caratteristici del motore sono noti
(e gia' utilizzati nella simulazione analogica), ritengo possibile convertirli in digitale
(magari utilizzando un linguaggio piu' facile ed immediato del C) senza grandi difficolta'.

In altre parole: hai una funzione di trasferimento di questo motore (compreso il sistema
attuatore)?

Avatar utente
Foto Utentez.deby
0 2
Messaggi: 18
Iscritto il: 12 set 2008, 17:23
0
voti

[7] Re: Progetto regolazione motore brushless

Messaggioda Foto Utentez.deby » 15 set 2008, 11:28

Chiedo scusa per la mia scarsa padronanza del linguaggio specifico :oops:

E' riuscito comunque a giungere proprio al nocciolo del mio problema...non ho una FdT che mi rappresenti il motore, ma solo una successione di equazioni matematiche che descrivono la variazione di correnti e tensioni all'interno di un motore brushless, ossia:

Codice: Seleziona tutto

  0 = PA.i + PB.i + PC.i "Bilancio di correnti";
  0 = Vn + Ea - PA.v "Tensione Pin A";
  0 = Vn + Eb - PB.v "Tensione Pin B";
  0 = Vn + Ec - PC.v "Tensione Pin C";
  K = 2*Kt/(3*p);
  kA = p*K*sin(p*FB.phi) "Calcolo funzione di forma a";
  Kb = p*K*sin(p*FB.phi - (2/3)*PI) "Calcolo funzione di forma b";
  Kc = p*K*sin(p*FB.phi - (4/3)*PI) "Calcolo funzione di forma c";
  Ea = kA*w "Calcolo della bemf a";
  Eb = Kb*w "Calcolo della bemf b";
  Ec = Kc*w "Calcolo della bemf c";
  w = der(FB.phi) "Calcolo della velocità angolare";
  FB.tau = -(kA*PA.i + Kb*PB.i + Kc*PC.i) "Calcolo della coppia generata";


oltre alle trasformate di Park (diretta e inversa), e ai contributi di resistenze e induttanze

Saprebbe aiutarmi ad ottenere da queste equazioni la FdT del motore??

Mi scusi davvero per la mia difficoltà nell'esprimere il problema!! :(

Sperando di non averla oltremodo tediata , saluti

Deby

Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO
Contatta:
0
voti

[8] Re: Progetto regolazione motore brushless

Messaggioda Foto Utenteg.schgor » 15 set 2008, 12:36

Per quanto capisco, mi sembra che il calcolo indicato serva solo a determinare la coppia motrice
data la tensione applicata. Per ottenere la FdT occorrerebbe sapere anche il momento d'inerzia
totale (motore +carico), cioe' occore stabilire il comportamento dinamico del complesso.
Nessun dato in proposito?

Avatar utente
Foto Utentez.deby
0 2
Messaggi: 18
Iscritto il: 12 set 2008, 17:23
0
voti

[9] Re: Progetto regolazione motore brushless

Messaggioda Foto Utentez.deby » 15 set 2008, 12:51

Dai dati tecnici fornitimi dall'azienda, io so che:

momento d'inerzia: 0.68 * 10^(-4)Kgm^2;
numero di poli (2p) : 6;
costante di coppia : 0.67 Nm/A
Resistenza dell'avvolgimento : 5.7 Ohm
Induttività del campo rotante: 13 mH

Ma per "comportamento dinamico", per caso si riferisce alla legge: J*w=K*I - D*v ??
dove
J=momento d'inerzia
w=accelerazione angolare
K=costante di coppia
I =corrente
D= coefficiente d'attrito
v=velocità angolare

Ho utilizzato questa legge per lo studio di un posizionamento con un motore CC, vale anche per il brushless??

Non so davvero come ringraziarla per l'aiuto che mi sta dando... :oops:

Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO
Contatta:
0
voti

[10] Re: Progetto regolazione motore brushless

Messaggioda Foto Utenteg.schgor » 15 set 2008, 14:57

Direi di si' (sostituendo la coppia calcolata al semplice K*I), ma aggiungendo a J
anche la parte dell'azionamento trascinato dal motore).


Torna a “Automazione industriale ed azionamenti”