Სარჩევი:

Arduino Line Follower Wallrides Classroom Whiteboard: 8 ნაბიჯი (სურათებით)
Arduino Line Follower Wallrides Classroom Whiteboard: 8 ნაბიჯი (სურათებით)

ვიდეო: Arduino Line Follower Wallrides Classroom Whiteboard: 8 ნაბიჯი (სურათებით)

ვიდეო: Arduino Line Follower Wallrides Classroom Whiteboard: 8 ნაბიჯი (სურათებით)
ვიდეო: How to Wallride Stall on Skis | #shorts 2024, ნოემბერი
Anonim
Image
Image

მიწაზე ხაზის მიყოლა ძალიან მოსაწყენია!

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

შეხედე რა გამოვიდა!

ნაბიჯი 1: რა გჭირდებათ?

როგორ შევიკრიბოთ? აწყობა შასი
როგორ შევიკრიბოთ? აწყობა შასი

ერთი სარბოლო რობოტისთვის:

მექანიკა:

1 x 2WD miniQ რობოტის შასი; ეს არის მრავალფუნქციური პლატფორმა მარტივი ორბორბლიანი რობოტების შესაქმნელად

2 x 6V მიკრო გადაცემათა კოლოფი 1: 150 შემცირების კოეფიციენტით; გადაცემულ ძრავებს, რომლებიც შედის miniQ რობოტის პლატფორმაზე, აქვთ გადაცემათა კოეფიციენტი 1:50 და ძალიან სწრაფია. ისინი უნდა შეიცვალოს უფრო ძლიერი ძრავით, მაგალითად 1: 150 ან უფრო მაღალი სიჩქარის თანაფარდობით. რაც უფრო მაღალია გადაცემათა კოეფიციენტი, მით უფრო ნელა მიდის რობოტი დაფაზე, მაგრამ ნაკლებია ბორბლების გადაცდენის შანსი

4 x ნეოდიმი მაგნიტი; თქვენ გჭირდებათ პატარა 3 მმ სისქის მაგნიტები 12 მმ დიამეტრით (მათთვის, ვისაც აქვს მრგვალი ფორმა) ან 12 მმ მხრით (მათთვის, ვისაც კვადრატული ფორმა აქვს). ასევე, მაგნიტებს უნდა ჰქონდეთ ხვრელი აპარატის ხრახნის საწინააღმდეგო თავით, ჩვეულებრივ M3 ერთისთვის. ზოგჯერ მწარმოებლები განსაზღვრავენ მაგნიტის შეერთების სიძლიერეს. ის უნდა იყოს 2 კგ -დან 2.4 კგ -მდე

ელექტრონიკა:

1 x Arduino UNO; ბორტ კომპიუტერი. პროტოტიპების ყველაზე პოპულარული პლატფორმა

1 x Octoliner მოდული; შენი სარბოლო ბოტის თვალები და ფარები. Octoliner არის მაგარი ხაზის სენსორი, რომელიც შედგება 8 ცალკეული ინფრაწითელი სენსორისგან, რომელსაც აკონტროლებს I2C ინტერფეისი

1 x საავტომობილო ფარი; თითქმის ნებისმიერი მოდული თქვენთვის შესაფერისია. მე გამოვიყენე ეს ანალოგი, რომელიც დაფუძნებულია L298p ჩიპზე

1 x 2 უჯრედის 7.4V LiPo ბატარეა; მას შეუძლია მისცეს დიდი დენი, რომელიც ძრავებს სჭირდებათ მაგნიტების მიზიდულობის დასაძლევად. 2 უჯრედის ბატარეას აქვს ძაბვა 7.4V– დან 8.4V– მდე. ეს საკმარისია 6 ვ ძრავისთვის და არდუინოს დაფაზე ჩაშენებული ძაბვის რეგულატორისთვის. ნებისმიერი სიმძლავრის არჩევა შესაძლებელია. რაც უფრო დიდია ბატარეა, მით უფრო დიდხანს მართავს რობოტი, მაგრამ გაითვალისწინეთ, რომ ძალიან ტევადი ბატარეა შეიძლება იყოს მძიმე. სიმძლავრე 800mAh– დან 1300 mAh– მდეა ოპტიმალური

სხვადასხვა:

4 x მამაკაცი-ქალი მავთული;

4 x M3 ინტერვალი ან მამაკაცი ქალი 10 მმ სიგრძით;

3 x M3 გამყოფი ან მამაკაცი მდედრობითი კონფლიქტი 25 მმ სიგრძისა და მეტი;

4 x M3x8 საწინააღმდეგო ბრტყელი თავის ხრახნი;

1 x M3 ნეილონის ხრახნი;

1 x M3 ნეილონის ექვსკუთხედი;

ნებისმიერი M3 ხრახნი და ექვსკუთხედი

