• Non ci sono risultati.

4.1 Descrizione generale del progetto C 4 Il controllo del motore elettrico

N/A
N/A
Protected

Academic year: 2021

Condividi "4.1 Descrizione generale del progetto C 4 Il controllo del motore elettrico"

Copied!
24
0
0

Testo completo

(1)

Il controllo del motore elettrico

4.1 Descrizione generale del progetto

4.1.1 Introduzione

Il programma, realizzato con LabVIEW 7.1 della National Instru-ments, permette il controllo delle principali funzioni del motore elettrico Baldor BSM100A-1150AA. Rende possibile la gestione, tramite personal computer, della velocità, del tempo d’accelerazione e decelerazione e del senso di rotazione. Permette di programmare dei cicli di test, ripeterli più volte e salvarli su file per utilizzarli successivamente.

4.1.2 Specifiche del progetto

Le specifiche tecniche del progetto sono le seguenti: 1. Controllo diretto della velocità di rotazione del motore.

2. Controllo diretto del tempo d’accelerazione e decelerazione del moto-re.

3. Controllo diretto della direzione di rotazione del motore.

4. Programmazione di cicli di test impostando step di velocità, tempo di accelerazione, tempo di decelerazione, tempo di permanenza delle singole velocità e numero di ripetizioni del ciclo.

(2)

5. Memorizzazione su file dei cicli di test di particolare interesse. 6. Visualizzazione grafica del profilo del singolo ciclo.

7. Visualizzazione della velocità effettiva del motore in forma digitale e analogica.

8. Visualizzazione grafica in tempo reale del profilo effettivo della velo-cità del motore.

4.1.3 Valore dei parametri

Nella tabella seguente sono mostrati i valori dei parametri regolabili dall’utente. Range Parametro Min Max Default Unità di mi-sura

Velocità di rotazione del

motore 0 4500 0 rpm

Tempo d’accelerazione tra

due livelli di velocità. 1 10 5 s

Tempo di decelerazione tra

due livelli di velocità. 1 10 5 s

Tempo di transizione tra due valori di velocità in un ci-clo.

1 10 5 s

Tempo di permanenza della

singola velocità in un ciclo. 0 600 10 s

Numero di ripetizioni del

ciclo 1 10 1

Numero dello step nel ciclo 1 10 1

Controllo della direzione di rotazione

Unclock

wise Clockwise

Unclock wise

(3)

4.2 Diagramma di flusso

Il diagramma di flusso è diviso in due parti, il diagramma per il con-trollo diretto del motore e quello per il concon-trollo programmato.

Avvio del programma

comunicazione seriale corretta?

Selezione del valore dei parametri speed, rise time, fall time e rotation

direction.

START vero?

Passaggio dei parametri al controllore del motore.

STOP vero? EXIT vero?

Selezione del nuovo valore dei parametri speed, rise time, fall time

e rotation direction.

NEW SPEED vero?

Ripristino del valore default dei parametri. Terminazione del

programma. Ripristino del valore

default dei parametri.

Passaggio dei parametri al controllore del motore. Avvio della rotazione del motore con i nuovi

parametri. Rotazione standard?

Avvio del motore e attivazione del pulsante

NEW SPEED. Continui con la rotazione non standard? SI NO SI NO SI SI SI SI SI NO NO NO NO NO

Ripristino della direzione di rotazione standard. PROGRAM FALSO

EXIT vero?

Ripristino del valore default dei parametri. Terminazione del

programma. NO

SI

(4)

Avvio del programma

comunicazione seriale corretta?

Programmazione dello step; selezionando il numero dello step, la velocità, il tempo di transizione e il tempo di

permanenza.

MEM vero?

Passaggio dei parametri al controllore del motore.

OK vero? SI NO SI NO Memorizzazione su file dello step. NO SI CANCEL vero? Rotazione del motore

Ripristino dei valori default dei parametri e arresto del

motore. EXIT vero?

Ripristino dei valori default dei parametri, arresto del motore e terminazione del

programma.

Rotazione standard?

Continui con la rotazione non

standard?

Ripristino della direzione di rotazione standard SI SI SI SI NO NO NO NO PROGRAM VERO Programmazione ciclo terminata? NO SI EXIT vero?

Ripristino dei valori default dei parametri, arresto del motore e terminazione del

programma.

NO

SI

(5)

4.3 L’interfaccia grafica

L’interfaccia grafica si presenta, all’utente, nel modo seguente:

Figura 3 – L’interfaccia grafica

1

2 3

L’interfaccia è divisa in tre zone:

• Il controllo diretto (zona 1 di figura 3); • La programmazione (zona 2 di figura 3); • La visualizzazione (zona 3 di figura 3).

4.3.1 Il controllo diretto

Rende possibile controllare la velocità del motore e i tempi d’accelerazione e decelerazione. Nella tabella seguente sono elencati i co-mandi presenti.

(6)

Comando Descrizione

Avvio del motore sondo le impostazioni. Arresto del motore.

Uscita dal programma.

Convalida la scelta di una nuova velocità di rotazione. (è attivo solo con il motore già in movimento)

Nella tabella seguente sono mostrati i controlli presenti.

Controllo Descrizione

Selettore della velocità in rpm.

Selettore del tempo d’accelerazione in secondi.

Selettore del tempo di decelerazione in secondi.

4.3.2 La programmazione

Questa parte presenta un numero maggiore di comandi; i parametri che posso controllare sono la velocità di rotazione del motore, il Delay Time, cioè il tempo che il motore impiega a cambiare la sua velocità di rotazione e il Duration Time, il tempo che il motore deve mantenere costante la velocità

(7)

impostata. Sono inoltre presenti il visualizzatore del loop e dello step che il motore esegue in quel momento, ed il visualizzatore grafico (Cycle Profile) che permette di avere una visione del ciclo impostato. I comandi hanno le seguenti funzionalità:

Comando Descrizione

Abilita e disabilita la parte di programmazione.

Memorizza lo step impostato. Avvio del motore. Arresto del motore

Visualizza il ciclo programmato. Memorizza, in un file, il ciclo programmato.

Apre un file memorizzato. Azzera il display grafico.

4.3.3 La visualizzazione

In quest’ultima zona dell'interfaccia è possibile prendere visione della velocità del motore, in rpm, da un display analogico (stile auto) e da uno di-gitale. E' inoltre possibile visualizzare la porta di comunicazione ed il profilo effettivo descritto dalla velocità del motore in tempo reale. Sono presenti an-che due spie per segnalare l'avvio del motore, Start, e per la corretta comuni-cazione con la porta seriale, Com Test. L'unico pulsante presente serve per il reset del profilo della velocità.

(8)

4.3.4 Controllo della direzione di rotazione

E' possibile selezionare manualmente il tipo di rotazione del motore e prenderne visione nella finestra in alto. La segnalazione visiva è di due tipi, un semplice avviso testuale nel caso di rotazione convenzionale, mentre per una non convenzionale la segnalazione testuale è accompagnata da un blin-king dell'intera casella più una finestra di conferma sulla scelta del senso di rotazione. Il controllo della direzione di rotazione del motore è il seguente:

Finestra di visualiz-zazione dei messag-gi sulla direzione di rotazione del

moto-re. Selettore della

direzione di ro-tazione del

mo-tore.

Figura 4 – Controllo del verso di rotazione

4.4 Funzionamento del programma

Il programma può funzionare in due modi distinti, manualmente o program-mando i parametri del motore.

4.4.1 Funzionamento manuale

Il controllo diretto prevede la scelta della velocità del motore, del rise time e del fall time, per default i tempi sono impostati a 5 secondi e la velocità a 0 rpm. Do-po aver imDo-postato i parametri del motore con il pulsante di START si avvia il motore stesso, per fermare la rotazione si usa il pulsante di STOP che riporta ai valori di de-fault, per cambiare la velocità di rotazione oppure i tempi, quando il motore è già in movimento, selezionare il nuovo valore con l'apposito controllo e premere NEW SPEED. Quando fermiamo la rotazione del motore per ripartire si usa sempre il

(9)

pul-sante di START. Per arrestare il motore e uscire dal programma si usa il pulpul-sante EXIT. All’avvio il programma controlla la comunicazione con il controllore, se non è corretta avverte, tramite finestra di pop-up l’utente e arresta il programma. Ma-nualmente, è possibile selezionare, prima dell'avviamento, il verso di rotazione del motore. Nel caso di rotazione non standard l’utente viene avvisato, ancora tramite fi-nestra di pop-up, se continuare o tornare alla rotazione standard. Per default la dire-zione di rotadire-zione è antioraria.

4.4.2 Programmazione

Uno step è definito da tre parametri; la velocità di rotazione del moto-re elettrico, il tempo di transizione e il tempo di permanenza della velocità. La durata temporale di una step è data dalla somma del tempo di transizione e dal tempo di permanenza della velocità, vedi figura 5. Un ciclo è definito dal numero degli step programmati. Il numero massimo di step che un ciclo può avere è dieci.

delay time

duration time

step

(10)

Per programmare un ciclo di step del motore si deve utilizzare l’interruttore PROGRAM. La fase di programmazione è composta dai se-guenti passi:

1. Scelta dello step da programmare tramite dal controllo PROGR STEP.

2. Impostazione della velocità.

3. Impostazione del delay time e del duration time.

4. Memorizzazione dello step tramite il pulsante MEM STEP.

5. Incrementare il numero di step e tornare al punto 2.

6. Scelta del numero di volte che si vuole ripetere la sequenza di step

tramite il controllo NUM LOOP.

7. Avvio del motore dal pulsante OK.

8. Arresto automatico a fine ciclo o manuale tramite CANCEL.

4.4.3 Salvataggio di un ciclo

Per salvare un ciclo di test programmato è sufficiente utilizzare il pul-sante MEM presente nel riquadro CYCLE, nella fase successiva viene richie-sto il nome del file e dove salvarlo. E’ inoltre possibile aprire e utilizzare i cicli di test memorizzati in un file con il pulsante OPEN.

4.4.4 Visualizzazione del ciclo programmato

Con il pulsante DISPLAY si può prendere visione del ciclo program-mato nell’apposita finestra CYCLE PROFILE, dove è visualizzata unicamen-te la prima ripetizione del ciclo.

(11)

4.5 Descrizione generale del codice

Il codice del programma è formato da due stacked sequence, nella pri-ma il programpri-ma configura la porta seriale, nella sonda è presente il test del-la comunicazione e del-la fase di controllo del motore. Per il passaggio dal trollo manuale alla programmazione si usa il pulsante PROGRAM, che con-trolla una struttura case.

4.5.1 Controllo manuale

Per default il pulsante NEW SPEED è disattivato fin quando non si avvia, tramite START, il motore. Quando START è vero, invio i parametri, rise time e velocità del motore al controllore, decido il tipo di rotazione e avvio il motore. A questo punto, con il motore in movimento, START è fal-so; è quindi possibile arrestare il motore oppure cambiare la velocità con l’uso di NEW SPEED. E’ sempre possibile arrestare motore e programma con EXIT, il pulsante controlla il ciclo while che racchiude tutto il program-ma.

4.5.2 Programmazione

Con PROGRAM si possono utilizzare i controlli per la programmazio-ne. Se MEM è vero il programma salva i parametri dello step precedentemen-te impostato, se è falso posso avviare il ciclo tramiprecedentemen-te OK, salvare o aprire un file oppure visualizzare su display il ciclo programmato. Quando OK è vero, il programma, carica in memoria i vari parametri e li comunica al controllore per comandare in modo corretto il motore. Mentre il motore ruota, il

(12)

pro-gramma controlla continuamente se è stato richiesto l’arresto tramite CAN-CEL.

4.6 Descrizione delle SubVI

Di seguito è riportato l’elenco e una breve descrizione delle subVI uti-lizzate nel programma.

Icona Descrizione Icona Descrizione

Comunicazione seriale. Scrive un file (è usato nella

programmazione). Controllo della comunicazione

seriale e indirizzamento del controllore.

Visualizza il profilo del ci-clo (è usato nella

program-mazione). Calcolo e passaggio del rise

time al controllore (è usato nel controllo manuale)

Apre il file memorizzato (è usato nella

programmazio-ne). Calcolo e passaggio della

ve-locità al controllore (è usato nel controllo manuale).

Legge da file (è usato nella programmazione).

Direzione di rotazione positiva Visualizzatore della velocità

del motore Direzione di rotazione

negati-va

Arresto del motore.

Decisore tra rise time e fall time (è usato nel controllo

manuale)

4.6.1 Comunicazione seriale

La subVI di figura 6, gestisce la comunicazione seriale con il control-lore del motore. L’open visa apre una sessione visa con la porta COM1, la

(13)

visa serial configura la comunicazione sondo i parametri visti nel capitolo 3. La subVI riceve, sul write buffer, la stringa da scrivere. Dopo attende 400 ms per poi andare a leggere la risposta della periferica collegata. Infine chiude la sessione visa.

Figura 6 – Comunicazione seriale.

Nella subVI è eseguito un test, sul numero di caratteri scritti sulla porta seria-le. Ho un confronto tra il numero di caratteri scritti, return count, e il numero dei ca-ratteri del write buffer.

La subVI restituisce in uscita il codice dell'eventuale errore, il nome assegnato da LabVIEW alla risorsa di comunicazione e la stringa letta sulla porta seriale.

4.6.2 Controllo della comunicazione seriale

In figura 7, è mostrata la subVI che esegue il test della comunicazione e indi-rizza il controllore del motore. Questa subVI utilizza un'ulteriore subVI per la scrittu-ra e lettuscrittu-ra da porta seriale, vedi 4.4.3.8. Alla subVI vengono passati due pascrittu-rametri, il nome della risorsa per la comunicazione e la stringa A0? ↵. La stringa serve per

(14)

indirizzare la scheda e chiedere una risposta di conferma, se questa non c'è, in uscita c'è un test per la verifica della corretta comunicazione.

Figura 7 – Controllo della comunicazione seriale

4.6.3 Decisore

La seguente subVI esegue un test tra la velocità corrente e quella nuova per decidere quale dei due tempi deve utilizzare nel cambio di velocità.

Figura 8 – Decisore tra rise time e fall time

4.6.4 Speed

La seguente subVI calcola la velocità del motore in incrementi al son-do e la invia al controllore del motore. Il controllore riceve la velocità in in-crementi al sondo, la costante 136.53 è il fattore di conversione da rpm ad incrementi al secondo. 4096 ( / s) 2 136.53 60 30 Ni v inc =rpm⋅ ⋅ =rpm⋅ =rpm

(15)

Ni è il numero di incrementi al giro, dal manuale Ni = 4096. La costante 2 è un fattore del motore Baldor.

La subVI di scrittura e lettura riceve il nome della risorsa di comunicazione è la stringa i06v↵, dove v è la velocità in incrementi al sondo.

Figura 9 – Comando della velocità del motore

4.6.5 Time

La seguente subVI calcola il tempo d’accelerazione o decelerazione in sondi e lo invia al controllore del motore. La costante 1024 è il fattore di conversione per il tempo. Il controllore riceve il tempo in 1/1024 secondi.

La subVI di scrittura e lettura riceve il nome della risorsa di comunicazione e la stringa i08t↵, dove t è il tempo in sondi.

(16)

4.6.6 Direzione di rotazione

Le seguenti subVI impostano la direzione di rotazione del motore. La subVI di scrittura e lettura riceve il solito nome della risorsa di comunicazione è la stringa J↵, per la direzione di rotazione positiva, j↵ per quella negativa.

Figura 11 – Comando del verso di rotazione

4.6.7 Scrittura in un file dello step

La seguente subVI scrive in una serie di file temporanei i dati dello step programmato.

(17)

4.7 Verifica del programma e risultati

I test fatti sono sulla velocità del motore, sul tempo d’accelerazione e decelerazione e sulla programmazione di un profilo di velocità. I risultati dei test sono stati salvati come immagini jpeg, dove è possibile prendere visione di quanto effettivamente misurato dallo strumento.

4.7.1 Misura della velocità

4.7.1.1 Misura a velocità costante di 25 rpm.

In figura 13, è mostrato il risultato visualizzato dallo strumento a ve-locità costante di 25 rpm. Sul canale 15, tratto in celeste, è mostrato il profi-lo di veprofi-locità del motore, mentre in coprofi-lore fucsia viene mostrato il segnale impulsivo, proveniente dal sensore di prossimità montato di fronte all'albero motore.

Velocità di rotazione del motore.

Valore in rpm.

Sequenza d’impulsi del sensore di prossimità.

(18)

4.7.1.2 Misura a velocità costante di 500 rpm.

In figura 14, sono mostrati i risultati per una velocità di 500 rpm. Dal-la figura si nota una certa oscilDal-lazione del valore di velocità, questa oscilDal-la- oscilla-zione è dovuta al campo elettromagnetico generato dal motore stesso, dall'i-nerzia della catena di trasmissione, dalla precisione di regolazione e di misu-ra con due soli impulsi per giro.

Valore in rpm.

Velocità di rotazione del motore.

Figura 14 – Risultati a 500 rpm.

4.7.1.3 Misura a velocità costante di 3000 rpm.

In figura 15, sono mostrati i risultati per una velocità di 3000 rpm. Anche in questo caso è ben visibile l’oscillazione del valore di velocità del motore misurato.

(19)

Velocità di rotazione del motore.

Valore in rpm.

Figura 15 – risultati a 3000 rpm.

4.7.2 Misura del tempo

4.7.2.1 Misura del rise time

In figura 16, è mostrato il risultato della misura sul tempo di salita, della velocità di rotazione da 0 a 3000 rpm imponendo da programma un tempo di 15 s. Come si vede, dalla figura, la scala temporale è di 3 s/div, il numero di divisioni durante le quali il profilo sale sono cinque, quindi:

s 3 5

Rise Time= div numero di divisioni⋅ = ⋅ = 15s

Otteniamo il tempo d’accelerazione impostato da programma. In questo caso il pas-saggio da 0 a 3000 rpm è fatto in modo corretto.

(20)

Figura 16 – Misura del rise time

4.7.2.2 Misura del fall time

In figura 17, è mostrato il risultato della misura sul tempo di discesa, della velocità di rotazione da 3000 a 0 rpm imponendo da programma un tempo di 5 s. Come si vede la scala temporale è di 2 s/div, il numero di divi-sioni è circa 2.5, quindi:

s 2 2.5

Fall Time= div numero di divisioni⋅ = ⋅ = 5s

Il passaggio da 3000 a 0 rpm è fatto in cinque sondi come impostato da programma.

Rise time

Profilo d’accelerazione.

Valore residuo random allo stop del motore dovuto al sistema di misura, vedi punto 1

nella figura 22.

1

Azzeramento alla partenza del motore.

(21)

Fall time

Figura 17 –Misura del fall time.

4.7.3 Misura del profilo

4.7.3.1 Profilo di un singolo ciclo

I parametri impostati, da programma, sono i seguenti:

• primo step: delay time 5 s; duration time 20 s; velocità 1000 rpm; • secondo step: delay time 5 s; duration time 20 s; velocità 500 rpm, • terzo step: delay time 10 s; duration time 10 s; velocità 3000 rpm; • Fall time finale 10 s.

(22)

Durata complessiva.

Step 3

Step 2 Step 1

Figura 18 – Profilo di un singolo ciclo di tre step, misura della durata complessiva.

Durata del livello 2 della velocità.

(23)

Il motore esegue, in modo corretto, il ciclo richiesto. Le leggere diffe-renze di tempo visibili sulle tracce di figura 18 e 19 sono dovute ai tempi di comunicazione e risposta tra il motore e il sistema, dall'inerzia del banco meccanico. Questi errori sono trascurabili per il tipo d’applicazione utilizza-ta.

4.7.3.2 Profilo di un ciclo ripetuto 2 volte

I parametri impostati, da programma, sono i seguenti:

• primo step: delay time 5 s duration time 20 s velocità 1000 rpm; • secondo step: delay time 5 s duration time 20 s velocità 2500 rpm; • fall time finale 5 s;

• Numero cicli 2.

Il motore esegue correttamente il ciclo richiesto e la sua ripetizione.

(24)

In conclusione possiamo affermare che il programma funziona in mo-do corretto. E’ possibile, come visto gestire la velocità di rotazione del moto-re ed i tempi d’accelerazione e decelerazione. Inoltmoto-re si può programmamoto-re ci-cli singoli o ripetuti di velocità differenti.

Figura

Figura 1 – Diagramma di flusso del controllo diretto
Figura 2 – Diagramma di flusso del controllo programmato
Figura 3 – L’interfaccia grafica
Figura 5 – Definizione di step.
+7

Riferimenti

Documenti correlati