Სარჩევი:
- ნაბიჯი 1: რაც ჩვენ გვჭირდება:
- ნაბიჯი 2: აშენება…
- ნაბიჯი 3: რამდენიმე დამატებითი ინფორმაცია სანამ გავაგრძელებთ
- ნაბიჯი 4: კოდი:
- ნაბიჯი 5: ტესტირება და დასკვნა
ვიდეო: კუთხის გაზომვა გიროსკოპის, ამაჩქარებლისა და არდუინოს გამოყენებით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:22
მოწყობილობა არის უხეში პროტოტიპი იმისა, რაც საბოლოოდ გახდება თვითბალანსებული რობოტი, ეს არის ხვრელის მეორე ნაწილი (წაიკითხეთ ამაჩქარებელი და გააკონტროლეთ ძრავა თვითბალანსირებისთვის). პირველი ნაწილი მხოლოდ გიროსკოპით არის ნაპოვნი აქ. ამ ინსტრუქციულად ჩვენ გავზომოთ კუთხე როგორც გიროს, ასევე ამაჩქარებლის გამოყენებით და ტექნიკის გამოყენებით შევაერთოთ ორივე სენსორი გლუვი სიგნალის მისაღებად. ტექნიკას ეწოდება "დამატებითი ფილტრი".წინასწარ
ნაბიჯი 1: რაც ჩვენ გვჭირდება:
ზოგიერთი ნაწილი შეიძლება შეიცვალოს, ხოლო კოდში გარკვეული ცვლილებები უნდა მოხდეს თქვენი ტექნიკის შესატყვისად. ამ პროექტში ჩვენ გამოვიყენებთ:- Breadboard- მიკროკონტროლი, მე გამოვიყენე Arduinoboard- Wire- Jumper Wires- გიროსკოპი XV-8100- Nunchuck Wii (ამაჩქარებლისთვის)- Nunchuck Wii ადაპტერი არდუინოსთვის
ნაბიჯი 2: აშენება…
წრე შედგება გიროსკოპისგან, რომელიც დაკავშირებულია უშუალოდ პორტში 0 თქვენს არდუინოში და nunchuck wii დაკავშირება I2C პორტთან. გიროს აწყობა: 1. - შეაერთეთ გირო პურის დაფაზე 2. - მავთულები ამაჩქარებელი: 1. - შეაერთეთ ადაპტერი nunchuck2– ზე. - შეაერთეთ nunchuck არდუინოსთან ადაპტერის გამოყენებით 3. - მოათავსეთ აკელის სენსორი, როგორც ზემოთ მოცემულ ფოტოში
ნაბიჯი 3: რამდენიმე დამატებითი ინფორმაცია სანამ გავაგრძელებთ
ორივე სენსორიდან ჩვენ შეგვიძლია გავზომოთ კუთხე, მაგრამ ორი განსხვავებული ტექნიკის გამოყენებით. გიროს გამოყენებით კუთხის გასაზომად ჩვენ უნდა გავაერთიანოთ სიგნალი. მაგრამ რატომ უნდა გავაკეთოთ ეს? იმის გამო, რომ გირო გვაძლევს კუთხოვან მაჩვენებელს, ამიტომ კუთხის მიღების მარტივი გზა არის კუთხის სიჩქარის გამრავლება დროზე [კუთხე = კუთხე + w * dt] აქსელერომეტრის გამოყენებით კუთხის გასაზომად ჩვენ უნდა ვიგრძნოთ სიმძიმე თითოეულში აქსელერომეტრის ღერძი, რას ნიშნავს ის, სიმძიმის აჩქარების პროექცია სენსორის თითოეული მიმართულებით გვაძლევს წარმოდგენას კუთხის შესახებ. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] მაშ რატომ ვიყენებთ ორ სენსორს ერთის ნაცვლად? ორივე სენსორის თვისებების უპირატესობა. თუ გადახედავთ გრაფიკული მონაცემების მუდმივ ზრდას, ამას ეწოდება დრიფტი და აქსელერომეტრის მონაცემი იცვლება მცირე დროში. და როგორ გავაერთიანოთ ორივე სიგნალი? ჩვენ გამოვიყენებთ ტექნიკას, რომელსაც ეწოდება დამატებითი ფილტრი. მე არ ვიცი ზუსტი თეორია ამის უკან, მაგრამ ის მშვენივრად მუშაობს. ინტერნეტში არის გარკვეული ინფორმაცია, უბრალოდ გუგლში მოიძიეთ თუ გჭირდებათ მეტი ინფორმაცია. ამ ბმულს აქვს ბევრი ინფორმაცია და შეიძლება გამოსადეგი იყოს. გაფილტრული კუთხე = HPF*(გაფილტრული_კუთხედი + w*dt) + LPF*(angle_accel); სადაც HPF + LPF = 1 HPF და LPF ღირებულებები შეგიძლიათ იხილოთ ამ ბმულზე, filter.pdf ფაილზე. გმადლობთ ბიჭებო "DIY Segway" - დან. მხოლოდ სატესტო მიზნით ჩვენ დავადგენთ ამ მნიშვნელობებს ასე, HPF = 0.98 და LPF = 0.02.
ნაბიჯი 4: კოდი:
კოდი არის ადაპტაცია იმ კოდისგან, რომელიც მე გამოვიყენე სხვა პროექტზე. ალბათ არის რამდენიმე ცვლადი გამოუყენებელი. მე გამოვიყენე ბიბლიოთეკა, რომ წავიკითხე nunchuck მონაცემები https://todbot.com/blog/. გმადლობთ Tod E. Kurt. კომენტარები კოდის შესახებ პორტუგალიურ ენაზეა, როგორც კი თავისუფალი დრო მექნება, ვთარგმნი მას. კოდი, რომელიც გამოდის სერიული ხაზის მეშვეობით, ამ ნომრით რამდენიმე რიცხვს: dt: w: teta: pitch: filter_teta $ დრო: angular_velocity: gyro_angle: accel_angle: filtered_angle $ ასე რომ თქვენ შეგიძლიათ შეინახოთ ეს მნიშვნელობები სერიულ ტერმინალში და შეადგინოთ გრაფიკა ან გამოიყენოთ კუთხე სხვა რამეებისთვის. თუ რაიმე ახსნა გჭირდებათ კოდის შესახებ დაეცა უფასოდ. კოდი არის ziped. უბრალოდ გააწყვეტინე, გახსენი და ატვირთე ის შენს არდუინოში.
ნაბიჯი 5: ტესტირება და დასკვნა
სისტემის შესამოწმებლად მე შევინახე მონაცემები პროგრამის სახელწოდებით Termite, შემდეგ შემოვიტანე ეს მონაცემები Excel– ში და დავხატე გრაფიკი, რომ ნახოთ რამდენად კარგია ჩემი ფილტრი. შედეგები გასაოცარია. რა თქმა უნდა, შეგიძლიათ გამოიყენოთ სიგნალი ძრავის ან სხვა საგნების მართვისთვის. ნებისმიერი კომენტარი, ნებისმიერი ეჭვი, რაიმე ინფორმაცია აკლია, უბრალოდ მითხარით და მე შევასწორებ მას. გთხოვთ თუ მოგწონთ ეს, შეაფასეთ. მადლობა ყველას
გირჩევთ:
საავტომობილო სიჩქარის გაზომვა არდუინოს გამოყენებით: 6 ნაბიჯი
საავტომობილო სიჩქარის გაზომვა Arduino– ს გამოყენებით: ძნელია ძრავის rpm– ის გაზომვა ??? მე ასე არ ვფიქრობ. აქ არის ერთი მარტივი გამოსავალი. ამის გაკეთება მხოლოდ ერთ IR სენსორსა და Arduino- ს შეუძლია. ამ პოსტში მე მოგცემთ მარტივ სახელმძღვანელოს, რომელიც განმარტავს, თუ როგორ უნდა გაზომოთ ნებისმიერი ძრავის RPM IR სენსორისა და
დენის წყაროს სიხშირე და ძაბვის გაზომვა არდუინოს გამოყენებით: 6 ნაბიჯი
ელექტრომომარაგების სიხშირე და ძაბვის გაზომვა Arduino– ს გამოყენებით: შესავალი: ამ პროექტის მიზანია გაზომოს მიწოდების სიხშირე და ძაბვა, რომელიც ინდოეთში 220 – დან 240 ვოლტამდე და 50 ჰც – მდეა. მე გამოვიყენე არდუინო სიგნალის გადასაღებად და გამოვთვალოთ სიხშირე და ძაბვა, თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი სხვა მიკროკონტრაქტი
ტემპერატურის გაზომვა PT100 და არდუინოს გამოყენებით: 16 ნაბიჯი
ტემპერატურის გაზომვა PT100 და Arduino– ს გამოყენებით: ამ პროექტის მიზანია ტემპერატურის მგრძნობიარე სისტემის შემუშავება, აგება და გამოცდა. სისტემა შექმნილია 0 -დან 100 ° C ტემპერატურის დიაპაზონის გასაზომად. PT100 გამოიყენებოდა ტემპერატურის გასაზომად და ეს არის წინააღმდეგობის ტემპერატურის დეტექტორი (RTD)
გიროსკოპის კონტროლი არდუინოს საშუალებით: 5 ნაბიჯი
გიროსკოპი ხელმძღვანელობს Arduino– სთან ერთად: ამ პროექტში მე გაჩვენებთ თუ როგორ უნდა ავაშენოთ მარტივი 4 led tilt dimmer გიროსკოპით და arduino uno. არსებობს 4 led მოწყობილი "+" ფორმა და ისინი უფრო მეტად გაანათებენ, როდესაც თქვენ დაფარავთ პურის დაფას. ეს არ მოიცავს რაიმე სოლდერინს
ძაბვის გაზომვა არდუინოს გამოყენებით: 5 ნაბიჯი
ძაბვის გაზომვა არდუინოს გამოყენებით: ძაბვის გაზომვა საკმაოდ ადვილია ნებისმიერი მიკროკონტროლის გამოყენებით დენის გაზომვასთან შედარებით. ძაბვის გაზომვა აუცილებელი ხდება, თუ თქვენ მუშაობთ ბატარეებთან ან გსურთ შექმნათ თქვენი საკუთარი რეგულირებადი კვების წყარო. მიუხედავად იმისა, რომ ეს მეთოდი გამოიყენება