pid алгоритм (stm32f4) ашиглан тогтмол гүйдлийн моторын хурдыг хянах
Гэр » Блог » pid алгоритм (stm32f4) ашиглан тогтмол гүйдлийн моторын хурдыг хянах

pid алгоритм (stm32f4) ашиглан тогтмол гүйдлийн моторын хурдыг хянах

Үзсэн: 0     Зохиогч: Сайтын редактор Нийтлэх цаг: 2020-09-02 Гарал үүсэл: Сайт

лавлах

facebook хуваалцах товчлуур
twitter хуваалцах товчлуур
шугам хуваалцах товч
wechat хуваалцах товч
linkedin хуваалцах товчлуур
pinterest хуваалцах товчлуур
whatsapp хуваалцах товчлуур
какао хуваалцах товчлуур
snapchat хуваалцах товчлуур
телеграмм хуваалцах товчлуур
хуваалцах товчийг хуваалц

Сайн байцгаана уу, би өөр төслийн Тахир ул хак байна.
Энэ удаад 2017-11-407 гэхэд хэрэглэгдэж байсан MC хийх цаг болсон.
Ингээд дунд хугацааны хөтөлбөр дуусч байна.
Таалагдана гэж найдаж байна.
Энэ нь маш олон үзэл баримтлал, онол шаарддаг тул эхлээд үүнийг харцгаая.
Компьютер бий болж, аж үйлдвэржсэн үйл явцтай холбоотойгоор хүн төрөлхтний түүхэнд үйл явцыг дахин тодорхойлох аргуудыг боловсруулах, хамгийн чухал нь процессыг бие даан удирдах машиныг ашиглах судалгаа хийгджээ.
Эдгээр үйл явцад хүний ​​оролцоог бууруулж, улмаар эдгээр үйл явц дахь алдааг багасгах зорилготой.
Тиймээс \'хяналтын системийн инженерчлэл\' салбар бий болсон.
Хяналтын системийн инженерчлэлийг үйл явцын ажлыг хянах янз бүрийн аргуудыг ашиглах эсвэл гараар эсвэл автоматаар тогтмол, тааламжтай орчныг хадгалах гэж тодорхойлж болно.
Энгийн жишээ бол өрөөний температурыг хянах явдал юм.
Гарын авлагын хяналт гэдэг нь тухайн газар дээрх нөхцөл байдлыг шалгаж байгаа хүн байгаа эсэхийг хэлнэ (мэдрэгч)
, Хүлээгдэж буй (боловсруулалт)
болон хүссэн утгыг (хөдөлгөөнт) авахын тулд зохих арга хэмжээг авна.
Энэ аргын асуудал нь хүн ажил дээрээ алдаа гаргах, хайхрамжгүй хандах хандлагатай байдаг тул энэ нь тийм ч найдвартай биш юм.
Нэмж дурдахад, өөр нэг асуудал бол идэвхжүүлэгчийн эхлүүлэх процессын хурд үргэлж жигд байдаггүй бөгөөд энэ нь заримдаа шаардлагатай хурдаас илүү хурдан, заримдаа удаан байж болно гэсэн үг юм.
Энэ асуудлын шийдэл нь системийг удирдахын тулд микро-контроллер ашиглах явдал юм.
Өгөгдсөн тодорхойлолтын дагуу микро-контроллер нь хэлхээнд холбогдох үйл явцыг хянахаар програмчлагдсан (
Дараа нь ярилцах)
Утга эсвэл нөхцөл байдлыг хянах, улмаар хүссэн утгыг хадгалах процессыг хянах.
Энэ үйл явцын давуу тал нь энэ үйл явцад хүний ​​оролцоо шаардлагагүй юм.
Үүнээс гадна, энэ үйл явцын хурд тогтвортой байна.
Үргэлжлүүлэхийн өмнө энэ үед янз бүрийн нэр томъёог тодорхойлох нь маш чухал юм: Санал хүсэлтийн хяналт: Энэ системд тодорхой цаг хугацааны оролт нь системийн гаралт зэрэг нэг буюу хэд хэдэн хувьсагчаас хамаардаг.
Сөрөг санал: Энэ системд лавлагаа (оролт)
Санал хүсэлтийн хувьд алдааг хасч, оролтын фаз нь 180 градус байна.
Эерэг санал хүсэлт: Энэ системд
санал хүсэлт, оролт үе шатанд байгаа үед лавлагаа (оролт) алдаа нэмэгддэг.
Алдааны дохио: хүссэн гаралт ба бодит гаралтын хоорондох ялгаа.
Мэдрэгч: хэлхээнд байгаа тодорхой тооны төхөөрөмжийг илрүүлэхэд ашигладаг төхөөрөмж.
Энэ нь ихэвчлэн гаралт эсвэл бидний зарим хэмжилт хийхийг хүссэн хаана ч байрлуулсан байдаг.
Процессор: Програмчлалын алгоритм дээр үндэслэн боловсруулдаг хяналтын системийн хэсэг.
Энэ нь зарим оролтыг авч, тодорхой хэмжээний гаралтыг гаргадаг.
Хөдөлгүүр: хяналтын системд гаралтад нөлөөлөх микроконтроллерийн үүсгэсэн дохион дээр тулгуурлан үйл явдлуудыг гүйцэтгэхэд идэвхжүүлэгчийг ашигладаг.
Хаалттай хэлхээний систем: нэг буюу хэд хэдэн эргэх холбоо бүхий систем.
Нээлттэй давталтын систем: санал хүсэлтийн систем байхгүй.
Өсөх хугацаа: Гаралт нь дохионы хамгийн их далайцын 10% -иас 90% хүртэл өсөхөд шаардагдах хугацаа.
Унах хугацаа: Гаралтын хэмжээ 90% -иас 10% хүртэл буурахад шаардагдах хугацаа.
Оргил хэтрүүлэлт: оргил хэтрүүлэлт нь түүний тогтвортой төлөвийн утгаас хэтэрсэн гаралтын хэмжээ юм (
Системийн түр зуурын хариу урвалын үед хэвийн).
Тогтвортой хугацаа: Гаралт тогтвортой байдалд хүрэхэд шаардагдах хугацаа.
Тогтвортой төлөвийн алдаа: систем тогтвортой байдалд хүрсний дараа бодит гаралт болон хүлээгдэж буй гаралтын хоорондох зөрүү. Дээрх зураг нь хяналтын системийн маш хялбаршуулсан хувилбарыг харуулж байна.
Микроконтроллер нь аливаа хяналтын системийн гол цөм юм.
Энэ бол маш чухал бүрэлдэхүүн хэсэг тул системийн шаардлагын дагуу анхааралтай сонгох хэрэгтэй.
Микроконтроллер нь хэрэглэгчийн оролтыг хүлээн авдаг.
Энэ оролт нь системд шаардагдах нөхцлийг тодорхойлдог.
Микроконтроллер нь мөн мэдрэгчээс оролтыг хүлээн авдаг.
Мэдрэгч нь гаралттай холбогдсон бөгөөд түүний мэдээллийг оролт руу буцааж өгдөг.
Энэ оролтыг мөн сөрөг санал гэж нэрлэж болно.
Сөрөг санал хүсэлтийг өмнө нь тайлбарласан.
Микропроцессор нь програмчлалын үндсэн дээр янз бүрийн тооцоолол хийж, идэвхжүүлэгчийн гаралтыг гүйцэтгэдэг.
Гаралт дээр суурилсан идэвхжүүлэгчийн хяналтын үйлдвэр нь эдгээр нөхцлийг хадгалахыг оролддог.
Жишээ нь моторын жолооч нь моторыг жолоодож, моторын жолооч нь жолооч, мотор нь үйлдвэр байж болно.
Тиймээс мотор нь өгөгдсөн хурдаар эргэлддэг.
Холбогдсон мэдрэгч нь одоогийн үйлдвэрийн төлөвийг уншиж, микро хянагч руу буцааж өгдөг.
Микроконтроллерыг дахин харьцуулж, тооцоолсон тул давталт давтагдана.
Процесс нь давтагддаг бөгөөд төгсгөлгүй бөгөөд микро-контроллер нь хүссэн нөхцлийг хадгалж чаддаг.
Тогтмол гүйдлийн хөдөлгүүрийн хурдыг хянах хоёр үндсэн арга байдаг)
Гарын авлагын хүчдэлийн хяналт: үйлдвэрлэлийн хэрэглээнд тогтмол гүйдлийн хөдөлгүүрийн хурдыг хянах механизм нь маш чухал юм.
Заримдаа бидэнд хэвийн хэмжээнээс өндөр эсвэл бага хурд хэрэгтэй байж магадгүй юм.
Тиймээс бидэнд хурдыг хянах үр дүнтэй арга хэрэгтэй.
Нийлүүлэлтийн хүчдэлийг хянах нь хурдыг хянах хамгийн энгийн аргуудын нэг юм.
Бид хурдыг өөрчлөхийн тулд хүчдэлийг өөрчилж болно. b)
PWM-ийг PID ашиглан удирдах: өөр нэг илүү үр дүнтэй арга бол микро контроллер ашиглах явдал юм.
Тогтмол гүйдлийн мотор нь мотор драйвераар дамжуулан микро хянагчтай холбогддог.
Хөдөлгүүрийн драйвер нь IC хүлээн авагч PWM (
импульсийн өргөн модуляци)
микро хянагчаас оролт ба оролтын дагуу тогтмол гүйдлийн мотор руу гарна. Зураг 1.
2: PWM дохионы 1-р бүлэг.
Оршил 3 PWM дохиог авч үзвэл PWM-ийн ажиллагааг эхлээд тайлбарлаж болно.
Энэ нь тодорхой хугацааны туршид тасралтгүй импульсээс бүрдэнэ.
Цаг хугацаа гэдэг нь долгионы урттай тэнцүү зайд хөдөлж буй цэгийн зарцуулсан хугацаа юм.
Эдгээр импульс нь зөвхөн хоёртын утгатай байж болно (HIGH эсвэл LOW).
Бидэнд импульсийн өргөн ба ажлын мөчлөг гэсэн хоёр өөр хэмжигдэхүүн бий.
Импульсийн өргөн нь PWM гаралт өндөр байх хугацаа юм.
Үйлчилгээний мөчлөг гэдэг нь импульсийн өргөнөөс тухайн хугацаанд эзлэх хувь юм.
Үлдсэн хугацаанд гаралт бага байна.
Ажлын мөчлөг нь моторын хурдыг шууд хянадаг.
Тогтмол гүйдлийн мотор тодорхой хугацааны дотор эерэг хүчдэл өгдөг бол энэ нь тодорхой хурдаар хөдөлнө.
Хэрэв эерэг хүчдэлийг удаан хугацаагаар өгвөл хурд нь илүү их байх болно.
Тиймээс импульсийн өргөнийг өөрчлөх замаар PWM-ийн ажлын мөчлөгийг өөрчилж болно.
Тогтмол гүйдлийн моторын ажлын мөчлөгийг өөрчилснөөр хөдөлгүүрийн хурдыг өөрчилж болно.
Тогтмол гүйдлийн мотортой холбоотой асуудлуудын хурдыг хянах: хурдыг хянах эхний аргын асуудал бол хүчдэл цаг хугацааны явцад өөрчлөгдөж болох явдал юм.
Эдгээр өөрчлөлтүүд жигд бус хурд гэсэн үг.
Тиймээс эхний арга нь хүсээгүй юм.
Шийдэл: Бид хурдыг хянах хоёр дахь аргыг ашигладаг.
Хоёрдахь аргыг нөхөхийн тулд бид PID алгоритмыг ашигладаг.
PID нь пропорциональ интеграл деривативыг илэрхийлдэг.
PID алгоритмд моторын одоогийн хурдыг хэмжиж, хүссэн хурдтай харьцуулдаг.
Энэ алдаа нь хөдөлгүүрийн ажлын мөчлөгийг цаг хугацааны дагуу өөрчлөх нарийн төвөгтэй тооцоололд ашиглагддаг.
Цикл бүрт ийм үйл явц байдаг.
Хэрэв хурд нь хүссэн хурдаас хэтэрсэн бол ажлын мөчлөг багасч, хурд нь хүссэн хурдаас бага байвал ажлын мөчлөг нэмэгддэг.
Энэ тохируулга нь хамгийн сайн хурд хүрэх хүртэл хийгддэггүй.
Энэ хурдыг байнга шалгаж, хянаж байгаарай.
Энэ төсөлд ашигласан системийн бүрэлдэхүүн хэсгүүд болон бүрэлдэхүүн хэсэг бүрийн дэлгэрэнгүй танилцуулга энд байна.
STM 32F407: ST Micro-секцийн зохион бүтээсэн микро хянагч.
Энэ нь ARM Cortex дээр ажилладаг. М Архитектур.
Энэ нь 168 МГц-ийн өндөр давтамжтайгаар гэр бүлээ тэргүүлдэг.
Мотор драйвер L298N: Энэ IC нь моторыг ажиллуулахад ашиглагддаг.
Энэ нь хоёр гадаад оролттой.
Нэг нь микро хянагчаас.
Микроконтроллер нь түүнд зориулж PWM дохио өгдөг.
Хөдөлгүүрийн хурдыг импульсийн өргөнийг тохируулах замаар тохируулж болно.
Түүний хоёр дахь оролт нь хөдөлгүүрийг жолоодоход шаардлагатай хүчдэлийн эх үүсвэр юм.
DC мотор: DC мотор нь тогтмол гүйдлийн тэжээл дээр ажилладаг.
Энэ туршилтаар тогтмол гүйдлийн моторыг мотор драйвертай холбосон фотоэлектрик холбогч ашиглан ажиллуулдаг.
Хэт улаан туяаны мэдрэгч: хэт улаан туяаны мэдрэгч нь үнэндээ хэт улаан туяаны дамжуулагч юм.
Энэ нь янз бүрийн ажлыг гүйцэтгэхэд ашиглаж болох хэт улаан туяаны долгионыг илгээж, хүлээн авдаг.
IR кодлогч оптик холбогч 4N35: оптик холбогч нь хэлхээний нам хүчдэлийн хэсэг болон өндөр хүчдэлийн хэсгийг тусгаарлахад ашигладаг төхөөрөмж юм.
Нэрнээс нь харахад энэ нь гэрлийн үндсэн дээр ажилладаг.
Бага хүчдэлийн хэсэг дохио авах үед өндөр хүчдэлийн хэсэгт гүйдэл урсдаг.
Систем нь хурдны хяналтын систем юм.
Өмнө дурьдсанчлан системийг пропорциональ интеграл ба деривативын PID ашиглан хэрэгжүүлдэг.
Хурдны хяналтын систем нь дээрх бүрэлдэхүүн хэсгүүдтэй.
Эхний хэсэг нь хурд мэдрэгч юм.
Хурд мэдрэгч нь хэт улаан туяаны дамжуулагч ба хүлээн авагчийн хэлхээ юм.
Хатуу хэсэг нь u хэлбэрийн ангархайгаар дамжин өнгөрөхөд мэдрэгч нь бага төлөвт ордог.
Энэ нь ихэвчлэн өндөр түвшинд байдаг.
Мэдрэгчийн төлөв өөрчлөгдөх үед үүссэн түр зуурын хүчин зүйлийн унтралтыг арилгахын тулд мэдрэгчийн гаралтыг нам дамжуулалтын шүүлтүүрт холбодог.
Бага нэвтрүүлэх шүүлтүүр нь резистор ба конденсаторуудаас бүрдэнэ.
Шаардлагатай бол утгуудыг сонгосон.
Ашигласан конденсатор нь 1100nf, эсэргүүцэл нь ойролцоогоор 25 Ом байна.
Бага нэвтрүүлэх шүүлтүүр нь нэмэлт уншилт, хог хаягдлын утгыг үүсгэж болзошгүй түр зуурын шаардлагагүй нөхцөл байдлыг арилгадаг.
Дараа нь бага нэвтрүүлэх шүүлтүүрийг конденсатороор дамжуулж stm микро контроллерын оролтын дижитал зүү рүү гаргадаг.
Нөгөө хэсэг нь stm микро контроллероор хангагдсан pwm-ээр удирддаг мотор юм.
Энэ тохиргоог оптик холбогч ic ашиглан цахилгаан тусгаарлалтаар хангасан.
Оптик холбогч нь ic багц дотор гэрэл ялгаруулдаг led-г агуулдаг бөгөөд оролтын терминал дээр өндөр импульс өгөх үед гаралтын терминал дээр богино холболт үүсгэдэг.
Оролтын терминал нь оптик холбогчтой холбогдсон led-ийн гүйдлийг хязгаарладаг резистороор дамжуулан pwm өгдөг.
Гаралт дээр унждаг резистор холбогдсон тул терминал богино холболттой үед уналтын резистор дээр хүчдэл үүсч, резистор дээрх терминалд холбогдсон зүү нь өндөр төлөвийг хүлээн авдаг.
Фотоэлектрик холбогчийн гаралт нь идэвхжүүлэх зүүний өндрийг хадгалдаг мотор драйверын IC-ийн IN1-д холбогдсон байна.
Оптик холбогч оролт дээр pwm ажлын мөчлөг өөрчлөгдөхөд моторын драйверын зүү нь моторыг сольж, хөдөлгүүрийн хурдыг хянадаг.
Хөдөлгүүрт өгсөн pwm-ийн дараа моторын драйвер нь ихэвчлэн 12 вольтын хүчдэл өгдөг.
Дараа нь моторын драйвер нь моторыг ажиллуулах боломжийг олгоно.
Хөдөлгүүрийн хурдыг зохицуулах энэхүү төслийг хэрэгжүүлэхэд ашигласан алгоритмаа танилцуулъя.
Моторын pwm-ийг нэг таймераар хангадаг.
Таймерын тохиргоог хийж, pwm өгөхөөр тохируулсан.
Хөдөлгүүр эхлэхэд моторын тэнхлэгт бэхлэгдсэн ангархайг эргүүлнэ.
Хагархай нь мэдрэгчийн хөндийгөөр дамжин бага импульс үүсгэдэг.
Бага импульсийн үед код эхэлж, ангархай шилжихийг хүлээнэ.
Хагархай алга болмогц мэдрэгч нь өндөр төлөвийг өгч, таймер тоолж эхэлнэ.
Таймер нь бидэнд хоёр завсарлагааны хоорондох хугацааг өгдөг.
Одоо өөр нэг бага импульс гарч ирэхэд IF мэдэгдэл дахин ажиллаж, дараагийн өсөх ирмэгийг хүлээж, тоолуурыг зогсооно.
Хурдыг тооцоолсны дараа хурд болон бодит жишиг утгын зөрүүг тооцоолж, pid-ийг өгнө.
Pid нь тухайн агшинд жишиг утгад хүрэх үүргийн мөчлөгийн утгыг тооцоолно.
Энэ утгыг CCR-д өгдөг (
Харьцуулах бүртгэл)
Алдаанаас хамааран таймерын хурд буурч эсвэл нэмэгддэг.
Atollic Truestudio кодыг хэрэгжүүлсэн.
Дибаг хийхэд STM студи суулгах шаардлагатай байж магадгүй.
Төслийг STM studio-д оруулж, үзэхийг хүссэн хувьсагчаа импортлоорой.
Бага зэрэг өөрчлөлт нь 2017-11-4xx дээр байна.
Цагийн давтамжийг 168 МГц давтамжтай h файл болгон өөрчлөх.
Кодын хэсэгчилсэн хэсгийг дээр өгсөн.
Дүгнэлт нь моторын хурдыг PID ашиглан хянадаг.
Гэсэн хэдий ч муруй нь яг гөлгөр шугам биш юм.
Үүнд олон шалтгаан бий: бага дамжуулалтын шүүлтүүрт холбогдсон мэдрэгч нь тодорхой согогтой хэвээр байгаа ч эдгээр нь шугаман бус резистор болон аналог электрон төхөөрөмжүүдийн зайлшгүй шалтгаанаас үүдэлтэй бөгөөд мотор бага хүчдэл эсвэл pwm үед жигд эргэлдэж чадахгүй байна.
Энэ нь системд ямар нэг буруу утгыг оруулахад хүргэж болзошгүй хөгийнүүдийг өгдөг.
Чичирхийллийн улмаас мэдрэгч нь илүү өндөр утгыг өгдөг зарим ангарлыг алдаж магадгүй бөгөөд өөр алдааны гол шалтгаан нь stm-ийн үндсэн цагийн давтамж байж болно.
Stm-ийн үндсэн цаг нь 168 МГц.
Хэдийгээр энэ төсөлд энэ асуудлыг авч үзсэн ч ийм өндөр давтамжийг өгдөггүй энэ загварын нэгдмэл ойлголт байдаг.
Нээлттэй давталтын хурд нь гэнэтийн цөөн хэдэн утгыг агуулсан маш жигд шугамыг өгдөг.
PID нь мөн ажиллаж байгаа бөгөөд моторын тогтворжилтын хугацааг маш бага хангадаг.
Хөдөлгүүрийн PID-ийг янз бүрийн хүчдэлд туршиж үзсэн бөгөөд энэ нь жишиг хурдыг тогтмол байлгадаг.
Хүчдэлийн өөрчлөлт нь хөдөлгүүрийн хурдыг өөрчлөхгүй бөгөөд энэ нь PID ажиллаж байгааг харуулж байна.
PID-ийн эцсийн гаралтын зарим хэсгийг энд оруулав. a)
Хаалттай цикл @ 110 rpm)
Хаалттай цикл @ 120 эрг/мин Энэ төслийг миний бүлгийн гишүүдийн тусламжгүйгээр дуусгах боломжгүй.
Би тэдэнд баярлалаа гэж хэлмээр байна.
Энэ төслийг үзсэн танд баярлалаа.
Танд тусална гэж найдаж байна.
Илүү ихийг хүлээж байгаарай.
Үүнээс өмнө адисалж байгаарай :)

HOPRIO групп нь хянагч, моторын мэргэжлийн үйлдвэрлэгч бөгөөд 2000 онд байгуулагдсан. Группийн төв нь Жянсу мужийн Чанжоу хотод байрладаг.

Түргэн холбоосууд

Бидэнтэй холбоо барина уу

WhatsApp: +86 18921090987 
Утас: +86- 18921090987 
Имэйл: sales02@hoprio.com
Нэмэх: БНХАУ-ын Жянсу муж, Чанжоу хот, Вужин өндөр технологийн дүүрэг, №19 Маханг Өмнөд зам 213167
Мессеж үлдээнэ үү
БИДЭНД ХОЛБОО БАРИХ
Зохиогчийн эрх © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Бүх эрх хуулиар хамгаалагдсан. Сайтын газрын зураг | Нууцлалын бодлого