Мазмұны:

Rubics Cube Solver Bot: 5 қадам (суреттермен)
Rubics Cube Solver Bot: 5 қадам (суреттермен)

Бейне: Rubics Cube Solver Bot: 5 қадам (суреттермен)

Бейне: Rubics Cube Solver Bot: 5 қадам (суреттермен)
Бейне: 0.38 Second Rubik's Cube Solve 2024, Желтоқсан
Anonim
Rubics Cube Solver Bot
Rubics Cube Solver Bot

Физикалық Рубик текшесін шешетін автономды робот жасау. Бұл робототехника клубы, IIT Guwahati астындағы жоба.

Ол оңай табуға болатын қарапайым материалдан жасалған. Негізінен біз оларды басқару үшін Servo қозғалтқыштары мен Arduino, акрил парақтары, сынған Mini Drafter, L қысқыштар мен қос таспаларды қолдандық!

Текшені шешу алгоритмін алу үшін біз github -дан cubejs кітапханасын қолдандық.

1 -қадам: Қолданылатын материалдар

Қолданылатын материалдар
Қолданылатын материалдар
  1. 6 Серво қозғалтқыштары
  2. Ардуино Уно
  3. 3 ұялы LiPo батареясы
  4. Акрил парағы (қалыңдығы 8 мм және 5 мм)
  5. Жылу тапаншасы (
  6. Бұрғылау машинасы
  7. Hacksaw
  8. L қысқыштары
  9. Алюминий жолақтар
  10. Шағын тартқыш/ металл штангалар
  11. Қос таспа
  12. Fevi Quick
  13. Гайка болттары
  14. Өткізгіш сымдар

2 -қадам: Механикалық құрылымды дайындау

Механикалық құрылымды дайындау
Механикалық құрылымды дайындау
Механикалық құрылымды дайындау
Механикалық құрылымды дайындау

Негізгі кадр

  • Қалыңдығы 8 мм болатын акрил парағын шамамен 50 см * 50 см алыңыз және барлық жағының ортасын белгілеңіз (бұл сіздің роботтың негізі болады).
  • Сынған сызғышты алыңыз және одан 4 болат шыбықты алыңыз.. (бұл өзектер сіздің жүгірткіңіздің жолы болады).
  • Акрилдің төртбұрышты екі бөлігіне (кез келген мөлшерде) бір -біріне параллель екі штанганы бекітіп, осы жиынның екі жұбын жасаңыз.
  • Содан кейін, сырғытпаны жасау үшін, акрилдің екі кішкене бөлігін бір -бірінің арасына төрт бұрышында бір -бірінің үстіне қойып, оларды болттармен бекітіңіз. Сізге осындай 4 жүгірткі қажет болады.
  • Сырғытпаның екі бөлігін бекітпес бұрын, олардың арасына бұрын бекітілген параллель шыбықтарды өткізгіштердің сыртқы бетіне тигізетін етіп өткізіңіз.
  • Әр жұп параллель шыбықтар үшін оларға екі жүгірткі өтеді.
  • Бұл дайын болғаннан кейін, 90 градус крест түрінде жұп шыбықтарды орналастырыңыз. Кресттің әр жағында бір жүгірткі бар екеніне көз жеткізіңіз.
  • Енді бұл қиылысқан жолды роботтың негізіне негізден біршама биіктікте бекіту керек. (Биіктіктің серво қозғалтқышының биіктігінен үлкен екеніне көз жеткізіңіз)

    Ол үшін акрил бекітпелерін біз сияқты қысқыштармен қолдануға болады немесе кез келген басқа әдіс жеткілікті

Осыдан кейін сіздің құрылымыңыз суретке ұқсас болуы керек.

Негізгі сервоприводтарды бекіту

  • Екі базалық серво сервво кресттің астынан төмен және ортасынан ығысатындай етіп бекітілуі керек.
  • Серво көлденең күйде перфорацияланған кремний пластинасына ұзын болттардың көмегімен бекітіледі, ол өз кезегінде негізге L-қысқышпен және екі жақты таспамен бекітіледі.

Итергіш штангаларды жасау

  • Серво бұрышын нөлге орнатыңыз және серваның рокер тұтқасын қолайлы жерге бекітіңіз.
  • Сырғытпа қашықтығын ең жақын күйде бағалау үшін текшені кресттің ортасына қойыңыз және сырғытпаларды сол орындарға қойыңыз.
  • Қос лента көмегімен әр сырғытқыштың төменгі бөлігінде L пішінді алюминий жолақтарын бекітіңіз.
  • Енді әрбір алюминий жолағының серво-рокердің жазықтығында орналасқан жоғарғы немесе төменгі арақашықтығын өлшеу үшін бұл сіздің итергіш штанганың ұзындығы болады.
  • Ұзындықтар анықталғаннан кейін итергіш таяқшаны алюминий жолағын бұрғылау арқылы бекітуге болады.

Жоғарғы серводы орнату

  • Текше шешілетін биіктікті шешіңіз. Серво қозғалтқышының осі осы биіктікте болуы керек.
  • Төрт серво қозғалтқышын болттарды тік күйде перфорацияланған кремний пластинасына бекітіңіз.
  • Вафель енді L-тәрізді алюминий жолағына орнатылады, оның негізі жүгірткіге тиісті биіктікте бекітіледі, осылайша серво осі текше ортасында болады.

С тырнақтары

  • Тырнақтар текшенің бір жағына дәл сәйкес келуі керек, ал жоғарғы және төменгі бөліктерінің ұзындығы текшенің бүйірінен аспауы керек.
  • Ол үшін жеткілікті қалыңдықтағы акрил жолағын алып, қыздырыңыз. Қайта пішін ерігеннен кейін ол текше жағын дәл ұстап алатындай С пішінді қысқыш құрайды.
  • C-тырнақтың ортасын белгілеңіз және осы қысқышты оның ортасындағы серво рокеріне бекітіңіз.

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

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

3 -қадам: тізбекті қосылымдар

Схемалық қосылыстар
Схемалық қосылыстар

Ботты басқару үшін біз Arduino, кернеу реттегіші және 3 ұялы (12в) LiPo батареясын қолдандық.

Серво қозғалтқыштары көп қуат алатындықтан, біз әр қозғалтқыш үшін біреуден 6 кернеу реттегішін қолдандық.

Қозғалтқыштардың сигналдық кірістері (үшеуінің ең ашық түсті сымы) Arduino 3, 5, 6, 9, 10, 11 цифрлық PWM түйреуіштеріне қосылды.

Кернеу реттегіші тақтаға қосылып, 12 вольтты аккумулятордан қуат алды. Шығу (5В) көзі қозғалтқыштарға тікелей берілді. Қозғалтқыштардың жері де тақтаға қосылды. Ардуиноға ортақ негіз бекітілді.

4 -қадам:

Image
Image

5 -қадам: код:

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

Бірінші файлда негізгі функция және басқа айнымалы анықтамалар бар. Екінші файлда текшені шешуде қолданылатын әр қозғалысқа арналған функциялар бар (мысалы, «сағат тілімен жоғары қарату» үшін U; «оң жақ сағат тіліне қарсы қозғалыс» үшін R1 және т.б.).

Текшені шешу алгоритмін алу үшін біз github -дан cubejs кітапханасын қолдандық.

Алгоритм тікелей Arduino кодымен аяқталған «бет қозғалыстарында» нәтиже береді.

Ұсынылған: