pid алгоритмі арқылы тұрақты ток қозғалтқышының жылдамдығын басқару (stm32f4)
Үй » Блог » pid алгоритмі арқылы тұрақты ток қозғалтқышының жылдамдығын басқару (stm32f4)

pid алгоритмі арқылы тұрақты ток қозғалтқышының жылдамдығын басқару (stm32f4)

Қарау саны: 0     Автор: Сайт редакторы Жариялау уақыты: 2020-09-02 Шығу орны: Сайт

Сұрау

facebook бөлісу түймесі
twitter бөлісу түймесі
сызықты ортақ пайдалану түймесі
wechat бөлісу түймесі
linkedin бөлісу түймесі
pinterest бөлісу түймесі
whatsapp бөлісу түймесі
kakao бөлісу түймесі
snapchat бөлісу түймесі
телеграмма бөлісу түймесі
бөлісу түймесін басыңыз

Барлығына сәлем, мен басқа жобадағы Тахир ул Хакпын.
Бұл жолы 2017-11-407 пайдаланылған MC жасау уақыты болды.
Осымен орта мерзімді бағдарлама аяқталды.
Сізге ұнайды деп үміттенемін.
Бұл көптеген тұжырымдамалар мен теорияларды қажет етеді, сондықтан алдымен оны қарастырайық.
Компьютерлердің пайда болуымен және индустриалды процестің пайда болуымен адамзат тарихында процесті қайта анықтау әдістерін әзірлеу және одан да маңыздысы, процесті автономды басқару үшін машиналарды пайдалану бойынша зерттеулер жүргізілді.
Мақсат - бұл процестерге адамның қатысуын азайту, осылайша бұл процестердегі қателерді азайту.
Сондықтан \'басқару жүйесі инженериясы\' саласы пайда болды.
Басқару жүйесінің инженериясын процестің жұмысын басқару үшін әртүрлі әдістерді пайдалану немесе қолмен немесе автоматты түрде тұрақты және қолайлы ортаны қолдау ретінде анықтауға болады.
Қарапайым мысал - бөлме температурасын бақылау.
Қолмен басқару учаскедегі ағымдағы жағдайларды тексеретін адамның болуын білдіреді (датчиктер)
, Күтулермен (өңдеу)
және қажетті мәнді (жетекші) алу үшін тиісті шараларды қабылдайды.
Бұл тәсілдің проблемасы - бұл өте сенімді емес, өйткені адам жұмыста қателесуге немесе немқұрайлылыққа бейім.
Сонымен қатар, тағы бір мәселе, жетек іске қосатын процестің жылдамдығы әрқашан біркелкі бола бермейді, бұл кейде ол қажетті жылдамдықтан жылдамырақ болуы мүмкін, ал кейде баяу болуы мүмкін.
Бұл мәселені шешу - жүйені басқару үшін микроконтроллерді пайдалану.
Берілген спецификацияға сәйкес микроконтроллер тізбектегі қосылу процесін басқаруға бағдарламаланған (
Кейінірек талқылаймыз)
Мәні немесе күйі, сол арқылы қажетті мәнді сақтау үшін процесті басқарады.
Бұл процестің артықшылығы - бұл процеске адамның араласуының қажеті жоқ.
Сонымен қатар, бұл процестің жылдамдығы тұрақты.
Жалғастырмас бұрын, осы нүктедегі әртүрлі терминдерді анықтау өте маңызды: Кері байланысты басқару: Бұл жүйеде белгілі бір уақытта енгізу бір немесе бірнеше айнымалыларға, соның ішінде жүйенің шығысына байланысты.
Теріс кері байланыс: Бұл жүйеде сілтеме (кіріс)
Кері байланыс ретінде қате алынып тасталады және кіріс фазасы 180 градусқа тең.
Оң кері байланыс: Бұл жүйеде
кері байланыс пен кіріс фазада болғанда анықтамалық (кіріс) қателер қосылады.
Қате сигналы: қажетті шығыс пен нақты шығыс арасындағы айырмашылық.
Датчик: тізбектегі құрылғылардың белгілі бір санын анықтауға арналған құрылғы.
Ол әдетте шығысқа немесе кейбір өлшемдер жасағымыз келетін кез келген жерге орналастырылады.
Процессор: бағдарламалау алгоритмдері негізінде өңделетін басқару жүйесінің бөлігі.
Ол біраз кірісті алады және біраз нәтиже береді.
Жетек: басқару жүйесінде жетек шығысқа әсер ету үшін микроконтроллер жасаған сигнал негізінде оқиғаларды орындау үшін пайдаланылады.
Жабық жүйе: бір немесе бірнеше кері байланыс циклі бар жүйе.
Ашық цикл жүйесі: кері байланыс жүйесі жоқ.
Көтеру уақыты: шығыс сигналдың максималды амплитудасының 10%-дан 90%-ға дейін көтерілуіне қажетті уақыт.
Drop Time: Шығарылымның 90%-дан 10%-ға дейін төмендеуіне қажетті уақыт.
Шыңнан асып кету: шыңнан асып кету - оның тұрақты күй мәнінен асатын шығыс мөлшері (
Жүйенің өтпелі реакциясы кезінде қалыпты).
Тұрақты уақыт: шығыс тұрақты күйге жету үшін қажетті уақыт.
Тұрақты күйдегі қате: жүйе тұрақты күйге жеткенде нақты шығыс пен күтілетін шығыс арасындағы айырмашылық. Жоғарыдағы суретте басқару жүйесінің өте жеңілдетілген нұсқасы көрсетілген.
Микроконтроллер кез келген басқару жүйесінің өзегі болып табылады.
Бұл өте маңызды компонент, сондықтан оны жүйенің талаптарына сәйкес мұқият таңдау керек.
Микроконтроллер пайдаланушыдан енгізуді алады.
Бұл кіріс жүйеге қажетті шарттарды анықтайды.
Микроконтроллер сенсордан кірісті де алады.
Сенсор шығысқа қосылған және оның ақпараты кіріске қайтарылады.
Бұл кірісті теріс кері байланыс деп те атауға болады.
Теріс кері байланыс бұрын түсіндірілді.
Өзінің бағдарламалау негізінде микропроцессор әр түрлі есептеулер жүргізеді және жетекке шығарылады.
Шығысқа негізделген жетекті басқару қондырғысы осы шарттарды сақтауға тырысады.
Мысал ретінде қозғалтқышты басқаратын мотор драйвері болуы мүмкін, мұнда қозғалтқыш драйвері - драйвер және қозғалтқыш - зауыт.
Сондықтан қозғалтқыш берілген жылдамдықпен айналады.
Қосылған сенсор ағымдағы зауыттың күйін оқиды және оны микро контроллерге қайтарады.
Микроконтроллер қайтадан салыстырылады және есептеледі, сондықтан цикл қайталанады.
Процесс қайталанатын және шексіз, ал микроконтроллер қажетті шарттарды сақтай алады.
Тұрақты ток қозғалтқышының айналу жиілігін басқарудың екі негізгі жолы бар)
Кернеуді қолмен басқару: өнеркәсіптік қолданбаларда тұрақты ток қозғалтқышының жылдамдығын басқару механизмі маңызды.
Кейде бізге қалыптыдан жоғары немесе төмен жылдамдық қажет болуы мүмкін.
Сондықтан бізге жылдамдықты басқарудың тиімді әдісі қажет.
Қоректену кернеуін басқару - жылдамдықты реттеудің қарапайым әдістерінің бірі.
Жылдамдықты өзгерту үшін кернеуді өзгерте аламыз. b)
PWM-ді PID көмегімен басқару: тағы бір тиімді әдіс микроконтроллерді пайдалану болып табылады.
Тұрақты ток қозғалтқышы микроконтроллерге мотор драйвері арқылы қосылады.
Қозғалтқыш драйвері IC қабылдайтын PWM (
импульстік ені модуляциясы)
микро контроллерден кіріс және кіріске сәйкес тұрақты ток қозғалтқышына шығады. Сурет 1.
2: PWM сигналының 1-тарауы.
3-кіріспе PWM сигналын ескере отырып, PWM жұмысын алдымен түсіндіруге болады.
Ол белгілі бір уақыт аралығында үздіксіз импульстерден тұрады.
Уақыт периоды - толқын ұзындығына тең қашықтықта қозғалатын нүктенің өткізетін уақыты.
Бұл импульстар тек екілік мәндерге ие болуы мүмкін (ЖОҒАРЫ немесе ТӨМЕН).
Бізде тағы екі шама бар, импульс ені және жұмыс циклі.
Импульс ені - PWM шығысы жоғары болған уақыт.
Жұмыс циклі импульс енінің уақыт кезеңіне пайызы болып табылады.
Қалған уақыт кезеңінде өнім төмен болады.
Жұмыс циклі қозғалтқыштың жылдамдығын тікелей басқарады.
Тұрақты ток қозғалтқышы белгілі бір уақыт ішінде оң кернеуді қамтамасыз етсе, ол белгілі бір жылдамдықпен қозғалады.
Оң кернеу ұзақ уақыт бойы қамтамасыз етілсе, жылдамдық үлкен болады.
Сондықтан PWM жұмыс циклін импульс енін өзгерту арқылы өзгертуге болады.
Тұрақты ток қозғалтқышының жұмыс циклін өзгерту арқылы қозғалтқыштың жылдамдығын өзгертуге болады.
Тұрақты ток қозғалтқышының ақаулары үшін жылдамдықты реттеу: жылдамдықты басқарудың бірінші әдісінің мәселесі кернеудің уақыт өте келе өзгеруі мүмкін.
Бұл өзгерістер біркелкі емес жылдамдықты білдіреді.
Сондықтан бірінші әдіс қалаусыз.
Шешуі: Жылдамдықты басқару үшін екінші әдісті қолданамыз.
Екінші әдісті толықтыру үшін PID алгоритмін қолданамыз.
PID пропорционалды интегралдық туындыны білдіреді.
PID алгоритмінде қозғалтқыштың ағымдағы жылдамдығы өлшенеді және қажетті жылдамдықпен салыстырылады.
Бұл қате қозғалтқыштың жұмыс циклін уақытқа сәйкес өзгерту үшін күрделі есептеулер үшін қолданылады.
Әрбір циклде бұл процесс бар.
Егер жылдамдық қажетті жылдамдықтан асып кетсе, жұмыс циклі қысқарады және жылдамдық қажетті жылдамдықтан төмен болса, жұмыс циклі артады.
Бұл реттеу ең жақсы жылдамдыққа жеткенше орындалмайды.
Бұл жылдамдықты үнемі тексеріп, бақылаңыз.
Мұнда осы жобада қолданылатын жүйе құрамдастары және әрбір құрамдастың егжей-тегжейлері туралы қысқаша кіріспе берілген.
STM 32F407: ST Micro-секциясы әзірлеген микроконтроллер.
Ол ARM кортексінде жұмыс істейді. M Архитектура.
Ол 168 МГц жоғары тактілік жиілігімен өз отбасын басқарады.
Мотор драйвері L298N: Бұл IC қозғалтқышты іске қосу үшін пайдаланылады.
Оның екі сыртқы кірісі бар.
Біреуі микроконтроллерден.
Микроконтроллер ол үшін PWM сигналын береді.
Қозғалтқыш жылдамдығын импульс енін реттеу арқылы реттеуге болады.
Оның екінші кірісі қозғалтқышты жүргізу үшін қажетті кернеу көзі болып табылады.
Тұрақты ток қозғалтқышы: тұрақты ток қозғалтқышы тұрақты ток көзінде жұмыс істейді.
Бұл тәжірибеде тұрақты ток қозғалтқышы қозғалтқыш драйверіне қосылған фотоэлектрлік муфтаның көмегімен жұмыс істейді.
Инфрақызыл сенсор: инфрақызыл сенсор шын мәнінде инфрақызыл қабылдағыш болып табылады.
Ол әртүрлі тапсырмаларды орындау үшін қолданылатын инфрақызыл толқындарды жібереді және қабылдайды.
IR кодер оптикалық қосқыш 4N35: оптикалық қосқыш тізбектің төмен вольтты бөлігін және жоғары вольтты бөлігін оқшаулауға арналған құрылғы.
Аты айтып тұрғандай, ол жарық негізінде жұмыс істейді.
Төмен кернеу бөлігі сигнал алған кезде, ток жоғары вольтты бөлікте өтеді.
Жүйе жылдамдықты басқару жүйесі болып табылады.
Бұрын айтылғандай, жүйе пропорционалды интегралды және туындының PID көмегімен жүзеге асырылады.
Жылдамдықты басқару жүйесінде жоғарыда аталған компоненттер бар.
Бірінші бөлік - жылдамдық сенсоры.
Жылдамдық сенсоры инфрақызыл таратқыш және қабылдау тізбегі болып табылады.
Қатты зат U-тәрізді саңылаудан өткенде сенсор төмен күйге өтеді.
Әдетте ол жоғары күйде болады.
Датчиктің күйі өзгерген кезде пайда болатын өтпелі кезеңнен туындаған әлсіреуді жою үшін сенсор шығысы төмен жиілікті сүзгіге қосылады.
Төмен жиілікті сүзгі резисторлар мен конденсаторлардан тұрады.
Қажетті мәндер таңдалды.
Пайдаланылған конденсатор 1100нф және қолданылатын кедергі шамамен 25 Ом.
Төмен жиілікті сүзгі қосымша көрсеткіштер мен қоқыс мәндерін тудыруы мүмкін қажетсіз өтпелі жағдайларды жояды.
Содан кейін төмен жиілікті сүзгі конденсатор арқылы stm микроконтроллерінің кіріс цифрлық істікшесіне шығарылады.
Басқа бөлігі - stm микроконтроллерімен қамтамасыз етілген pwm арқылы басқарылатын қозғалтқыш.
Бұл параметр оптикалық қосқыш ic арқылы электрлік оқшаулаумен қамтамасыз етілген.
Оптикалық қосқыш ic орамында жарық шығаратын диодты қамтиды және кіріс терминалында жоғары импульс берілгенде, ол шығыс терминалды қысқа тұйықтады.
Кіріс терминалы оптикалық қосқышқа қосылған жарықдиодтың тогын шектейтін резистор арқылы pwm береді.
Ашылмалы резистор шығысқа қосылады, осылайша терминал қысқа тұйықталу кезінде төмен түсетін резисторда кернеу пайда болады және резистордағы терминалға қосылған істік жоғары күйді алады.
Фотоэлектрлік қосқыштың шығысы қосу істікшесінің биіктігін сақтайтын қозғалтқыш драйверінің IC IN1-ге қосылған.
Оптикалық қосқыш кірісінде pwm жұмыс циклі өзгергенде, мотор драйверінің түйреуіштері қозғалтқышты ауыстырады және қозғалтқыштың жылдамдығын басқарады.
Қозғалтқышқа берілген pwm кейін қозғалтқыш драйвері әдетте 12 вольт кернеуді қамтамасыз етеді.
Содан кейін мотор драйвері қозғалтқыштың жұмыс істеуіне мүмкіндік береді.
Осы қозғалтқыш жылдамдығын реттеу жобасын жүзеге асыруда қолданылған алгоритммен таныстырайық.
Қозғалтқыштың pwm бір таймермен қамтамасыз етіледі.
Таймердің конфигурациясы pwm қамтамасыз ету үшін жасалған және орнатылған.
Қозғалтқыш іске қосылғанда, ол қозғалтқыш білігіне бекітілген саңылауды айналдырады.
Саңылау сенсор қуысынан өтіп, төмен импульс тудырады.
Төмен импульстарда код басталады және саңылаудың қозғалуын күтеді.
Тесік жоғалғаннан кейін сенсор жоғары күйді қамтамасыз етеді және таймер санай бастайды.
Таймер бізге екі саңылау арасындағы уақытты береді.
Енді тағы бір төмен импульс пайда болғанда, IF операторы келесі көтерілу жиегін күтіп, есептегішті тоқтатып, қайтадан орындалады.
Жылдамдықты есептегеннен кейін жылдамдық пен нақты анықтамалық мән арасындағы айырмашылықты есептеп, пидті беріңіз.
Pid берілген сәтте анықтамалық мәнге жететін жұмыс циклінің мәнін есептейді.
Бұл мән CCR беріледі (
Салыстыру тіркелімі)
Қатеге байланысты таймердің жылдамдығы төмендейді немесе артады.
Atollic Truestudio коды енгізілді.
Түзету үшін STM студиясын орнату қажет болуы мүмкін.
Жобаны STM studio бағдарламасында импорттаңыз және көргіңіз келетін айнымалы мәндерді импорттаңыз.
Аздап өзгеріс 2017-11-4xx.
Сағат жиілігін 168 МГц жиіліктегі h файлына дәл өзгертіңіз.
Код үзіндісі жоғарыда берілген.
Қорытынды: қозғалтқыштың жылдамдығы PID көмегімен басқарылады.
Дегенмен, қисық дәл тегіс сызық емес.
Мұның көптеген себептері бар: төмен жиілікті сүзгіге қосылған сенсор әлі де белгілі бір ақауларды қамтамасыз етсе де, бұл сызықты емес резисторлар мен аналогтық электрондық құрылғылардың кейбір сөзсіз себептеріне байланысты, қозғалтқыш шағын кернеуде немесе pwm кезінде біркелкі айнала алмайды.
Ол жүйеге қандай да бір қате мәнді енгізуге себеп болуы мүмкін ақымақтарды қамтамасыз етеді.
Дірілге байланысты сенсор жоғары мән беретін кейбір саңылауларды өткізіп жіберуі мүмкін және басқа қатенің негізгі себебі stm негізгі тактілік жиілігі болуы мүмкін.
Stm ядросының жиілігі 168 МГц.
Бұл мәселе осы жобада қарастырылғанымен, мұндай жоғары жиілікті қамтамасыз етпейтін бұл модельдің тұтас тұжырымдамасы бар.
Ашық цикл жылдамдығы тек бірнеше күтпеген мәндері бар өте тегіс сызықты қамтамасыз етеді.
PID де жұмыс істейді және қозғалтқыш тұрақтылығының өте төмен уақытын қамтамасыз етеді.
Қозғалтқыштың PID көрсеткіші анықтамалық жылдамдықты тұрақты ұстап тұратын әртүрлі кернеулерде сыналған.
Кернеудің өзгеруі қозғалтқыштың жылдамдығын өзгертпейді, бұл PID жұмыс істеп тұрғанын көрсетеді.
Мұнда PID соңғы шығысының кейбір сегменттері берілген. a)
Жабық цикл @ 110 айн/мин)
Жабық цикл @ 120 айн/мин Бұл жобаны менің топ мүшелерімнің көмегінсіз аяқтау мүмкін емес еді.
Мен оларға алғыс айтқым келеді.
Бұл жобаны көргеніңіз үшін рахмет.
Сізге көмектесуге үміттенемін.
Тағы да күтіңіз.
Оған дейін батаңызды беріңіз :)

HOPRIO тобы 2000 жылы құрылған контроллер мен қозғалтқыштардың кәсіби өндірушісі. Топтың штаб-пәтері Чанчжоу қаласында, Цзянсу провинциясында.

Жылдам сілтемелер

Бізбен хабарласыңы

WhatsApp: +86 18921090987 
Тел: +86- 18921090987 
Электрондық пошта: sales02@hoprio.com
Қосу: №19 Mahang South Road, Вужин жоғары технологиялық ауданы, Чанчжоу қаласы, Цзянсу провинциясы, Қытай 213167
Хабар қалдырыңыз
БІЗБЕН ХАБАРЛАСЫҢЫ
Авторлық құқық © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Барлық құқықтар қорғалған. Сайт картасы | Құпиялылық саясаты