Агуулгын хүснэгт:

Arduino болон PC -ийн удирддаг робот гар: 10 алхам
Arduino болон PC -ийн удирддаг робот гар: 10 алхам

Видео: Arduino болон PC -ийн удирддаг робот гар: 10 алхам

Видео: Arduino болон PC -ийн удирддаг робот гар: 10 алхам
Видео: 3D Printed Full Sized Johnny 5 at TCT 2018 Birmingham 2024, Арваннэгдүгээр
Anonim
Image
Image
Төслийн ард байгаа онол
Төслийн ард байгаа онол

Робот зэвсгийг үйлдвэрлэлд өргөн ашигладаг. Энэ нь угсралтын ажилд зориулагдсан эсэх, ОУСС (Олон улсын сансрын станц) дээр залгахад гагнуур хийх эсвэл бүр нэгийг нь ашигладаг бөгөөд энэ нь хүмүүст ажилд тусалдаг эсвэл хүнийг бүрэн орлодог. Миний бүтээсэн гар бол объектыг хөдөлгөхөд ашиглах ёстой робот гарны жижиг дүрслэл юм. Үүнийг servo хянахын тулд аль хэдийн суулгасан номын сантай arduino pro mini удирддаг. Сервүүдийг PWM (Pulse Width Modulation) удирддаг бөгөөд үүнийг програмчлахад тийм ч хэцүү биш боловч энэ номын сан нь үүнийг илүү хялбар болгодог. Хэрэглэгч хүчдэл хуваагчаар ажиллах зориулалттай потенциометрээр эсвэл servo моторыг хянахад 4 гулсагч ашигладаг компьютер дээрх програмаар дамжуулан эдгээр servo -ийг хянах боломжтой.

Энэ төслийн хувьд би өөрийн хувийн ПХБ -ийг зохион бүтээж, гарны 3D загвар бүтээж, бүгдийг хянадаг код бичих шаардлагатай болсон. Дээрээс нь би python програмыг кодлосон бөгөөд энэ нь arduino руу дохио илгээдэг бөгөөд энэ дохиог тайлж, servos -ийг тухайн хэрэглэгчийн тогтоосон байрлал руу шилжүүлэх боломжийг олгодог.

Алхам 1: Төслийн ард байгаа онол

Төслийн ард байгаа онол
Төслийн ард байгаа онол

Arduino нь маш сайн ажилладаг тул үнэгүй номын сантай хамтран ажилладаг. Энэ төслийн хувьд би Servo.h номын санг ашигласан бөгөөд энэ нь servos -ийг удирдах ажлыг илүү хялбар болгодог.

Servo моторыг PWM -Pulse Width Modulation -ээр удирддаг бөгөөд энэ нь servo -ийг хянахын тулд богино хүчдэлийн импульс хийх шаардлагатай гэсэн үг юм. Servo нь энэ дохионы уртыг тайлж, өгөгдсөн байрлал руу эргүүлэх боломжтой. Энд би аль хэдийн дурдсан номын санг ашиглаж байсан. Би дохионы уртыг бие даан тооцоолох шаардлагагүй байсан, гэхдээ би номын сангийн функцийг ашиглаж, параметрүүдийг градусаар дамжуулж, дохио өгдөг.

Сервүүдийг хянахын тулд хүчдэл хуваагчийн үүрэг гүйцэтгэдэг потенциометрийг ашигласан. Arduino самбарууд нь миний төсөлд ашиглаж байсан хэд хэдэн аналог/дижитал хөрвүүлэгчтэй байдаг. Үндсэндээ arduino нь потенциометрийн дунд зүү дээрх хүчдэлийг хянадаг бөгөөд хэрэв нэг тал руу эргэвэл 0 вольт (утга = 0), нөгөө талд 5 вольт (утга = 1023) байна. Дараа нь энэ утгыг 0 - 1023 -аас 0 - 180 хүртэл хуваарилж, дараа нь дурдсан функцэд шилжүүлнэ.

Өөр нэг сэдэв бол arduino -той хийсэн цуврал харилцаа бөгөөд би үүнийг товчхон авч үзэх болно. Үндсэндээ компьютер дээр бичигдсэн програм нь хэрэглэгчийн сонгосон утгыг илгээдэг бөгөөд arduino үүнийг тайлж, servo -ийг өгөгдсөн байрлал руу шилжүүлэх боломжтой

Алхам 2: ПХБ -ийн дизайн

ПХБ -ийн дизайн
ПХБ -ийн дизайн
ПХБ -ийн дизайн
ПХБ -ийн дизайн
ПХБ -ийн дизайн
ПХБ -ийн дизайн

Би 2 ПХБ -ийг зохион бүтээсэн - нэг нь үндсэн удирдлагад зориулагдсан бөгөөд servo -ийн ардуино ба зүү, хоёрдугаарт потенциометр юм. 2 ПХБ -ийн шалтгаан нь би робот гарыг аюулгүй зайнаас удирдахыг хүссэн явдал юм. Хоёр хэлхээ хоёулаа өгөгдсөн урттай кабелиар холбогдсон байдаг - миний хувьд 80 см.

Цахилгаан эх үүсвэрийн хувьд би гадны адаптерийг сонгосон, учир нь миний ашигладаг servo нь arduino -ээс илүү их хүч зарцуулдаг. Таны харж байгаагаар миний хэлээгүй конденсаторууд байдаг. Эдгээр нь шүүхэд ашигладаг конденсаторууд юм. Таны мэдэж байгаагаар servo моторыг богино импульсээр удирддаг. Эдгээр импульс нь өмнө нь 0-5 вольтын хооронд байсан хүчдэлийн уналт, потенциометрийг одоо бага хүрээтэй болгож чаддаг. Энэ нь дунд зүү дээрх хүчдэл өөрчлөгдөж, arduino энэ утгыг авч, servo моторын байрлалыг өөрчилдөг гэсэн үг юм. Энэ нь үүрд үргэлжлэх бөгөөд хүсээгүй хэлбэлзлийг үүсгэж, нийлүүлэлттэй зэрэгцэн зарим конденсатороор арилгаж болно.

Алхам 3: ПХБ хийх

ПХБ хийх
ПХБ хийх
ПХБ хийх
ПХБ хийх
ПХБ хийх
ПХБ хийх

ПХБ хийхдээ үүнийг уншихыг танд зөвлөж байна.

Би Төмөр дээр гялгар цаасан аргыг ашигласан бөгөөд энэ нь маш сайн болсон.

Дараа нь би эд ангиудыг ПХБ дээр гагнана. Ирээдүйд надад хэрэгтэй болно гэж би arduino сокет ашигласан болохыг та харж байна.

Алхам 4: Гарны загвар

Гар дизайн хийх
Гар дизайн хийх
Гар дизайн хийх
Гар дизайн хийх
Гар дизайн хийх
Гар дизайн хийх

Энэ нь уг төслийг бүтээхэд хамгийн хэцүү үе байсангүй.

Бүх тохиргоог 4 хэсгээс хөдлөхгүй хэсгүүдээс бүрддэг - потенциометрийн хайрцаг, ардуино байрладаг бааз - бусад дөрвөн хэсэг нь өөрөө гар юм. Загвар нь маш ойлгомжтой, ямар нэгэн байдлаар энгийн байдлаас бусад талаар би нэг их дэлгэрэнгүй ярихгүй. Энэ нь миний захиалгат ПХБ болон servo -д тохирохоор хийгдсэн бөгөөд үүнийг хэсгүүдийн жагсаалтад оруулах болно.

Алхам 5: эд ангиудыг хэвлэх

Эд ангиудыг хэвлэх
Эд ангиудыг хэвлэх
Эд ангиудыг хэвлэх
Эд ангиудыг хэвлэх
Эд ангиудыг хэвлэх
Эд ангиудыг хэвлэх

Эд ангиудыг Prusa принтер дээр хэвлэв. Зарим нүүрийг бага зэрэг нунтаглаж, нүх өрөмдөх шаардлагатай байв. Мөн тулгуур баганыг зайлуулах шаардлагатай байв.

Алхам 6: Бүгдийг нэгтгэх

Бүгдийг хамтад нь оруулах
Бүгдийг хамтад нь оруулах
Бүгдийг хамтад нь оруулах
Бүгдийг хамтад нь оруулах
Бүгдийг хамтад нь оруулах
Бүгдийг хамтад нь оруулах
Бүгдийг хамтад нь оруулах
Бүгдийг хамтад нь оруулах

Гарчигны хэлснээр энэ алхамд би бүгдийг нэгтгэсэн.

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

Дараагийн алхам бол би хоёр самбарыг холбох хавтгай тууз кабель хийсэн.

Үндсэн хайрцагт би холбогчийг VCC зүүгээр холбож, дараа нь хавтангийн Vcc руу, GND хавтангаас холбогчийн GND руу гагнасан. Дараа нь би холбогчийг байрлуулж, баганан дээр тавив. Холбогч нь нүхэнд шууд ордог тул халуун цавуу хэрэглэх шаардлагагүй болно.

Дараа нь боолтыг ашиглан би доод servo -ийг хайрцгийн ёроолд бэхлэв.

Үүний дараа би хайрцгийн дээд хэсгийг доод хэсэгт байрлуулж, потенциометрийн хайрцагтай адил 4 боолтоор бэхлэв.

Дараагийн хэсэг нь жаахан төвөгтэй байсан ч би гарныхаа үлдсэн хэсгийг янз бүрийн самар, дэвсгэртэй хамт хийж чадсан бөгөөд энэ нь миний бодож байсан шиг тийм ч нягт биш байсан, учир нь би хэсгүүдийн хооронд хүлцэл гаргахаар төлөвлөж байсан тул тэдэнтэй ажиллахад илүү хялбар болно.

Эцсийн алхам бол би хайрцгийн ёроолд соронзон хальс тавьдаг, эс тэгвээс тэд гулгах болно.

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

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

Хөтөлбөр нь төслийн цаана онолын хувьд хэрхэн ажилладаг талаар би аль хэдийн дурдсан байсан, гэхдээ би үүнийг улам бүр задлах гэж байна.

Тиймээс эхэндээ бид зарим хувьсагчийг тодорхойлох хэрэгтэй. Ихэнхдээ үүнийг 4 удаа хуулж авдаг, учир нь бидэнд 4 servo байдаг бөгөөд миний бодлоор програмыг арай богино болгохын тулд илүү төвөгтэй логик хийх шаардлагагүй юм.

Дараа нь servos -ийн зүүг тодорхойлсон хоосон тохиргоо байдаг.

Дараа нь хязгааргүй хүрдтэй програмын нэг хэсэг болох void loop байдаг. Энэ хэсэгт програм нь потенциометрийн утгыг хэмжиж, гаралтыг оруулна. Гэхдээ потенциометрийн утга бага зэрэг үсрэх нэг асуудал байгаа тул сүүлийн 5 утгыг дунджаар гаргадаг шүүлтүүрийг нэмж оруулах шаардлагатай болсон. Энэ нь хүсээгүй ганхахаас сэргийлнэ.

Хөтөлбөрийн сүүлийн хэсэг нь цуваа портын өгөгдлийг уншиж, илгээсэн өгөгдөл дээр үндэслэн юу хийхээ шийддэг.

Кодыг бүрэн ойлгохын тулд албан ёсны arduino вэбсайтуудад зочлохыг зөвлөж байна.

Алхам 8: Python дээр програмчлах

Python програмчлал
Python програмчлал
Python програмчлал
Python програмчлал
Python програмчлал
Python програмчлал

Энэ төслийн энэ хэсэг шаардлагагүй боловч энэ төсөлд илүү их ач холбогдол өгч байгаа гэж бодож байна.

Python нь үнэгүй ашиглах боломжтой олон тооны номын санг санал болгодог, гэхдээ би энэ төсөлд зөвхөн tkinter болон цуваа ашигладаг. Tkinter нь GUI (График хэрэглэгчийн интерфэйс) болон сериалын хувьд сериал холболтод ашиглагддаг.

Энэ код нь хамгийн бага утга нь 0 ба хамгийн ихдээ 180 байх ёстой 4 гулсагчтай GUI -ийг бий болгодог. Энэ нь градусаар хийгдсэн бөгөөд гулсагч бүр нэг servo -ийг удирдахаар програмчлагдсан байдаг. Энэ програм нь маш энгийн - энэ нь үнэ цэнийг аваад arduino руу илгээдэг. Гэхдээ илгээх арга нь сонирхолтой юм. Хэрэв та анхны servo -ийн утгыг 123 градус болгож өөрчлөхийг сонговол arduino 1123 руу илгээнэ. Илгээсэн дугаар бүрийн эхний дугаар нь аль servo -ийг хянах гэж байгааг хэлж өгнө. Arduino нь үүнийг тайлж, зөв servo -ийг зөөх кодтой.

Алхам 9: эд ангиудын жагсаалт

Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
  • Arduino Pro Mini 1 ширхэг
  • Servo FS5106B 1 ширхэг
  • Servo Futaba S3003 2 ширхэг
  • Толгой 2x5 1 ширхэг
  • Толгой 1x3 6 ширхэг
  • Конденсатор 220uF 3 ширхэг
  • Micro Servo FS90 1 ширхэг
  • AWP-10 холбогч 2 ширхэг
  • Холбогч FC681492 1 ширхэг
  • P-B100G1 шилжүүлэгч 1 ширхэг
  • 2х14 хэмжээтэй залгуур 1 ширхэг
  • TTL-232R-5v-хөрвүүлэгч 1 ширхэг
  • Потенциометр B200K 4 ширхэг
  • болон бусад олон эрэг, дэвсгэр, самар

Алхам 10: Эцсийн бодол

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

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