180V 6.5A PWM DC Motor Speed Controller

Con la seguente scheda elettronica è possibile regolare la velocità di motori DC di 180V e circa 1200 W mantenendo costante la velocità con feedback PID.

Le caratteristiche principali di questo progetto sono:

  • Regolazione velocità da 0 a 4800 giri/minuto con pulsanti UP e DOWN.
  • Sistema PID integrato nel microcontrollore ( software di calibrazione per il calcolo di KI,KP e KD ).
  • Protezione da sovracorrente e sovratensione con segnalazione luminosa a led.
  • Pulsante di START e STOP di emergenza.
  • Controllo del feedback del sensore magnetico (arresto motore se dopo un certo tempo non arriva segnale di feedback ).
  • Cicalino di avviso partenza e variazione di velocità tramite pulsanti e software.
  • Fusibile di protezione generale 8 A.
  • Limitazione corrente di carica condensatore alla partenza (Inrush Current Limiter) con NTC.
  • Alimentatore switching con doppia alimentazione +12V e +5V separate ( masse separate)
  • Regolazione soglia corrente e massima tensione sul motore.
  • Rilevazione presenza di motore scollegato e arresto ; protezione corto circuito Mosfet.

Il motore può essere gestito sia tramite i pulsanti UP,DOWN,START e STOP sia attraverso la porta seriale del PC e un software che viene utilizzato anche per la calibrazione. Con l'applicativo infatti si determinano  i parametri KI,KP e KD per ottimizzare il feedback del PID. Per approfondimenti sul PID potete visitare il seguente link :Controllo PID - Wikipedia.

Schema elettrico

E' possibile utilizzare la scheda senza il feedback utilizzando un firmware apposito. In questo caso non sarà necessario neanche il sensore magnetico di velocità. Il cuore della scheda è un pic della famiglia 16F in questo progetto ho scelto il pic16f18346.

 Il funzionamento di questa scheda è relativamente semplice. Se guardiamo lo schema elettrico  (prima immagine) in alto a sinistra notiamo il morsetto JP1 che è l'ingresso di rete a 220V. In serie al ritorno di fase è inserito un fusibile di 8A

e una NTC SL32100 per limitare la corrente di carica del condensatore C2 da 470uF 400V. In parallelo abbiamo invece un varistore per limitare  i picchi di tensione. La rete formata da R5 e C3 è un filtro antidisturbo per la rete. Il ponte

raddrizzatore BR1 è alimentato solo quando si chiudono i contatti del relè da 12V 16A. Questo relè è gestito dal microcontrollore attraverso l'uscita DC_LINK; quando questa va alta porta in conduzione il foto accoppiatore Q3. 

A questo punto i contatti del relè si chiudono e il condensatore C2 si carica alla tensione di picco ( 310V -325V). Il led verde LED1 se acceso indica che il motore è pronto per partire appena riceve i comandi dal microcontrollore.

Il foto accoppiatore separa la parte analogica da quella digitale, il controllore ha una massa separata quindi è isolato da tutto il resto. L'alimentatore siglato Alim 1 è uno switching che ha 2 uscite, una a 12V e l'altra a 5V con masse

distinte GND1 e GND2 rispettivamente. Questo alimentatore è alimentato quando si collega la spina alla tensione di rete, mentre la parte di potenza solo se il relè è eccitato dal microcontrollore. Il foto accoppiatore Q5 è impiegato per

gestire il cicalino, il jumper siglato P2 è stato inserito per consentire di escludere il suono del cicalino se rimosso. La parte di potenza è costituita da 2 mosfet in parallelo , 2 SIHG20N50C, che vengono pilotati dal driver mosfet  IC1 TC4427 a doppia 

uscita. Il segnale PWM proveniente dal microcontrollore porta in conduzione il foto diodo dell'integrato IC2 TLP2200 che è un foto drivers ad alta velocità con  uscita a trigger di schmitt. La corrente necessaria per portare in conduzione il foto diodo è

di soli 1.6 mA. L'uscita del TLP2200 va ai 2 ingressi dell'IC1 TC4427 attraverso la resistenza R7 da 470 Ohm. Le uscite di quest'ultimo siglate G1 e G2 vanno ai gate dei 2 mosfet Q1 e Q2 attraverso le resistenze R1 e R3. Il jumper P1 è stato

inserito per poter utilizzare come foto drivers sia il TLP2200 (jumper inserito)  sia l'HCPL 2201 (jumper disinserito).

In serie ai source dei 2 mosfet in parallelo è collegato uno shunt da 0.01 Ohm che è utilizzato per gestire l'over corrente come verrà spiegato più avanti. Quando la corrente nei 2 mosfet supera una soglia impostata, il led rosso LED2 si accenderà fisso e il relè si spegnerà togliendo tensione al condensatore C2.

I pulsanti UP,DOWN,START,STOP.

Questi pulsanti sono usati per aumentare e diminuire la velocità, far partire il motore e fermarlo rispettivamente. Il connettore K1 viene usato per collegare la scheda al PC e per la calibrazione dei parametri KI,KP e KD attraverso il software.

Il connettore JP2 è usato per programmare il pic.

 

Vediamo ora come viene gestita la sovra tensione, l'assenza di carico collegato e il corto circuito.

Analizziamo la parte di potenza. Quando si preme il pulsante di START, finiti i tre suoni del cicalino, il relè si eccita e  carica il condensatore a circa 310V. Questa tensione si ripartisce attraverso il motore ( se è collegato)  e le resistenze R5,R6 ed R13.

La tensione V- (morsetto invertente ) risulta di circa 9,4 V se i 2 mosfet sono spenti e R13 è regolato per la massima resistenza. In queste condizioni V- è maggiore di V+=1.7V perciò l'uscita del comparatore  è circa 0 V ed il foto accoppiatore non è

in conduzione. Il collettore di OP1 è alto e non c'è over tensione sul motore (infatti è fermo). Quando il motore comincia a girare, la tensione sui drain dei 2 mosfet comincia a scendere. se la tensione ai capi del motore raggiunge la tensione massima di 180V, allora sul drain la tensione passera da 310V iniziali a 130V circa. In questo caso la V- scenderà ad un valore di circa 3.9V. Questa tensione risulta ancora superiore a V+ quindi il comparatore non commuterà. Quindi se vogliamo che ai capi del motore la tensione non sia superiore a 180V, dovremmo regolare il trimmer per avere una tensione V- più bassa di 1,7V per esempio a 185V. Appena la tensione ai capi del motore supererà 185V il comparatore commuterà e lo segnalerà al pic che

spegnerà il relè e toglierà l'alimentazione dei 310V. In queste situazioni, il LED2 rosso comincerà a lampeggiare. Per resettare la scheda è sufficiente premere il pulsante di Stop.

Se il motore è scollegato la tensione V- è zero perciò il comparatore commuterà ed il micro spegnerà il relè. L'analisi della valore di tensione V- viene eseguita 50 msec dopo che il relè è eccitato.  Il relè sarà disattivato 50 msec dopo anche in caso di corto circuito di almeno 1 dei 2 mosfet.

Video verifica presenza motore collegato

 

Gestione sovra corrente.

 

La tensione ai capi dello shunt da 0.01 Ohm giunge sul morsetto + del primo operazionale U3A e viene amplificato di circa 71 volte G=71. Il secondo operazionale U3B è usato come comparatore di tensione; questo compara la tensione di riferimento sul morsetto - che può variare da 0 a 5V. Regolando la tensione di riferimento si stabilisce la corrente massima che può scorrere nei mosfet. Se tale corrente supera quella impostata, il comparatore commuta spegnendo il relè e di conseguenza la tensione VDC_Link dei 310V viene interrotta. Quando questo accade, il led rosso LED2 lampeggia. Per resettare il sistema è sufficiente premere il pulsante STOP.

Circuito stampato

PCB

Video

Il transistor Q9 insieme a R26,R25,R23,C20 e C17 costituiscono un generatore d'impulsi. Ogni volta che il magnete del volano del motore è in corrispondenza del sensore magnetico viene generato un impulso. In pratica ad ogni giro completo del motore viene generato un impulso. Il numero di impulsi vengono utilizzati per il feedback e per mantenere costante il numero di giri impostato con i pulsanti UP e DOWN o tramite software.

video Software di calibrazione

Per il test potete scaricare il seguente firmware:

firmware

 

Saluti 

Primok

3 comments

Leave your comment

In reply to Some User