Სარჩევი:
- ნაბიჯი 1: შეარჩიეთ სიგალის მავთული
- ნაბიჯი 2: გააგრძელე მავთული არდუინოს დაფაზე
- ნაბიჯი 3: სიგნალის ანალიზი
- ნაბიჯი 4: კოდირება თქვენი სიგნალის ანალიზი
- ნაბიჯი 5: იდენტიფიცირება ფილტრი
- ნაბიჯი 6: გაფილტვრა: ნაწილი 1
- ნაბიჯი 7: გაფილტვრა: ნაწილი 2
- ნაბიჯი 8: გაფილტვრა: ნაწილი 3
- ნაბიჯი 9: გაფილტვრა: ნაწილი 4
ვიდეო: გამოიყენეთ Arduino ძრავის RPM– ის საჩვენებლად: 10 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ეს სახელმძღვანელო ასახავს იმას, თუ როგორ გამოვიყენე Arduino UNO R3, 16x2 LCD დისპლეი I2C– ით და LED ზოლები, რომლებიც გამოიყენება როგორც ძრავის სიჩქარის საზომი და სინათლის გადასაადგილებლად ჩემს Acura Integra– ში. იგი დაწერილია ვიღაცის გამოცდილების ან Arduino პროგრამული უზრუნველყოფის ზემოქმედების ან ზოგადად კოდირების, მათემატიკური პროგრამული უზრუნველყოფის MATLAB და ელექტრული სქემების შექმნის ან შეცვლის თვალსაზრისით. მომავალში ეს შეიძლება გადაისინჯოს, რათა გაუადვილდეს გაგებას ვინმესთვის, ვისაც მცირე გამოცდილება აქვს ამ თემებთან დაკავშირებით.
ნაბიჯი 1: შეარჩიეთ სიგალის მავთული
თქვენ უნდა მიიღოთ სიგნალი, რომელიც შეესაბამება ძრავის სიჩქარეს. შესაძლებელია სისტემის დამატება, რომელიც ზომავს ძრავის სიჩქარეს, მაგრამ გაცილებით პრაქტიკულია შეხება არსებულ მავთულზე, რომელიც ატარებს ძრავის სიჩქარის ინფორმაციას. ერთ მანქანას შეიძლება ჰქონდეს მრავალი წყარო ამისათვის და ის შეიძლება მნიშვნელოვნად განსხვავდებოდეს წლიდან წლამდე ერთი მანქანის მოდელზე. ამ გაკვეთილის გულისთვის მე ვიყენებ ჩემი მანქანის მაგალითს, ტრასაზე შეცვლილია 2000 Acura Integra LS. ჩემს ძრავზე აღმოვაჩინე (B18B1 OBD2– ით) არის გამოუყენებელი ძაბვა, რომელიც არის 12V მაღალი და ეცემა 0V– მდე სრული რევოლუციის დასრულების შემდეგ.
ის, რაც ხელს შეუწყობს ძრავის სიჩქარის პოტენციური სიგნალის იდენტიფიცირებას:
- გაყვანილობის სქემა თქვენი მანქანისთვის
- მოძებნეთ თქვენი ავტომობილის ფორუმები ძრავის/ECU სიგნალების ჩათვლით
- მეგობრული მექანიკოსი ან მანქანის მოყვარული
ნაბიჯი 2: გააგრძელე მავთული არდუინოს დაფაზე
მას შემდეგ რაც შეარჩიეთ შესაბამისი სიგნალი, თქვენ უნდა გააფართოვოთ ის იქ, სადაც არდუინოს დაფას ათავსებთ. მე გადავწყვიტე მანქანა ჩემი შიგნით მომეყენებინა იქ, სადაც რადიო იყო, ამიტომ ძრავიდან ახალი მავთული გადმოვწიე, ცეცხლის კედელში არსებული რეზინის საფარით და პირდაპირ რადიოს მიდამოში. ვინაიდან უკვე არსებობს უზარმაზარი რაოდენობის გზამკვლევი გაყვანილობის, შედუღების და დაცვის შესახებ, მე არ ავხსნი ამ პროცესს.
ნაბიჯი 3: სიგნალის ანალიზი
სწორედ აქ შეიძლება გართულდეს მოვლენები. სიგნალის ანალიზისა და კონტროლის ზოგადი გაგება დაგეხმარებათ შორს, მაგრამ ეს შესაძლებელია მცირე ცოდნით.
არჩეული სიგნალის მავთული, სავარაუდოდ, არ აფურთხებს ძრავის სიჩქარის ზუსტ მნიშვნელობას. ის უნდა ჩამოყალიბდეს და შეიცვალოს თქვენთვის სასურველი ძრავის RPM– ის ზუსტი რაოდენობის მითითებით. გამომდინარე იქიდან, რომ ყველა განსხვავებული მანქანა და სიგნალის მავთული შეიძლება იყოს განსხვავებული, ამ მომენტიდან მე ავუხსნი, თუ როგორ გამოვიყენე პოზიციის სიგნალი დისტრიბუტორისგან ჩემს ინტეგრაზე.
ჩემი სიგნალი ჩვეულებრივ 12 ვ -ია და ეცემა 0 ვ -მდე ერთი სრული ბრუნვის დასრულებისას. თუ თქვენ იცით ერთი სრული ბრუნვის, ან ერთი სრული ციკლის დასრულების დრო, ეს მარტივად შეიძლება ითარგმნოს რევოლუციებად/წთ რამოდენიმე ძირითადი ცნების გამოყენებით.
1 / (წამი ციკლზე) = ციკლი წამში, ან ჰერცი
რევოლუციები წუთში = Hz * 60
ნაბიჯი 4: კოდირება თქვენი სიგნალის ანალიზი
ეს მეთოდი მოითხოვს იმ დროის მიღებას, რაც სჭირდება სიგნალის შეყვანას ერთი სრული ციკლის დასასრულებლად. საბედნიეროდ, Arduino IDE პროგრამას აქვს ბრძანება, რომელიც ზუსტად ამას აკეთებს, PulseIn.
ეს ბრძანება დაელოდება სიგნალს ზღურბლის გადასალახად, დაიწყებს დათვლას და შეწყვეტს დათვლას, როდესაც ბარიერი კვლავ გადალახულია. არის რამდენიმე დეტალი, რომელიც უნდა აღინიშნოს ბრძანების გამოყენებისას, ამიტომ მე ჩავწერ ბმულს PulseIn– ის ინფორმაციის ბმულზე აქ:
PulseIn დააბრუნებს მნიშვნელობას მიკროწამებში და მათემატიკის სიმარტივისთვის ეს დაუყოვნებლივ უნდა გადაკეთდეს ნორმალურ წამებში. წინა საფეხურზე მათემატიკის შემდეგ, დროის ეს ხანგრძლივობა შეიძლება უტოლდეს უშუალოდ RPM- ს.
შენიშვნა: ცდისა და შეცდომის შემდეგ აღმოვაჩინე, რომ დისტრიბუტორი ასრულებს ორ ბრუნვას ძრავის ამწე ლილვის თითოეული ბრუნვისათვის, ამიტომ მე უბრალოდ პასუხი გავყავი 2 -ით ამის გათვალისწინებით.
ნაბიჯი 5: იდენტიფიცირება ფილტრი
თუ იღბლიანი ხართ, თქვენს სიგნალს არ ექნება "ხმაური" (რყევები) და თქვენი ძრავის სიჩქარე იქნება ზუსტი. ჩემს შემთხვევაში, ბევრი ხმაური მოდიოდა დისტრიბუტორისგან, რომელიც ხშირად აძლევდა ძაბვებს შორს, ვიდრე მოსალოდნელი იყო. ეს იქცევა ძრავის რეალური სიჩქარის ძალიან ცრუ კითხვად. ეს ხმაური უნდა გაფილტრულიყო.
სიგნალის ანალიზის შემდეგ, თითქმის ყველა ხმაური სიხშირეზე (Hz) გაცილებით მაღალი იყო, ვიდრე ძრავა გამოდიოდა (რაც მართალია დინამიური სისტემების უმეტესობისთვის). ეს ნიშნავს, რომ დაბალი გამავლობის ფილტრი არის იდეალური კანდიდატი ამაზე ზრუნვისთვის.
დაბალი გავლის ფილტრი საშუალებას იძლევა დაბალი სიხშირეები (სასურველი) გაიაროს და ასუსტებს მაღალ სიხშირეებს (არასასურველი).
ნაბიჯი 6: გაფილტვრა: ნაწილი 1
ფილტრის შემუშავება შესაძლებელია ხელით, თუმცა MATLAB- ის გამოყენება მნიშვნელოვნად დააჩქარებს, თუკი თქვენ გაქვთ წვდომა პროგრამულ უზრუნველყოფაზე.
დაბალი გამავლობის ფილტრი შეიძლება გაუტოლდეს გადაცემის ფუნქციას (ან წილადს) ლაპლასის დომენში (სიხშირის დომენი). შეყვანის სიხშირე გამრავლდება ამ ფრაქციაზე და გამომავალი არის გაფილტრული სიგნალი, რომელსაც აქვს მხოლოდ ის ინფორმაცია, რომლის გამოყენებაც გსურთ.
ფუნქციის ერთადერთი ცვლადია tau. ტაუ უდრის 1 / ომეგას, სადაც ომეგა არის თქვენთვის სასურველი გათიშვის სიხშირე (უნდა იყოს რადიანებში წამში). შეწყვეტის სიხშირე არის ის ზღვარი, სადაც მასზე მაღალი სიხშირეები მოიხსნება და მასზე დაბალი სიხშირეები შენარჩუნდება.
მე ვაყენებ ჩამკეტის სიხშირეს RPM– ის ტოლი, ჩემი ძრავა ვერასოდეს მიაღწევს (990 RPM ან 165 Hz). FFT გრაფიკები აჩვენებს უხეშად რა სიხშირეებს ატარებდა ჩემი ნედლეული სიგნალი და სიხშირეები, რომლებიც გამოდიოდა ფილტრიდან.
ნაბიჯი 7: გაფილტვრა: ნაწილი 2
აქ MATLAB კვლავ გამოიყენეს დროის გამო. შეწყვეტის სიხშირე განისაზღვრება და ამის შედეგად ნაჩვენებია გადაცემის ფუნქცია. გაითვალისწინეთ, რომ ეს ფრაქცია ეხება მხოლოდ ლაპლასის დომენს და არ შეიძლება გამოყენებულ იქნას უშუალოდ დროზე დაფუძნებულ მიკრო კონტროლერზე, როგორიცაა Arduino UNO R3.
ნაბიჯი 8: გაფილტვრა: ნაწილი 3
MATLAB– ს აქვს ბრძანება, რომელიც გადააქცევს უწყვეტ ფუნქციას (სიხშირის დომენი) დისკრეტულ ფუნქციად (დროის დომენი). ამ ბრძანების გამომუშავება უზრუნველყოფს განტოლებას, რომლის ადვილად შეყვანა შესაძლებელია Arduino IDE კოდში.
ნაბიჯი 9: გაფილტვრა: ნაწილი 4
არდუინოს ესკიზში ჩართეთ ცვლადები u და y დაყენებამდე. Float ბრძანება უბრალოდ განსაზღვრავს, თუ როგორ შეინახავს ცვლადი მონაცემებს (ისეთებს, როგორიცაა მაქსიმალური მნიშვნელობა, ათწილადი და ა. /ვარია…
მარყუჟში, სადაც ხდება ნედლი სიგნალიდან ძრავის სიჩქარეზე გარდაქმნა, შეიტანეთ u ცვლადი და y მრავალჯერადი განტოლება. ამის გამოყენების მრავალი გზა არსებობს, მაგრამ ცვლადი u უნდა იყოს თანაბარი გაზომვის ნედლეული შეყვანის სიგნალის და ცვლადი y იქნება გაფილტრული მნიშვნელობა.
გირჩევთ:
როგორ შევცვალოთ ვებსაიტები იმის საჩვენებლად, რაც გსურთ: 3 ნაბიჯი
როგორ შეცვალოთ ვებსაიტები იმის საჩვენებლად, რაც გსურთ .: ოჰ, გართობა შეგიძლიათ გქონდეთ … ეს არის გიჟური მარტივი და მარტივი გზა თქვენს ბრაუზერში ვებსაიტების შესაცვლელად, რათა აჩვენოთ ნებისმიერი რამ. შენიშვნა. ეს არ ცვლის ვებსაიტს სხვაგან, გარდა თქვენი ბრაუზერისა და თუ გადატვირთავთ ვებ გვერდს, მაშინ ის ბრუნდება უკან
წყლის ავტომატური გამანაწილებელი მოხმარების საჩვენებლად: 6 ნაბიჯი
წყლის ავტომატური გამანაწილებელი მოხმარების დასადგენად: გამარჯობა! რამდენიმე თვის წინ, მე ჩემს ოთახში ვფიქრობდი იმაზე, თუ რა სახის პროექტის განხორციელება მინდოდა სასკოლო დავალებისთვის. მინდოდა ისეთი რამ გამეკეთებინა, რაც მომწონდა და მომავლისთვის მომგებიანი იქნებოდა. უცებ დედაჩემი შემოვიდა ოთახში და
გამოიყენეთ სარბენი DC წამყვანი ძრავა და PWM სიჩქარის კონტროლერი ძრავის ინსტრუმენტებისთვის: 13 ნაბიჯი (სურათებით)
გამოიყენეთ სარბენი DC წამყვანი ძრავა და PWM სიჩქარის კონტროლერი ძრავის ინსტრუმენტებისთვის: ელექტრული ინსტრუმენტები, როგორიცაა ლითონის საჭრელი ქარხნები და ლახები, საბურღი პრესები, სამაგრები, ქვიშაქვები და სხვა შეიძლება მოითხოვოს. 5 ცხ. . შემთხვევით სარბენი ბილიკების უმეტესობა იყენებს 80-260 VDC ძრავას
გასაოცარია მარტივი საჭრელი თქვენი პროექტების საჩვენებლად: 5 ნაბიჯი
გასაოცარია მარტივი საჭრელი თქვენი პროექტების საჩვენებლად: ჩემს YouTube არხზე მე ვაკეთებ რამდენიმე პროდუქტის მიმოხილვას, ამიტომ ყოველთვის მინდოდა გამეკეთებინა ლამაზი ჭურჭელი ახალი პროდუქციის საჩვენებლად. ყველაფრის მსგავსად, რასაც ვაკეთებ, მინდოდა რაც შეიძლება მარტივი გამეხადა. ასე რომ, მხოლოდ 3 კომპონენტი იყო გამოყენებული. მიჰყევით და მოდით
ძრავის RPM– ის ავტონომიური კონტროლი გამოხმაურების სისტემის გამოყენებით IR დაფუძნებული ტაქომეტრიდან: 5 ნაბიჯი (სურათებით)
ძრავის RPM– ის ავტონომიური კონტროლი IR– ზე დაფუძნებული ტაქომეტრის საშუალებით გამოხმაურების სისტემის გამოყენებით: ყოველთვის არის საჭირო პროცესის ავტომატიზირება, იქნება ეს მარტივი/ამაზრზენი. მე მივიღე იდეა, რომ ეს პროექტი გამეკეთებინა მარტივი გამოწვევისგან, რომლის წინაშეც აღმოვჩნდი ჩვენი პატარა მიწის ნაკვეთის მორწყვის/მორწყვის მეთოდები. არსებული მიწოდების ხაზის პრობლემა