Სარჩევი:

Q -Bot - ღია წყარო Rubik's Cube Solver: 7 ნაბიჯი (სურათებით)
Q -Bot - ღია წყარო Rubik's Cube Solver: 7 ნაბიჯი (სურათებით)

ვიდეო: Q -Bot - ღია წყარო Rubik's Cube Solver: 7 ნაბიჯი (სურათებით)

ვიდეო: Q -Bot - ღია წყარო Rubik's Cube Solver: 7 ნაბიჯი (სურათებით)
ვიდეო: EBE OLie 57a) Reptilians, Spiral, Pyramids,Timelines - Subtitles cc,- 2022-10-18 2024, ივლისი
Anonim
Image
Image
გამოსახულება
გამოსახულება

წარმოიდგინეთ, რომ თქვენ გაქვთ რუბიკის კუბი, თქვენ იცით, რომ 80 -იანი წლების თავსატეხი ყველას აქვს, მაგრამ არავინ იცის როგორ გადაჭრას და თქვენ გინდათ დააბრუნოთ იგი პირვანდელ ფორმაში. საბედნიეროდ ამ დღეებში ძალიან ადვილია გადაჭრის ინსტრუქციების პოვნა. ასე რომ, გადადით ინტერნეტში და უყურეთ ვიდეოს, ისწავლეთ როგორ გადაუხვიოთ გვერდები, რათა სიხარული მოგანიჭოთ. რამდენჯერმე ამის გაკეთების შემდეგ, თქვენ მიხვდებით, რომ რაღაც აკლია. შიგნით ხვრელი, რომლის შევსება შეუძლებელია. თქვენს შიგნით ინჟინრები/შემქმნელი/ჰაკერები უბრალოდ ვერ დაკმაყოფილდებიან ამგვარი საოცარი რაღაცის გადაჭრით ასე მარტივად. არ იქნება ბევრად უფრო პოეტური, რომ გქონდეთ მანქანა, რომელიც ყველაფერს გადაწყვეტს თქვენთვის? შენ რომ ააშენო რამე, ყველა შენი მეგობარი გაოცებული იქნებოდა? მე შემიძლია გარანტიას გაძლევთ, რომ ეს არ იქნება ბევრად უკეთესი ვიდრე თქვენი შემოქმედების ყურება სასწაულების მოხდენა და რუბიკის კუბის ამოხსნა. ასე რომ, მოდი და შემომიერთდი Q-Bot– ის მშენებლობის მშვენიერ მოგზაურობაში, ღია წყაროს Rubik's Cube Solver, რომელიც რა თქმა უნდა არ დაამარცხებს მსოფლიო რეკორდებს, მაგრამ მოგცემთ სიხარულის საათებს (რა თქმა უნდა, ყველა იმედგაცრუების გადალახვის შემდეგ) მშენებლობის პროცესში).

ნაბიჯი 1: აპარატურის დიზაინი

სრული გამხსნელი შეიქმნა CAD– ით კატაში. ამ გზით დიზაინის შეცდომების უმეტესობა შეიძლება მოიძებნოს და გამოსწორდეს ნებისმიერი ფიზიკური კომპონენტის წარმოებამდე. ამონახსნის უმეტესობა იყო 3D დაბეჭდილი PLA– ში prusa MK3 პრინტერის გამოყენებით. გარდა ამისა, გამოყენებული იქნა შემდეგი ტექნიკა:

  • 8 ცალი 8 მმ ალუმინის ჯოხი (სიგრძე 10 სმ)
  • 8 ხაზოვანი ბურთი საკისრები (LM8UU)
  • ცოტა ნაკლები 2 მ GT2 6 მმ ქამარი ქამარი + რამოდენიმე ბორბალი
  • 6 NEMA 17 ბიპოლარული სტეპერიანი ძრავა
  • 6 Polulu 4988 სტეპერი დრაივერი
  • არუდინო მეგა, როგორც პროექტის მაკონტროლებელი
  • 12 V 3A კვების ბლოკი
  • ნაბიჯი ქვემოთ გადამყვანი უსაფრთხოდ ელექტროენერგიის arduino
  • რამდენიმე ხრახნი და კონექტორი
  • პლაივუდი ბაზისთვის

აპარატურის აღწერა

ეს ნაწილი მოკლედ მოიცავს როგორ მუშაობს Q-Bot და სად გამოიყენება ზემოთ ჩამოთვლილი კომპონენტები. ქვემოთ შეგიძლიათ იხილოთ სრულად აწყობილი CAD მოდელის რენდერი.

Q-bot მუშაობს იმით, რომ ოთხი ძრავა მიმაგრებულია უშუალოდ რუბიკის კუბიკზე 3D ბეჭდვით სახელურებით. ეს ნიშნავს, რომ მარცხნივ, მარჯვნივ, წინ და უკან შეიძლება პირდაპირ მოტრიალდეს. თუ ზედა ან ქვედა მხარე უნდა გადაბრუნდეს, მთელი კუბი უნდა გადაბრუნდეს და ასე რომ ორი ძრავა უნდა გადაადგილდეს. ეს კეთდება თითოეული მომჭერი ძრავის მიმაგრებით სასწავლებელზე, რომელიც მოძრაობს სხვა სტეპერიანი ძრავით და დროის სარტყელი ხაზოვანი სარკინიგზო სისტემის გასწვრივ. სარკინიგზო სისტემა შედგება ორი 8 ბურთიანი საკისრისგან, რომლებიც დამონტაჟებულია სასწავლებელში და მთელი სასრიალებელი მიემართება ორ 8 მმ ალუმინის შახტზე. ქვემოთ შეგიძლიათ ნახოთ გამხსნელის ერთი ღერძის ქვე -შეკრება.

X- და y ღერძი ძირითადად იდენტურია, ისინი განსხვავდებიან მხოლოდ ქამრის სამონტაჟო წერტილის სიმაღლეში, ეს ხდება ისე, რომ სრულად აწყობისას არ მოხდეს შეჯახება ორ სარტყელს შორის.

გამოსახულება
გამოსახულება

ნაბიჯი 2: სწორი ძრავების არჩევა

რა თქმა უნდა, სწორი ძრავების შერჩევა აქ ძალიან მნიშვნელოვანია. მთავარი ნაწილი ის არის, რომ ისინი უნდა იყვნენ საკმარისად ძლიერი, რომ შეძლონ რუბიკის კუბის გადაბრუნება. აქ ერთადერთი პრობლემა ის არის, რომ რუბიკის კუბების არცერთი მწარმოებელი არ იძლევა ბრუნვის ნიშანს. ასე რომ, მომიწია იმპროვიზაცია და საკუთარი გაზომვების გაკეთება.

ზოგადად ბრუნვის მომენტი განისაზღვრება ძალით მიმართული ბრუნვის წერტილის პოზიციის მიმართ r მანძილზე:

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

ასე რომ, თუ შემეძლო როგორმე გავზომოთ ძალა, რომელიც კუბს ეკუთვნის, შემიძლია გამოვთვალო ბრუნვის მომენტი. რაც ზუსტად მე გავაკეთე. ჩემი კუბი თაროზე ისე დავაჭირე, რომ მხოლოდ ერთ მხარეს შეეძლო გადაადგილება. რომ სიმები კუბის ირგვლივ იყო მიბმული და ჩანთა ბოლოში იყო მიმაგრებული. ახლა მხოლოდ ის დარჩა, რომ ნელ -ნელა გაეზარდა წონა ტომარაში, სანამ კუბი არ ბრუნდებოდა. ზუსტი წონის არარსებობის გამო გამოვიყენე კარტოფილი და შემდგომ გავზომე. ეს არ არის ყველაზე მეცნიერული მეთოდი, მაგრამ რადგან მე არ ვცდილობ მინიმალური ბრუნვის პოვნას, ეს საკმაოდ საკმარისია.

გამოსახულება
გამოსახულება

მე სამჯერ გავაკეთე გაზომვები და მივიღე უმაღლესი ღირებულება მხოლოდ იმისათვის, რომ ვიყო უსაფრთხო. შედეგად მიღებული წონა იყო 0.52 კგ. სერ ისააკ ნიუტონის გამო ჩვენ ვიცით, რომ ძალა უდრის მასის გამრავლებას.

გამოსახულება
გამოსახულება

აჩქარება, ამ შემთხვევაში, არის გრავიტაციული აჩქარება. ასე რომ, საჭირო ბრუნვის მომენტი მოცემულია

გამოსახულება
გამოსახულება

ყველა ღირებულების ჩართვა, მათ შორის რუბიკის კუბის დიაგონალის ნახევარი, საბოლოოდ ავლენს საჭირო ბრუნვის მომენტს.

გამოსახულება
გამოსახულება

მე დავდიოდი სტეპერიანი ძრავით, რომელსაც შეუძლია გამოიყენოს 0.4 ნმ -მდე, რაც, ალბათ, ზედმეტია, მაგრამ მინდოდა უსაფრთხოდ ვიყო.

ნაბიჯი 3: ბაზის მშენებლობა

ბაზა შედგება ძალიან მარტივი ხის ყუთისაგან და მასში განთავსებულია ყველა საჭირო ელექტრონიკა. მას აქვს დანამატი აპარატის ჩართვისა და გამორთვისთვის, LED, რომელიც მიუთითებს თუ არა ის ჩართული, USB B პორტი და სოკეტი კვების ბლოკის შესაერთებლად. იგი აშენდა 15 მმ პლაივუდის, ხრახნების და ცოტა წებოს გამოყენებით.

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

ნაბიჯი 4: აპარატურის აწყობა

ახლა ყველა საჭირო ნაწილთან ერთად, ბაზის ჩათვლით, Q-bot მზად იყო ასაწყობად. საბაჟო ნაწილები იყო 3D დაბეჭდილი და მორგებული საჭიროებისამებრ. თქვენ შეგიძლიათ ჩამოტვირთოთ ყველა CAD ფაილი ამ იბლის ბოლოს. ასამბლეა მოიცავდა 3D ბეჭდვის ყველა ნაწილის მორგებას ნაყიდი ნაწილებით, ძრავის კაბელების გაფართოებას და ყველა ნაწილის ხრახნს ბაზაზე. გარდა ამისა, საავტომობილო კაბელების გარშემო ვამაგრებ ყურსასმენებს, რომ ცოტა უფრო სუფთა გამოვიყურებოდე და მათ ბოლოებში დავამატე JST კონექტორები.

ჩემს მიერ აშენებული ბაზის მნიშვნელობის ხაზგასასმელად, აქ არის კადრი ადრე და შემდეგ, თუ როგორ გამოიყურებოდა ასამბლეა. ყველაფრის ოდნავ დალაგებას შეუძლია დიდი განსხვავება.

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

ნაბიჯი 5: ელექტრონიკა

რაც შეეხება ელექტრონიკას, პროექტი საკმაოდ მარტივია. არის მთავარი 12 ვ ელექტროენერგიის წყარო, რომელსაც შეუძლია 3 ა -მდე დენის მიწოდება, რაც ძრავებს ამარაგებს. შემდგომი მოდული გამოიყენება Arduino– ს უსაფრთხოდ დასაყენებლად და შეიქმნა Arduino– ს საბაჟო ფარი, რომელშიც განთავსებულია სტეპერიანი ძრავის ყველა მძღოლი. მძღოლები ძრავების კონტროლს ბევრად აადვილებენ. სტეპერიანი ძრავის მართვა მოითხოვს კონკრეტულ საკონტროლო თანმიმდევრობას, მაგრამ ძრავის დრაივერების გამოყენებით ჩვენ გვჭირდება მხოლოდ მაღალი პულსის გამომუშავება თითოეული ნაბიჯისათვის, რომლითაც ძრავა ბრუნდება. გარდა ამისა, რამდენიმე jst კონექტორი დაემატა ფარს, რათა ძრავების დაკავშირება გაადვილდეს. Arduino– ს ფარი მყარად იყო აგებული პერფორდის ნაჭერზე და მას შემდეგ რაც დარწმუნდით, რომ ყველაფერი მუშაობს ისე, როგორც უნდა ყოფილიყო, დამზადებულია jlc pcb– ის მიერ.

აქ არის პროტოტიპის და წარმოებული PCB– ის წინ და შემდგომ.

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

ნაბიჯი 6: პროგრამული უზრუნველყოფა და სერიული ინტერფეისი

Q-Bot იყოფა ორ ნაწილად. ერთის მხრივ არის ტექნიკა, რომელსაც აკონტროლებს არდუინო, მეორე მხრივ არის პროგრამული უზრუნველყოფა, რომელიც ითვლის კუბის გადაჭრის გზას მიმდინარე სკრიპლის საფუძველზე. არდუინოზე გაშვებული პროგრამული უზრუნველყოფა მე თვითონ დავწერე, მაგრამ იმისათვის, რომ ეს სახელმძღვანელო მოკლედ შევინარჩუნო, მე აქ არ შევალ რაიმე დეტალზე. თუ გსურთ შეხედოთ მას და ითამაშოთ მასთან ერთად, ჩემი git საცავის ბმული მოცემულია ამ დოკუმენტის ბოლოს. პროგრამული უზრუნველყოფა, რომელიც გამოთვლის გამოსავალს მუშაობს Windows მანქანაზე და დაწერა ჩემმა კოლეგამ, კვლავ ბმულები მის კოდზე შეგიძლიათ ნახოთ ამ სურათის ბოლოს. ორი ნაწილი ურთიერთობს მარტივი სერიული ინტერფეისის გამოყენებით. იგი ითვლის ხსნარს კოჩიემბას ორფაზიანი ალგორითმის საფუძველზე. ამოხსნის პროგრამული უზრუნველყოფა აგზავნის ბრძანებას, რომელიც შედგება ორი ბაიტისგან ამომხსნელს და ელოდება როდის დააბრუნებს მას 'ACK'. ამ გზით ამონახსნის გამოცდა და გამართვა შესაძლებელია მარტივი სერიული მონიტორის გამოყენებით. ინსტრუქციის სრული ნაკრები შეგიძლიათ იხილოთ ქვემოთ.

გამოსახულება
გამოსახულება

თითოეული ძრავის ერთი ნაბიჯის გადაქცევის ბრძანებები არის გამოსავალი პრობლემის გადასაჭრელად, როდესაც ზოგიერთი სტეპერი შემთხვევით ასრულებს მცირე ხტუნვას გაძლიერებისთანავე. ამის კომპენსაციისთვის ძრავები შეიძლება მორგებული იყოს საწყის პოზიციაზე გადაჭრის პროცესამდე.

ნაბიჯი 7: დასკვნა

რვა თვიანი განვითარების შემდეგ, გინება, კლავიატურაზე დარტყმა და Q-bot ცეკვა საბოლოოდ იყო იმ წერტილში, სადაც წარმატებით იქნა ამოხსნილი მისი პირველი რუბიკის კუბი. კუბის ჩხუბი ხელით უნდა ჩასმულიყო საკონტროლო პროგრამულ უზრუნველყოფაში, მაგრამ ყველაფერი კარგად მუშაობდა.

რამდენიმე კვირის შემდეგ დავამატე ვებკამერის საყრდენი და ჩემმა კოლეჯმა შეასრულა პროგრამული უზრუნველყოფა, რომ კუბი ავტომატურად წაიკითხა გადაღებული სურათებიდან. თუმცა, ეს ჯერ არ არის კარგად შემოწმებული და კვლავ საჭიროებს გარკვეულ გაუმჯობესებებს.

გამოსახულება
გამოსახულება

თუ ამ ინსტრუქციამ გამოიწვია თქვენი ინტერესი, ნუ დააყოვნებთ და დაიწყეთ Q-bot– ის საკუთარი ვერსიის შექმნა. ეს შეიძლება თავიდან დამაბრკოლებლად მოგეჩვენოთ, მაგრამ ძალიან ღირს ძალისხმევა და თუ მე შევძელი ამის გაკეთება, თქვენც შეგიძლიათ.

რესურსები:

პროგრამული უზრუნველყოფის წყაროს კოდი:

github.com/Axodarap/QBot_firmware

საკონტროლო პროგრამული უზრუნველყოფის წყაროს კოდი

github.com/waldhube16/Qbot_SW

გირჩევთ: