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
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:
Saluti
Primok
Nice design.
There are some differences between schematic and actual board specially in gate resistors (R1 & R3). While the diagram says they should be 4.7R, but seems in real board they are 22 or something like that.
Which one should be used?
Thank you for your clarification in advance brother.
The value Is not critical. It depends on type of MOSFET. In this case 22 Ohm it's ok.