Kontrolli i motorit BLDC me Arduino, Motor HD i shpëtuar dhe sensorë të sallës
Shtëpi » Blog » Kontrolli i motorit BLDC me Arduino, motor të shpëtuar HD dhe sensorë të sallës

Kontrolli i motorit BLDC me Arduino, Motor HD i shpëtuar dhe sensorë të sallës

Views: 0     Autori: Redaktori i faqes Publikoni Koha: 2020-09-02 Origjina: Sit

Kërkoj

Butoni i Ndarjes në Facebook
butoni i ndarjes në Twitter
butoni i ndarjes së linjës
Butoni i Ndarjes WeChat
Butoni i Ndarjes së LinkedIn
butoni i ndarjes së pinterest
butoni i ndarjes së whatsapp
Butoni i Ndarjes Kakao
butoni i ndarjes së Snapchat
butoni i ndarjes së telegramit
Butoni i Ndarjes së Sharethis

Në ditët e sotme, entuziastët janë shumë të interesuar për të kontrolluar DC pa furça (BLDC)
në krahasim me motorin tradicional DC, performanca e motorit është përmirësuar, efikasiteti i energjisë gjithashtu është përmirësuar, por është më e vështirë për t'u përdorur. Shumë produkte jashtë rafteve
ekzistojnë për këtë qëllim.
Për shembull, ka shumë kontrollues të vegjël BLDC që funksionojnë shumë mirë për avionët RC.
Për ata që duan të shikojnë kontrollin e BLDC në më shumë thellësi, ka edhe shumë mikro kontrollues të ndryshëm dhe pajisje të tjera elektronike për përdoruesit industrialë, të cilët zakonisht kanë dokumentacion shumë të mirë.
Deri më tani nuk kam gjetur ndonjë përshkrim gjithëpërfshirës se si të përdorni mikro-kontrolluesin Arduino për kontrollin BLDC.
Gjithashtu, nëse jeni të interesuar të bëni frenim rigjenerues, ose të përdorni një BLDC për gjenerimin e energjisë, unë nuk kam gjetur shumë produkte të përshtatshme për t'u përdorur me motorë të vegjël, dhe as nuk kam mësuar se si të kontrolloj gjeneratorin 3-fazor.
Kjo strukturë ishte fillimisht në një histori për
llogaritjen e kohës reale, unë vazhdoj ta bëj këtë pasi të mbarojë kursi.
Ideja e projektit është të tregojë një model proporcional të një makine hibride me ruajtje të energjisë së fluturave dhe frenimit rigjenerues.
Motori i përdorur në projekt është një BLDCS i vogël i pastruar nga hard disku i dëmtuar i kompjuterit.
Ky manual përshkruan se si të përdorni mikro-kontrolluesin Arduino dhe Hall-
ndikon në sensorët e pozicionit në mënyrat e frenimit të drejtimit dhe rigjenerimit.
Ju lutemi vini re se vizita Oscillisoft është shumë e dobishme, nëse jo thelbësore, për të përfunduar këtë projekt.
Nëse nuk jeni në gjendje të përdorni fushën, unë kam shtuar disa sugjerime se si ta bëni atë pa qëllimin (Hapi 5).
Një gjë që ky projekt nuk duhet të përfshijë në ndonjë kontrollues të vërtetë motorik është çdo funksion sigurie siç është mbrojtja aktuale.
Në fakt, gjëja më e keqe është që ju të digjni motorin HD.
Sidoqoftë, zbatimi i mbrojtjes së tepërt me harduerin aktual nuk është i vështirë, dhe mbase unë do ta bëj atë në një moment.
Nëse po përpiqeni të kontrolloni një motor më të madh, ju lutemi shtoni mbi mbrojtjen aktuale në mënyrë që të mbroni motorin tuaj dhe sigurinë tuaj.
Unë dua të përpiqem të përdor këtë kontrollues me një motor më të madh që mund të bëjë disa punë 'real \', por unë nuk kam ende të duhurin.
Vura re që eBay shiti një makinë 86 W për rreth 40 dollarë.
Duket si një kandidat i mirë.
Ekziston edhe një uebfaqe RC e quajtur \ 'Gobrush \' që shet komplete që mbledhin BLDC -në e tyre.
Këto nuk janë shumë të shtrenjta dhe ia vlen përvoja për të ndërtuar një të tillë.
Ju lutemi vini re se nuk ka asnjë sensor Hall për motorin në këtë faqe në internet. Whew!
Shkrimi i kësaj strukture është një punë e madhe.
Shpresoj ta gjeni të dobishëm, ju lutemi bëni komentet dhe sugjerimet tuaja.
Multimetri Digital (DMM)-
Nëse DMM juaj ka një oshiloskop të njehsorit të frekuencës (
është më mirë të keni të paktën 2 kanale)
shofer T8 Torx (
ju duhet njëra prej tyre të hapë ndonjë hard disk).
Ka një dyqan të mirë të pajisjeve.
Punëtoria e makinerive dhe prototipi i shpejtë (
këto janë shumë të dobishme, por unë mendoj se ky projekt mund të bëhet pa to).
Material bldc motor magnetic ring from computer hard disk (
Half of the motor)
From another hard driveSeveral (3-6)
There is a second small motor in the silver disk on the hard disk (DC brushed OK)
Rubber band or (preferably)
The brushless DC motor with a handle with another motor electronic bread plate solid wire month the Arduino Duemilanove 120 k ohm resistor six to 400 ohm resistor linear or rotating Poteniometer100 K ohmst Micro Circuit L6234 Shofer me motor tre fazor IC Two 100 UF Kondensatorë një kondensator 10 nf një kondensator 220 nf një 1 kondensator uf një 100 kondensator uf tre dioda që merren një 2.
Honeywell SS411a Bipolar Hall-5 amp FUSE 1 FUSE Holder 3
Shënim: Mike Anton projektuar dhe shitur një produkt që do të zëvendësojë elektronikën e power dhe Hall Electronik Ky manual (
kontrollohet duke përdorur induksionin e mundshëm të shpinës).
Specifikimet dhe informacioni i prokurimit mund të gjenden në këto dy lidhje: Nëse do të bëni këtë projekt, unë ju sugjeroj të merrni kohën për të kuptuar plotësisht se si funksionon dhe kontrollon BLDC.
Ekzistojnë një numër i madh i referencave në internet (
shiko më poshtë për disa sugjerime).
Sidoqoftë, unë përfshij disa tabela dhe tabela në projektin tim që duhet t'ju ndihmojnë të kuptoni.
Here is a list of the concepts that I think are most important to understanding this project: MOSFET transistors 3-phase half-bridge 6-
3-step reduction of sentence
Pulse Width Modulation of phase motor (PWM)Hall-
Microchip AVR443: sensors-general reference DC motor Basic Principles for Digital position sensors
Control of three-phase brushless DC motor based on atmelbrusless DC motor control
Phase BLDC motor control of the Flying Star Hall Sensori, një video e mirë e pastrimit të motorit të hard drive, por autori duket se po drejton motorin si një motor hap dhe si një motor hap. Një faqe më specifike referuese për BLDC në L6234 Motor Drive IC, duke përfshirë fletët e të dhënave, shënimet e aplikacionit dhe informacionin e blerjes.
Mostër falas për PM me makinë pa furçë për aplikime të automjeteve elektrike hibride.
Ky është punimi i vetëm që gjeta që përshkruan rendin e ndryshimit të fazës së frenimit rigjenerues.
Ky punim, frenimi rigjenerues në automjetet elektrike është i dobishëm, unë huazova disa numra prej tij, por mendoj se përshkruan gabimisht se si funksionon rigjenerimi.
Unë e bëra këtë projekt me motor të ricikluar të diskut të diskut, sepse ishte e lehtë për të kaluar përmes dhe më pëlqen të përdor një motor të vogël me tension të ulët për të mësuar kordonin e kontrolluar nga BLDC dhe të mos shkaktojë ndonjë problem sigurie.
Për më tepër, konfigurimi i magnetit të sensorit të sallës bëhet shumë i thjeshtë duke përdorur unazën magnetike (rotorin)
nga e dyta e këtyre motorëve (shiko hapin 4).
Nëse nuk doni të shkoni në të gjithë telashet e instalimit dhe kalibrimit të sensorit të sallës (hapat 5-7),
unë e di se ka të paktën disa motorë CD/DVD Drive të ndërtuara në Sensor.
Në mënyrë që të siguroj disa inerci të kthimit në motor dhe t'u jap atyre pak ngarkesë, vendosa 5 disqe të fortë në motor, të ngjitur butësisht së bashku me një zam pak të fortë dhe ngjitur në motor (
kjo e bëri fluturuesin në projektin tim origjinal).
Nëse do të hiqni motorin nga hard disku, keni nevojë për një makinë T8 Torx për të zhbllokuar strehimin (
zakonisht ka dy vida të fshehura pas shkopit në etiketën Centeron)
dhe vida të brendshme që mbajnë motorin në vend.
Ju gjithashtu duhet të hiqni lexuesin e kokës (
ekzekutivin e rrethit të tingullit)
në këtë mënyrë ju mund të nxirrni diskun e kujtesës për të arritur në motor.
Përveç kësaj, do t'ju duhet një motor i dytë i hard drive për të hequr rotorin nga ai motor (
ka një magnet brenda).
Për ta hequr motorin, unë kapa rotorin (në krye)
një vise të motorit dhe ta prish atë në stator (në fund)
të dy kaçavidat janë 180 gradë larg.
Nuk është e lehtë të mbash motorin në një palë mjaft të ngushtë pa deformim.
Ju mund të dëshironi të ndërtoni një
bllok druri V- të përdorur për këtë qëllim.
Kam shpuar një vrimë në unazën magnetike në torno, në mënyrë që të përshtatet mirë në majën e motorit.
Nëse nuk jeni në gjendje të përdorni torno, mund të rregulloni rotorin e përmbysur në motor me një zam të fortë.
Fotografitë 2 dhe 3 më poshtë tregojnë brendësinë e njërit prej motorëve që kam çmontuar.
Në gjysmën e parë atje (rotori) janë 8 shufra (
magnet i mbështjellë me plastikë).
Në gjysmën e dytë (stator)
ka 12 lojëra elektronike (dredha -dredha).
Secila nga tre fazat motorike ka 4 lojëra elektronike në seri.
Disa motorë HD kanë tre kontakte në fund, një kontakt për fazë, dhe tjetra është rubineti qendror i motorit (
ku takohen tre faza).
Në këtë projekt, nuk kërkohet asnjë çezmë qendrore, por mund të vijë në dispozicion në kontrollin pa sensorë (
shpresoj të lësh një shënim në lidhje me kontrollin pa sensorë një ditë).
Nëse motori juaj ka katër kontakte, ju mund të identifikoni fazën me ohmeter.
Rezistenca midis rubinetit të qendrës dhe fazës është gjysma e rezistencës midis dy fazave.
Shumica e literaturës në BLDC Motors merren me ata me një formë të potencialit të mundshëm të valës në formë shkalle, por motori i diskut të ngurtë duket se ka një potencial mbrapa që duket si një sinus (shiko më poshtë).
Me sa di unë, ngarja e një motori të valës së sinusit me një valë sinus PWM po funksionon mirë, megjithëse efikasiteti mund të bjerë disi.
Si të gjithë Motorët BLDC, kjo është e përbërë nga
ura gjysmë e transistorit trefazor (
shiko fotot e 2-të më poshtë).
Unë përdor IC të bërë nga ST Micro (L6234)
për urën, i njohur gjithashtu si shoferi i motorit.
Lidhja elektrike e L6234 është treguar në hapin 8.
Fotografia e tretë më poshtë tregon një diagram skematik të shoferit të motorit dhe tre fazave motorike.
Në mënyrë që motori të funksionojë në drejtim të akrepave të orës, ndërprerësi do të bëhet në rendin e mëposhtëm ( shkronja e
është transistor i sipërm dhe shkronja e dytë është transistor i
parë
poshtë motorët.
Prandaj, shpejtësia e rrotullimit të secilit motor ndodh katër herë.
Të dy sekuencat duket se janë të njëjta, por ato nuk janë të njëjta sepse për
sekuencën 6-hap, për CW, drejtimi aktual përmes fazës është një drejtim, dhe për CCW, drejtimi aktual është i kundërt.
Ju mund ta shihni këtë vetë duke aplikuar tensionin e baterisë ose furnizimit me energji elektrike në secilën fazë motorike.
Nëse aplikoni tensionin, motori do të lëvizë pak në një drejtim dhe do të ndalet.
Nëse mund të ndryshoni shpejt tensionin në fazën në një nga sekuencat e mësipërme, mund ta rrotulloni motorin me dorë.
Transistorët dhe mikrokontrolluesit plotësojnë të gjitha këto çelsat shumë shpejt, duke ndërruar qindra herë në sekondë kur motori po funksionon me shpejtësi të lartë.
Gjithashtu, ju lutemi vini re se nëse tensioni aplikohet në të dy fazat, motori lëviz pak dhe më pas ndalet.
Kjo për shkak se çift rrotullues është zero.
Ju mund ta shihni këtë në foton e katërt më poshtë, e cila tregon potencialin e pasëm të një palë fazash motorike.
Kjo është një valë sinus.
Kur vala kalon nëpër x-
bosht, çift rrotullues i siguruar nga kjo fazë është zero. Në
sekuencën e ndryshimit të fazës BLDC me gjashtë hapa që nuk ndodhi kurrë.
Para se çift rrotullues në një fazë të veçantë të bëhet e ulët, fuqia kalohet në një kombinim tjetër fazor.
Motorët më të mëdhenj BLDC zakonisht prodhohen nga sensorë të sallës brenda motorit.
Nëse keni një motor të tillë, atëherë mund ta kaloni këtë hap.
Gjithashtu, unë e di se ka të paktën disa motorë CD/DVD Drive të ndërtuar në sensor tashmë të sallës.
Kur motori rrotullohet, tre sensorë të sallës përdoren për zbulimin e pozicionit, kështu që ndryshimi i fazës kryhet në momentin e duhur.
Motori im HD shkon deri në 9000 rpm (150 Hz).
Meqenëse ka 24 ndryshime për timon, në 9000 rpm, makina ndryshohet çdo 280 mikrosekonda.
Mikro-kontrolluesi Arduino punon në 16 MHz, kështu që çdo cikël orësh është 0. 06 mikrosekonda.
Unë nuk e di se sa cikle orësh kërkohen për të kryer një ulje të fjalisë, por edhe nëse kërkohen 100 cikle orësh, domethënë, duhen 5 mikrosekonda për secilën ulje të fjalisë.
Motorët HD nuk kanë sensorë të sallës, kështu që është e nevojshme t'i instaloni ato në pjesën e jashtme të motorit.
Sensori duhet të jetë i fiksuar në lidhje me rotacionin e motorit dhe të ekspozohet ndaj një seri pole që janë në përputhje me rotacionin e motorit.
Zgjidhja ime është të heq unazën magnetike nga i njëjti motor dhe ta instalosh me kokë poshtë në motor për tu kontrolluar.
Pastaj instalova tre sensorë të sallës mbi këtë unazë magnetike, 30 gradë larg nga njëri -tjetri në boshtin e motorit (
rotacion motorik elektrik 120 gradë).
Mbajtësi im i sensorit të sallës përbëhet nga një mbajtës i thjeshtë i përbërë nga tre pjesë alumini të përpunuara nga unë dhe tre pjesë plastike të bëra në një prototip të shpejtë.
Nëse nuk i keni këto mjete, nuk duhet të jetë e vështirë të gjesh një mënyrë tjetër për të treguar pozicionin.
Krijimi i kllapave për sensorët e sallës do të jetë më sfidues.
Kjo është një mënyrë e mundshme për të punuar: 1.
Gjeni një tabaka plastike të madhësisë së duhur dhe ju mund të epoksi me kujdes sensorin e sallës. 2.
Një shabllon është shtypur në letër, e cila ka të njëjtin rreth si rrezja e unazës magnetike, dhe të tre shenjat janë 15 gradë 3 larg.
Ngarkojeni modelin në disk dhe më pas përdorni modelin si një udhëzues për të vendosur me kujdes epoksinë e sensorit të sallës në vend.
Tani që sensorët e sallës janë instaluar në motor, lidhni ato në qarkun e treguar më poshtë dhe provoni ato duke përdorur një DMM ose oshiloskop për t'u siguruar që prodhimi të bëhet më i lartë dhe më i ulët ndërsa motori rrotullohet.
Unë i drejtoj këta sensorë nën 5 V duke përdorur daljen e Arduino 5 V.
Sensori i sallës është i lartë ose i ulët në dalje (1 ose 0)
varet nga fakti nëse ata e ndiejnë Antarktikun ose Arktikun.
Meqenëse ato janë 15 gradë larg, magnetët rrotullohen nën to dhe ndryshojnë polaritetin çdo 45 gradë, këta tre sensorë nuk do të jenë kurrë të larta ose të ulëta në të njëjtën kohë.
Kur motori rrotullohet, prodhimi i sensorit është 6-
modeli i hapit të treguar në tabelën vijuese.
Sensori duhet të jetë i lidhur me lëvizjen e motorit në mënyrë që një nga tre sensorët të ndryshojë pikërisht në pozicionin e ndryshimit të fazës motorike.
Në këtë rast, buza në rritje e sensorit të parë të sallës (H1)
duhet të jetë në përputhje me hapjen e kombinimit C (të lartë) dhe B (të ulët).
Kjo është e barabartë me kthimin e transistorëve 3 dhe 5 në qarkun e urës.
Unë rreshtoj sensorin me magnet me një oshiloskop.
Për ta bërë këtë, më duhet të përdor tre kanale të fushëveprimit.
Unë rrotulloj motorin duke u lidhur me rripin e motorit të dytë dhe mat potencialin e pasëm midis dy kombinimeve fazore (
A dhe B, A dhe C)
Kjo është dy sinuse.
Ashtu si valët në foton më poshtë,
atëherë shikoni sinjalin e Sensor Sallës 2 në kanalin 3 të oshiloskopit.
Mbajtësi i sensorit të sallës është kthyer derisa buza në rritje e sensorit të sallës të jetë plotësisht në përputhje me pikën ku duhet të kryhet ndryshimi i fazës (shiko më poshtë).
Tani e kuptoj se ka vetëm dy kanale për të bërë të njëjtën kalibrim.
Nëse BEMF e kombinimit fazor B-
duke përdorur C, buza në rritje e H2 do të lidhet me kurbën e BC.
Arsyeja pse ndryshimi i fazës duhet të bëhet këtu është të mbash gjithmonë çift rrotullues motorik sa më të lartë.
Potenciali i pasëm është proporcional me çift rrotullues dhe do të vini re se çdo ndryshim i fazës ndodh kur potenciali i pasëm kalon nën kurbën e fazës tjetër.
Prandaj, çift rrotullimi aktual përbëhet nga pjesa më e lartë e secilit kombinim fazor.
Nëse ju mund të përdorni qëllimin, këtu është ideja ime e shtrirjes.
Ky është në të vërtetë një ushtrim interesant për këdo që dëshiron të dijë se si funksionon motori Bldc.
Nëse faza e motorit A është e lidhur (pozitive) dhe B (negative)
me furnizimin me energji elektrike dhe ndizni furnizimin me energji elektrike, motori do të rrotullohet pak dhe do të ndalet.
Pastaj, nëse plumbi negativ i fuqisë zhvendoset në fazën C dhe fuqia është e ndezur, motori do të kthehet më tej dhe do të ndalet.
Pjesa tjetër e sekuencës do të jetë lëvizja e plumbit pozitiv në fazën B, etj.
Kur ta bëni këtë, motori gjithmonë ndalet aty ku çift rrotullues është zero, i cili korrespondon me një vend ku grafiku kalon nëpër boshtin x në tabelë.
Vini re se pika zero e kombinimit të fazës së tretë korrespondon me pozicionin e ndryshimit të fazës së dy kombinimeve të para.
Prandaj, pozicioni zero çift rrotullues i b-
kombinimi C është aty ku dëshironi të poziciononi skajin në rritje të H2.
Shënoni këtë pozicion me shenja të imëta ose tehe të mprehta, dhe pastaj rregulloni mbajtësin e sensorit të sallës duke përdorur DMM derisa prodhimi i H2 të jetë saktësisht më i lartë në këtë shenjë.
Edhe nëse devijoni pak nga orari juaj i shkollës, motori duhet të funksionojë mirë.
Tre faza motorike do të marrë energji nga shoferi motorik trefazor L6234.
Kam zbuluar se ky është një produkt i mirë që mund të qëndrojë në provën e kohës.
Ka shumë mënyra për të skuqur aksidentalisht përbërësit tuaj kur përdorni elektronikë të energjisë, unë nuk jam një inxhinier elektrik dhe nuk e di gjithmonë se çfarë po ndodh.
Në programin tim shkollor, ne bëmë prodhimin tonë me gjysmë
faza gjysmë-urë prej 6 transistorësh MOSFET dhe 6 dioda.
Ne e përdorëm këtë në HIP4086 të Intersil -it tjetër të shoferit, por kemi shumë probleme me këtë konfigurim
kemi djegur një bandë transistorësh dhe patate të skuqura.
Unë drejtoj l6234 (
kështu motori) në 12V.
L6234 ka një grup të pazakontë të inputeve për të kontrolluar një gjysmë ure prej 6 transistorësh.
Jo çdo transistor ka një input, por një
input të mundësuar (en) për secilën nga tre fazat, dhe pastaj një hyrje tjetër (in)
zgjidhni se cili transistor në fazën e hapur (e sipërme ose e poshtme).
Për shembull, ndizni transistorin 1 (të sipërm) dhe 6 (më të ulët)
të dy EN1 dhe EN3 janë të larta (
EN2 të ulët për të mbajtur fazën e mbyllur)
në1 të lartë, në 3 të ulët.
Kjo e bën kombinimin fazor-c.
Ndërsa shënimi i aplikacionit L6234 sugjeroi aplikimin e PWM të përdorur për të kontrolluar shpejtësinë e motorit në pin, unë vendosa ta bëj atë në pin sepse, në atë kohë, unë mendoj se do të ishte \ 'e çuditshme \' të ndizni të dyja fazat e sipërme dhe të poshtme të të njëjtit kohë, sepse ata nuk kanë të njëjtën kohë, kështu që ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë,
sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë, sepse ata nuk kanë të njëjtën kohë,, sepse ata nuk kanë të njëjtën kohë, sepse nuk kanë të njëjtën kohë, sepse nuk kanë të njëjtën kohë, sepse nuk kanë të njëjtën kohë, sepse nuk kanë të njëjtën kohë, sepse nuk kanë të njëjtin kohë dhe të njëjtin, rrymë
Ata
.
nëpër
kalojnë Pak e vogël, kështu që për versione më të mëdha, ju lutemi referojuni dokumentacionit për L6234.
Shënim: Mike Anton e bëri PCB për L6234, e cila (besoj) do
ta zëvendësojë këtë udhë dhe do t'ju kursejë punën e montimit të saj.
Shikoni këto lidhje për specifikimet dhe informacionin e blerjes: Unë nuk kam gjetur shumë rreth 3-
Unë do të përshkruaj kuptimin tim se si funksionon.
Ju lutemi vini re se unë nuk jam një inxhinier elektrik dhe ne do të vlerësonim çdo korrigjim për shpjegimin tim.
Kur vozitni, sistemi i kontrollit e dërgon rrymën në tre faza motorike në një mënyrë që maksimizon çift rrotullues.
Në frenimin rigjenerues, sistemi i kontrollit gjithashtu maksimizon çift rrotullues, por këtë herë është një çift rrotullues negativ që bën që motori të ngadalësohet ndërsa dërgon rrymën përsëri në bateri.
Metoda rigjeneruese e frenimit që kam përdorur erdhi nga një letër nga Laboratori Kombëtar Oakridge në Shtetet e Bashkuara. S. Qeveria.
Një laborator që bën shumë hulumtime për motorët automobilistikë.
Grafiku më poshtë vjen nga një punim tjetër që ndihmon të ilustrojë se si funksionon (
megjithatë, unë mendoj se shpjegimi i dhënë në këtë punim të dytë është pjesërisht i pasaktë).
Mbani në mend se kur motori rrotullohet, tensioni BEMF në fazën e motorit luhatet lart e poshtë.
Në figurë, ajo tregon momentin kur BEMF është i lartë në fazën B dhe në skenë të ulët.
Në këtë rast, është e mundur që rryma të rrjedhë nga B në.
Kritik për frenimin rigjenerues, transistorët e nivelit të ulët po ndizen dhe fiken shpejt (
mijëra ndërprerës PWM për sekondë).
Kur çelësi i transistorit të nivelit të lartë është i fikur;
Kur transistor i ulët është i ndezur, rryma rrjedh siç tregohet në foton e parë.
Për sa i përket elektronikës së energjisë, qarku është si një pajisje e quajtur një konvertues Boost, ku energjia ruhet në fazën e motorit (
Wikipedia ka një artikull të mirë që shpjegon se si funksionon konvertuesi i rritjes).
Kjo energji lëshohet kur transistorin e nivelit të ulët është i fikur, por me një tension më të lartë, rryma menjëherë rrjedh përmes diodës 'anti-ngacmim \' pranë secilit transistor dhe më pas kthehet në bateri.
Dioda parandalon që rryma të rrjedhë nga bateria në motor.
Në të njëjtën kohë, rryma në këtë drejtim (
në kundërshtim me ngarjen)
bashkëvepron me unazën e magnetit për të prodhuar një çift rrotullues negativ që ngadalëson motorin poshtë.
Transistori i krahut të ulët përdor një ndërprerës PWM, dhe cikli i detyrës së PWM kontrollon sasinë e frenimit.
Kur vozitni, komutimi i motorit kalon nga një kombinim në tjetrin në kohën e duhur për të ruajtur çift rrotullues më të lartë.
Nxitja e frenave rigjeneruese është shumë e ngjashme sepse disa mënyra ndërrimi bën që motori të prodhojë sa më shumë çift rrotullues negativ.
Nëse shikoni videon në hapin e parë, mund të shihni që frena rigjeneruese funksionon mirë, por nuk funksionon mirë.
Unë mendoj se arsyeja kryesore është se motori i diskut të ngurtë që përdor është një motor shumë i ulët çift rrotullues, kështu që nuk prodhon shumë bemf përveç me shpejtësinë më të lartë.
Me një shpejtësi më të ulët, ka shumë pak frenim rigjenerues (nëse ka).
Gjithashtu, sistemi im shkon me një tension relativisht të ulët (12 V)
për më tepër, pasi secila rrugë përmes diodës anti-ngacmuese zvogëlon tensionin me disa volt, kjo gjithashtu zvogëlon shumë efikasitetin.
Unë përdor dioda normale të ndreqësit dhe mund të marr performancë më të mirë nëse përdor disa dioda speciale me rënie të tensionit më të ulët.
Më poshtë është një listë e inputeve dhe rezultateve në Arduino.
Përfshini gjithashtu grafikët dhe fotot e bordit tim. 2-
Digital entry-Hall 1
120 K resistance of Gnd 3
Digital entry hall 2
120 K resistance of Gnd 4
Hall 3 digital input-
120 K resistance of Gnd 5
1 Digital Output in series with 400 ohm resistor 6
2 Digital outputs in series with 400 ohm resistor 7
3 Digital outputs in series with 400 ohm resistor 9-
Digital Output of EN 1 in series with 400 ohm resistor 10-
Digital Output of EN 2 in series with 400 ohm resistor 11-
The Prodhimi dixhital EN 3 është në seri me një rezistencë 400 ohm, potenciometër 100 k ohm, me 5 V dhe GND të lidhur në të dy skajet dhe pin analog të lidhur në mes.
Ky potenciometër përdoret për të kontrolluar shpejtësinë e motorit dhe vëllimin e frenimit.
5 V Furnizimi me energji elektrike përdoret gjithashtu për të drejtuar sensorët e sallës (shiko hapin 5).
Këtu është i gjithë programi që kam shkruar për Ardjuino, i cili përfshin komente:/* bldc_congroller 3. 1.
1* 3 nga David Glazer.
Seria X është ST L6234 3-
Shoferi i motorit 3- faza IC * Running Disk Drive Motori në drejtim të akrepave të orës * Me frenim rigjenerues * Shpejtësia e motorit dhe frenimi i kontrolluar nga një pozicion i vetëm potenciometër * Motor nga tre Sir-
Sensor Efekt * Arduino merr dalje nga
kH Sensor
32 1,2, 3 * 3 bëni në kunjat 5,6, 7, përkatësisht (në 1,2,3)
simulimin në 0 në potenciometër për të ndryshuar ciklin e detyrës PWM dhe ndryshoni midis drejtimit dhe frenimit rigjenerues
*
*
Lidhni
.
Variablat e Sensorëve të Sallës (
Hallstate2
3,2,1
)
;
Int
/Salla 1 pinmode (3, hyrje);
/Salla 2 pinmode (4, hyrje);
/L6234 Salla 3/Prodhimi i shoferit të motorit pinmode (5, dalje);
/Në 1 pinmode (6, dalje);
/Në 2 pinmode (7, dalje);
/Në 3 pinmode (9, dalje);
/En 1 pinMode (10, dalje);
/En 2 pinMode (11, dalje);
/EN 3/Serial. fillojnë (9600);
Nëse do të përdorni një lidhje serike, ju lutemi mos e ndërpresni këtë linjë.
Komanda Flush në fund të programit.
/* Vendosni frekuencën PWM në kunjat 9, 10 dhe 11/Vendosni PWM në 32 kHz për kunjat 9, 10/së pari pastroni të tre bitet para-ndarëse: int prescalerval = 0x07;
/Krijoni një variabël të quajtur Prescalerval dhe vendoseni atë të barazojë numrin binar \ '00000111 \' TCCR1B & = ~ prescaler
/dhe vlerën në tccr0b me një numër binar të \ '11111000 \' /tani vendosni bit-in e duhur paraprakisht: int pre-encoding bit 2 = 1;
/Vendosni Prescalerval për të barazuar me numrin binar \ '00000001 \' TCCR1B | = prescalerval2;
/Ose vlerë në TCCR0b me një numër binar të \ '00000001 \' /vendosni PWM në 32 kHz për pin 3,11 (
ky program përdor vetëm pin 11)
/pastroni të tre bitet e para-kalerës së pari: TCCR2B & = ~ para-kalerval;
/Dhe vlera në tccr0b me një numër binar të \ '11111000 \'/tani Vendosni bit të duhur para-kodimit: TCCR2B | = Bit para-kodimit 2;
/Ose vlera në tccr0b me një numër binar të \ '00000001 \'/së pari pastroni të tre bitet e paracaktuara:}
lak kryesor i lakut të pavlefshëm/prgrom () {
/koha = millis ();
Koha pas fillimit të programit të shtypjes. println (koha); // Serial. shtyp (\ '\');
Throttle = analogread (0);
/Potenciometri i mbytjes MSPS = hartë (
mbyt, 512,1023, 0,255);
/Ngarja është regjistruar në gjysmën e sipërme të potenciometrit BSPEED = Harta (
mbyt, 0,511,255, 0);
/Frenim rigjenerues gjysmë-pjesë në fund të tenxhere/msps ed = 100;
/Për debugging HallState1 = DigitalRead (2);
/Lexoni vlerën e hyrjes nga Salla 1 2 = lexoni dixhitale (3);
/Lexoni vlerën e hyrjes nga Salla 2 3 = lexoni dixhital (4);
Lexoni vlerën e hyrjes/shkrimin numerik nga Salla 3 (8, Hallsttate1);
/Kur sensori përkatës është në fuqi të lartë, LED do të ndizet
fillimisht e përdorur për të debuguar DigitalWrite (9, Hallstate2);
// DigitalWrite (10, Hallstate3); Hallval = (HallState1)+ (2*Hallstate2)+ (4*HallState3);
/Llogaritni vlerat binare të Serisë së Sallave të Sallave/Serisë. shtyp (\ 'H 1: \');
Për debugging portin serial. println (hallsttate1); Serial shtyp (\ 'h 2: \'); Serial println (hallsttate2); Serial shtyp (\ 'h 3: \'); Serial println (hallsttate3); Serial println (\ '\');
*/// Serial. println (mspeed); // Serial. println (hallval); // Serial. shtyp (\ '\');
/Monitoroni daljen/vonesën e transistorit (1000);
/* T1 = DigitalRead (2); // t1 = ~ t1;
T2 = DigitalRead (4); // t2 = ~ t2;
T3 = DigitalRead (5); // t3 = ~ t3; Serial shtyp (T1); Serial shtyp (\ '\ t \'); Serial shtyp (T2); Serial shtyp (\ '\ t \'); Serial shtyp (t3); Serial shtyp (\ '\'); Serial shtyp (\ '\'); Serial shtyp (DigitalRead (3)); Serial shtyp (\ '\ t \'); Serial shtyp (DigitalRead (9)); Serial shtyp (\ '\ t \'); Serial println (DigitalRead (10)); Serial shtyp (\ '\'); Serial shtyp (\ '\'); // vonesa (500);
*/Ndryshimi i fazës së drejtimit/secili numër binar ka një rast që korrespondon me transistorët e ndryshëm të ndezur/bit matematika e përdorur për të ndryshuar vlerën e arduino të daljes:/portd përmban daljen e pinit në shoferin l6234/dalja e përdorur për të përcaktuar nëse transistorin e sipërm ose transistorin e poshtëm/pin për secilën fazë kontrollohet nga komanda arduino, cikli i detyrës, pwm (0 = 0 = nen e transistorit të poshtëm ose pin për secilën fazë kontrollohet nga komanda arduino, cikli i detyrës, PWM (
0 = 0 = On Transistor /EN Pin për secilën fazë kontrollohet nga komanda Arduino, e vendosur në Cikli i Detyrës së PWM (0 = On On On On On, On On On On On, On On, On On On, kontrollohet nga potenciometri). nëse (Throttle> 511) {Switch (HallVal) {
Rasti 3:/Portd = 1111xxx00;
/Prodhimi i pritshëm i pin 0-
7 xxx i referohet hyrjes së sallës dhe portd & = b00011111 nuk duhet të ndryshohet;
Portd | = B01100000;
/Analowrite (9, mspeed);
PWM në një fazë (
transistor të nivelit të lartë) analogwrite (10,0);
Mbyllja e fazës B (detyrë = 0) Analogwrite (11,255); // faza C në -duty = 100% (
transistor i nivelit të ulët) pushim;
Rasti 1:/Portd = B001xxx00;
/Prodhimi i pritshëm i pinit 0-
7 Portd & = B00011111;
/Portd | = B00100000;
/Analowrite (9, mspeed);
PWM në një fazë (
transistor të nivelit të lartë) analogwrite (10,255); // faza B në
analogwrite (11,0) (11,0); // faza B off (detyrë = 0) pushim;
Rasti 5:/Portd = B101xxx00;
/Prodhimi i pritshëm i pinit 0-
7 Portd & = B00011111;
/Portd | = B10100000; Analogwrite (9,0); Analogwrite (10,255); Analogwrite (11, mspeed); thyej;
Rasti 4:/Portd = B100xxx00;
/Prodhimi i pritshëm i pinit 0-
7 Portd & = B00011111;
Portd | = BYM000;
/Analowrite (9,255); Analogwrite (10,0); Analogwrite (11, mspeed); thyej;
Rasti 6:/Portd = B110xxx00;
/Prodhimi i pritshëm i pinit 0-
7 Portd & = B00011111;
Portd B11. 000 =;
/Analowrite (9,255); Analogwrite (10, mspeed); Analogwrite (11,0); thyej;
Rasti 2:/Portd = B010xxx00;
/Prodhimi i pritshëm i pinit 0-
7 Portd & = B00011111;
B0201700 Portd | =;
/Analowrite (9,0); Analogwrite (10, mspeed); Analogwrite (11,255); thyej; Ndryshimi i
fazës së frenave REGJENCION /PORTD (
prodhimi i PIN në L6234)
kunjat janë gjithmonë të ulëta, kështu që vetëm transistorë të ulët në secilën fazë përdoren gjatë REGEN. frenim tjetër {
/portd = b000xxx00;
/Prodhimi i pritshëm i pinit 0-
7 Portd & = B00011111;
Portd | = BYM0000; // Switch (Hallval) {
Rasti 3: Shkrimi i analogjisë (9, BSPEED); // Analogwrite (9,0); Analogwrite (10,0); Analogwrite (11,0); thyej;
Rasti 1: Shkrimi i analogjisë (9, BSPEED); Analogwrite (10,0); Analogwrite (11,0); thyej;
Rasti 5: Shkrimi i analogjisë (9,0); Analogwrite (10,0); Analogwrite (11, bspeed); thyej;
Rasti 4: Shkrimi i analogjisë (9,0); Analogwrite (10,0); Analogwrite (11, bspeed); thyej;
Rasti 6: Shkrimi i analogjisë (9,0); Analogwrite (10, bspeed); Analogwrite (11,0); thyej;
Rasti 2: Shkrimi i analogjisë (9,0); Analogwrite (10, bspeed); Analogwrite (11,0); thyej; }}
/Koha = millis ();
Koha pas fillimit të programit të shtypjes. println (koha); // Serial. shtyp (\ '\'); // Serial. Flush ();
/Nëse doni të debugoni duke përdorur një port serial, ju lutem mosbindje}
Unë mendoj se operacioni që bën Arduino në këtë projekt është aq i thjeshtë sa që duket si një mbeturinë për të bërë këtë detyrë me një mikroprocesor.
Në fakt, shënimet e aplikimit të L6234 rekomandojnë një grup të thjeshtë të programueshëm të portës (
GAL16V8 i bërë nga gjysmëpërçues i grilës) për të bërë këtë punë.
Unë nuk jam i njohur me programimin e kësaj pajisje, por kostoja e IC është vetëm 2 dollarë. 39 në Newark.
Qarqet e tjera të integruara të ngjashme janë gjithashtu shumë të lira.
Një tjetër mundësi është të bashkoni portat e logjikës diskrete.
Unë erdha me disa sekuenca logjike relativisht të thjeshta që mund të përzënë L6234 IC nga prodhimi i tre sensorëve të sallës.
Grafiku për fazën A është treguar më poshtë, dhe tabela e së vërtetës për të tre fazat (
në mënyrë që qarku logjik i fazave B dhe C, dera \ 'jo \' duhet të kalohet në anën tjetër të \ 'ose.
Problemi me këtë qasje është se ka gati 20 lidhje në secilën fazë, kështu që kërkon mjaft punë për ta bashkuar atë.
Është më mirë që të programojë atë si një program të programueshëm.

Hoprio Group A Prodhues Profesional i Kontrolluesit dhe Motors, u krijua në vitin 2000. Selia e Grupit në qytetin Changzhou, Provinca Jiangsu.

Lidhje të shpejta

Na kontaktoni

Whatsapp: +86 18921090987 
Tel: +86-18921090987 
Shto: Nr.19 Mahang South Road, Wujin High Tech District, Changzhou City, Provinca Jiangsu, Kinë 213167
Lini një mesazh
Na kontaktoni
Të drejtat e autorit © 2024 Changzhou Hoprio E-Commerce Co, Ltd Të gjitha të drejtat e rezervuara. Sitap | Politika e privatësisë