Posts: 433
Threads: 30
Joined: Sep 2014
Reputation:
71
Pozdrav ekipa,
Dugo već planiram napraviti kontroler brushless motora, imam jedan alternator, izvađen iz bicikla za vježbanje, kao nov je, snage 500W, 12V.
Bilo bi potrebno stvoriti tri faze, svaka naravno 120 stupnjeva pomaknuta jedna od druge, napraviti trofazni h most i odabrati mosfete i drivere za njih.
E sad, uspio sam stvoriti 3 faze promjenjive frekvencije, ali za pogon mosta treba 6 signala, pa sam mislio nacrtati H-most i prvo skecirati redosljed paljenja tranzistora, pa prema tome pisati program dutycycle bi ostavio na 50% i mjenjati frekvenciju tog signala mjenjajuci vrijeme zadrske,tj delay.
Naravno cijenim i priželjkujem savjete iskusnijih mislio sam lagano počet, sam da se počne vrtiti,pa se lako onda rade modifikacije poput hall senzora, mjerenja struje i slicno
Posts: 1.853
Threads: 25
Joined: Nov 2013
Reputation:
790
Vođenje BLDC motora uglavnom moraš sinhronizovati po položaju gde se nalazi u startu, što radiš Hall senzorima, ili detekcijom preko namotaja samog motora. Ako želiš da preskočiš to u početku razvoja, verovatno da ćeš morati rukom da ga zavrtiš da bi krenuo.
Što se tiče H mosta, dovoljno ti je tri polumosta. Najveći izazov ti je da uradiš dobro dead-time kod okidanja MOSFET-ova, što može raditi neki od drajvera namenjenih za to (pogledaj firmu Allegro) ili da se to uradi u samom mikrokontroleru, ukoliko njega koristiš.
Na ovim linkovima imaš već neke gotove primere sa mikrokontrolerima:
Ovde imaš rešenje izlaznog dela koji je univerzalan: http://ww1.microchip.com/downloads/en/Ap...00857a.pdf
Ovde je dato sa mikrokontrolerima baš namenjenih za to dsPIC30F2010: http://ww1.microchip.com/downloads/en/Ap...00957a.pdf
Moja topla preporuka da koristiš dsPIC seriju (ima i drugih proizvođača, ali ja koristim Microchip mikrokontrolere, pa sam njihov primer naveo), jer recimo ovaj dsPIC30F2010 je u DIP kućištu, radi na 5V i veoma je moćan. Imaš u njemu već ugrađen enkodersku ulaz i PWM modul namenjen upravo za "motor control" aplikacije.
Posts: 1.553
Threads: 14
Joined: Jan 2014
Reputation:
784
Posts: 433
Threads: 30
Joined: Sep 2014
Reputation:
71
IR2130 mi se čini jako zanimljivim rješenjem za drajvanje fetova za inverter i dostupan je u dućanu u kojem kupujem komponente iako ima paprenu cijenu, oko 13 eura.
Za oko mi je zapeo i HIP4086, mogu čak i free sample dobiti
Sve bi to sa arduinom sredio, mikikg mi je i predložio platformu sličnu arduinu samo mnogo moćniju koja bi bila savrsena za ovo počeo bih prvo sa motorčićem iz cd roma, sa 6 komada bd139, to bi bio kao prototip, pa bih postepeno došao do prave stvari
dsPIC je prava stvar za to, ali pošto zasad učim arduino htio bih s time izvest kontroler.
Posts: 433
Threads: 30
Joined: Sep 2014
Reputation:
71
Ufff free sample za HIP4086 imaju sam smd varijante :/ nasao na ebaju za 12 dolara sa shippingom, dvoumim se između IR2310 i njega.
Posts: 8.688
Threads: 138
Joined: Apr 2013
Reputation:
3.604
Moze i sa 3 komada IR2110 ili sa dva TC4469 + N i P MOS-FET.
Vidi sta ti je jeftinije …
Posts: 433
Threads: 30
Joined: Sep 2014
Reputation:
71
Taman sam prije 20 min iskopao 2 nova IR2110, kupim jos jedan i imam za trofazni most. Preostaje jedino odabir MOSFET-a, moram vidjet kakvu ponudu imaju u dućanu.
Evo i prve verzije koda, isprobao bi to sa motorom nekog cdroma
Code: const int AH = 1;
const int AL = 2;
const int BH = 3;
const int BL = 4;
const int CH = 5;
const int CL = 6;
const int pot = A0;
int brzina = 0;
int deadtime = 4;
void setup(){
pinMode(AH, OUTPUT);
pinMode(AL, OUTPUT);
pinMode(BH, OUTPUT);
pinMode(BL, OUTPUT);
pinMode(CH, OUTPUT);
pinMode(CL, OUTPUT);
}
void loop(){
brzina = analogRead(pot);
digitalWrite(AH, HIGH);
digitalWrite(BL, HIGH);
delay(brzina);
digitalWrite(AH, LOW);
digitalWrite(BL, LOW);
delayMicroseconds(deadtime);
digitalWrite(BH, HIGH);
digitalWrite(CL, HIGH);
delay(brzina);
digitalWrite(BH, LOW);
digitalWrite(CL, LOW);
delayMicroseconds(deadtime);
digitalWrite(CH, HIGH);
digitalWrite(AL, HIGH);
delay(brzina);
digitalWrite(CH, LOW);
digitalWrite(AL, LOW);
delayMicroseconds(deadtime);
}
Posts: 8.688
Threads: 138
Joined: Apr 2013
Reputation:
3.604
IRFZ44N su sasvim OK, vrlo brzi i snazni tranzistori. Probaj sa njima.
Posts: 433
Threads: 30
Joined: Sep 2014
Reputation:
71
Uzet ću sa ebaya 20 komada IRFZ44N (originali), 5 komada IR2110, također original i mislio sam uzeti LEM LA55-P, to bi kasnije dodao u sklop za mjerenje struje, a vjerojatno ću i hall senzore ugrađivat kasnije.
Uglavnom cilj mi je do ljeta imati funkcionalni kontroler
Prema ovom mojem programu, frekvencija motora bi išla od kojih 1 Hz pa do 963 Hz, duty cycle bi bio 50% ako sam si ja to dobro zamislio. Izlazni dio će biti odjeljen od MCU sa optokaplerima, vjerojatno 4N25, kojih imam 10ak komada, i kojima ja mislim nebi trebao biti problem 50% DC i kojih 1 kHz.
Nadalje, što se tiče MOSFET drivera, zanima me kako odabrati bootstrap kondenzator za high side drive, pošto će frekvencija ići od 1 Hz do 1 kHz, za niže frekvencije je dovoljno oko 47 uF, ali hoće li ta vrijednost biti prevelika za frekvencije iznad kojih 200 Hz ?
Jedno od kompliciranijih rješenja je i posebno, odvojeno +15 VDC napajanje za high side drive.
Posts: 1.553
Threads: 14
Joined: Jan 2014
Reputation:
784
Ako vec koristis optokaplere baci pogled i na ovo:
https://www.futurlec.com/Datasheet/LED/TLP251.pdf
Posts: 8.688
Threads: 138
Joined: Apr 2013
Reputation:
3.604
12-07-2014, 11:31 PM
(This post was last modified: 12-07-2014, 11:53 PM by mikikg.)
A zasta je tu uopste potreban optocoupler?
Dalje, sto se tice strujnog senzora, LEM-ovi jesu dobri ali poprilicno skupi, alternativa je nesto od strujnih hal senzora od Alegro-a
http://www.allegromicro.com/en/Products/...r-ICs.aspx
Inace mislim da je malo komplikacija odraditi bas sve sa N tranzistorima bas zbog te niske frekvencije i bootstrap i Microchip je u svojoj aplikacionoj noti koristio 3xN-MOS-FET + 3xP-MOS-FET i TC4469 drajver.
Za N-MOS-FET drajvere je trenutno ovo NAJBOLJI izbor, Si8233, bolje i od HIP i od IR drajvera za klasu a jeftiniji duplo, tricavih 8MHz bije sa 4A i jos izolovan za 5kV
https://www.silabs.com/Support%20Documen...Si823x.pdf
Posts: 433
Threads: 30
Joined: Sep 2014
Reputation:
71
Htio sam odvojiti MCU od izlaznog djela, sigurnosti radi.
Onda bi bilo bolje iskoristiti P kanalne mosfete da nema nepotrebnih komplikacija oko drajvanja tranzistora.
miki imaš link od tog appnotea ?
Posts: 8.688
Threads: 138
Joined: Apr 2013
Reputation:
3.604
>>> Ovde imaš rešenje izlaznog dela koji je univerzalan: http://ww1.microchip.com/downloads/en/Ap...00857a.pdf
Posts: 433
Threads: 30
Joined: Sep 2014
Reputation:
71
Hvala miki
evo probao sam program na jednom malom motorčiću sa pokvarene protupožarne zaklopke, najbolje radi na frekvenciji od 60 do 80 Hz, sve ostalo samo zuji i trese se.
Na ovim frekvencijama kad ga rukom zavrtim sasvim solidno radi, ne primjećujem nikakva trzanja, okretaji su konstantni.
Posts: 433
Threads: 30
Joined: Sep 2014
Reputation:
71
12-09-2014, 07:38 PM
(This post was last modified: 12-09-2014, 08:02 PM by gigabyte091.)
Probao staviti alternator, ali nemože ga zavrtiti, sa ovim BD139 neću iznad 5V ići, uzbudu sam na 3.3V stavio. Samo se čuje zujanje i na nižim frekvencijama trzanje motora, očito da to bez nekog davača položaja neće ići..
Koji hall senzor bi preporučili ? Isto tako mislim nanovo cijeli kod napisati, imati fiksnu frekvenciju PWM-a i mjenjati duty cycle od 0 do 100%, a time linearno i brzinu od 0 do 100%
|