საკლასო ოთახისთვის:

კედელზე ჩამოკიდებული მაგნიტური დაფა;

სქელი შავი მაგნიტური დაფის მარკერები;

სპეციალური LiPo ბატარეის დამტენი ან მრავალჯერადი დამტენი თუ გსურთ ბევრი რობოტის დამზადება და მათი ცალკე დატენვა

ნაბიჯი 2: როგორ შევიკრიბოთ? აწყობა შასი

თავდაპირველად, თქვენ უნდა შეიკრიბოთ miniQ შასის პლატფორმა, რომელიც წინასწარ ცვლის ძრავებს ნაკრებიდან უფრო მძლავრით 1: 150 სიჩქარის თანაფარდობით. ნუ დაგავიწყდებათ მავთულის შეერთება ძრავების კონტაქტებზე!

ნაბიჯი 3: როგორ შევიკრიბოთ? დააინსტალირეთ მაგნიტები

როგორ შევიკრიბოთ? დააინსტალირეთ მაგნიტები
როგორ შევიკრიბოთ? დააინსტალირეთ მაგნიტები

დააინსტალირეთ მაგნიტები miniQ პლატფორმაზე. გამოიყენეთ M3x10 ჩამკეტები, M3x8 ან M3x6 ბრტყელი ხრახნები და M3 თხილი. საჭირო სამონტაჟო ხვრელები ნაჩვენებია სურათზე.

ეს მნიშვნელოვანია!

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

ხელით გადაიტანეთ რობოტი დაფაზე. გასეირნების დროს მაგნიტები არ უნდა გადმოვიდეს დაფაზე. თუ რაიმე მაგნიტი გადმოდის ეს ნიშნავს რომ ბორბლებზე რეზინის საბურავები მაქსიმალურად იტვირთება. ამ შემთხვევაში, გაზარდეთ დაშორების 10 მმ მანძილი 1 ან 2 მმ -ით, დაამატეთ წყვილი M3 საყელურები და სცადეთ ხელახლა.

ნაბიჯი 4: როგორ შევიკრიბოთ? დაამატეთ ელექტრონიკა

როგორ შევიკრიბოთ? დაამატეთ ელექტრონიკა
როგორ შევიკრიბოთ? დაამატეთ ელექტრონიკა

დაამონტაჟეთ Arduino UNO დაფა პლატფორმაზე M3x25 ჩამორჩენის, M3 ხრახნების და M3 კაკლების გამოყენებით. არ გამოიყენოთ მოკლე შეფერხებები, დატოვეთ ადგილი Arduino დაფის ქვეშ მავთულხლართებისა და ბატარეისათვის.

დააინსტალირეთ საავტომობილო ფარი Arduino UNO დაფაზე.

დააინსტალირეთ Octoliner მოდული. დააჭირეთ მას პლატფორმას ნეილონის M3 ხრახნითა და თხილის გამოყენებით.

ეს მნიშვნელოვანია!

არ გამოიყენოთ რკინის შესაკრავები ოქტოლინერის დასაყენებლად. რამოდენიმე სამონტაჟო ხვრელი გარღვევის ფორუმზე არის soldered და გამოიყენება როგორც IO ქინძისთავები. მოკლე ჩართვის თავიდან ასაცილებლად გამოიყენეთ პლასტიკური შესაკრავები, მაგალითად, ნეილონი.

ნაბიჯი 5: როგორ შევიკრიბოთ? გაყვანილობა

როგორ შევიკრიბოთ? გაყვანილობა
როგორ შევიკრიბოთ? გაყვანილობა

დააკავშირეთ ყველა ელექტრონული კომპონენტი, როგორც ნაჩვენებია დიაგრამაში. Octoliner მოდული უკავშირდება 4 მავთულის (GND, 5V, SDA, SCL) Arduino UNO– ს. შეაერთეთ ძრავები საავტომობილო ფარს. LiPo ბატარეა დაკავშირებულია ძრავის ფარის გარე კვების ბლოკის კონტაქტურ ბალიშებთან, ასევე Arduino დაფაზე VIN პინთან. იმის ნაცვლად, რომ გამოიყენოთ VIN პინი, შეგიძლიათ გამოიყენოთ დაფაზე 5.5 მმ x 2.1 მმ კვების ბლოკი.

ეს მნიშვნელოვანია!

საავტომობილო ფარის გამოყენებისას მავთულები არ არის საჭირო. ორი საავტომობილო არხი კონტროლდება 4 ქინძისთავით. 2 PWM ქინძისთავები პასუხისმგებელნი არიან ბრუნვის სიჩქარეზე, ხოლო 2 DIR ქინძისთავები ბრუნვის მიმართულებით. ჩვეულებრივ, ისინი უკვე დაკავშირებულია Arduino Board– ის კონკრეტულ ქინძისთავებთან და მათი ინდექსის რაოდენობა შეიძლება განსხვავდებოდეს ფარის მწარმოებლის მიხედვით. მაგალითად, ჩემი საავტომობილო ფარისთვის ნომრებია D4 D5 (DIR და PWM პირველი არხისთვის) და D7 D6 (DIR და PWM მეორე არხისთვის). ორიგინალური Arduino Motor ფარისთვის, ქინძისთავების რიცხვი შეესაბამება D12 D3 (DIR და PWM პირველი არხისთვის) და D13 D11 (DIR და PWM მეორე არხისთვის).

ეს მნიშვნელოვანია!

ჰობი LiPo ბატარეებს არ აქვთ უკუ პოლარობის დაცვის დაფა! დადებითი და უარყოფითი კონტაქტების შემთხვევითი შემცირება გამოიწვევს ბატარეის მუდმივ უკმარისობას ან ხანძარს.

ნაბიჯი 6: როგორ დავპროგრამოთ? XOD

ასეთი სარბოლო რობოტისთვის პროგრამის გაკეთება კიდევ უფრო ადვილია, ვიდრე მისი აწყობა.

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

ამ რობოტის დასაპროგრამებლად, თქვენ უნდა დაამატოთ მხოლოდ ერთი ბიბლიოთეკის amperka/octoliner თქვენს XOD სამუშაო სივრცეში. ეს აუცილებელია რვა არხიანი ხაზის სენსორთან მუშაობისთვის.

ნაბიჯი 7: როგორ დავპროგრამოთ? პატჩი

როგორ დავპროგრამო? პატჩი
როგორ დავპროგრამო? პატჩი

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

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

ოქტოლინერ-ხაზი

ეს არის სწრაფი დაწყების კვანძი amperka/octoliner XOD ბიბლიოთეკიდან, რომელიც წარმოადგენს Octoliner მოდულს, რომელიც თვალყურს ადევნებს ხაზს. ის გამოაქვს "ხაზის თვალთვალის მნიშვნელობა", რომელიც განისაზღვრება -1 დან 1. დიაპაზონში. 0 მნიშვნელობა გვიჩვენებს, რომ ხაზი ცენტრალურ მდგომარეობაშია ოქტოლინერის დაფაზე ინფრაწითელ სენსორებთან შედარებით (CH3 და CH4 შორის). -1 მნიშვნელობა შეესაბამება უკიდურეს მარცხენა პოზიციას (CH0), ხოლო 1 უკიდურეს მარჯვნივ (CH1). ჩატვირთვის კვანძში ინიციალიზებულია ოპტოწყვილების სენსორები და ადგენს მათ ნაგულისხმევ სიკაშკაშეს და მგრძნობელობის პარამეტრებს. ამ კვანძის შეყვანა არის მოწყობილობის I2C მისამართი (ADDR Octoliner დაფისთვის არის 0x1A) და ხაზის თვალთვალის მნიშვნელობის განახლების მაჩვენებელი (UPD), მე მას ვაყენებ უწყვეტად.

ხაზის თვალთვალის მნიშვნელობები პირდაპირ მიეწოდება pid-controller კვანძს.

pid- კონტროლერი

ეს კვანძი ახორციელებს PID კონტროლერის მუშაობას XOD– ში. სამიზნე (TARG) მნიშვნელობა არის 0. ეს არის მდგომარეობა, როდესაც ხაზი ზუსტად ცენტრშია რობოტის ქვეშ. თუ ხაზის თვალთვალის მნიშვნელობა არის 0, PID კონტროლერი გადატვირთულია RST პინის საშუალებით. თუ ხაზის თვალთვალის მნიშვნელობა 0-ისგან განსხვავდება, PID კონტროლერი მას გარდაქმნის Kp, Ki, Kd კოეფიციენტების გამოყენებით ძრავის სიჩქარის მნიშვნელობებად. კოეფიციენტების მნიშვნელობები შერჩეულია ექსპერიმენტულად და უდრის 1, 0.2 და 0.5, შესაბამისად. PID- კონტროლერის განახლების სიჩქარე (UPD) არის უწყვეტი.

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

h-Bridge-dc-motor

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

გაუშვით პაჩი და სცადეთ თქვენი რბოლის ბოტი. თუ ზუსტად მიჰყვებით ასამბლეის მითითებებს, თქვენ არ გჭირდებათ პატჩის შეცვლა ან PID- კონტროლერის მორგება. მითითებული პარამეტრები საკმაოდ ოპტიმალურია.

დასრულებული პროგრამა შეგიძლიათ იხილოთ ბიბლიოთეკაში გაბაპელები/დაფები-რბოლები

ნაბიჯი 8: ვიტრინა და რჩევები

გირჩევთ: