Мазмуну:

PID алгоритмин (STM MC) колдонуу менен өзүн -өзү тең салуучу робот: 9 кадам
PID алгоритмин (STM MC) колдонуу менен өзүн -өзү тең салуучу робот: 9 кадам

Video: PID алгоритмин (STM MC) колдонуу менен өзүн -өзү тең салуучу робот: 9 кадам

Video: PID алгоритмин (STM MC) колдонуу менен өзүн -өзү тең салуучу робот: 9 кадам
Video: STM32 motor control: PID theory and implementation 2024, Июль
Anonim
PID алгоритмин колдонуу менен өзүн -өзү баланстоочу робот (STM MC)
PID алгоритмин колдонуу менен өзүн -өзү баланстоочу робот (STM MC)

Акыркы убакта объектилердин өзүн -өзү теңдөө боюнча көп иштер жасалды. Өзүн тең салмактоо түшүнүгү тескери маятниктин тең салмактуулугу менен башталган. Бул түшүнүк учактардын дизайнына да жайылган. Бул долбоордо биз PID (пропорционалдуу, интегралдык, туунду) алгоритмин колдонуп, өзүн -өзү тең салмактай турган роботтун чакан моделин иштеп чыктык. Ошондон бери бул ыкма өнөр жай процессин башкаруу системасынын жаңы жүзү болуп саналат. Бул отчетто объекттердин өзүн -өзү теңдештирүү ыкмалары каралат. Бул долбоор ар кандай өндүрүштүк процесстердин эффективдүүлүгүнө PIDдин корреляциясын түшүнүү үчүн семестрдик долбоор катары жүргүзүлгөн. Бул жерде биз PID көзөмөлүнүн эффективдүүлүгү жана колдонулушу жөнүндө кыскача карап чыгууга гана көңүл бурабыз. Бул документ долбоордун мотивациясынан тышкары, башкаруу системаларына жана тиешелүү терминологияларга кыскача киришүү жолу менен иштелип чыккан. Эксперименттер жана байкоолор алынды, артыкчылыктары жана кемчиликтери келечектеги жакшыртуулардын аягында сүрөттөлдү. Дүйнөдө PIDдин эффективдүүлүгүн түшүнүү үчүн өзүн -өзү теңдештирүүчү роботтун модели иштелип чыккан. Кээ бир катуу сыноолордон жана эксперименттерден өтүп, PID башкаруу системасынын артыкчылыктары жана кемчиликтери ачылды. Мурунку методдорго караганда PID көзөмөлүнүн көптөгөн артыкчылыктарына карабастан, бул система көп жакшыртууну талап кылаары аныкталды. Окурман өзүн тең салмактуулуктун маанилүүлүгүн, PID көзөмөлүнүн эффективдүүлүгүн жана эффективдүүлүгүн жакшы түшүнөт деп үмүттөнөбүз.

1 -кадам: Киришүү

Компьютерлердин пайда болушу жана процесстердин индустриялаштырылышы менен, адамдын тарыхында, процесстерди жаңыртуунун жолдорун иштеп чыгуу жана андан да маанилүүсү, аларды автоматтык түрдө автоматтык түрдө башкаруу үчүн ар дайым изилдөө болгон. Максаты - бул процесстерге адамдын катышуусун азайтуу, ошону менен бул процесстердеги каталарды азайтуу. Ошентип, "Башкаруу системасынын инженериясы" тармагы иштелип чыккан. Башкаруу тутумунун инженериясы процесстин иштешин көзөмөлдөө үчүн ар кандай ыкмаларды колдонуу менен аныкталышы мүмкүн, ал кол менен же автоматтык болобу, туруктуу жана артыкчылыктуу чөйрө.

Жөнөкөй мисал бөлмөдөгү температураны көзөмөлдөө болушу мүмкүн. Кол менен башкаруу - бул азыркы шарттарды (сенсорду) текшерип, каалаган баага салыштырып (иштетүү) жана керектүү маанини алуу үчүн тиешелүү иш -аракеттерди жасоочу адамдын болушун билдирет. Бул методдун көйгөйү - бул өтө ишенимдүү эмес, анткени адам өз ишинде катачылыкка же шалаакылыкка жакын. Ошондой эле, дагы бир көйгөй - бул башкаруучу тарабынан башталган процесстин ылдамдыгы дайыма бирдей эмес, башкача айтканда кээде талап кылынгандан тезирээк же кээде жайыраак болушу мүмкүн. Бул маселени чечүү системаны башкаруу үчүн микро контроллерди колдонуу болгон. Микроконтроллер болуп саналат

процессти көзөмөлдөө үчүн программаланган, берилген спецификацияларга ылайык, схемада туташкан (кийинчерээк талкууланат), керектүү мааниге же шарттарга берилип, ошону менен процессти каалаган баалуулукту сактоо үчүн башкарат. Бул процесстин артыкчылыгы - бул процессте адамдын кийлигишүүсү талап кылынбайт. Ошондой эле, процесстин ылдамдыгы бирдей

Негизги башкаруу системасы

Мурунку диаграмма башкаруу системасынын абдан жөнөкөй версиясын көрсөтөт. Микроконтроллер ар кандай башкаруу системасынын жүрөгүндө. Бул абдан маанилүү компонент, андыктан анын тандоо системанын талаптарынын негизинде кылдаттык менен жүргүзүлүүгө тийиш. Микроконтроллер колдонуучудан маалымат алат. Бул киргизүү системанын каалаган абалын аныктайт. Микроконтроллер дагы сенсордон кайтарым байланышты алат. Бул сенсор Системанын чыгышына туташкан, анын маалыматы кайра кирүүгө берилет. Микропроцессор өзүнүн программалоосуна таянып, ар кандай эсептөөлөрдү жүргүзөт жана аткаруучуга чыгарууну берет. Кыймылдаткыч, өндүрүшкө негизделип, заводду ошол шарттарды сактоого аракет кылат. Мисал мотордун айдоочусу кыймылдаткыч жана мотору өсүмдүк болгон мотордун айдоочусу болушу мүмкүн. Мотор, ошентип, берилген ылдамдыкта айланат. Туташкан сенсор учурдагы заводдун абалын окуп, кайра микро контроллерге берет. Микроконтроллер кайра салыштырат, эсептейт жана ошону менен цикл кайталанат. Бул процесс кайталануучу жана чексиз, мында микро контроллер каалаган шарттарды сактайт

2 -кадам: PIDге негизделген башкаруу системасы

PID негизделген башкаруу системасы
PID негизделген башкаруу системасы
PID негизделген башкаруу системасы
PID негизделген башкаруу системасы

PID алгоритми - бул башкаруу системасын иштеп чыгуунун эффективдүү ыкмасы.

Аныктоо

PID пропорционалдуу, интегралдык жана туунду дегенди билдирет. Бул алгоритмде ката сигналы алынган. Жана төмөнкү теңдеме ката сигналына колдонулат

U (t) = Kp ∗ e (t) + Kd ∗ d/dt (e (t)) + Ki ∗ integral (e (t)) (1.1)

Кыскача түшүндүрмө

Жогорудагы теңдемеден көрүнүп тургандай, ката сигналдарынын интегралдык жана туундусу эсептелинип, тиешелүү константалары менен көбөйтүлүп, e (t) менен көбөйтүлгөн туруктуу Kp менен бирге кошулат. Андан кийин чыгаруу системаны иштетүүчү аткаруучуга берилет. Эми функциянын ар бир бөлүгүн кезек менен карайбыз. Бул функция көтөрүлүү убактысын, түшүү убактысын, атуунун чокусун, жөндөө убактысын жана туруктуу абал катасын таасир этет.

• Пропорционалдык бөлүк: Пропорционалдык бөлүк көтөрүлүү убактысын кыскартат жана туруктуу абал катасын азайтат. Бул системанын эң жогорку баасына жетүү үчүн азыраак убакыт талап кылынарын жана туруктуу абалга жеткенде туруктуу абал катасы төмөн болорун билдирет. Ошентсе да, ал чектен ашууну жогорулатат.

• Деривативдик бөлүк: Туунду бөлүк ашыкча жана чөгүү убактысын кыскартат. Бул системанын өткөөл абалы дагы өчөт дегенди билдирет. Ошондой эле, система аз убакыттын ичинде туруктуу абалына жетет. Бирок, анын өсүү убактысына же туруктуу абал катасына эч кандай таасири жок.

• Интегралдык бөлүк: Интегралдык бөлүк көтөрүлүү убактысын кыскартат жана туруктуу абал катасын толугу менен жок кылат. Бирок, бул чокунун ашуусун жана чөгүү убактысын жогорулатат.

• Тюнинг: Жакшы Башкаруу Системасы төмөн көтөрүлүү убактысына, отурукташуу убактысына, эң жогорку чектен ашууга жана туруктуу абал катасына ээ болот. Демек, Kp, Kd, Ki жакшы Башкаруу Системасына ээ болуу үчүн жогоруда аталган факторлордун салымын жөнгө салуу үчүн так жөнгө салынышы керек.

PID алгоритминдеги ар кандай параметрлердин өзгөрүүсүнүн эффектин көрсөтүүчү сүрөт тиркелген.

3 -кадам: Өзүн тең салмактоочу робот

Өзүн тең салмактоочу робот
Өзүн тең салмактоочу робот

Өзүн тең салмактоочу робот-бул көп кабаттуу, эки дөңгөлөктүү робот.

Робот кандайдыр бир теңсиз күчтөрдү колдонууда тең салмактуулукту сактоого аракет кылат. Ал роботтун күчүнүн натыйжасына каршы күч колдонуу менен тең салмактуулукту сактайт.

Өзүн тең салмактоо ыкмалары

Роботторду тең салмакташтыруунун төрт ыкмасы бар. Булар төмөнкүчө:

Өзүн тең салмактуулук эки IR ийилүү сенсорун колдонуу менен

Бул роботту балансташтыруунун эң акылсыз ыкмаларынын бири, анткени ал өтө аз жабдыкты жана салыштырмалуу оңой алгоритмди талап кылат. Бул ыкма менен, ийилген IR сенсорлору жер менен роботтун ортосундагы аралыкты өлчөө үчүн колдонулат. Эсептелген аралыкка таянып, PID моторлорду роботту ошого жараша тең салмакташтыруу үчүн колдонсо болот. Бул методдун бир кемчилиги - IR сенсорунун кээ бир окууларды өткөрүп жибериши. Дагы бир көйгөй - алгоритмдин убакыт татаалдыгын жогорулаткан аралыкты эсептөө үчүн үзгүлтүк жана циклдар талап кылынат. Демек, роботту тең салмакташтыруунун бул ыкмасы анча эффективдүү эмес.

Акселерометрдин жардамы менен өзүн -өзү теңдештирүү

Акселерометр дененин 3 огунда ылдамдануусун берет. Y огуна (өйдө) жана х огуна (алдыга) багытталган ылдамдык бизге тартылуу багытын эсептөө үчүн өлчөө берет, демек, жантаюу бурчун эсептейт. Бурч төмөнкүдөй эсептелет:

θ = arctan (Ay/Ax) (1.2)

Бул ыкманы колдонуунун кемчилиги - роботтун кыймылы учурунда горизонталдык ылдамдануу дагы жогорку жыштыктагы ызы -чуунун көрсөткүчтөрүнө кошулат. Демек, жантаюу бурчу так эмес болуп калат.

Гироскоптун жардамы менен өзүн -өзү теңдештирүү

Гироскоп үч огу боюнча бурчу ылдамдыгын эсептөө үчүн колдонулат. Жантык бурчу төмөнкү теңдеме аркылуу алынат.

θp (i) = θp (i − 1) + 1/6 (vali − 3 + 2vali − 2 + 2vali − 1 + vali) (1.3)

Гироскопту колдонуунун бир чоң кемчилиги - бул кичинекей DC жыштыгы, ал аз жыштык болуп саналат жана бир нече убакыттан кийин кайтарылган маанилер таптакыр туура эмес болуп калат. Бул интеграциядан кийин нөл чекитинин алысташына алып келет. Натыйжада, робот бир канча убакыт тик абалында калат жана дрейф келгенде бир жолу кулап түшөт.

Акселерометрди жана гироскопту колдонуу менен тең салмактуулук

Жогоруда айтылгандай, акселерометрди же гироскопту колдонуу бизге эңкейиштин туура бурчун бербейт. Бул үчүн акселерометр жана гироскоп колдонулат. Бул экөө тең MPU6050ге камтылган. Мында биз экөөнөн тең маалыматтарды алабыз, анан Калман чыпкасы же кошумча чыпканы колдонуу менен аларды эритебиз.

• Калман чыпкасы: Калман флитри ызы -чуу өлчөөлөрдөн динамикалык системанын абалынын эң жакшы баасын эсептеп, болжолдун орточо квадрат катасын минималдаштырат. Ал системанын динамикасын сүрөттөгөн дискреттик стохастикалык теңдемелерди эске алуу менен болжолдоо жана оңдоо эки этапта иштейт. Бирок, өзгөчө микроконтроллердин чектелген жабдууларында ишке ашыруу өтө татаал алгоритм.

• Кошумча чыпка: Бул алгоритм эң оболу гироскоптон алынган маалыматтарды колдонот жана ийилүү бурчун алуу үчүн аны убакыттын өтүшү менен бириктирет. Ал ошондой эле акселерометрдин көрсөткүчтөрүнүн кичине бөлүгүн колдонот. Кошумча фильтр чындыгында акселерометрдин жогорку жыштыгын жана гироскоптун төмөнкү жыштыктагы ызы -чуусун минимумга келтирет, андан кийин эң жакшы тактык бурчун берүү үчүн аларды бириктирет.

4 -кадам: роботтун дизайны

Роботтун дизайны
Роботтун дизайны

Биз MPU6050 үчүн Complementary Filter тарабынан ишке ашырылган пропорционалдуу туунду контроллерди колдонуп, өзүн -өзү теңдештирүүчү роботту иштеп чыктык. Өзүн -өзү теңдештирүүчү роботтун бул кичинекей модели роботтордун өзүн -өзү тең салмакта башкаруу системаларынын пайдалуулугун көрсөтөт.

Системаны ишке ашыруу:

Система өзүн -өзү тең салмактай турган робот. Бул пропорционалдуу интегралдык туунду контроллер болгон PID контроллеринин жардамы менен ишке ашырылат. Биз роботту дөңгөлөктөрүн жыгылуу багытында айдап тең салмакташтырабыз. Муну менен биз роботтун оордук борборун айлануу чекитинин үстүндө сактоого аракет кылып жатабыз. Дөңгөлөктөрдү анын түшүү багытында айдаш үчүн роботтун кайда кулап жатканын жана ылдамдыгын билишибиз керек. Бул маалыматтар акселерометр жана гироскоп бар MPU6050 аркылуу алынган. MPU6050 жантаюу бурчун өлчөйт жана микро-контроллерге анын өндүрүшүн берет. MPU6050 STM тактасы менен I2C аркылуу туташат. I2Cде, бир зым SCL деп аталган саат үчүн. Экинчиси SDA болгон маалыматтарды берүү үчүн. Мында кожоюндар менен баарлашуу колдонулат. Башталуучу дарек жана аяктоочу даректер маалыматтардын кайда башталып, кайда бүтүп жатканын билүү үчүн көрсөтүлөт. Биз бул жерде MPU6050 үчүн Акцилометр менен гироскоптун жыйынтыктарын бириктирүү үчүн математикалык фильтр болгон кошумча чыпканы ишке киргиздик. MPU6050ден маалыматтарды алгандан кийин, микроконтроллер кайда түшүп жатканын билүү үчүн эсептөөлөрдү жүргүзөт. Эсептөөлөргө таянсак, STM микро контроллери мотор айдоочусуна унааларды роботту тең салмакка түшүрүү багытында айдоого буйрук берет.

5 -кадам: Долбоордун компоненттери

Долбоордун компоненттери
Долбоордун компоненттери
Долбоордун компоненттери
Долбоордун компоненттери
Долбоордун компоненттери
Долбоордун компоненттери

Өзүн тең салмактоочу робот долбоорунда төмөнкү компоненттер колдонулган:

STM32F407

ST Microelectronics тарабынан иштелип чыккан микро контроллер. Бул ARM Cortex-M архитектурасында иштейт.

Мотор айдоочу L298N

Бул IC моторду иштетүү үчүн колдонулат. Ал эки тышкы кирүүнү алат. PWM сигналын берген микроконтроллердин бири. Пульс туурасын тууралоо менен мотор ылдамдыгын жөнгө салса болот. Анын экинчи кириши - бул 12В батареясы болгон моторду айдоого керектүү чыңалуу булагы.

DC мотору

DC мотору туруктуу ток менен иштейт. Бул экспериментте DC мотору драйверге туташтырылган оптокуплерди колдонуп иштеп жатат. Моторду айдаш үчүн биз Motor Drive L298N колдонгонбуз.

MPU6050

MPU6050 робот кайда кулап баратканы тууралуу маалымат алуу үчүн колдонулат. Бул программа иштей баштаганда MPU6050 позициясы болгон нөлдүк ийилүү чекитине карата жантаюу бурчун өлчөйт.

MPU6050 3 огу акселерометр жана 3 огу гироскопу бар. Акселерометр үч огунун ылдамдыгын өлчөйт жана гироскоп үч огунун бурчтук ылдамдыгын өлчөйт. Чыгууну бириктирүү үчүн экөөнүн үндөрүн ажыратышыбыз керек. Ызы -чууну жок кылуу үчүн бизде Калман жана кошумча фильтер бар. Биз өзүбүздүн долбоорубузга кошумча фильтерди киргиздик.

Opto Couple 4N35

Оптокуплер - төмөнкү чыңалуу бөлүгүн жана чынжырдын жогорку чыңалуу бөлүгүн бөлүп алуу үчүн колдонулуучу түзүлүш. Аты айтып тургандай, ал жарыктын негизинде иштейт. Төмөн чыңалуудагы бөлүк сигнал алганда, жогорку вольттогу бөлүктө токтун агымы пайда болот

6 -кадам: Роботтун структурасы

Роботтун түзүлүшү төмөнкүчө түшүндүрүлөт:

Физикалык түзүлүш

Өзүн тең салмактоочу робот тунук пластик айнектен турган эки катмардан турат. Эки катмардын деталдары төмөндө келтирилген:

Биринчи катмар

Биринчи катмардын ылдыйкы бөлүгүндө биз STM тактасын иштетүү үчүн клетканы койдук. Ошондой эле ар бири 4 вольттон турган эки мотор роботтун кыймылдашы үчүн шиналар менен туташтырылган. Биринчи катмардын үстүңкү бөлүгүндө моторлордун иштеши үчүн ар бири 4 вольттон турган эки батарея (бардыгы 8 вольт) жана мотор айдоочу IC (L298N) орнотулган.

Экинчи катмар

Роботтун үстүңкү катмарында биз STM тактасын Perf Boardко жайгаштырдык. 4 opto кошкучтун дагы бир тактайы үстүңкү катмарга жайгаштырылган. Гироскоп роботтун үстүңкү катмарына ылдый жактан да жайгаштырылган. Эки компонент тең оордук борборун мүмкүн болушунча төмөн кармоо үчүн ортоңку бөлүгүнө жайгаштырылган.

Роботтун оордук борбору

Оордук борбору мүмкүн болушунча аз сакталат. Бул үчүн биз астыңкы катмарга оор батарейкаларды жана жогорку катмарга STM тактасы жана оптокуплер сыяктуу жеңил компоненттерди койдук.

7 -кадам: Код

Код Atollic TrueStudioдо түзүлдү. STM студиясы мүчүлүштүктөрдү оңдоо үчүн колдонулган.

8 -кадам: Жыйынтык

Көптөгөн эксперименттерден жана байкоолордон кийин, биз аягында жыйынтыктарыбызды жыйынтыктап, системанын эффективдүүлүгүн ишке ашыруу жана иштеп чыгуу боюнча канчалык ийгиликтерге жеткенибизди талкуулайбыз.

Жалпы кароо

Эксперимент учурунда мотордун ылдамдыгы PID алгоритминин жардамы менен ийгиликтүү башкарылды. Бирок ийри сызык так жылмакай эмес. Буга көптөгөн себептер бар:

• Өткөргүч фильтерге туташтырылган болсо да, сенсор белгилүү бир акыркы дебюнду камсыз кылат; бул аналогдук электрониканын сызыктуу эмес каршылыктарына жана кээ бир сөзсүз себептерине байланыштуу.

• Мотор кичинекей чыңалууда же PWMде тегиз айланбайт. Бул системага берилүүчү кээ бир туура эмес баалуулуктарга алып келиши мүмкүн болгон ыргытууларды камсыз кылат.

• Тербелүүдөн улам, сенсор жогорку маанилерди камсыз кылган кээ бир тешиктерди өткөрүп жибериши мүмкүн. • Каталардын дагы бир негизги себеби STM микроконтроллеринин негизги жыштыгы болушу мүмкүн. STM микроконтроллеринин бул модели 168МГц негизги саатты камсыз кылат. Бул проектте бул көйгөй каралганы менен, бул модель жөнүндө жалпы түшүнүк бар, ал так ушундай жогорку жыштыкты бербейт.

Ачык цикл ылдамдыгы бир нече күтүлбөгөн баалуулуктар менен абдан жылмакай линияны камсыздайт. PID алгоритми мотордун өтө аз отуруу убактысын камсыздоочу дагы иштеп жатат. Кыймылдаткычтын PID алгоритми ар кандай чыңалууда текшерилип, ылдамдыктын ылдамдыгын сактаган. Чыңалуунун өзгөрүшү мотордун ылдамдыгын өзгөртпөйт, ал PID алгоритминин иштеп жатканын көрсөтөт

Эффективдүүлүк

Бул жерде биз эксперимент учурунда байкаган PID контроллеринин эффективдүүлүгүн талкуулайбыз.

Жөнөкөй ишке ашыруу

Биз эксперимент жана байкоо бөлүмүндө PID контроллерин ишке ашыруу абдан оңой экенин көрдүк. Бул ылдамдыкты башкаруу тутумуна ээ болуу үчүн жөн гана үч параметрди же константаны талап кылат

Сызыктуу системалар үчүн теңдешсиз эффективдүүлүк

Сызыктуу PID контроллери контроллерлердин үй -бүлөсүндөгү эң эффективдүү, анткени логика абдан жөнөкөй жана сызыктуу же бир кыйла сызыктуу колдонмолордо колдонуу кеңири таралган.

Чектөөлөр

Биз бул системанын чектөөлөрү тууралуу рефератта түшүндүрдүк. Бул жерде биз байкаган айрымдарын талкуулайбыз.

Туруктууларды тандоо

Биз PID контроллерин ишке ашыруу оңой болгонуна карабастан, системанын негизги кемчилиги экенин көрдүк, бул туруктуулардын маанисин тандоо этаптуу жана оор; татаал эсептөөлөрдү жасоого туура келет. Башка жол - бул хит жана сыноо ыкмасы, бирок бул да эффективдүү эмес.

Константалар дайыма эле туруктуу боло бербейт

Эксперименттин жыйынтыктары көрсөткөндөй, кыймылдаткычтын референттик ылдамдыгынын ар кандай маанилери үчүн PID контролери PID константаларынын бирдей мааниси үчүн иштебей калган. Ар кандай ылдамдыктар үчүн, константаларды ар түрдүү тандоо керек болчу, бул болсо эсептөө наркын экспоненциалдуу түрдө жогорулатат.

Сызыктуу эмес

Биздин учурда колдонулган PID контроллери сызыктуу, ошондуктан аны сызыктуу системаларга гана колдонууга болот. Сызыктуу эмес системалар үчүн контроллер ар түрдүү ишке ашырылышы керек. PIDдин ар кандай сызыктуу эмес методдору бар болгону менен, алар көбүрөөк параметрлерди тандоону талап кылат. Бул дагы жогорку эсептөө наркына байланыштуу системаны керексиз кылат.

Баштапкы түртүү талап кылынат

Эксперимент бөлүмүндө ката башталганда өтө кичине болгон салыштырмалуу ылдамдык үчүн, PID тарабынан берилген PWM ушунчалык кичине экенин, мотор үчүн керектүү баштоо моментин түзбөгөнүн көрсөттүк. Ошентип, кээ бир сыноолордо мотор иштебейт же башка сыноолордо чоң ашууну жана узак убакытты камсыз кылат.

9 -кадам: Өзгөчө рахмат

Бул долбоор аркылуу мага жардам берген группа мүчөлөрүмө өзгөчө рахмат.

Жакында видеонун шилтемесин жүктөйм.

Бул көрсөтмө сизге кызыктуу болот деп ишенем.

Бул UETтен чыккан Тахир Ул Хак. Ура !!!

Сунушталууда: