Arduino удирдлагатай робот робот: 13 алхам (зурагтай)
Arduino удирдлагатай робот робот: 13 алхам (зурагтай)
Anonim
Image
Image
Arduino хяналттай робот хоёр хөлтэй
Arduino хяналттай робот хоёр хөлтэй
Arduino хяналттай робот хоёр хөлтэй
Arduino хяналттай робот хоёр хөлтэй

Fusion 360 төслүүд »

Би үргэлж роботыг сонирхож байсан, ялангуяа хүний үйлдлийг дуурайхыг оролддог. Энэхүү сонирхол нь хүний алхаж, гүйж буйг дуурайдаг робот хөлний загвар зохион бүтээхийг оролдоход хүргэсэн юм. Энэхүү зааварчилгааны номонд би танд хоёр талт роботын загвар, угсралтыг үзүүлэх болно.

Энэхүү төслийг бүтээх гол зорилго нь системийг аль болох хүчирхэг болгох явдал байсан бөгөөд ингэснээр янз бүрийн алхах, гүйх алхах туршилт хийж байхдаа тоног төхөөрөмжийн эвдрэлийн талаар санаа зовох хэрэггүй болно. Энэ нь надад техник хангамжийг хязгаарлах боломжийг олгосон юм. Хоёрдогч зорилго бол бэлэн байгаа хоббигийн хэсгүүд болон 3D хэвлэлийн тусламжтайгаар өрөөгөө харьцангуй хямд үнээр хийж, цаашид сайжруулах, өргөжүүлэх боломжтой болгох явдал байв. Эдгээр хоёр зорилгыг хослуулсан нь янз бүрийн туршилт хийх бат бөх суурийг бий болгож, хоёр хөлтэй хүнийг илүү тодорхой шаардлагад нийцүүлэн хөгжүүлэх боломжийг олгодог.

Үргэлжлүүлэн өөрийн Arduino удирдлагатай Robotic Biped -ийг бүтээж, хэрэв танд төсөл таалагдсан бол "Arduino Contest" -д саналаа өгөөрэй.

Алхам 1: Дизайн үйл явц

Дизайн үйл явц
Дизайн үйл явц
Дизайн үйл явц
Дизайн үйл явц
Дизайн үйл явц
Дизайн үйл явц

Гуманоид хөлийг Autodesk -д үнэгүй бүтээсэн бөгөөд Fusion 360 3d загварчлалын програм хангамжийг ашиглах боломжтой болсон. Би servo моторыг дизайнд оруулж, хөлийг нь тойруулан бүтээж эхлэв. Би servo моторын хаалт зохион бүтээсэн бөгөөд энэ нь servo моторын босоо амны эсрэг хоёр дахь тэнхлэгийн цэгийг өгдөг. Хөдөлгүүрийн хоёр үзүүрт хоёр босоо ам байх нь дизайны бүтцийн тогтвортой байдлыг хангаж, хөлийг ачаалал өгөхөд үүсэх хазайлтыг арилгадаг. Холбоосууд нь холхивчийг барих зориулалттай бөгөөд хаалтанд босоо аманд боолт ашиглагджээ. Холбоосыг самар ашиглан босоо аманд холбосны дараа холхивч нь servo моторын босоо амны эсрэг талд жигд, бат бөх эргэх цэгийг бий болгоно.

Хоёр хөлтэй загвар зохион бүтээх өөр нэг зорилго бол servo мотороор хангагдсан эргэлтийг хамгийн их ашиглахын тулд загварыг аль болох нягт байлгах явдал байв. Холболтын хэмжээсийг ерөнхий уртыг багасгахын зэрэгцээ өргөн хүрээний хөдөлгөөнд хүрэхийн тулд хийсэн болно. Тэдгээрийг хэт богино болгох нь хаалт мөргөлдөж, хөдөлгөөний хүрээг багасгаж, хэт урт болгох нь идэвхжүүлэгчид шаардлагагүй эргүүлэх хүчийг өгөх болно. Эцэст нь би Arduino болон бусад электрон эд ангиудыг угсрах роботыг зохион бүтээсэн.

Тэмдэглэл: Эдгээр хэсгүүдийг дараахь алхамуудын аль нэгэнд оруулсан болно.

Алхам 2: Arduino -ийн үүрэг

Arduino -ийн үүрэг
Arduino -ийн үүрэг

Энэ төсөлд Arduino Uno ашигласан. Arduino нь шалгагдсан янз бүрийн алхамын хөдөлгөөний замыг тооцоолох үүрэгтэй байсан бөгөөд жигд алхах хөдөлгөөнийг бий болгохын тулд идэвхжүүлэгчдэд яг нарийн өнцгөөр шилжихийг зааварлав. Arduino бол олон талт байдлаас шалтгаалан төсөл боловсруулах маш сайн сонголт юм. Энэ нь олон тооны IO тээглүүрээр хангадаг бөгөөд бусад микроконтроллер, мэдрэгчтэй холбогдохын тулд цуваа, I2C, SPI зэрэг интерфэйсийг өгдөг. Arduino нь хурдан загварчлах, турших гайхалтай платформыг бий болгож, хөгжүүлэгчид сайжруулалт, өргөжүүлэх боломжийг олгодог. Энэхүү төсөлд цаашдын хувилбаруудад уналтыг илрүүлэх, тэгш бус газар хөдлөх динамик зүтгүүр, саад бэрхшээлээс зайлсхийхийн тулд зайг хэмжих мэдрэгч гэх мэт хөдөлгөөнийг боловсруулах инерцийн хэмжих нэгж багтана.

Энэ төсөлд Arduino IDE ашигласан. (Arduino нь вэб дээр суурилсан IDE-ийг бас өгдөг)

Тэмдэглэл: Роботын програмыг дараах алхамуудын аль нэгээс татаж авах боломжтой.

Алхам 3: Шаардлагатай материал

Шаардлагатай материалууд
Шаардлагатай материалууд
Шаардлагатай материалууд
Шаардлагатай материалууд
Шаардлагатай материалууд
Шаардлагатай материалууд
Шаардлагатай материалууд
Шаардлагатай материалууд

Өөрийнхөө Arduino хөдөлгүүртэй хоёр хөлтэй роботыг хийхэд шаардлагатай бүх эд анги, эд ангиудын жагсаалтыг энд оруулав. Бүх эд ангиуд нийтэд нээлттэй байх ёстой бөгөөд олоход хялбар байх ёстой.

ЦАХИЛГААН:

Arduino Uno x 1

Towerpro MG995 servo мотор x 6

Perfboard (Arduino -той ижил хэмжээтэй)

Эрэгтэй, эмэгтэй толгойн зүү (тус бүр 20 орчим)

Холбогч утас (10 ширхэг)

MPU6050 IMU (заавал биш)

Хэт авианы мэдрэгч (заавал биш)

ТОНОГ ТӨХӨӨРӨМЖ:

Тэшүүрийн холхивч (8x19x7 мм)

М4 самар ба боолт

3D принтерийн утас (хэрэв та 3D принтер эзэмшээгүй бол орон нутгийн ажлын талбарт 3D принтер байх ёстой эсвэл хэвлэх ажлыг онлайнаар хямд үнээр хийх боломжтой)

Arduino болон 3D принтерийг эс тооцвол энэ төслийн нийт өртөг 20 доллар болно.

Алхам 4: 3D хэвлэсэн эд анги

3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги
3D хэвлэсэн эд анги

Энэхүү төсөлд шаардагдах эд ангиудыг захиалгаар хийх ёстой байсан тул 3D принтер ашиглан хэвлэжээ. Хэвийг 40% дүүргэгч, 2 периметр, 0.4мм цорго, 0.1 мм -ийн өндөртэй PLA, хүссэн өнгөөр хийсэн. Доороос та өөрийн хувилбарыг хэвлэх эд анги, STL -ийн бүрэн жагсаалтыг олох боломжтой.

Тэмдэглэл: Эндээс жагсаалтад байгаа нэрийг ашиглан хэсгүүдийг дурдах болно.

  • хөлийн servo эзэмшигч x 1
  • хөлийн servo эзэмшигч толь x 1
  • өвдөгний servo эзэмшигч x 1
  • өвдөгний servo эзэмшигч толь x 1
  • хөлийн servo эзэмшигч x 1
  • хөлийн servo эзэмшигч толь x 1
  • даацын холбоос x 2
  • servo horn link x 2
  • хөлийн холбоос x 2
  • гүүр x 1
  • электрон бэхэлгээ x 1
  • электрон зай х 8 (заавал биш)
  • servo horn space x 12 (заавал биш)

Нийтдээ тусгаарлагчийг эс тооцвол 14 хэсэгтэй. Нийт хэвлэх хугацаа 20 орчим цаг байна.

Алхам 5: Servo хаалт бэлтгэх

Servo хаалт бэлтгэх
Servo хаалт бэлтгэх
Servo хаалт бэлтгэх
Servo хаалт бэлтгэх
Servo хаалт бэлтгэх
Servo хаалт бэлтгэх

Бүх эд ангиудыг хэвлэсний дараа та servo болон servo хаалтуудыг тохируулж эхэлж болно. Эхлээд холхивчийг өвдөгний серво эзэмшигч рүү оруулна уу. Тохиромжтой байх ёстой, гэхдээ уг хэсгийг эвдэх эрсдэлтэй тул холхивчийг хүчлэхийн оронд нүхний дотоод гадаргууг бага зэрэг зүлгэж өгөхийг зөвлөж байна. Дараа нь M4 боолтыг нүхээр дамжуулж, самар ашиглан чангална. Дараа нь хөлний холбоосыг барьж, нийлүүлсэн эрэг ашиглан дугуй хэлбэртэй servo эвэр хавсаргана уу. Хөлийн холбоосыг өвдөгний серво эзэмшигчид холбож, servo моторыг холбох боолтыг ашиглана уу. Босоо ам нь өмнө нь бэхэлсэн боолттой нэг талд байхаар мотороо тэгшлэх хэрэгтэй. Эцэст нь servo -ийг бусад самар, боолтоор бэхлээрэй.

Хип серво эзэмшигч болон хөлний серво эзэмшигчтэй ижил зүйлийг хий. Үүний тусламжтайгаар та гурван servo мотортой байх ёстой.

Тэмдэглэл: Би нэг хөл барих заавар өгч байна, нөгөө хөл нь зүгээр л толин тусгалтай.

Алхам 6: Холбоос хэсгүүдийг хийх

Холбоос хэсгүүдийг хийх
Холбоос хэсгүүдийг хийх
Холбоос хэсгүүдийг хийх
Холбоос хэсгүүдийг хийх
Холбоос хэсгүүдийг хийх
Холбоос хэсгүүдийг хийх

Хаалтуудыг угсарсны дараа холбоосыг хийж эхлээрэй. Холхивчийн холбоосыг хийхийн тулд холхивчийн нүхний дотоод гадаргууг дахин зөөлөн зүлгээд хоёр талын нүх рүү оруулна. Холхивчийг нэг талыг нь тэгшлэх хүртэл дотогш оруулах хэрэгтэй. Серво эвэрний холбоосыг бүтээхийн тулд хоёр дугуй хэлбэртэй servo эвэр болон нийлүүлсэн боолтыг ав. Эвэрээ 3D хэвлэмэл дээр байрлуулж, нүхийг эгнүүлээд дараа нь 3D хэвлэлийн талаас боолтыг бэхлээд эвэрээ 3D хэвлэмэл хэлбэрээр шургуулна. Эдгээр эрэг дээр 3D хэвлэсэн servo horn spacer ашиглахыг зөвлөж байна. Холбоосыг хийсний дараа та хөлийг угсарч эхлэх боломжтой.

Алхам 7: Хөлийг угсрах

Хөлийг угсрах
Хөлийг угсрах
Хөлийг угсрах
Хөлийг угсрах
Хөлийг угсрах
Хөлийг угсрах
Хөлийг угсрах
Хөлийг угсрах

Холбоос ба хаалт угсарсны дараа та тэдгээрийг нэгтгэн роботын хөлийг бүтээж болно. Нэгдүгээрт, servo эвэрний холбоосыг ашиглан ташааны servo хаалт ба өвдөгний servo хаалт зэргийг хавсаргана. Анхаарна уу: Дараах үе шатанд тохируулгын үе байдаг тул эвэрийг servo руу бүү шургуул.

Эсрэг талд холхивчийн холбоосыг самар ашиглан цухуйсан боолт дээр бэхлэнэ. Эцэст нь өвдөгний servo эзэмшигчийн холхивчоор цухуйсан боолтыг оруулаад хөлийн servo хаалт хавсаргана. Серво босоо амыг нөгөө талд өвдөгний servo эзэмшигчтэй холбосон servo эвэр дээр бэхлээрэй. Энэ нь хэцүү ажил байж магадгүй тул би хоёр дахь хос гараа хийхийг зөвлөж байна.

Нөгөө хөлнийхөө алхмыг давт. Алхам бүрт хавсаргасан зургуудыг лавлагаа болгон ашиглаарай.

Алхам 8: Тусгай ПХБ ба утас

Тусгай ПХБ ба утас
Тусгай ПХБ ба утас
Тусгай ПХБ ба утас
Тусгай ПХБ ба утас
Тусгай ПХБ ба утас
Тусгай ПХБ ба утас

Энэ бол нэмэлт алхам юм. Цахилгааны утсыг цэвэрхэн болгохын тулд би самбар, толгойн зүү ашиглан тусгай ПХБ хийхээр шийдсэн. ПХБ нь servo моторын утсыг шууд холбох портуудыг агуулдаг. Нэмж дурдахад би инерцийн хэмжлийн нэгж эсвэл хэт авианы зайн мэдрэгч гэх мэт бусад мэдрэгчийг өргөжүүлж, нэмж оруулахыг хүссэн тохиолдолд нэмэлт портуудыг орхисон. Энэ нь бас servo моторыг тэжээхэд шаардлагатай гадаад тэжээлийн эх үүсвэрийн портыг агуулдаг. Arduino -ийн USB болон гадаад тэжээлийн хооронд шилжихийн тулд холбогчийг ашигладаг. Arduino болон ПХБ -ийг эрэг, 3D хэвлэсэн тусгаарлагч ашиглан электрон бэхэлгээний хоёр талд холбоно.

Тэмдэглэл: Arduino -г USB -ээр компьютерт холбохын өмнө холбогчийг салгах хэрэгтэй. Үүнийг хийхгүй байх нь Arduino -г гэмтээж болзошгүй юм.

Хэрэв та ПХБ -ийг ашиглахгүй байхаар шийдэж, оронд нь талхны самбар ашиглавал servo холболтууд энд байна.

  • Зүүн хонго >> зүү 9
  • Баруун таша >> зүү 8
  • Зүүн өвдөг >> зүү 7
  • Баруун өвдөг >> зүү 6
  • Зүүн хөл >> зүү 5
  • Баруун хөл >> зүү 4

Хэрэв та ПХБ -ийг дээрх дарааллын дагуу хийхээр шийдсэн бол ПХБ дээрх портуудыг IMU портыг дээш харуулан баруун талаас зүүн тийш ашиглана уу. Дээрх зүү тоог ашиглан ПХБ -ийг Arduino руу холбохын тулд ердийн эрэгтэй, эмэгтэй холбогч утас ашиглана уу. USB тэжээлгүйгээр ажиллуулахаар шийдсэн тохиолдолд газардуулгын зүүг холбож, ижил газардуулга ба Vin зүүг бий болгох хэрэгтэй.

Алхам 9: Биеийг угсрах

Биеийг угсрах
Биеийг угсрах
Биеийг угсрах
Биеийг угсрах
Биеийг угсрах
Биеийг угсрах

Хоёр хөл, электроникийг угсарсны дараа тэдгээрийг нэгтгэн роботын биеийг бүтээгээрэй. Гүүрний хэсгийг ашиглан хоёр хөлөө холбоно. Хип servo эзэмшигч болон servo моторыг хадгалдаг самар, боолт дээр ижил бэхэлгээний нүхийг ашиглана уу. Эцэст нь электрон холболтыг гүүр рүү холбоно уу. Гүүрэн дээрх электрон нүхнүүдийг эгнүүлж, холболтыг хийхийн тулд M4 самар ба боолтыг ашиглана.

Тусламж авахын тулд хавсаргасан зургуудыг үзнэ үү. Үүний тусламжтайгаар та роботын техник хангамжийн ажлыг хийж дуусгасан болно. Дараа нь програм хангамж руу ороод роботыг амьдруулцгаая.

Алхам 10: Анхны тохиргоо

Анхдагч тохиргоо
Анхдагч тохиргоо
Анхдагч тохиргоо
Анхдагч тохиргоо
Анхдагч тохиргоо
Анхдагч тохиргоо

Энэхүү төслийг бүтээх явцад миний ажигласан зүйл бол servo мотор ба эвэр нь хоорондоо зэрэгцэн оршиж байхын тулд төгс зохицох шаардлагагүй юм. Ийм учраас servo мотор бүрийн "төв байрлалыг" гартай тохируулж, хөлтэй нь тааруулах ёстой. Үүнийг хийхийн тулд servo эвэр бүрийг servo бүрээс нь авч, initial_setup.ino ноорогыг ажиллуулна уу. Хөдөлгүүрүүд төв байрандаа суусны дараа эвэрээ дахин бэхлээрэй, ингэснээр хөл нь төгс шулуун, хөл нь газартай төгс параллель болно. Хэрэв ийм зүйл тохиолдвол та азтай байна. Хэрэв зэргэлдээ таб дээрээс олдсон constants.h файлыг нээж, хөлийг бүрэн тэгшлүүлж, хөл хавтгай болтол servo офсет утгыг (1-6 мөр) өөрчилнө үү. Үнэт зүйлсийн талаар эргэн тойрон тоглоорой, энэ тохиолдолд танд юу хэрэгтэй байгааг олж мэдэх болно.

Тогтмол утгыг тохируулсны дараа эдгээр утгыг дараа нь хэрэгтэй болно гэдгийг анхаарна уу.

Тусламж авахын тулд зургуудыг үзнэ үү.

Алхам 11: Кинематикийн талаар бага зэрэг

Кинематикийн тухай бага зэрэг
Кинематикийн тухай бага зэрэг
Кинематикийн тухай бага зэрэг
Кинематикийн тухай бага зэрэг
Кинематикийн тухай бага зэрэг
Кинематикийн тухай бага зэрэг

Хоёр хөлтэй хүмүүсийг гүйлт, алхах гэх мэт ашигтай үйлдлүүдийг хийхийн тулд янз бүрийн алхалтыг хөдөлгөөний зам хэлбэрээр програмчлах хэрэгтэй. Хөдөлгөөний зам бол төгсгөлийн эффектор (энэ тохиолдолд хөл) хамт явдаг замууд юм. Үүнд хүрэх хоёр арга бий:

  1. Нэг арга бол янз бүрийн моторуудын хамтарсан өнцгийг хүчээр хүчээр тэжээх явдал юм. Шийдвэр нь зөвхөн харааны шинж чанартай байдаг тул энэ арга нь цаг хугацаа шаардсан, уйтгартай, бас алдаануудаар дүүрэн байж болно. Үүний оронд хүссэн үр дүнд хүрэх илүү ухаалаг арга байдаг.
  2. Хоёрдахь арга бол үе мөчний бүх өнцгийн оронд төгсгөлийн эффекторын координатыг тэжээх явдал юм. Үүнийг урвуу кинематик гэж нэрлэдэг. Хэрэглэгч координатыг оруулдаг бөгөөд холболтын өнцөг нь төгсгөлийн эффекторыг заасан координатад байрлуулахаар тохируулдаг. Энэ аргыг координатыг оруулдаг, үений өнцгийг гаргадаг хар хайрцаг гэж үзэж болно. Энэхүү хар хайрцгийн тригонометрийн тэгшитгэлийг хэрхэн боловсруулсан талаар сонирхсон хүмүүсийн хувьд дээрх диаграмыг үзнэ үү. Сонирхдоггүй хүмүүсийн хувьд тэгшитгэлийг аль хэдийн програмчлагдсан бөгөөд x функцийг ашиглан x, z оролтыг авч, хөдөлгүүрт харгалзах гурван өнцгийг гаргадаг.

Эдгээр функцуудыг агуулсан програмыг дараагийн алхам дээрээс олж болно.

Алхам 12: Arduino програмчлах

Arduino програмчлах
Arduino програмчлах
Arduino програмчлах
Arduino програмчлах

Arduino програмчлахаас өмнө файлд бага зэрэг өөрчлөлт оруулах шаардлагатай. Би танаас тэмдэглэл хөтлөхийг хүссэн тогтмолуудыг санаж байна уу? Constants.h файлд тохируулсан утгууддаа ижил тогтмолуудыг өөрчилнө үү.

Тэмдэглэл: Хэрэв та энэхүү зааварт заасан загварыг ашигласан бол өөрчлөх зүйл байхгүй. Хэрэв та нарын зарим нь өөрсдөө дизайн хийсэн бол та офсетийн хамт хэд хэдэн утгыг өөрчлөх хэрэгтэй болно. Тогтмол l1 нь ташааны тэнхлэг ба өвдөгний хоорондох зайг хэмждэг. L2 тогтмол нь өвдөгний шагай ба шагайн тэнхлэгийн хоорондох зайг хэмждэг. Тиймээс, хэрэв та өөрийн загварыг бүтээсэн бол эдгээр уртыг хэмжиж, тогтмолуудыг өөрчил. Төгсгөлийн хоёр тогтмолыг алхахад ашигладаг. StepClearance тогтмол нь алхам хийсний дараа урагшаа алхахдаа хөл хэр өндөр өргөхийг хэмждэг бол stepHeight тогтмол нь алхам хийхдээ газраас хонго хүртэлх өндрийг хэмждэг.

Бүх тогтмолуудыг таны хэрэгцээнд нийцүүлэн өөрчилсний дараа та үндсэн програмаа байршуулж болно. Гол програм нь роботыг алхах байрлалд оруулж, урагш алхам хийж эхэлдэг. Функцийг өөр өөр алхалт, хурд, алхамын уртыг судлах хэрэгцээнд нийцүүлэн өөрчилж болно.

Алхам 13: Эцсийн үр дүн: Туршилт хийх цаг

Эцсийн үр дүн: Туршилт хийх цаг
Эцсийн үр дүн: Туршилт хийх цаг
Эцсийн үр дүн: Туршилт хийх цаг
Эцсийн үр дүн: Туршилт хийх цаг
Эцсийн үр дүн: Туршилт хийх цаг
Эцсийн үр дүн: Туршилт хийх цаг

Хоёр хөлтэй хүн 10 -оос 2 см хүртэл урттай алхам хийх боломжтой. Алхалтыг тэнцвэртэй байлгахын зэрэгцээ хурдыг өөрчилж болно. Arduino -ийн хүчийг хослуулсан энэ хөл нь бөмбөг өшиглөхдөө үсрэх эсвэл тэнцвэржүүлэх гэх мэт өөр өөр алхалт, бусад зорилгыг туршиж үзэх бат бөх платформ юм. Хөлийн хөдөлгөөний замыг өөрчилж, өөрийн алхаж, янз бүрийн алхалт нь роботын гүйцэтгэлд хэрхэн нөлөөлдөг болохыг олж мэдэхийг танд зөвлөж байна. IMU болон зайны мэдрэгч гэх мэт мэдрэгчийг системд нэмж, түүний үйл ажиллагааг сайжруулж, хүч мэдрэгчийг хөл дээр нэмж жигд бус гадаргуу дээр динамик хөдөлгөөнийг туршиж үзэх боломжтой.

Энэхүү зааварчилгаа танд таалагдсан гэж найдаж байна. Хэрэв танд төсөл таалагдсан бол "Arduino тэмцээнд" саналаа өгөх замаар дэмжээрэй.

Аз жаргалтай болгох!

Arduino тэмцээн 2020
Arduino тэмцээн 2020
Arduino тэмцээн 2020
Arduino тэмцээн 2020

2020 оны Arduino тэмцээний тэргүүн шагнал

Зөвлөмж болгож буй: