Galagie Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Va salut, m-am apucat de proiectul pentru licenta.... Ca tema am alimentarea unui motor de curent continuu in 3 faze, folosint un microcontroler ARM cu ceva comenzi via serial din calculator. Pana imi vin componentele, ma gandesc la realizarea softului... Proiectul consta in controlul turatiei unui motor dc pe 3 faze de 12/24V, folosind niste drivere gen ir2110 cu ceva mosfeturi irfz44n. Dar m-am blocat la intrebarea de mai jos: stiu ca exista motoare electrice trifazate care sunt alimentate/controlate din asa numitele convertoare dc-dc/dc-ac. Din cate stiu, la motoarele trifazate in curent alternativ, pentru a le putea alimenta dintr-o sursa c.c/DC, se foloseste montajul acela format dintr-o semipunte pentru fiecare faza a motorului, unde se aplica pwm-uri cu factor de umplere variabil pentru modularea unei sinusoide + defazajul intre cele 3 sinusoide Dar la un motor trifazat in c.c? La motorul trifazat de curent continuu, aceea sinusoida modulata este necesara? Sau doar se aplica semnalele cu un dutycyle fix + defazajul corespunzator? Link spre comentariu
validae Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Ți s-a indicat un anumit tip de motor și care ar fi acela ? Nu cumva trebuie să comanzi un motor pas cu pas (stepper) ? Link spre comentariu
danpin Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Va salut,m-am apucat de proiectul pentru licenta.... ...Pana imi vin componentele, ma gandesc la realizarea softului........Deci ai comandat componentele pt. ce, cand tu inca nici macar nu stii ce trebuie sa faci...? Nu stii nici macar ce fel de motor trebuie sa alimentezi....Probabil este vorba de un motor brushless DC. Link spre comentariu
iop95 Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Motorul trifazat de curent alternativ cred ca este motorul asincron (de regula cu rotorul in scurt-circuit); termenul de "motor trifazat de cc" e patentat?!... Cred ca e vorba de BLDC care in fapt nu e un motor de cc... ci de ca, trifazat de regula. Aici sunt doua subcategorii, cu unda trapezoidala si cu unda sinusoidala. Intre asincron si BLDC sunt diferente mari de functionare si ecuatii total diferite. Acum depinde ce trebuie facut... una e sa fie puse in miscare oricum, fara cerinte impuse si cu totul altceva e un sistem de control si reglaj automat cu performante impuse. Nu prea inteleg cum se poate face chiar si un control minimal fara sa fie clar stabilit tipul de motor si eventual de studiat modul de comanda/functionare. Link spre comentariu
Vlad Mihai Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 (editat) Da, la BLDC (Brushless DC Motor) ma gandesc si eu, nu e necesar un ARM doar pentru controlul un BLDC. Partea hardware e relativ simpla, presupun ca motorul nu are senzori hall si vezi folosi back-emf ca sa detectezi rotorul. Eu am facut un astfel software acum cativa ani cu un motor de HDD care e exact ce spuneam eu mai sus. uite aici ce am facut: http://www.elforum.info/topic/88010-pornirea-unui-motor-de-hdd-de-tip-bldc/ (se poate imbunatati mult ce am inceput eu) PS: pentru controlul ultra precis se folosesc DSP-uri dar acolo se fac si calcule matematice. PS2: lucrez si eu la un firmware pentru o astfel de aplicatie dar cu FPGA Bafta, Vlad Editat Noiembrie 30, 2016 de Vlad Mihai Link spre comentariu
Galagie Postat Noiembrie 30, 2016 Autor Partajează Postat Noiembrie 30, 2016 (editat) Va salut, din graba am uitat sa specific ca este vorba de un BLDC... trifazat tip stea. Am ales sa folosesc ARM ( discovery F4 board) pt ca sunt familiarizat cu aceea familie de controlere ( stm32f4) Comanda catre drivere+tranzistoare va fi pe 6 pwm-uri, impartit pe 6 cicluri pt o rotatie In principiu asa arata power stage-ul Si semnalele de control pentru fiecare tranzistor Pe mine ma interesa in zonele colorate din desen cu ce pwm se lucreaza doar pentru a invarti motorul. Dutycycle fix sau variabil De ce intrebam asta, stiu ca motoarele c.a nu se "pupa" cu unda dreptunghiulara, si au nevoie de unda sinusoidala. Iar convertizoarele "pure sine" moduleaza aceea sinusoida prin variatia factorului de umplere pentru fiecare "switching cycle". Acelasi principiu se aplica si la BLDC? Deocamdata vreau doar sa invart motorul, fara sa aplic vreo sarcina mecanica. Si ma intreb daca sa fie cu factor de umplere variabil sau fix @Vlad Mihai, am vazut ceva portiuni de cod, cum ai comandat tu acolo, se poate numi cu factor de umplere fix Oricum imi pregatesc o galeata de ir2110 si irfz-uri Editat Noiembrie 30, 2016 de Galagie Link spre comentariu
iop95 Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Factorul de umplere e bine sa fie variabil, functie de sarcina. In gol va fi mic, cuplul necesar fiind f mic si va creste cu sarcina. Se poate face o bucla de reglaj, de regula pe turatie care sa modifice factorul de umplere pentru a asigura cuplul necesar mentinerii turatiei cerute. Nu cred ca e f complicat de implementat. Evident ca se poate incepe cu el fix. Link spre comentariu
danpin Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Poti sa te inspiri pt realizare din documentatia ce o gasesti pe net pentru regulatoarele de turatie folosite in modelism, BLDC speed controller, ESC electronic speed controller. Link spre comentariu
Galagie Postat Decembrie 1, 2016 Autor Partajează Postat Decembrie 1, 2016 Sa zicem ca, cu acel factor de umplere m-am lamurit, totusi aceasta discutie mi-a starnit ceva mai mult interes. Eu vreau sa fac folosind "Sensorless control". respectiv sa ma folosesc de acel Back-EMF care apare pe infasurarea inactiva. M-am tot uitat pe google prin tot felul de pdf-uri, BEMF-ul este folosit pentru detectia trecerii fazei prin zero ( pe front crescator/front descrescator) Ce imi este neclar..., ce anume este conditionat de aceasta trecere prin zero... Schimbarea sensului prin care faza? Sau se schimba prin aceeasi faza? Pe fiecare semipunte va exista un dead-time, insa prin masurarea BEFM-ului se conditioneaza cumva un fel de "delay" dupa dead-time cand urmeaza inversarea sensului prin semipunte ? Link spre comentariu
iop95 Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 Ideea este a sti in orice moment pozitia rotorului pentru a comuta faza corespunzatoare pentru a asigura functionarea corecta. Cu un encoder sau alt tranductor de pozitie, e usor de cunoscut pozitia. Pentru aplicatii nepretentioase si cost redus se poate folosi varianta sensorless si pozitia rotorului se detecteaza din tem indusa. Problema delicata este la pornire, cand nu exista tem indusa; aici sunt mai multe variante de start. Gasiti detalii pe net. Link spre comentariu
Galagie Postat Februarie 12, 2017 Autor Partajează Postat Februarie 12, 2017 Va salut, am revenit dupa ceva vreme de la prima discutie, deja montajul si partea software au prins contur, ... .folosesc 3 semipunti atacate fiecare cu ir2110 , partea de forta se alimenteaza de la 24Vdc ( 4 Amperi)... Motorul este un BLDC la 24Vdc pe 3 faze conectate in stea, cu 6 poli, am si senzori hall pe accesta, de care vreau sa ma folosesc. Problema pe care o intampin este cea rotatia mecanica ( revolutie) In datasheet-ul motorului imi dau semnalele celor 3 senzori hall, H1,H2 si H3 pentru o rotatie in sens CW cum este cea din tabelul de mai jos Astfel daca imi fac un tabel cu cei trei senzori imi rezulta urmatoarele stari electrice 0/1 conform cu cel de mai sus H1 1 0 0 0 1 1 1 0 0 0 H2 0 0 1 1 1 0 0 0 1 1 H3 1 1 1 0 0 0 1 1 1 0 Daca ma iau dupa tabel, acolo unde imi da 360 grade, ma gandesc ca inseamna o revolutie mecanica odata la 6 pasi, fiecare pass fiind situat la 60 grade, nu? Avand informatiile de mai sus, am conectat senzorii la un analizor logic si am rotit manual rotorul dintr-o pozitie oarecare, 360 de grade, dar am masurat 18 pasi pe senzori pentru o rotatie completa Mi-a rezultat urmatorul patern H1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 H2 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 H3 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 pozitiile cu rosu, reprezinta punctul de start si punctul de sfarsit(360 grade). Motorul pe stator are perechi de bobine, ma gandesc ca is cate 3 bobine pe faza, iar fiecare faza este asezata la 120 grade, iar pe rotor am 6 magneti/poli. Acum ma intreb... De ce in datasheet sunt specificati 6 pasi pentru o rotatie completa, si eu cand rotesc manual imi rezulta 18/19 pasi? Sau Link spre comentariu
iop95 Postat Februarie 12, 2017 Partajează Postat Februarie 12, 2017 Diagrama se refera la grade electrice nu mecanice. Daca masina are 6 poli, adica 3 perechi de poli, raportul dintre viteza campului si cea mecanica este chiar numarul de perechi de poli p (3). Viteza campului este data de numarul de tranzitii Hall pe secunda, Nt. Pentru 3 senzori, turatia mecanica este N=60 x Nt x pi / (9 x p). Link spre comentariu
Galagie Postat Februarie 12, 2017 Autor Partajează Postat Februarie 12, 2017 Adica la o masina cu 6 poli ... "Grade electrice" = 3 x "Grade mecanice" ? In cazul meu, asta s-ar traduce 3 x 360(mecanic) = 1080(electric).... iar cum starea senzorilor hall se schimba odata la 60(grade electrice) asta inseamna ca 1080/60 = 18 pasi, si imi rezulta exact cati pasi am numarat cand rotit rotorul manual Link spre comentariu
Galagie Postat Februarie 12, 2017 Autor Partajează Postat Februarie 12, 2017 Inca sunt putin in ceata cu determinarea rpm-ului... Daca masina are 6 poli, adica 3 perechi de poli, raportul dintre viteza campului si cea mecanica este chiar numarul de perechi de poli p (3). Viteza campului este data de numarul de tranzitii Hall pe secunda, Nt. Pentru 3 senzori, turatia mecanica este N=60 x Nt x pi / (9 x p). Sa dau ca exemplu tranzitiile intre senzorii hall la 1ms, asta imi rezulta o frecventa de 1000hz... N = 60 * 1000hz x 3.14/(9 x 3), la 6 poli ( 3 perechi) , asta imi rezulta un rpm de 6977..... Daca ma iau "babeste" dupa tranzitia senzorilor, adica 18 cicluri pentru o rotatie mecanica, imi rezulta 1 rotatie la fiecare 18ms daca e sa iau rpm, respectiv 60sec/0.018 sec imi da o valoare de 3333rpm. Unde gresesc? Link spre comentariu
iop95 Postat Februarie 13, 2017 Partajează Postat Februarie 13, 2017 (editat) Cred ca am facut o greseala... am prins radiani in calcul, fara sens. Deci, se ia frecventa data de un senzor, f; iar p este numarul de perechi de poli, turatia mecanica este ns=f/p [rot/s] iar transformarea in rpm duce la n=60f/p. Daca f este 1000Hz, rezulta ns=1000/3=333.33rot/s si n=20.000rpm Editat Februarie 13, 2017 de iop95 Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum