Мазмұны:

Arduino - Баланс - Теңестіруші робот - Қалай жасауға болады?: 6 қадам (суреттермен)
Arduino - Баланс - Теңестіруші робот - Қалай жасауға болады?: 6 қадам (суреттермен)

Бейне: Arduino - Баланс - Теңестіруші робот - Қалай жасауға болады?: 6 қадам (суреттермен)

Бейне: Arduino - Баланс - Теңестіруші робот - Қалай жасауға болады?: 6 қадам (суреттермен)
Бейне: Балансирующий робот своими руками на ардуино и шаговых двигателях 2024, Қараша
Anonim
Image
Image

Бұл оқулықта біз Arduino теңдестіру (тепе -теңдік) роботын қалай жасауға болатынын білеміз. Алдымен сіз жоғарыдағы бейне оқулықты қарай аласыз.

1 -қадам: Қажетті жабдық

Робот құрастыру
Робот құрастыру

Arduino тақтасы (Uno) -

MPU-6050 GY521 Acc+Gyro-https://bit.ly/2swR0Xo

DC 6V 210RPM тісті доңғалақ мотор жиынтығы -

L298N мотор драйвері -

Ауыстыру түймесі -

M3 Hex бұрандалы гайкалар жиынтығы -

Акрилді Perspex парағы -

3.7в 18650 зарядталатын Li-ion+зарядтағыш-https://bit.ly/2LNZQcl

9В батареясы -

Өткізгіш сымдар -

Ыстық желім мылтығы -

Arduino стартер жинағы мен керек -жарақтары (қосымша): Arduino тақтасы мен SCM жабдықтары #01 -

Arduino Board & SCM жабдықтары #02 -

Arduino Basic Learning бастауыш жинағы #01 -

Arduino Basic Learning бастауыш жинағы #02 -

Arduino Basic Learning бастауыш жинағы #03 -

Оқу құралы бар Mega 2560 бастауыш жинағы -

Arduino № 01 үшін сенсорлық модульдер жиынтығы -

Arduino № 02 үшін сенсорлық модульдер жинағы -

2 -қадам: роботты құрастыру

Робот құрастыру
Робот құрастыру
Робот құрастыру
Робот құрастыру
Робот құрастыру
Робот құрастыру
  • 3 акрил парақтың төрт бұрышын бұрғылаңыз. (1 және 2 -сурет)
  • Әр акрил парағының арасында шамамен 8 кантиметр / 3,15 дюйм болады. [3 -сурет]
  • Робот өлшемдері (шамамен) 15см x 10см x 20см. [4 -сурет]
  • Тұрақты ток қозғалтқышы мен дөңгелектер роботтың ортасына (орта сызыққа) қойылады. [5 -сурет]
  • L298N мотор драйвері роботтың бірінші қабатының ортасында (орта сызықта) орналастырылады. [6 -сурет]
  • Arduino тақтасы роботтың екінші қабатына қойылады.
  • MPU6050 модулі роботтың жоғарғы қабатына орналастырылады. [7 -сурет]

3 -қадам: Қосылымдар

Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар

MPU6050 -ді тексеріңіз және оның жұмыс істейтініне көз жеткізіңіз! MPU6050 -ді алдымен Arduino -ға қосыңыз және төмендегі оқулықтағы кодтарды пайдаланып қосылуды тексеріңіз. Даха сериялық мониторда көрсетілуі керек

Нұсқаулықтар оқулығы - MPU6050 GY521 6 осьті акселерометр+гиро

YouTube оқулығы - MPU6050 GY521 6 осьті акселерометр + гиро

L298N модулі Arduino кернеуінің кернеуі +7 В немесе одан жоғары болғанша қажет +5В қамтамасыз ете алады. Дегенмен, мен қозғалтқыш үшін бөлек қуат көзін таңдадым

4 -қадам: Тепе -теңдік қалай жұмыс істейді?

Баланс қалай жұмыс істейді?
Баланс қалай жұмыс істейді?
Баланс қалай жұмыс істейді?
Баланс қалай жұмыс істейді?
Баланс қалай жұмыс істейді?
Баланс қалай жұмыс істейді?
  • Робот тепе -теңдігін сақтау үшін қозғалтқыштар роботтың құлауына қарсы тұруы керек.
  • Бұл әрекет кері байланыс пен түзетуші элементті қажет етеді.
  • Кері байланыс элементі - MPU6050, ол роботтың қазіргі бағытын білу үшін Arduino қолданатын барлық үш осьте үдеу мен айналуды береді.
  • Түзетуші элемент - қозғалтқыш пен дөңгелектің комбинациясы.
  • Өзін-өзі теңестіретін робот-бұл төңкерілген маятник.
  • Егер массаның орталығы доңғалақ осіне қарағанда жоғары болса, оны жақсы теңестіруге болады.
  • Сондықтан мен батарея жинағын жоғарыға қойдым.
  • Роботтың биіктігі материалдардың болуына байланысты таңдалды.

5 -қадам: Бастапқы код және кітапханалар

Бастапқы код және кітапханалар
Бастапқы код және кітапханалар
Бастапқы код және кітапханалар
Бастапқы код және кітапханалар

Баланс роботы үшін жасалған код тым күрделі. Бірақ алаңдаудың қажеті жоқ. Біз тек кейбір деректерді өзгертеміз.

Өздігінен теңдестірілетін роботтың жұмыс істеуі үшін бізге төрт сыртқы кітапхана қажет

  • PID кітапханасы P, I және D мәндерін есептеуді жеңілдетеді.
  • LMotorController кітапханасы L298N модулімен екі қозғалтқышты басқаруға арналған.
  • I2Cdev кітапханасы мен MPU6050_6_Axis_MotionApps20 кітапханасы MPU6050 деректерін оқуға арналған.

Кітапханаларды жүктеу

PID -

LMotorController -

I2Cdev -

MPU6050 -

Бастапқы кодты алыңыз -

PID дегеніміз не?

  • Басқару теориясында кейбір айнымалы мәнді (бұл жағдайда роботтың орнын) тұрақты ұстау үшін PID деп аталатын арнайы контроллер қажет.
  • П - пропорционалды, интеграл үшін - I, туынды үшін - D. Бұл параметрлердің әрқайсысы әдетте Kp, Ki және Kd деп аталатын «кірістерге» ие.
  • PID қажетті мән (немесе кіріс) мен нақты мән (немесе шығыс) арасындағы түзетуді қамтамасыз етеді. Кіріс пен шығыс арасындағы айырмашылық «қате» деп аталады.
  • PID контроллері шығуды үздіксіз реттеу арқылы қатені мүмкін болатын ең кіші мәнге дейін төмендетеді.
  • Біздің Arduino өзін-өзі теңдестіретін роботында кіру (бұл қажетті көлбеу, градуспен) бағдарламалық қамтамасыз ету арқылы орнатылады.
  • MPU6050 роботтың ағымдағы қисаюын оқиды және оны моторды басқару және роботты тік күйде ұстау үшін есептеулер жүргізетін PID алгоритміне береді.

PID Kp, Ki және Kd мәндерінің оңтайлы мәндерге «реттелуін» талап етеді

Біз PID мәндерін қолмен реттейміз

  1. Kp, Ki және Kd мәндерін нөлге тең етіңіз.
  2. Kp реттеңіз. Өте аз Kp роботты құлатады (түзету жеткіліксіз). Тым көп робот роботтың артқа және артқа кетуіне мәжбүр етеді. Жақсы Kp роботты сәл алға және артқа айналдырады (немесе сәл тербеледі).
  3. Kp орнатылғаннан кейін Kd реттеңіз. Жақсы Kd мәні робот тұрақты болғанша тербелісті төмендетеді. Сонымен қатар, Kd -дің дұрыс мөлшері итерілсе де роботты орнында ұстайды.
  4. Соңында, Ki орнатыңыз. Робот қосылған кезде тербеліп тұрады, тіпті егер Kp және Kd орнатылса да, бірақ уақытында тұрақтанады. Дұрыс Ki мәні роботтың тұрақтануына кететін уақытты қысқартады.

Жақсы нәтиже алу үшін ұсыныс

Баланс роботының бастапқы кодының тұрақты және тиімді жұмыс жасауы үшін осы жобада пайдаланылған материалдарды қолдана отырып, ұқсас робот жақтауын құруды ұсынамын.

6 -қадам: Қолдау үшін

Қолдау үшін
Қолдау үшін
  • Қосымша сабақтар мен жобалар үшін менің YouTube каналыма жазыла аласыз.
  • Сондай -ақ, қолдау үшін жазылуға болады. Рақмет сізге.

Менің YouTube каналыма кіріңіз -

Ұсынылған: