Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Simulink: Controllo della velocita di un motore c.c.

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentearakanoid » 23 lug 2012, 16:35

Salve a tutti,
devo realizzare una simulazione dell' immagine sottostante:
Immagine

Praticamente il cerchio in rosso + in basso è il motore in corrente continua, sull' albero andrà inserito un sensore di posizione capacitivo ( che per adesso non sono riuscito a trovarlo nella libreria di simulink ) e che nell immagine inserita è quel puntino nero messo al centro. Poi vi è una catena di trasmissione e un secondo cerchio in rosso ( quello in alto ) che in realtà sarà una corona dentata ( come quelle delle biciclette per intenderci ). Immaginando che adesso l' albero del motore inizi a girare tutto questo sistema girerà. Di conseguenza anche la barra dentata si muoverà e avrà un movimento lineare, però questa barra si potrà muovere solamente in un certo range ( immaginiamo da 0 a 40cm ). Detto questo nel realizzare il seguente progetto in simulink ho trovato difficolta in:
1) come limitare il movimento della barra dentata?
2) dove trovo il sensore capacitivo nella libreria del simulink?

Risolti questi due dubbi dovrò trovare l uscita del sensore capacitivo e con una look-up table associare a determinati valori una certa coppia che sarà l'ingresso del motore.
Di seguito vi posto l immagine della simulazione fino al punto in cui sono arrivato:
Immagine
Avatar utente
Foto Utentearakanoid
-4 3
 
Messaggi: 36
Iscritto il: 30 gen 2009, 18:10

5
voti

[2] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentedimaios » 24 lug 2012, 0:31

Non riesco a capire perché ogni volta che viene posto un problema mancano un'infinità di dati.
E' così difficile illustrare in modo completo un problema ?

DOMANDE RELATIVE AL SISTEMA DINAMICO DA ANALIZZARE

    Massa del pignone ?
    Massa della cremagliera ?
    Diametro primitivo del pignone ?
    Numero di denti del pignone e della cremagliera ?
    Lunghezza totale della cremagliera ?
    Rapporto di riduzione del sistema a pulegge ?
    Dati di targa del motore CC ?
    Inerzia del motore CC ?
    Datasheet del sensore per il controllo di velocità/posizione ?
    ....
    ....
    ....

DOMANDE RELATIVE AL CONTROLLO

    Cosa devi realizzare ?
    Vuoi fare un controllo di posizione ?
    Che tipo di controllore vuoi impiegare ?
    Velocità massima ?
    Accelerazione massima ?
    Jerk massimo ?
    Devi generare traiettorie particolari ?
    ....
    ....
    ....

Senza i dati richiesti non è possibile risponderti seriamente.
Il problema di simulare il sensore e di limitare il moto risulta banale una volta specificato bene il resto.
Ho la brutta impressione che tu stia concentrando la tua attenzione sul mezzo ( Simulink ) anzichè analizzare bene le specifiche del problema.
Il centro è sempre il problema non il simulatore.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[3] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentearakanoid » 24 lug 2012, 11:31

Ciao...per le risposte relative ai quesiti "DOMANDE RELATIVE AL SISTEMA DINAMICO DA ANALIZZARE" posso scegliere arbitrariamente tutto...L' intento di questa simulazione e vedere il funzionamento in via del tutto generale.
Per le risposte ai quesiti "DOMANDE RELATIVE AL CONTROLLO"
1)Devo realizzare quel dispositivo che ho realizzato nella prima immagine...Ti spiego cosa dovrebbe fare in realtà questo dispositivo...Praticamente immagina una situazione a regime durante il quale quella barra dentata inizia a muoversi verso destra con una certa forza F1...Se io applico a quella barra dentata una forza in senso opposto a F1 ovvero verso sinistra e questa forza la chiamiamo F2, se |F2|>|F1| allora la barra dentata subirà uno spostamento verso sinistra. Adesso man mano che sposto la barra dentata verso sinistra anche il motore girerà in senso opposto e il sensore ke è posto sull albero motore mi darà informazione su quanto io sto spostando la barra dentata. A questo punto devo fare una corrispondenza tra questo spostamento e la forza che generà il motore in maniera tale che a diverse posizioni corrispondano diverse Forze.
Faccio un esempio
La barra dentata si muove verso destra...Immagina che si trovi in una certa posizione x0
Dopo un tempo t si troverà in una posizione x1 e spingerà con una forza F1
Dopo un tempo t si troverà in una posizione x2 e spingerà con una forza F2
e cosi via dicendo...
Io applico una forza F verso sinistra che è maggiore della F2 ( la barra dentata si trova nella posizione x2 ). Dato che la mia forza è maggiore la barra dentata si sposta dalla posizione x2 alla posizione x1 dove stavolta spingerà con una forza F1. Analogamente se la mia forza verso sinistra F è maggiore della forza F1 la barra dentata si porterà nella posizione x0 e spingerà con una nuova forza F0.
2) Si, voglio in particolare controllare la posizione della barra dentata usando però un sensore capacitivo applicato sull albero motore ( conoscendo il rapporto di riduzione posso conoscere lo spostamento della barra sapendo lo spostamento angolare dell' albero motore )
3) Computer
4) 0,10m/s
5) Utilizziamo quella di gravità 9,81m/(s^2)
6) Potrebbe andare bene dell' ordine del centimetro
7) No la barra deve muoversi solo lungo una direzione
Se hai altre domande fai pure...Comunque quello che devo realizzare è un simulazione del funzionamento del tutto generale senza "molta precisione"
Avatar utente
Foto Utentearakanoid
-4 3
 
Messaggi: 36
Iscritto il: 30 gen 2009, 18:10

1
voti

[4] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentedimaios » 24 lug 2012, 14:38

C' e' un pochino di confusione nell' individuazione delle variabili da misurare quelle misurabili e quelle stimate.

La cremagliera e' evidentemente collegata ad un carico che varia con la posizione altrimenti il problema non ha molto senso.
Indichiamo quindi la forza F resistente come F_{R} = F_{R}(x) dove R indica appunto "resistente" ed x e' la coordinata della cremagliera rispetto ad un riferimento.

Quello che si puo' regolare e' la posizione in quanto abbiamo un sensore di velocita' sul motore che integrato e scalato ci permette di ottenere la coordinata x della cremagliera. ( inizialmente bisogna fissare uno zero di riferimento ).

A questo punto si deve fare un controllo di posizione e fissare come riferimento una coordinata x_{R}.
Il sistema si portera' in quella posizione e la manterra' poiche' il regolatore rimane attivo.
A questo punto siccome il motore eroga una certa corrente si puo' risalire alla coppia esercitata dall'attuatore e di conseguenza la forza. ( in pratica si utilizza il modello del motore per stimare la coppia/forza erogata per il mantenimento della posizione ).

arakanoid ha scritto:3) Computer


Si ma per controllo intendevo un PID oppure qualcosa di piu' evoluto.

arakanoid ha scritto:5) Utilizziamo quella di gravità 9,81m/(s^2)


Attenzione, per accelerazione intendevo quella massima per portare la cremagliera da un punto ad un altro, non quella di gravita'.

arakanoid ha scritto:6) Potrebbe andare bene dell' ordine del centimetro


Forse dovresti rivedere la definizione di jerk. E' la derivata dell'accelerazione quindi non si misura in centimetri. :-?

Inizia scrivendo le equazioni del modello del motore e le equazioni cinematiche e dinamiche del sistema.

P.S. Cortesemente indica a che punto del percorso scolastico sei arrivato e le materie attinenti al progetto proposto.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[5] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentearakanoid » 25 lug 2012, 10:20

Ok, sei riuscito a inquadrare il problema :)
Per quanto riguarda il controllo, avevo le idee chiare sul tipo di controllo che avevo pensato di farlo ad anello aperto...il controllore per me andava bene un PC o un microcontrollore che prendeva in ingresso la posizione e faceva erogare una certa forza alla barra dentata.

Per quanto riguarda l'accelerazione proviamo a fare cosi:
| | | | | | | | | |
Immagina che questi sono i tanti step che abbiamo e che stiamo numerando in ordine crescente.
Adesso alla posizione1 ci sarà una forza F1, se la forza mia F>F1 riusciamo a portare il sistema alla posizione2. Nel portarlo vorrei ke la velocità con il quale il sistema si porta dalla posizione1 alla posizione2 rimanga costante. Chiamiamo questa velocità Vs (velocità step). Questa velocità dovrà essere uguale per ogni step e sarà uguale a 0,10m/s.
Quindi io vorrei che subito dopo la 1° posizione si abbia una certa accelerazione ( che duri un tempo t molto piccolo rispetto al tempo totale che il sistema ci mette per portarsi da uno step all' altro ) tale da portare la velocità iniziale vi=0m/s alla velocità finale vf=0,10m/s

In effetti avevo cercato direttamente in google la parola "jerk" e a quanto pare non era quello che cercavo :)

Per quanto riguarda il motore non posso scrivere nulla, ci tengo a precisare nuovamente che voglio realizzare una simulazione generalizzata quindi prendere il blocco di simulink e usarlo direttamente per la simulazione per me va benissimo.
Per quanto riguarda le altre equazioni la barra si muoverà con una velocità v=wr
Avatar utente
Foto Utentearakanoid
-4 3
 
Messaggi: 36
Iscritto il: 30 gen 2009, 18:10

0
voti

[6] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentenollo » 25 lug 2012, 10:40

arakanoid ha scritto:Per quanto riguarda il motore non posso scrivere nulla, ci tengo a precisare nuovamente che voglio realizzare una simulazione generalizzata quindi prendere il blocco di simulink e usarlo direttamente per la simulazione per me va benissimo.


Cosa intendi???
Anche il più generico blocco simulink ha comunque dei settaggi!
Vedere le cose da un punto di vista "generale" non significa assegnare dei valori a casaccio di grandezze fisiche...

Dovresti avere almeno chiari quali sono gli ordini di grandezza del sistema che stai andando a studiare.
Te lo dico da studente: la simulazione non serve a niente se non può offrirci dei riscontri che poi la nostra sensibilità può interpretare e valutare.
Avatar utente
Foto Utentenollo
1.141 2 7 12
Expert EY
Expert EY
 
Messaggi: 422
Iscritto il: 4 feb 2011, 13:44

0
voti

[7] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentearakanoid » 25 lug 2012, 10:57

Non so come spiegarmi meglio...Provo cosi:
La simulazione voglio che faccia muovere quella barra dentata, e il sensore registri la posizione.
Poi se ci vuoi mettere un motore in cc più o meno potente non mi importa, se ci vuoi mettere una catena lunga 2metri anziche 8m non mi importa, se ci vuoi mettere un rapporto di riduzione più o meno grande non mi importa, se ci vuoi mettere una barra dentata lunga 1 metro anziche 40cm non mi importa nemmeno. Voglio solo che la simulazione registri un movimento della barra dentata e le posizioni registrate dal sensore.
Avatar utente
Foto Utentearakanoid
-4 3
 
Messaggi: 36
Iscritto il: 30 gen 2009, 18:10

1
voti

[8] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentedimaios » 25 lug 2012, 15:11

Foto Utentearakanoid il problema non e' la generalita' dei parametri o la scelta del motore ma come risalire alla forza che il motore sta esercitando per mantenere stabile la posizione della cramagliera attraverso il cinematismo.
Devi fare un modello del motore CC per ricavare la coppia erogata altrimenti non hai un sensore a disposizione per misurare questa grandezza.
In poche parole ...... una volta che il motore "tiene fermo" il carico come fai a capire che forza sta esercitando se non hai un sensore per misurarla ?

La devi dedurre da un modello in modo indiretto. Ok :?:

Inizia con lo scrivere le equazioni del motore CC e del cinematismo.

( P.S. Cortesemente indica a che punto del percorso scolastico sei arrivato e le materie attinenti al progetto proposto. )
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[9] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentenollo » 25 lug 2012, 16:29

dimaios ha scritto:Foto Utentearakanoid ( P.S. Cortesemente indica a che punto del percorso scolastico sei arrivato e le materie attinenti al progetto proposto. )


Aiuterebbe ;-)
Avatar utente
Foto Utentenollo
1.141 2 7 12
Expert EY
Expert EY
 
Messaggi: 422
Iscritto il: 4 feb 2011, 13:44

0
voti

[10] Re: Simulink: Controllo della velocita di un motore c.c.

Messaggioda Foto Utentearakanoid » 26 lug 2012, 11:03

The output of the block is a vector containing four signals. You can demultiplex these signals by using the Bus Selector block provided in the Simulink library.

Signal Definition Units
1 Speed wm rad/s

2 Armature current ia A

3 Field current if A

4 Electrical torque Te N

Ps=ho i requisiti per affrontare questo progetto
Avatar utente
Foto Utentearakanoid
-4 3
 
Messaggi: 36
Iscritto il: 30 gen 2009, 18:10

Prossimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti