Мазмұны:
- 1 -қадам: бөлшектер тізімі
- 2 -қадам: шассиді жинау
- 3 -қадам: электроника
- 4 -қадам: барлық бөлшектерді біріктіру
- 5 -қадам: Бағдарламалау
- 6 -қадам: фотосуреттер
Бейне: 1KG Sumobot Build: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл нұсқаулық сізге 1 килограмдық сумоботты құрастыру мен құрастыру процесін жүргізуге көмектеседі.
Алдымен, мен мұны не үшін жазуға шешім қабылдағаным туралы аздап мәлімет беремін. Мен ескі сумоботымды жарысқа жөндеймін деп ойлаймын, мен ешқашан сумобот жасау туралы нұсқаулық жасамағанымды түсіндім. Мен өткен жылы Instructables бағдарламасында үндемедім, сондықтан мен осы нұсқаулықпен 1кг сомоботты қалай жасау керектігін білемін деп шештім.
Біріншіден, сіздердің көпшілігіңіз: сумобот деген не?
Негізінде, сумобот-бұл сумобот немесе робот-сумо жарыстарында қолданылатын робот түрі. Аты айтып тұрғандай, мақсат - сумо күресіндегідей бір -бірін рингтен ығыстыру. Сумоботтың өзі басқа сумоботты рингтен шығару үшін ғана жасалған. Бұл нұсқаулықтағы сумобот - 1 килограмм. Алайда 500 грамм мен 3 келі сияқты басқа салмақ дәрежелері бар.
Қажетті дағдылар:
- CAD (компьютерлік дизайн) туралы білу
- Дәнекерлеу
- Arduino бағдарламалау
Бұл жоба үшін көп дағды қажет емес. АЖЖ -мен ыңғайлы болу, дәнекерлеу және бағдарламалау ұзақ жолға түседі. Компьютермен жұмыс жасайтын күрделі дизайн қалай естілетініне таң қалмаңыз. Autodesk жеке бағдарламалық жасақтамада ақысыз толық оқулықтар ұсынады (мен Fusion 360 -ты өзім қолданамын) және бұл арқанды үйренушіге өте пайдалы. Мен үшін ең бастысы - білімге дайындық пен дайындық, және, әрине, бұл жолда көңілді болу.
Осымен бастайық.
P. S. Мен сондай -ақ осы нұсқаулыққа Make it Move байқауына қатысамын. Егер сіз бұл нұсқаулықты керемет деп тапсаңыз, маған дауыс беріңіз. (Мен футболканы алғым келеді, бұл өте керемет көрінеді:))
1 -қадам: бөлшектер тізімі
Бөлшектер тізімі:
0,090 «6061 алюминий парағы - 12» х 12 «(немесе кез келген 0,090 дюйм/2,2 мм алюминий парағы, ол CNC -ге сәйкес келеді. Мен 6061 -ді таңдадым, себебі бұл негізгі корпус үшін қолданылады, ал 6061 беріктігі жеткілікті)
0,5 мм алюминий табақ - 12 дюйм 12 дюйм (кез келген қорытпа жұмыс істейді; бұл тек жоғарғы қақпақ пен жүзге арналған. Мен қосалқы алюминий қалдықтарын қолдандым)
5 мм алюминий парағы (Тағы да кез келген қорытпа жұмыс істейді. Менікі 7075 алюминий қалдықтары болды.)
2х12В тұрақты токтың жоғары моментті қозғалтқышы (кез келген жоғары моментті қозғалтқыш жұмыс істейді, мысалы, Amazon -дан).
2 x дөңгелекті дөңгелек (Тағы да, сіздің қозғалтқышыңызға байланысты кез келген дөңгелек жұмыс істейтін болады. Егер сізде 5 мм қозғалтқыш білігі болса, бұл дөңгелектер жақсы жұмыс істейді. Менікі - бұл менде болған ескі силикон дөңгелектер)
4 ИҚ қашықтық датчиктері (мен Sharp IR қашықтық сенсорларын қолданамын, оларды бірнеше дүкендерден сатып алуға болады, мысалы, Pololu және Sparkfun.)
2 IR сенсоры (мен мұнда тағы Sparkfun -дан алдым.)
1 Микроконтроллер тақтасы (мен ATX2 -ді қажет болғандықтан қолданамын. Кәдімгі Arduino Uno оны қолданудың қарапайымдылығы үшін жақсы болар еді).
1 3S литий полимерлі батарея (LiPo. 3S LiPos - 12 вольт. Сыйымдылығы 800 -ден 1400 мах -қа дейінгі кез келген жерде жұмыс істейтін болады.)
1 Мотор драйвері (тағы да, бұл сіздің қозғалтқышыңыздың қанша қуат алатынына байланысты. Бұл тікелей Arduino Uno -ның үстіне түседі және 5А дейін токты қамтамасыз ете алады.)
Сымдар, кабельдер мен қосқыштар (сенсорларды тақтаға қосу үшін және ноутбукпен интерфейс үшін.)
М3 бұрандалар мен гайкалар
Эпоксидті
Картон
Ноутбук (тақтаны бағдарламалау үшін)
Қайшылар, сым тазартқыштар мен дәнекерлегіш сияқты құралдар.
2 -қадам: шассиді жинау
Мен шассиді жобалау үшін бір бұлтпен жұмыс істейтін 3D CAD/CAM Fusion 360 бағдарламалық жасақтамасын қолдандым. Autodesk мұнда әдемі оқулықтар ұсынады. Мен көбінесе бейнелерді қарап, содан кейін өзім жасауға тырысудан үйрендім. Мен сізге Fusion 360 қолдануды үйретпеймін; Мен кәсіпқойларға өз істерімен айналысуға рұқсат беремін.
Дизайн бір негізгі негізден, бір пышақтан, бір жоғарғы қақпақтан, екі қозғалтқыш кронштейннен және екі (немесе төрт) 3D басып шығарылған жақшадан тұрады. Негізгі негіз - 2,2 мм алюминий, мотор кронштейндері - 5 мм алюминий, пышақ - 0,5 мм алюминий, жоғарғы қақпақ - 0,5 мм алюминий немесе қарапайым картон. Мен картонды қолдандым, себебі алюминийдің салмағы бірнеше граммға көп болды, мен 1 килограмнан 10 граммға асып кеттім. Екінші жағынан, 3D басып шығарылған жақшалар 50% толтыруда ABS көмегімен басылады.
Алюминийді қажет ететін конструкциялар.dxf файлдарына экспортталды және Филиппиндегі жергілікті лазерлік кесу компаниясына жіберілді. 3D басып шығарылған бөлшектер STL -ге экспортталды және қайтадан жергілікті 3D басып шығару компаниясына жіберілді.
Жауапкершіліктен бас тарту: Мен жұмыс істемейтін ескі сумоботымды қайта қолдандым, бірақ бұл дизайнды қолданады, сондықтан кейбір бөлшектер фотосуреттерде жинақталған. Мен сізге барлық бөлшектерді жинау процесін көрсетемін.
Бөлшектерді кесіп алғаннан кейін сіз жоғарғы қақпақтан, тірек пен пышақтан немесе мотор кронштейнінен бастай аласыз.
Дизайндағы жоғарғы қақпақ алюминийден жасалған, бірақ салмақ шектеулеріне байланысты мен картон қолдандым. Мен картонды дизайндағыдай ерекшеліктермен кесемін.
3D басып шығарылған кронштейн бұрандалардың көмегімен бекітілген және жүзді бекіту үшін қолданылады. Пышақ эпоксидті негізге бекітілген. Пышақ пен негізгі негіздегі бұрандалы тесіктер орналасуды бағыттау үшін және оның бір -біріне дәл қосылғанына көз жеткізу үшін қолданылады. Негізгі негізде пышақты негізгі негізге жабыстыру үшін эпоксидті толтыруға болатын дөңгелек тесіктер бар. Саңылаулардың үлкен беткі қабаты эпоксидті пышақты жақсы ұстауға және оның табаннан жырылып кетуіне жол бермеуге мүмкіндік береді. Сонымен қатар, IR сенсоры суреттегідей эпоксидті пышақтың түбіне жабыстырылуы мүмкін. Сенсордың төменгі жағы еденге перпендикуляр екеніне көз жеткізіңіз.
Қозғалтқышты негізге бекіту үшін алдымен моторды кронштейнге бұраңыз. Бірақ алдымен сымдарды қозғалтқышқа дәнекерлеу керек, себебі электр сымдары қозғалтқыштың артқы жағында орналасқан және негізге бекітілгеннен кейін оларға жету қиын болады. Қозғалтқыш қозғалтқыш кронштейнімен түзеледі және бұрандалармен бекітіледі. Яғни, егер сізде қозғалтқыш болса, мен оны бөлшектер тізіміне енгіздім. Олай болмаған жағдайда, дизайнды қозғалтқышқа сәйкес өзгертуге болады. Сонымен қатар, дөңгелектің жиегін қозғалтқышқа бекітуге болады. Содан кейін қозғалтқыш кронштейні негізгі негіздің артқы тесіктеріне бекітіледі.
Егер сіз Arduino -ның үстіне шыға алмайтын мотор драйверін қолдансаңыз немесе қандай да бір себептермен қозғалтқыштың өз аймағы болуы керек болса, онда қозғалтқыштар мен пышақ арасында бос орын бар. Бұл орын липо аккумуляторы мен мотор жүргізушісі үшін бөлінген, егер сізге қосымша орын қажет болса. Біз қазірдің өзінде роботтың төменгі бөлігінде жұмыс істеп жатырмыз және жоғарғы қақпақ бекітілгеннен кейін оған кіру қиынға соғады, сіз фотосуреттердегідей мотор драйверін пышақ пен қозғалтқыштардың арасына орналастыра аласыз. Екі жақты таспа оны негізге бекітуге көмектеседі.
3 -қадам: электроника
Одан кейін датчиктер, мотор драйвері және тақта сияқты электроника бар.
Егер сіз қайтадан Arduino -ның үстіне шықпайтын мотор драйверін қолдансаңыз, оны микроконтроллермен байланыстыру үшін қажет сымдарды жалғауды бастаңыз. Мотор жүргізушісі үшін маған сигнал (көк) және жерге қосылған (қара) сым қажет. Бұл жүргізушінің өзіне байланысты. Барлық драйверлерге батареяға немесе қуат көзіне қосылатын сымдар қажет. Менің XT-60-қа бекітілген сымдар (көптеген липо батареяларындағы штепсельдік ұштар) тым қалың болды, сондықтан мен оларды тар коннекторлық блоктарға сай етіп кесуге тура келді.
Менің микроконтроллерім де мотор драйверлерімен бірдей қуат көзін бөліседі, сондықтан мен сымдарды мотор драйверлеріндегі XT-60 қосқышының сымдарына тікелей дәнекерлеуім керек болды.
Қандай сенсорға байланысты инфрақызыл сенсорлардың өздеріне түйреуіштер дәнекерленген болуы қажет болуы мүмкін. Егер сіз оларды сатып алсаңыз, олар әдетте пакетке кіреді, сондықтан оларды қажет болған жағдайда дәнекерлеңіз.
Мен сияқты микроконтроллерді сенсорларға қосу үшін сымдарды бірге дәнекерлеу қажет болуы мүмкін. Сенсордың өзіндік қосқышы бар; кейбіреулер JST, ал кейбіреулері серво тақырыптарын пайдаланады. Кәдімгі Arduino көмегімен сіз өтпелі кабельдерді Arduino -ға жабыстыра аласыз, содан кейін кабельдің екінші ұшын сенсордан шығатын кабельге дәнекерлей аласыз. Процесс басқа микроконтроллерлермен бірдей жұмыс істейді. Микроконтроллерден келетін сымдар сенсордан келетін сымдарға дәнекерленген.
4 -қадам: барлық бөлшектерді біріктіру
Датчиктер мен микроконтроллер жоғарғы тақтада орналасқан. Мен IR контроллерін микроконтроллерден жоғары көтеру үшін бірнеше картонға орнаттым, себебі сенсордың артындағы сымдар микроконтроллермен соқтығысады. Фотосуретте тек үш сенсор бар екеніне назар аударыңыз. Тек соңғы сәтте мен роботтың артына төртінші қашықтық сенсорын қосуды шештім. Өкінішке орай, бос орын болмады, сондықтан мен оны мотордың артында, негізгі базаның өзіне бекітуге тура келді.
Содан кейін микроконтроллер жоғарғы тақтаға бекітіледі. Қатты ештеңе жоқ; Мен жай ғана картоннан тесіктерді тесіп, тақтаны үстіңгі тақтайға бұрап алдым. Егер сіз алюминийді қолдансаңыз, қолмен бұрғылау қажет болады.
Барлығы үстіңгі тақтаға бекітілгеннен кейін, оны қозғалтқыштардың жоғарғы бөлігіне жабыстыру үшін екі жақты таспаны қолданыңыз.
Осы сәтте сенсорлар мен мотор драйверін микроконтроллерге қосу сияқты барлық электрониканы қосуды бастауға болады. Егер сіз мотор драйверін қолдансаңыз, ол Arduino -ның жоғарғы жағына жабысады, бұл сізге қиындық тудырмайды. Егер олай болмаса, онда сіз жүргізушінің сипаттамасына сәйкес тақтаға дәл мен істегендей сыммен жалғауыңыз керек.
Барлығы сым қосылғаннан кейін, липоны мотор мен пышақ арасындағы төменгі бос орынға қойыңыз, содан кейін микроконтроллер мен драйверлерді бірінші рет жанғанын көру үшін қосыңыз.
5 -қадам: Бағдарламалау
Барлығы жиналғаннан кейін, соңғы нәрсені жасау керек: роботты бағдарламалау.
Роботты бағдарламалау сізге қажет стратегияға байланысты. Мен мұнда сіз бағдарламалауды білесіз деп ойлаймын, себебі менің драйверім сериялық (UART) байланысты пайдаланады, сондықтан менің бағдарламам басқа мотор драйверлері үшін жұмыс істемейді. Ақыр соңында, бағдарламалауға сәйкес келетін өлшем жоқ.
Сізге көмектесу үшін менің бағдарламамның негізгі схемасы.
егер жақын жерде біреу болса, солға немесе оңға түс сенсоры ақ сызықты анықтаса, артқа қарай бұрылыңыз, содан кейін артқа қарай бұрылыңыз, егер солға немесе оңға қарай сенсор бірдеңе анықтаса, артқа сенсор бірдеңені анықтаса, солға бұрылыңыз. алда, алға қарай жүр, алға қарай жүр
Міне, сізді қызықтыратын бағдарлама:
#қосу
// A5 - сол түсті сенсор // A4 - оң түсті сенсор // A6 - артқы қашықтық сенсоры // A2 - сол жақ қашықтық сенсоры // A3 - оң қашықтық сенсоры // A1 - алдыңғы қашықтық сенсоры // қозғалтқыш 1 - оң жақ // 2 -қозғалтқыш - сол жақ бос орынды орнату () {uart1_set_baud (9600); Serial1.write (64); Serial1.write (192); ЖАРАЙДЫ МА(); дыбыстық сигнал (2); setTextColor (GLCD_BLUE); glcd (1, 0, «Басталған»); кешіктіру (4900); }
void loop () {
int frontDistanceValue = analogRead (A1); int leftDistanceValue = analogRead (A2); int rightDistanceValue = analogRead (A3); int rearDistanceValue = analogRead (A6); int leftColorValue = digitalRead (A5); int rightColorValue = digitalRead (A4); if (frontDistanceValue> 250) {// алдында біреу, максималды қуат Serial1.write (127); Serial1.write (128); } else if (leftColorValue == 0) {// жанасқан жиек // кері Serial1.write (1); Serial1.write (255); кешіктіру (400); Serial1.write (1); Serial1.write (128); кешіктіру (300); } else if (rightColorValue == 0) {// жанасқан жиек // кері Serial1.write (1); Serial1.write (255); кешіктіру (400); Serial1.write (127); Serial1.write (255); кешіктіру (300); } else if (frontDistanceValue> 230) {// біршама алыс Serial1.write (127); Serial1.write (128); } else if (leftDistanceValue> 250) {// солға бұру Serial1.write (127); Serial1.write (255); кешіктіру (450); } else if (rightDistanceValue> 250) {// оңға бұру Serial1.write (1); Serial1.write (128); кешіктіру (450); } else if (rearDistanceValue> 150) {// жақын Serial1.write (1); Serial1.write (128); кешіктіру (1050); } else if (frontDistanceValue> 180) {// алыста Serial1.write (127); Serial1.write (128); } else {Serial1.write (100); Serial1.write (155); }}
6 -қадам: фотосуреттер
Аяқталған сумоботтың бірнеше фотосуреттері көрсетілген.
Сіз бұл нұсқаулықтан бір нәрсе үйрендіңіз деп үміттенемін. Егер сізге бұл нұсқаулық ұнайтын болса, маған оны жылжыту байқауында дауыс беріңіз. Олай болмаған жағдайда, мен бұл нұсқаулықты жақсартатын нәрсені түзетуге қуаныштымын.
Бақытты оқу!
Ұсынылған:
Lazy 7 / Quick Build Edition: 8 қадам (суреттермен)
Lazy 7 / Quick Build Edition: Иә. Тағы біреуі. Мен Thingiverse -ге енгізген ақпаратты осында көшіремін/қоямын, бұл құжат тек жолақты бағыттау үшін қажет. Жақында мен 7 сегментті сағатты - Small Printers Edition шығарды, бізде 7 сегменттің алғашқы дисплейі болды
Tube Amp Build үшін әмбебап ПХД сериясы: 5 қадам
Tube Amp Build үшін әмбебап ПХД сериясы: құбырлы схемалар электрониканы дамытуда шешуші қадам болды. Көптеген аудандарда олар арзан, кіші және тиімдірек қатты технологиялармен салыстырғанда мүлде ескірген. Дыбысты қоспағанда - репродукция да
Тамаша!! DIY Mini Bluetooth динамигі BoomBox Build Dayton Audio ND65-4 & ND65PR: 18 қадам
Тамаша!! DIY Mini Bluetooth динамигі BoomBox Build Dayton Audio ND65-4 & ND65PR: Міне тағы біреу. Мен ND65-4 және пассивті ағайынды ND65PR-мен бірге баруды шештім. Маған кішкене 1-дюймдік динамиктің жасалғаны ұнайды, мен 2,5 дюймдік динамиктермен үлкенірек шығарғым келді. Маған шынымен ұнайды
10 ватт Jazz Tube Amp Build: 8 қадам
10 ватт Jazz Tube Amp Build: Вакуумды түтік джаз күшейткішін жасау процесін құжаттау. Мұның бәрі қалай төмендейтіні туралы түсінік беру
Sumobot -тен кейінгі жолды қалай кодтау керек: 4 қадам
Sumobot -тен кейінгі сызықты қалай кодтау керек: Мен осы нұсқаулықта Parabax -тан Sumobot -ты бір қара жолмен жүру үшін кодтауға болатын процесті егжей -тегжейлі айтатын боламын