Სარჩევი:
- ნაბიჯი 1: სამეურვეო ადგილმდებარეობა შეიცვალა
- ნაბიჯი 2: შექმენით SnappyXO დიფერენციალური წამყვანი რობოტი
- ნაბიჯი 3: შეაერთეთ ელექტრონიკა
- ნაბიჯი 4: დააინსტალირეთ PreduiseMovement Arduino ბიბლიოთეკა
- ნაბიჯი 5: კოდი
- ნაბიჯი 6: როგორ მუშაობს
ვიდეო: SnappyXO ზუსტი მოძრავი რობოტი: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
გააკეთეთ თქვენი Arduino რობოტი პირდაპირ განსაზღვრული მანძილით ან გადაუხვიეთ განსაზღვრულ კუთხეს PreciseMovement Arduino ბიბლიოთეკის გამოყენებით.
რობოტს სჭირდება მოძრავი ბურთი ან ეკვივალენტი, რომ მინიმუმამდე დაიყვანოს ხახუნის გადახვევისას.
www.pololu.com/product/954
თქვენ შეგიძლიათ უთხრათ რობოტს, რომ წავიდეს წინ განსაზღვრულ მანძილზე ან გადაუხვიოს მითითებულ კუთხეს. პროგრამა განსაზღვრავს მის პოზიციას მკვდარი ანგარიშის გამოყენებით. ვინაიდან პოზიციის შეფასებები მხოლოდ ბორბლის სიჩქარეზეა დამოკიდებული, სრიალი გამოიწვევს მნიშვნელოვან შეცდომას. რობოტის დიზაინერი ფრთხილად უნდა იყოს, რომ მინიმუმამდე შემცირდეს სრიალის რისკი.
ეს დადასტურებულია SnappyXO რობოტთან მუშაობისთვის.
ნაბიჯი 1: სამეურვეო ადგილმდებარეობა შეიცვალა
გაკვეთილი გადატანილია ქვემოთ მოცემულ გვერდზე. ეს გაკვეთილი აღარ არის დაცული.
sites.google.com/stonybrook.edu/premo
ნაბიჯი 2: შექმენით SnappyXO დიფერენციალური წამყვანი რობოტი
PreciseMovement ბიბლიოთეკა, რომელსაც ჩვენ ვიყენებთ, თავსებადია მხოლოდ დიფერენციალური დისკის რობოტებთან. თქვენ შეგიძლიათ გამოიყენოთ სხვა ორი წამყვანი რობოტი.
ნაბიჯი 3: შეაერთეთ ელექტრონიკა
სტანდარტული SnappyXO ოპტიკური კოდირებისთვის:
D0 (კოდირების გამომავალი) -> Arduino ციფრული პინი
VCC -> Arduino 5V
GND -> GND
ძრავა და არდუინოს სიმძლავრე:
ძრავის ენერგიის წყარო უნდა იყოს ადექვატური თქვენს მიერ გამოყენებული ძრავებისთვის. SnappyXO ნაკრებისთვის 4AA ბატარეები გამოიყენება ძრავის სიმძლავრისთვის და 9V ბატარეა Arduino სიმძლავრისთვის. დარწმუნდით, რომ მათ აქვთ საერთო GND.
ნაბიჯი 4: დააინსტალირეთ PreduiseMovement Arduino ბიბლიოთეკა
ჩამოტვირთვა:
github.com/jaean123/PreciseMovement-library/releases
როგორ დააინსტალიროთ Arduino ბიბლიოთეკა:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
ნაბიჯი 5: კოდი
არდუინოს კოდი:
create.arduino.cc/editor/hileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
ეს პარამეტრები საჭიროებს კორექტირებას. კოდზე რეკომენდებული სხვა პარამეტრების მორგება შესაძლებელია უკეთესი მუშაობისთვის.
- შეამოწმეთ და დააყენეთ ძრავის ქინძისთავები ARDUINO PINS- ის ქვეშ.
-
დააყენეთ LENGTH და RADIUS.
- LENGTH არის მანძილი მარცხენა ბორბალიდან მარჯვენა ბორბალამდე.
- RADIUS არის ბორბლის რადიუსი.
-
დააყენეთ PULSES_PER_REV, რაც არის ერთი ბორბლის რევოლუციისათვის კოდის გამომცემელთა იმპულსების რაოდენობა.
- გაითვალისწინეთ, რომ ეს განსხვავდება იმ საიმპერატორო ღერძის რევოლუციისათვის, რომელიც აწარმოებს შიფრატორს იმ რაოდენობის იმპულსებისაგან, თუ დამშიფრებლები არ არიან დაკავშირებული საჭის ლილვიდან პირდაპირ წასაკითხად.
- PULSES_PER_REV = (იმპულსები ძრავის ლილვის ერთ ბრუნზე) x (გადაცემათა კოეფიციენტი)
-
დააყენეთ STOP_LENGTH, თუ დაინახავთ, რომ რობოტი გადალახავს წინსვლას.
რობოტი გაჩერდება მას შემდეგ, რაც სავარაუდო პოზიცია იქნება STOP_LENGTH სამიზნედან. ამრიგად, STOP_LENGTH არის მიახლოებითი მანძილი, რომელიც საჭიროა რობოტის გაჩერებამდე
-
PID პარამეტრები
KP_FW: ეს არის წინსვლის პროპორციული კომპონენტი. გაზარდეთ ეს სანამ რობოტი პირდაპირ მიდის. თუ ამის მოწესრიგებით პირდაპირ ვერ მიხვალთ, მაშინ ტექნიკის ბრალია. (მაგ. ბორბლის არასწორი განლაგება და ა.შ.)
KP_TW: ეს არის გადახვევის მოძრაობის PID- ის პროპორციული კომპონენტი. უბრალოდ დაიწყეთ დაბალი მნიშვნელობიდან და გაზარდეთ ეს მანამ, სანამ ბრუნვის სიჩქარე, ან რობოტის კუთხოვანი სიჩქარე გადაბრუნებისას, საკმარისად სწრაფია, მაგრამ არ იწვევს გადაჭარბებას. დაკვირვების გასაკეთებლად, თქვენ შეგიძლიათ გქონდეთ რობოტი ალტერნატიული 0 -დან 90 -მდე და უკან, შემდეგში ჩასვით მარყუჟის ფუნქცია
განათავსეთ ეს მარყუჟში KP_FW- ის დასარეგულირებლად:
mover.forward (99999);
მოათავსეთ ეს მარყუჟში 0 -დან 90 -მდე ალტერნატივა KP_TW- ის შესასწორებლად:
mover.twist (90); // ირონია 90 CW
დაგვიანება (2000);
mover.twist (-90) // Twist 90 CCW
დაგვიანება (2000);
გაითვალისწინეთ, რომ TARGET_TWIST_OMEGA- ზე კუთხის სიჩქარის რეალურად დასატრიალებლად, KI_TW ასევე უნდა იყოს მორგებული, რადგან პროპორციული კონტროლერი არასოდეს დასახლდება ზუსტ სამიზნეზე. ამასთან, არ არის აუცილებელი ზუსტად ამ კუთხის სიჩქარის გადახვევა. კუთხის სიჩქარე უბრალოდ უნდა იყოს საკმაოდ ნელი.
ნაბიჯი 6: როგორ მუშაობს
თუ გაინტერესებთ როგორ მუშაობს, წაიკითხეთ.
წინ მოძრაობა ინახება პირდაპირ სუფთა დევნის ალგორითმის გამოყენებით პირდაპირ ხაზზე. მეტი Pursuit:
ირონია PID კონტროლერი ცდილობს შეინარჩუნოს ბრუნვის კუთხის სიჩქარე TARGET_TWIST_OMEGA- ზე. გაითვალისწინეთ, რომ ეს კუთხური სიჩქარე არის მთელი რობოტის კუთხის სიჩქარე და არა ბორბლები. გამოიყენება მხოლოდ ერთი PID კონტროლერი და გამომავალი არის მარცხენა და მარჯვენა ძრავების PWM ჩაწერის სიჩქარე. მკვდარი ანგარიში ხდება კუთხის გამოსათვლელად. მას შემდეგ რაც კუთხე მიაღწევს შეცდომის ზღვარს, რობოტი ჩერდება.
გირჩევთ:
Arduino ზუსტი და ზუსტი ვოლტმეტრი (0-90V DC): 3 ნაბიჯი
Arduino ზუსტი და ზუსტი ვოლტმეტრი (0-90V DC): ამ ინსტრუქციულად, მე ავაშენე ვოლტმეტრი, რომ გავზომოთ მაღალი ძაბვები DC (0-90v) შედარებით სიზუსტით და სიზუსტით არდუინო ნანოს გამოყენებით. სატესტო გაზომვები, რომლებიც მე ავიღე, საკმაოდ ზუსტი იყო, უმეტესად ფაქტობრივი ძაბვის 0.3 ვ ფარგლებში
უთავო რობოტი მოძრავი იარაღით: 6 ნაბიჯი (სურათებით)
უთავო რობოტი მოძრავი იარაღით: შემდეგი ინსტრუქციები შთაგონებულია ჰელოუინის უთავო ბოტისგან. თქვენ შეგიძლიათ იპოვოთ სრული ინსტრუქცია, თუ როგორ უნდა გააკეთოთ ბოტი მუყაოსგან. იმისათვის, რომ ის უფრო ცოცხალი გახდეს, მე მაქვს იდეა, რომ მკლავი, რომელსაც თავი უჭირავს, გადაადგილება
არდუინო - მოძრავი მოძრაობით მოძრავი - ტარებადი ნივთი (შთაგონებულია Chronal Accelerator Tracer Overwatch): 7 ნაბიჯი (სურათებით)
არდუინო - მოძრავი მოძრაობა - ტარებადი ელემენტი (შთაგონებულია Chronal Accelerator Tracer Overwatch): ეს ინსტრუქცია დაგეხმარებათ დააკავშიროთ ამაჩქარებელი და ნეოპიქსელ ლედ -რინგი. მე მოგაწვდით კოდს, რომ წაიკითხოთ ამაჩქარებელი და მიიღოთ ეს ეფექტი თქვენი ნეოპიქსელით ანიმაცია. ამ პროექტისთვის მე გამოვიყენე Adafruit 24 ბიტიანი ნეოპიქსელის ბეჭედი და დეპუტატი
დაბალანსებული რობოტი / 3 ბორბლიანი რობოტი / STEM რობოტი: 8 ნაბიჯი
დაბალანსებული რობოტი / 3 ბორბლიანი რობოტი / STEM რობოტი: ჩვენ შევქმენით კომბინირებული ბალანსირების და 3 ბორბლიანი რობოტი სკოლებში საგანმანათლებლო გამოყენებისთვის და სკოლის შემდგომ საგანმანათლებლო პროგრამებისთვის. რობოტი დაფუძნებულია Arduino Uno– ზე, საბაჟო ფარზე (კონსტრუქციის ყველა დეტალი მოცემულია), Li Ion ბატარეის პაკეტზე (ყველა კონსტრუქცია
[არდუინოს რობოტი] როგორ გავაკეთოთ მოძრავი გადაღების რობოტი - ცერა თითის რობოტი - სერვო ძრავა - წყაროს კოდი: 26 ნაბიჯი (სურათებით)
[არდუინოს რობოტი] როგორ გავაკეთოთ მოძრავი გადაღების რობოტი | ცერა თითის რობოტი | სერვო მოტორი | წყაროს კოდი: Thumbs Robot. გამოყენებული იქნა MG90S სერვო ძრავის პოტენომეტრი. ეს არის ძალიან სახალისო და მარტივი! კოდი ძალიან მარტივია. ეს მხოლოდ 30 სტრიქონია. როგორც ჩანს მოძრაობის გადაღება. გთხოვთ დატოვოთ ნებისმიერი შეკითხვა ან გამოხმაურება! [ინსტრუქცია] წყაროს კოდი https: //github.c