Мазмұны:
Бейне: Өзін -өзі теңестіретін робот - PID бақылау алгоритмі: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Бұл жоба ойластырылды, себебі мен Басқару алгоритмдері мен функционалды PID ілмектерін қалай тиімді енгізу керектігін білгім келді. Жоба әзірше даму сатысында, өйткені Bluetooth модулі қосылмаса, ол роботты Bluetooth қосылған смартфоннан басқаруға мүмкіндік береді.
Қолданылатын N20 тұрақты ток қозғалтқыштары салыстырмалы түрде арзан болды, сондықтан оларда айтарлықтай мөлшерде ойын бар. Бұл дөңгелектерге крутящийді қолданған кезде қозғалтқыштар «босаңсуды» жеңетіндіктен, аз мөлшерде серпіліске әкеледі. Демек, біркелкі қозғалысқа қол жеткізу мүмкін емес. Мен жазған код қарапайым, бірақ PID алгоритмінің мүмкіндіктерін тиімді көрсетеді.
Жобаның қысқаша мазмұны:
Роботтың корпусы Ender 3 принтерінің көмегімен 3D басып шығарылған және бір-біріне басуға арналған.
Роботты Arduino Uno басқарады, ол MPU6050 -ден сенсорлық мәліметтерді алады және сыртқы қозғалтқыш драйвері арқылы тұрақты ток қозғалтқыштарын басқарады. Ол 7,4 В, 1500 мАч батареямен жұмыс істейді. Мотор драйвері Arduino -ны қуаттандыру үшін 5В -қа дейін реттейді және қозғалтқыштарға 7.4 В береді.
Бағдарламалық қамтамасыз ету gitHub-дан 'Arduino-KalmanFilter-master' және 'Arduino-MPU6050-master' кітапханаларының көмегімен нөлден бастап жазылған.
Жабдықтар:
- 3D басып шығарылған бөлшектер
- Arduino UNO
- MPU6050 6 осьті сенсор
- DC мотор жүргізушісі
- N20 DC қозғалтқыштары (x2)
- 9В батарея
1 -қадам: Робот құрастыру
Басып шығару және құрастыру
Бүкіл конструкция сығымдалған болуы керек, бірақ мен тепе-теңдік кезінде роботтың мүлдем қатаң болуын қамтамасыз ету үшін компоненттерді бекіту үшін супер желімді қолдандым.
Мен бөлшектерді Fusion 360 -да құрастырдым және қатаң төзімділік пен беттің тазалығын қамтамасыз ету үшін әр бөлікті тіректерсіз басып шығаруға оңтайландырдым.
Ender 3 принтерінде қолданылатын параметрлер: 0,16 мм қабат биіктігі @ 40% толтыру барлық бөліктер үшін.
2 -қадам: 3D басып шығару роботы
Шасси (x1)
Сол жақ доңғалақ (x2)
Сол жақ мотор корпусы (x2)
Arduino корпусы (x1)
3 -қадам: PID бақылау алгоритмі
Мен gitHub-дан 'Arduino-KalmanFilter-master' және 'Arduino-MPU6050-master' кітапханаларын пайдаланып, PID бақылау алгоритмін нөлден бастап жаздым.
Алгоритмнің алғышарты келесідей:
- Шикі деректерді MPU6050 -ден оқыңыз
- Сенсордың үдеуіне байланысты гироскоп көрсеткіштеріндегі дәлсіздіктерді болдырмау үшін гироскоп пен акселерометрден алынған мәліметтерді талдау үшін Калман сүзгісін қолданыңыз. Бұл сенсор қадамының салыстырмалы тегістелген мәнін градуспен екі ондық таңбаға қайтарады.
- Электронды бұрышты бұрышпен есептеңіз, яғни: сенсор мен белгіленген нүкте арасындағы бұрыш.
- Пропорционалды қатені есептеңіз (пропорционалдылықтың қателігі x қатесі).
- Интегралдық қатені жұмыс істейтін қосынды ретінде есептеңіз (константаның қателігі x қатесі).
- Туынды қатені [дифференциация константасы] x (қатенің өзгеруі / уақыттың өзгеруі)] сияқты тұрақты ретінде есептеңіз
- Қозғалтқышқа жіберілетін жылдамдықты беру үшін барлық қателерді есептеңіз.
- Қателік бұрышы белгісі бойынша қозғалтқыштарды қай бағытқа бұру керектігін есептеңіз.
- Цикл шексіз жұмыс істейді және кіріс өзгерген сайын шығысқа негізделеді. Бұл шығыс мәндерін келесі итерация үшін жаңа кіріс мәндері ретінде пайдаланатын кері байланыс циклы.
Соңғы қадам - PID циклінің Kp, Ki & Kd параметрлерін реттеу.
- Жақсы бастапқы нүкте - робот тепе -теңдік нүктесінің айналасында тербелмейінше және құлап кетпейінше Kp -ны баяу жоғарылату.
- Содан кейін, Kd мәнін Kp мәнінен шамамен 1% -дан бастаңыз және тербелістер жойылғанша және робот итерілген кезде тегіс сырғып кеткенше баяу өсіңіз.
- Ақырында, Ki -ден шамамен 20% Kp -тен бастаңыз және робот құлауды белсенді ұстап, вертикальға оралу үшін белгіленген нүктеден «асып кетпейінше» өзгереді.
Ұсынылған:
VHDL қолданудың кордиалдық алгоритмі: 4 қадам
VHDL -ді қолданудың кордиалдық алгоритмі: ## Бұл синхронды және косинустық толқындарды генерациялау үшін CORDIC ALGORITHM -ді VHDL енгізу үшін Google -де ең көп басылған, танымал сілтеме. соғыстың үстемдігі
NodeMCU көмегімен IoT негізіндегі топырақ ылғалдылығын бақылау мен бақылау жүйесі: 6 қадам
NodeMCU көмегімен IoT негізіндегі топырақтағы ылғалдылықты бақылау мен бақылау жүйесі: Бұл оқулықта біз ESP8266 WiFi модулін, яғни NodeMCU көмегімен IoT негізіндегі топырақ ылғалдылығын бақылау мен бақылау жүйесін енгізетін боламыз. Бұл жобаға қажет компоненттер: ESP8266 WiFi модулі- Amazon (334/- INR) реле модулі- Amazon (130/- INR
Үстел ойыны Жасанды интеллект: минимакс алгоритмі: 8 қадам
Үстел ойыны жасанды интеллект: минимакс алгоритмі: Сіз шахмат немесе дойбыға қарсы ойнайтын компьютерлер қалай жасалынғанын ойлап көрдіңіз бе? Нұсқаулықтан басқа ештеңеге қарамаңыз, ол сізге Minimax алгоритмін қолдана отырып қарапайым, бірақ тиімді жасанды интеллект (АИ) жасауды көрсетеді! Th пайдалану арқылы
AI Arduino -да Tic Tac Toe (Minimax алгоритмі): 3 қадам
AI -мен Arduino -да Tic Tac -Toe (Minimax алгоритмі): Бұл нұсқаулықта мен сізге Arduino көмегімен AI -мен Tic Tac Toe ойынын қалай құруға болатынын көрсетемін. Сіз Arduino -ға қарсы ойнай аласыз немесе Arduino -ның өзіне қарсы ойынын көре аласыз. Мен «минимакс алгоритмі» деп аталатын алгоритмді қолданамын
Xbox Controller арқылы бетті бақылау және бақылау арқылы қайырымдылық робот - Arduino: 9 қадам (суреттермен)
Xbox Controller арқылы бетті бақылау және бақылау арқылы қайыршы робот - Arduino: Біз қайыршы робот жасамақпыз. Бұл робот тітіркендіруге немесе өтіп бара жатқан адамдардың назарын аударуға тырысады. Бұл олардың беттерін анықтап, оларға лазермен оқ атуға тырысады. Егер сіз роботқа тиын берсеңіз, ол ән айтып, би билейді. Роботқа қажет болады