Қазіргі уақытта энтузиастар Қылқаламсыз тұрақты токты (BLDC) басқаруға өте қызығушылық танытады
Дәстүрлі тұрақты тұрақты қозғалтқышпен салыстырғанда, қозғалтқыштың өнімділігі жақсарды, энергия тиімділігі де жақсарды, бірақ оны пайдалану қиынырақ. көптеген дайын өнімдер бар.
Осы мақсатта
Мысалы, RC ұшақтары үшін өте жақсы жұмыс істейтін көптеген шағын BLDC контроллерлері бар.
BLDC бақылауын тереңірек қарастырғысы келетіндер үшін, әдетте өте жақсы құжаттамасы бар өнеркәсіптік пайдаланушыларға арналған көптеген әртүрлі микроконтроллерлер мен басқа да электрондық аппаратуралар бар.
Осы уақытқа дейін BLDC басқару үшін Arduino микроконтроллерін пайдаланудың толық сипаттамасын таппадым.
Сондай-ақ, егер сіз регенеративті тежеуді жасауға немесе электр қуатын өндіру үшін BLDC пайдалануға қызығушылық танытсаңыз, мен шағын қозғалтқыштармен пайдалануға жарамды көптеген өнімдерді таппадым және 3-фазалы генераторды басқару әдісі туралы білмедім.
Бұл құрылым бастапқыда нақты уақытты есептеу туралы әңгімеде болды
, мен оны курс аяқталғаннан кейін жалғастырамын.
Жобаның идеясы – маховик қуатын сақтайтын және регенеративті тежегіші бар гибридті автомобильдің пропорционалды моделін көрсету.
Жобада пайдаланылған қозғалтқыш зақымдалған компьютердің қатты дискісінен тазартылған шағын BLDC болып табылады.
Бұл нұсқаулық Arduino микроконтроллерін және Hall-
Affects позиция сенсорларын жүргізу және регенеративті тежеу режимдерінде қалай пайдалану керектігін сипаттайды.
Есіңізде болсын, oscillisoft-қа кіру бұл жобаны аяқтау үшін өте пайдалы, егер маңызды болмаса.
Егер ауқымға қол жеткізе алмасаңыз, мен оны ауқымсыз қалай жасауға болатыны туралы кейбір ұсыныстарды қостым (5-қадам).
Бұл жобаның кез келген нақты қозғалтқыш контроллеріне қосылмауы керек нәрсе - бұл артық токтан қорғау сияқты кез келген қауіпсіздік функциясы.
Шындығында, ең сорақысы, сіз HD моторын өртеп жібересіз.
Дегенмен, ағымдағы аппараттық құралмен шамадан тыс токтан қорғауды жүзеге асыру қиын емес, мүмкін мен мұны бір сәтте жасаймын.
Егер сіз үлкенірек қозғалтқышты басқарғыңыз келсе, қозғалтқышыңызды және өз қауіпсіздігіңізді қорғау үшін артық ток қорғанысын қосыңыз.
Мен бұл контроллерді кейбір \'нақты\' жұмыстарды орындай алатын үлкенірек қозғалтқышпен қолданғым келеді, бірақ менде әлі дұрысы жоқ.
Мен eBay 86 Вт көлікті шамамен 40 долларға сатқанын байқадым.
Жақсы үміткер сияқты.
Сондай-ақ, жеке BLDC жинайтын жинақтарды сататын \'GoBrushless\' деп аталатын RC веб-сайты бар.
Бұлар тым қымбат емес және біреуін жасау үшін тәжірибе жинауға тұрарлық.
Бұл веб-сайтта моторға арналған холл сенсоры жоқ екенін ескеріңіз. Уау!
Бұл құрылымды жазу үлкен жұмыс.
Сізге пайдалы деп үміттенемін, өз пікірлеріңіз бен ұсыныстарыңызды қалдырыңыз.
Сандық мультиметр (DMM)-
Егер сіздің DMM жиілік өлшегіш осциллографы болса (
кемінде 2 арна болғаны дұрыс)
T8 Torx драйвері (
Кез келген қатты дискіні ашу үшін сізге олардың біреуі қажет).
Жақсы аппараттық дүкен бар.
Машина шеберханасы және жылдам прототип (
Бұл өте пайдалы, бірақ менің ойымша, бұл жобаны оларсыз жасауға болады).
Материал bldc мотор компьютердің қатты дискісінен магниттік сақина (
Мотордың жартысы)
Басқа қатты дискіден Бірнеше (3-6)
Күміс дискіде қатты дискіде екінші шағын мотор бар (тұрақты ток щеткасымен жақсы)
Резеңке жолақ немесе (дұрысы)
басқа моторы бар тұтқасы бар щеткасыз тұрақты ток қозғалтқышы электронды нан пластинасының қатты сымы ай Arduino Duemilanove 120 резистор сызығы 400 kohm немесе айналмалы Потениометр100 к ОмСТ микросхемасы L6234 үш фазалы қозғалтқыш драйвері IC екі 100 мкФ конденсатор бір 10 нФ конденсатор бір 220 нФ конденсатор бір 1 мкФ конденсатор бір 100 мкФ конденсатор үш қабылдау диодтары Бір 2
SSpolar A bise 2.11A. сақтандырғыш ұстағышы 3
Ескертпе: Майк Антон мен осы нұсқаулықта көрсетілген қуат электроникасы мен Холл сенсорының тізбектерін ауыстыратын өнімді әзірледі және сатты (
Ол кері потенциалды индукция арқылы басқарылады).
Техникалық сипаттамалар мен сатып алулар туралы ақпаратты осы екі сілтемеден табуға болады: Егер сіз осы жобаны орындағыңыз келсе, BLDC қалай жұмыс істейтінін және басқаратынын мұқият түсіну үшін уақыт бөлуді ұсынамын.
Интернетте көптеген сілтемелер бар (
кейбір ұсыныстарды төменде қараңыз).
Дегенмен, мен өз жобама түсінуге көмектесетін кейбір диаграммалар мен кестелерді қосамын.
Міне, осы жобаны түсіну үшін ең маңызды деп санайтын тұжырымдамалардың тізімі: MOSFET транзисторлары 3 фазалы жарты көпір 6-
сөйлемнің 3-қадамды қысқарту
Импульстік ені Фазалық қозғалтқыштың модуляциясы (PWM) Холл-
микрочип AVR443: датчиктер-жалпы анықтамалық тұрақты тұрақты қозғалтқыштың негізгі принциптері. Flying Star Hall сенсорының BLDC қозғалтқышын
басқару
, қатты диск моторын тазалаудың жақсы бейнесі, бірақ автор қозғалтқышты қадамдық қозғалтқыш ретінде және қадамдық қозғалтқыш ретінде басқаратын сияқты. Деректер парақтарын, қолданба жазбаларын және сатып алу ақпаратын қоса, l6234 IC мотор жетекіндегі BLDC үшін нақтырақ анықтамалық веб-бет.
Гибридті электрлі көлік құралдарына арналған PM щеткасыз мотор жетегі үшін тегін үлгі.
Бұл регенеративті тежеу фазасының өзгеру тәртібін сипаттайтын мен тапқан жалғыз қағаз.
Бұл қағаз, электр көліктеріндегі регенеративті тежеу пайдалы, мен одан бірнеше сандарды алдым, бірақ менің ойымша, ол регенерация қалай жұмыс істейтінін дұрыс сипаттамайды.
Мен бұл жобаны қайта өңделген диск жетегінің қозғалтқышымен жасадым, себебі ол арқылы өту оңай болды және мен BLDC басқаратын сымды үйрену және қауіпсіздік мәселелерін тудырмау үшін шағын төмен вольтты қозғалтқышты пайдаланғанды ұнатамын.
Сонымен қатар, магниттік сақинаны (роторды) пайдалану арқылы зал сенсорының магнит конфигурациясы өте қарапайым болады.
Осы қозғалтқыштардың екіншісінен (4-қадамды қараңыз).
Холл сенсорын орнату және калибрлеудің барлық қиындықтарына барғыңыз келмесе (5-7-қадамдар)
Мен Холлда орнатылған CD/DVD жетек қозғалтқыштары бар екенін білемін.
Қозғалтқышқа біраз бұрылу инерциясын қамтамасыз ету және оларға аздап жүктеме беру үшін мен қозғалтқышқа 5 қатты дискіні қойдым, аздап күшті желіммен ақырын жабыстырдым және моторға жабыстырдым (
Бұл менің бастапқы жобамдағы маховикті жасады).
Қозғалтқышты қатты дискіден алып тастағыңыз келсе, корпусты бұрап алу үшін сізге T8 торкс дискісі қажет (
Әдетте орталық жапсырмадағы таяқтың артында жасырылған екі бұранда бар)
және қозғалтқышты орнында ұстайтын ішкі бұрандалар.
Сондай-ақ оқу құралының басын алып тастау керек (
Дыбыс шеңберінің атқарушысы)
Осылайша моторға жету үшін жад дискісін алуға болады.
Оған қоса, роторды сол қозғалтқыштан шығару үшін сізге екінші қатты диск қозғалтқышы қажет болады (
Ішінде магнит бар).
Қозғалтқышты бөлшектеу үшін мен роторды (жоғарғы)
қозғалтқыштың тіреуішінен ұстап, оны статорға (төменгі) бекітіп қойдым.
Екі бұрағыш бір-бірінен 180 градус қашықтықта орналасқан.
Қозғалтқышты деформациясыз жеткілікті тығыз жұпта ұстау оңай емес. Сіз
ағаш v-блокты жасағыңыз келуі мүмкін .
осы мақсат үшін пайдаланылатын
Мен токарлық станоктағы магниттік сақинада мотордың жоғарғы жағына ыңғайлы орналасуы үшін тесік жасадым.
Егер сіз токарлық станокты пайдалана алмасаңыз, қозғалтқышқа төңкерілген роторды күшті желіммен бекітуге болады.
Төмендегі 2 және 3 суреттерде мен бөлшектеген қозғалтқыштардың бірінің ішкі көрінісі көрсетілген.
Бірінші жартысында (ротор) 8 полюсі бар (
Магнит пластикке оралған).
Екінші жартысында (статор)
12 слот (орамалар) бар.
Үш мотор фазасының әрқайсысында тізбектей 4 слот бар.
Кейбір HD қозғалтқыштарының төменгі жағында үш контакті бар, бір фазада бір контакт, ал екіншісі қозғалтқыштың орталық шүмегі (
үш кезең түйісетін жерде).
Бұл жобада орталық түрту қажет емес, бірақ ол сенсорсыз басқаруда пайдалы болуы мүмкін (
Мен сенсорсыз басқару туралы жазбаны бір күні шығарамын деп үміттенемін).
Егер қозғалтқыштың төрт контактісі болса, фазаны омметр арқылы анықтауға болады.
Орталық шүмек пен фаза арасындағы кедергі кез келген екі фаза арасындағы кедергінің жартысын құрайды.
BLDC қозғалтқыштары туралы әдебиеттердің көпшілігі баспалдақ тәрізді артқы потенциалды толқын пішіні барларға қатысты, бірақ қатты диск қозғалтқышының синусқа ұқсайтын кері потенциалы бар сияқты (төменде қараңыз).
Менің білуімше, синус толқынды PWM бар синустолқынды қозғалтқышты жүргізу жақсы жұмыс істейді, бірақ тиімділік біршама төмендеуі мүмкін.
Барлық BLDC қозғалтқыштары сияқты, бұл үш фазалы жартылай транзисторлы көпірден тұрады
(
төмендегі 2-суретті қараңыз). Мен
ST Micro (L6234) жасаған IC пайдаланамын , ол мотор драйвері ретінде де белгілі.
көпір үшін
L6234 электр қосылымы 8-қадамда көрсетілген.
Төмендегі үшінші фотода мотор драйвері мен үш мотор фазасының схемалық диаграммасы көрсетілген.
Қозғалтқыш сағат тілімен жұмыс істеуі үшін ауыстырып-қосқыш келесі ретпен орындалады (
Бірінші әріп – жоғарғы транзистор, ал екінші әріп – төменгі транзистор)
: 1-қадам сағат тіліне қарсы 2 3 4 5 6: CB, AB, AC, BC, BA, CA сағат тіліне қарсы: BC, BA, CA, CB AB-6
қадамдары қажет, \'электрлік дәрежесі\' 360, бірақ бұл қозғалтқыштар үшін тек 90 физикалық дәрежесі.
Сондықтан әрбір қозғалтқыштың айналу жылдамдығы төрт рет болады.
Екі реттілік бірдей сияқты, бірақ олар бірдей емес, өйткені 6-
қадамдық реттілік үшін CW үшін фаза арқылы өтетін ток бағыты бір бағытта, ал CCW үшін ток бағыты қарама-қарсы.
Мұны батареяның кернеуін немесе электр қуатын қозғалтқыштың кез келген фазасына қолдану арқылы өзіңіз көре аласыз.
Кернеуді қолдансаңыз, қозғалтқыш бір бағытта аздап қозғалады және тоқтайды.
Жоғарыда көрсетілген тізбектердің бірінде фазадағы кернеуді жылдам өзгерте алсаңыз, қозғалтқышты қолмен айналдыра аласыз.
Транзисторлар мен микроконтроллерлер осы қосқыштардың барлығын өте жылдам аяқтайды, қозғалтқыш жоғары жылдамдықпен жұмыс істегенде секундына жүздеген рет ауысады.
Сондай-ақ, кернеу екі фазаға да қолданылса, қозғалтқыш аздап қозғалады, содан кейін тоқтайды.
Бұл айналу моменті нөлге тең болғандықтан.
Сіз мұны төмендегі төртінші фотосуретте көре аласыз, ол қозғалтқыш фазаларының жұбының артқы әлеуетін көрсетеді.
Бұл синус толқыны.
Толқын x- білігінен өткенде
, осы фазамен қамтамасыз етілген момент нөлге тең болады. Алты
сатылы BLDC фазасының өзгеру реттілігі ешқашан болмаған.
Белгілі бір фазадағы айналу моменті азаймас бұрын, қуат басқа фазалық комбинацияға ауыстырылады.
Үлкен BLDC қозғалтқыштары әдетте қозғалтқыштың ішіндегі Холл сенсорлары арқылы жасалады.
Егер сізде мұндай қозғалтқыш болса, бұл қадамды өткізіп жіберуге болады.
Сондай-ақ, мен қазірдің өзінде Холл сенсорында орнатылған кейбір CD/DVD қозғалтқыштары бар екенін білемін.
Қозғалтқыш айналу кезінде позицияны анықтау үшін үш холл сенсоры пайдаланылады, сондықтан фазаны өзгерту қажетті сәтте орындалады.
Менің HD қозғалтқышым 9000 RPM (150 Гц) дейін жұмыс істейді.
Бір дөңгелекте 24 өзгеріс болғандықтан, 9000 айн/мин жылдамдықта машина әр 280 микросекунд сайын өзгереді.
Arduino микроконтроллері 16 МГц жиілікте жұмыс істейді, сондықтан әрбір тактілік цикл 0,06 микросекундты құрайды.
Мен сөйлемді қысқарту үшін қанша сағат циклі қажет екенін білмеймін, бірақ 100 сағат циклі қажет болса да, яғни сөйлемді қысқарту үшін 5 микросекунд қажет.
HD қозғалтқыштарында Холл сенсорлары жоқ, сондықтан оларды қозғалтқыштың сыртына орнату қажет.
Сенсорды қозғалтқыштың айналуына қатысты бекіту керек және қозғалтқыштың айналуына сәйкес келетін бірқатар полюстерге ұшырау керек.
Менің шешімім - бір қозғалтқыштан магниттік сақинаны алып тастау және оны басқарылатын қозғалтқышқа төңкеріп орнату.
Содан кейін мен осы магниттік сақинаның үстіне үш холл сенсорын орнаттым, қозғалтқыш білігіне бір-бірінен 30 градус қашықтықта (
электр қозғалтқышының айналуы 120 градус).
Менің Холл сенсорының ұстағышы мен өңдеген үш алюминий бөлігінен және жылдам прототипте жасалған үш пластиктен тұратын қарапайым ұстағыштан тұрады.
Егер сізде бұл құралдар болмаса, позицияны көрсетудің басқа әдісін табу қиын болмауы керек.
Холл сенсорлары үшін жақшаларды жасау қиынырақ болады.
Бұл жұмыс істеудің мүмкін әдісі: 1.
Тиісті өлшемдегі пластик науаны табыңыз және сіз залдың сенсорын мұқият эпоксидтей аласыз. 2.
Магниттік сақинаның радиусы бірдей шеңберге ие және үш белгі бір-бірінен 15 градус 3 болатын қағазға шаблон басылады.
Үлгіні дискіге жабыстырыңыз, содан кейін үлгіні холл сенсорының эпоксиді орнына мұқият орналастыру үшін нұсқаулық ретінде пайдаланыңыз.
Қозғалтқышқа Холл сенсорлары орнатылғаннан кейін оларды төменде көрсетілген схемаға қосыңыз және қозғалтқыш айналу кезінде шығыс жоғары және төмен болатынына көз жеткізу үшін оларды DMM немесе осциллограф арқылы тексеріңіз.
Мен бұл сенсорларды Arduino-ның 5 в шығысын пайдаланып 5 в астында іске қосамын.
Холл сенсорының шығысы жоғары немесе төмен (1 немесе 0)
Бұл олардың Антарктиканы немесе Арктиканы сезінуіне байланысты.
Олар бір-бірінен 15 градус қашықтықта орналасқандықтан, магниттер олардың астында айналады және полярлықты әр 45 градус сайын өзгертеді, бұл үш сенсор ешқашан бір уақытта жоғары немесе төмен болмайды.
Қозғалтқыш айналғанда, сенсор шығысы 6-
Келесі кестеде көрсетілген қадам үлгісі.
Датчик қозғалтқыштың қозғалысына сәйкес болуы керек, осылайша үш сенсордың біреуі қозғалтқыш фазасының өзгеру орнында дәл өзгереді.
Бұл жағдайда бірінші зал сенсорының көтерілу шеті (H1)
C (жоғары) және B (төмен) комбинациясының ашылуына сәйкес болуы керек.
Бұл көпір тізбегіндегі 3 және 5 транзисторларды қосуға тең.
Мен сенсорды магнитпен осциллографпен туралаймын.
Мұны істеу үшін мен ауқымның үш арнасын пайдалануым керек.
Мен қозғалтқышты екінші қозғалтқыштың белдігіне қосу арқылы айналдырамын және екі фазалық комбинациялар арасындағы кері потенциалды өлшеймін (
A және B, A және C)
Бұл екі синуса.
Төмендегі суреттегі толқындар сияқты
Содан кейін осциллографтың 3 арнасындағы Холл сенсорының 2 сигналына қараңыз.
Холл сенсорының ұстағышы холл сенсорының көтерілетін шеті фазаны өзгерту орындалатын нүктеге толығымен сәйкес келгенше бұрылады (төменде қараңыз).
Енді мен бірдей калибрлеуді орындау үшін тек екі арна бар екенін түсіндім.
Егер фазалар комбинациясының BEMF B-
C қолданылса, H2 көтерілу шеті BC қисығымен байланысты болады.
Мұнда фазаны өзгертудің себебі - қозғалтқыш моментін мүмкіндігінше жоғары ұстау.
Артқы потенциал крутящий моментке пропорционал және сіз әрбір фазаның өзгеруі кері потенциал келесі кезең қисығынан төмен өткенде пайда болатынын байқайсыз.
Демек, нақты момент әрбір фазалық комбинацияның ең жоғары бөлігінен тұрады.
Егер сіз ауқымға қол жеткізе алмасаңыз, мұнда менің туралау туралы идеям бар.
Бұл шын мәнінде BLDC моторының қалай жұмыс істейтінін білгісі келетіндерге қызықты жаттығу.
Қозғалтқыштың А фазасы (оң) және В (теріс) қуат көзіне қосылса
және қуат көзіне қосылса, қозғалтқыш аздап айналады және тоқтайды.
Содан кейін, егер теріс қуат сымы C фазасына ауыстырылса және қуат қосылса, қозғалтқыш одан әрі бұрылып, тоқтайды.
Кезеңнің келесі бөлігі оң сымды В фазасына жылжыту және т.б. болады.
Мұны орындаған кезде қозғалтқыш диаграммадағы х осі арқылы өтетін бір орынға сәйкес келетін момент нөлге тең болғанда әрқашан тоқтайды.
Үшінші фазалық комбинацияның нөлдік нүктесі алғашқы екі комбинацияның фазалық өзгеру позициясына сәйкес келетінін ескеріңіз.
Сондықтан, B-ның нөлдік айналдыру моменті позициясы-
C комбинациясы h2 көтерілетін жиегін орналастырғыңыз келетін жер болып табылады.
Бұл позицияны жұқа белгілермен немесе өткір жүздермен белгілеңіз, содан кейін H2 шығысы осы белгіден дәл жоғарырақ болғанша DMM көмегімен холл сенсорының ұстағышын реттеңіз.
Мектеп кестесінен аздап ауытқысаңыз да, мотор жақсы жұмыс істеуі керек.
Үш мотор фазасы L6234 үш фазалы қозғалтқыш драйверінен қуат алады.
Мен бұл уақыт сынына төтеп бере алатын жақсы өнім екенін білдім.
Қуат электроникасын пайдаланған кезде компоненттерді кездейсоқ қуырудың көптеген жолдары бар, мен инженер-электрик емеспін және не болып жатқанын әрқашан білмеймін.
Менің мектеп бағдарламамда біз
6 MOSFET транзисторы мен 6 диодтың 3 фазалы жартылай көпірлі шығысын жасадық.
Біз мұны басқа Intersil драйверінің HIP4086 құрылғысында қолдандық, бірақ бізде бұл орнатуда көптеген мәселелер бар.
Біз көптеген транзисторлар мен чиптерді өртеп жібердік.
Мен L6234 (
Сонымен қозғалтқыш) 12 В-та жұмыс істеймін.
L6234-де 6 транзистордан тұратын жартылай көпірді басқаруға арналған әдеттен тыс кірістер жиынтығы бар.
Әрбір транзистордың кірісі жоқ, бірақ
үш кезеңнің әрқайсысы үшін қосу (EN) кірісі, содан кейін басқа кіріс (IN)
Ашық фазада қандай транзисторды таңдаңыз (жоғарғы немесе төменгі).
Мысалы, транзистор 1 (жоғарғы) және 6 (төменгі) қосыңыз
EN1 және EN3 екеуі де жоғары (
кезеңді жабық ұстау үшін EN2 төмен)
IN1 Жоғары, IN3 төмен.
Бұл фазалық комбинацияны-C құрайды.
L6234 қолданбасының жазбасы қозғалтқыштың жылдамдығын IN пинге басқару үшін қолданылатын PWM қолдануды ұсынғанымен, мен оны EN істікшелісінде жасауды ұйғардым, өйткені ол кезде фазаның жоғарғы және төменгі транзисторларын кезекпен қосу \ 'біртүрлі' болар еді \'. Шындығында
, оларда транзистордың айналу жылдамдығы бірдей емес сияқты. бірдей потенциал, сондықтан олардың ешқайсысы токтан өтпейді,
менің әдісіммен жоғары фаза PWM жиілігінде ауысады, ал төмен фаза барлық фазалық ауысымда қосулы күйде қалады
, Мен Arduino тақтасына пин қосылымын қостым.
, басқару жүйесі айналу моментін арттыратындай етіп үш мотор фазасына жібереді, бірақ
Бұл көрсеткіш аз, сондықтан үлкенірек нұсқалар үшін L6234 үшін құжаттаманы қараңыз Мен электр
инженері емеспін және менің түсіндірмелеріме жасалған кез келген түзетулерді бағалайтынымызды ескеріңіз
бұл жолы бұл кері момент болып табылады, бұл қозғалтқышты қалпына келтіру әдісінен кері қайтару әдісіне әкеледі Америка Құрама Штаттарындағы Oakridge National Laboratory S. govt . Автомобиль қозғалтқыштары үшін
көптеген зерттеулер жүргізетін зертхана Төмендегі диаграмма
оның қалай жұмыс істейтінін көрсетуге көмектеседі ( Бірақ, менің ойымша
жартылай дұрыс емес,
қозғалтқыш айналу кезінде BEMF фазасының
жоғары және төмен болатынын есте сақтаңыз және төменгі сатыда, бұл жағдайда токтың В-дан регенеративті тежеуіне өтуі мүмкін, төмен деңгейлі транзисторлар тез қосылып, өшеді (Төменгі
, бұл екінші құжатта берілген түсініктеме
қалай
жұмыс істейтінін түсіндіретін жақсы мақала бар )
деп аталады). қозғалтқыштың фазасында (Википедияда күшейткіш түрлендіргіштің
транзистор өшірілгенде, ток энергияны сақтау құрылғысы
бірақ жоғары кернеуде ток әр транзистордың
жанындағы «қоздыруға қарсы» диод арқылы өтеді, содан кейін диод батареяға осы уақытта токтың түсуіне жол бермейді. Қозғалтқышты баяулататын теріс айналу моментін жасау үшін магнит сақинасымен әрекеттесіңіз,
Бұл энергия төменгі деңгейлі транзистор өшірілгенде шығарылады,
ал PWM жұмыс циклі тежеу мөлшерін басқарады,
қозғалтқыштың коммутациясы бір комбинациядан келесіге ауысады
моменті, егер сіз бірінші қадамда бейнені көрсеңіз
, себебі қозғалтқыштың мүмкін болатын айналу моменті өте ұқсас мүмкіндігінше теріс айналдыру
, регенеративті тежегіштің жақсы жұмыс істейтінін көре аласыз, бірақ менің ойымша, оның негізгі себебі мен пайдаланатын қатты диск қозғалтқышы өте төмен айналу моменті болып табылады, сондықтан ол ең жоғары жылдамдықты қоспағанда, көп BEMF шығармайды
қарсы диод арқылы өтетін әрбір жол
Қоздыруға
(қандай да бір
салыстырмалы түрде төмен кернеу) .
төмендететіндіктен
, мен қалыпты түзеткіш диодтарды қолданамын және төменде arduino-дағы кірістер мен шығыстардың тізімі бар зал 2 120 К Gnd 4 кедергісі 3 холл цифрлық кіріс- Gnd 5 120
кернеуді бірнеше вольтқа
Ом резистормен сериялы цифрлық шығыс 6 2 400 Ом резистормен сериялы цифрлық шығыстар 7 3 400 Ом резистормен сериялы сандық шығыстар EN 400 Ом резистормен сериялы цифрлық шығыстар 9-
К
кедергісі 1 400
сериялы түрде 11- EN 3 сандық шығысы 400 Ом резистормен, 100 к Ом потенциометрмен, екі ұшында
5 в және gnd
резистор шығысы EN Digital10 10- EN 2 сандық шығысы 400 Ом резистормен
қосылған және аналогтық 0 пин ортаңғы кернеумен жұмыс істеуге арналған электр қуатын басқару үшін қолданылады5 датчиктер (5
-қадамды қараңыз) Түсініктемелерді қамтитын мен Ardjuino үшін жазған бүкіл бағдарлама:/*
1. 1*3
bldc_congroller 3.
Глейзер . X
Дэвид
тілімен
қозғалтқышы
* регенеративті тежегішпен * қозғалтқыш жылдамдығы мен тежегіштің
сериясы ST L6234 3-фазалық мотор драйвері IC * жұмыс істейтін диск жетегінің
сағат
үш реттегіші арқылы басқарылады. Arduino 3 холл
сенсорынан (
2,3,4 түйреуіштер) шығыс
қабылдайды * Және олардың комбинациясын 32 кГц жиілікте 9, 10, 11 істікшелерде фазаны өзгертетін 6 қадамға түрлендіріңіз * PWM шығысы
жұмыс циклін өзгертуге арналған потенциометр және өзгерту
сәйкесінше 20-ға жалғаңыз (3IN), PWM
(5,6, 7 түйреуіштердегі EN 1,2,
3*3 DO сәйкес келеді,
сериялық қосылымға
* жүргізу және қалпына келтіру тежеу * * 0- 499: тежеу * 500- 523: такси * 524- 1023: қозғалтқыш
*
әртүрлі мәндерді басып шығару арқылы түзету үшін көптеген жолдарды түсіндіреді
HallState2; Int HallVal = 1 /Барлық 3 hall датчиктерінің мәні =
0; /Жылдамдық деңгейі
дроссель = 0 /Бұл айнымалы PO 2
pinMode (7,OUTPUT /
позициясын өлшеу үшін қолданылады ; /
int = 0
Hall 1 pinMode (3,INPUT)
/
L6234 pinMode қозғалтқышының шығысы (6,OUTPUT /In 2
/
Mode ); (10, OUTPUT);
сіз сериялық қосылымды қолданатын болсаңыз, осы жолды өшіріңіз. алдын ала бөлгіш биттер:
EN 2 pinMode (11, OUTPUT/serial); егер
int prescalerVal = 0x07;
/prescalerVal деп аталатын айнымалыны жасаңыз және оны екілік санға тең етіп орнатыңыз \'00000111
алдын
\' TCCR1B & = ~
ала
кодтау
бит 2 = 1;
/ prescalerVal параметрін екілік санға теңестіру \'00000001\'
Prescaler /Және TCCR0B ішіндегі мәнді екілік санына сәйкес \'1111'0-де орнатыңыз.
: TCCR2B
TCCR1B = prescalerVal2; барлық үш алдын ала бит: TCCR2B & =
~ Pre-calerval; /және TCCR0B ішіндегі мән \'11111000\'/енді сәйкес алдын ала кодтау битін орнатыңыз
= Алдын ала кодтау биті 2 / Немесе
TCCR000/0' екілік санымен;
}/PRGROM void циклі () { /Time = millis (
) ; потенциометрдің жоғарғы жартысы салыстырылады
Барлық үш алдын ала кодталған бит :
bSpeed = карта ( дроссель, 0,511,255, 0); = Digital Read (4); 3-ші
залдан кіріс мәнін оқу/сандық жазу (8, HallState1); /Calculate the binary values of 3 hall sensors/* series. print(\'
H 1: \')
;
For debugging serial port. println(HallState1); Serial. print(\'H 2
:
\
');
println(HallState2); Serial. print(\'
: \');
Serial.
H 3
Serial. println(HallState3); Serial. println(\' \'); *
/ //Сериялық. println(mSpeed); //Сериялық. println
(HallVal)
/Монитор транзисторының шығысы /кідірісі
; //
(1000); /* T1 = цифрлық оқу (2); //T1 = ~T1
Сериялық. print(\'\') ;
; T2 = цифрлық оқу (4); //T2 = ~T2; цифрлық оқу (4); //T2 = ~T2; //T3 = ~T2; ~ad. print(T1);
Serial. print(\'\t\'); Serial. print
.
(T2); Serial
print(\'\
t\'); Serial. print(T3); Serial. print(\'\'); Serial. print(\'\'); Serial. print(digitalRead(3)); Serial. print(\'\t\'); Serial. print(digitalRead(9)); Serial. print(\'\t\'); Serial. println(digitalRead(10)); Serial. print(\'\'); Serial. print(\'\'); //delay(500);
*/Driving phase change/each binary number has a case corresponding to the different transistors turned on/bit math used to change the value of the output arduino: /PORTD contains the output of the IN pin L6234 драйверінде/әр фаза үшін жоғарғы транзистордың немесе төменгі транзистордың/EN істікшесінің Arduino пәрмен ұқсастығымен
пайдаланылатын
басқарылатынын анықтау үшін
255
( 0 = OFF,
:
ON
=
шығыста PWM жұмыс циклін орнатыңыз
немесе потенциометрмен басқарылатын дроссель мәні, егер (дроссель > 511) {H
3
Case) 1111xxx00; / PIN
xxx мәнін білдіреді
PORTD & =
PORTD | 0
0- 7
және
)analogWrite(11,255); // C фазасы - 100% (
төменгі транзистор) үзіліс
1:/PORTD =
PWM on A ( High-end tranistor)analogWrite(10,255);
0-7 PORTD & = B00011111 / PORTD00;
(жұмыс = 0)
үзіліс 5:/PORTD = B101xx00 /B pin
//Б фазасы өшірулі
B10100000;
= 0.0;
analogWrite(9,0); analogWrite(10,255);
analogWrite
of
(
/ Expected output
11 ,mSpeed); break;
Case 4:/PORTD = B100xxx00;
pin 0-
7 PORTD & = B00011111;
PORTD | = bym000;
/Analowrite (9,255); analogWrite(11,mSpeed); analogWrite(11,0); break; Case 2:
PORTD
7
/
= B010xxx00;
/Expected output of pin 0-
PORTD & = B00011111; B0201700
PORTD | =; /Analowrite
(9,0); analogWrite(10,mSpeed); analogWrite(11,255); break; } } /Regenerative тежеу фазасының өзгеруі/PORTD
7
( L6234 бойынша IN пин шығысы) Тежеу кезінде тек төмен транзисторлар пайдаланылады { /PORTD = B000xxx00 /PIN 0-
PORTD & = B00011111 //{0;al; analogy writing (9,bSpeed); //
analogWrite(9,0); analogWrite(
10,0); analogWrite(11,0); break; Case 1: analogy writing (9,bSpeed); analogWrite
(10,0
); analogWrite(11,0); break; Case 5: analogy writing (9,0); analogWrite(10,0); analogWrite(11,bSpeed); break; Case 4:
analogy writing (9,0);
analogWrite(10,0); analogWrite(11,bSpeed); break; Case 6: analogy writing (
9,0); analogWrite(10,bSpeed
); analogWrite(11,0); break;
print
\
Serial
Case 2: analogy writing (9,0); analogWrite(10,bSpeed); analogWrite(11,0); break; }} /Time = millis (); //
(
''); массиві (Latice Semiconductor) мен бұл құрылғыны бағдарламалаумен таныс емеспін, бірақ IC-ның құны
небары 39 долларды құрайды. үш зал датчигі төменде көрсетілген А кезеңінің диаграммасы және барлық үш кезеңнің
ақиқат кестесі ( В және С фазаларының логикалық тізбегі үшін \'емес\' есігі \' немесе басқа жағына ауыстырылуы керек. Бұл тәсілдің проблемасы - әр кезеңде 20-ға жуық қосылым бар, сондықтан оны бағдарлама ретінде біріктіру өте жақсы.