Სარჩევი:
- ნაბიჯი 1: შესავალი
- ნაბიჯი 2: PID დაფუძნებული კონტროლის სისტემა
- ნაბიჯი 3: თვითბალანსირებული რობოტი
- ნაბიჯი 4: რობოტის დიზაინი
- ნაბიჯი 5: პროექტის კომპონენტები
- ნაბიჯი 6: რობოტის სტრუქტურა
- ნაბიჯი 7: კოდი
- ნაბიჯი 8: დასკვნა
- ნაბიჯი 9: განსაკუთრებული მადლობა
ვიდეო: თვითბალანსირებული რობოტი PID ალგორითმის გამოყენებით (STM MC): 9 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ბოლო დროს ბევრი სამუშაო გაკეთდა ობიექტების თვითბალანსირებაში. თვითბალანსირების კონცეფცია დაიწყო ინვერსიული ქანქარის დაბალანსებით. ეს კონცეფცია ვრცელდებოდა თვითმფრინავების დიზაინზეც. ამ პროექტში ჩვენ შევქმენით თვითბალანსირებული რობოტის მცირე მოდელი PID (პროპორციული, ინტეგრალური, წარმოებული) ალგორითმის გამოყენებით. მას შემდეგ, ეს მეთოდი ინდუსტრიული პროცესების კონტროლის სისტემების ახალი სახეა. ეს ანგარიში მიმოიხილავს ობიექტების თვითბალანსირებაში ჩართულ მეთოდებს. ეს პროექტი ჩატარდა როგორც სემესტრული პროექტი, რათა გაეგო PID– ის კორელაცია სხვადასხვა ინდუსტრიული პროცესების ეფექტურობაზე. აქ ჩვენ ყურადღებას ვაქცევთ მხოლოდ მოკლე მიმოხილვას PID კონტროლის ეფექტურობისა და გამოყენების შესახებ. ეს ნაშრომი შემუშავებულია კონტროლის სისტემებისა და მასთან დაკავშირებული ტერმინოლოგიების მოკლე შესავლით, პროექტის მოტივაციის გარდა. ჩატარდა ექსპერიმენტები და დაკვირვებები, დამსახურება და ნაკლოვანებები აღწერილია მომავალი გაუმჯობესებებით დამთავრებული. შემუშავდა თვითბალანსირებული რობოტის მოდელი, რათა გაეგო PID– ის ეფექტურობა საკონტროლო სისტემის სამყაროში. გარკვეული მკაცრი ტესტებისა და ექსპერიმენტების გავლისას აღმოჩენილი იქნა PID კონტროლის სისტემის დამსახურება და ნაკლოვანებები. აღმოჩნდა, რომ მიუხედავად PID– ის კონტროლის მრავალი უპირატესობისა წარსულ მეთოდებთან შედარებით, ეს სისტემა მაინც მოითხოვს ბევრ გაუმჯობესებას. ვიმედოვნებთ, რომ მკითხველს კარგად ესმის თვითბალანსირების მნიშვნელობა, PID კონტროლის ეფექტიანობა და დეფექტები
ნაბიჯი 1: შესავალი
კომპიუტერების მოსვლასთან და პროცესების ინდუსტრიალიზაციასთან ერთად, კაცობრიობის ისტორიის მანძილზე, ყოველთვის იყო კვლევები პროცესების ხელახალი შემუშავების გზების შემუშავებისათვის და რაც მთავარია, მათი ავტომატური კონტროლის გასაკონტროლებლად. მიზანი იყო ამ პროცესებში ადამიანის ჩართულობის შემცირება, რითაც ამ პროცესებში შეცდომის შემცირება. ამრიგად, შეიქმნა "კონტროლის სისტემის ინჟინერიის" სფერო. კონტროლის სისტემის ინჟინერია შეიძლება განისაზღვროს, როგორც სხვადასხვა მეთოდის გამოყენებით პროცესის მუშაობის გასაკონტროლებლად ან მუდმივი და სასურველი გარემოს შენარჩუნებისათვის, იქნება ეს მექანიკური თუ ავტომატური.
მარტივი მაგალითი შეიძლება იყოს ოთახის ტემპერატურის კონტროლი. სახელმძღვანელო კონტროლი ნიშნავს პირის ყოფნას ადგილზე, რომელიც ამოწმებს არსებულ პირობებს (სენსორს), ადარებს მას სასურველ მნიშვნელობას (დამუშავებას) და იღებს შესაბამის ზომებს სასურველი მნიშვნელობის მისაღებად (აქტივატორი). ამ მეთოდის პრობლემა ის არის, რომ ის არ არის ძალიან საიმედო, რადგანაც ადამიანი მიდრეკილია შეცდომისკენ ან დაუდევრობისა მის საქმიანობაში. ასევე, კიდევ ერთი პრობლემა ისაა, რომ გამტარებლის მიერ დაწყებული პროცესის სიჩქარე ყოველთვის არ არის ერთგვაროვანი, რაც იმას ნიშნავს, რომ ზოგჯერ ის შეიძლება მოხდეს უფრო სწრაფად, ვიდრე საჭიროა ან ზოგჯერ შეიძლება იყოს ნელი. ამ პრობლემის გადაწყვეტა იყო მიკროკონტროლის გამოყენება სისტემის გასაკონტროლებლად. მიკროკონტროლი არის
დაპროგრამებულია პროცესის გასაკონტროლებლად, მოცემული სპეციფიკაციების მიხედვით, რომელიც დაკავშირებულია წრეში (განხილული იქნება მოგვიანებით), კვებავს სასურველ მნიშვნელობას ან პირობებს და ამით აკონტროლებს პროცესს სასურველი მნიშვნელობის შესანარჩუნებლად. ამ პროცესის უპირატესობა ის არის, რომ ამ პროცესში არ არის საჭირო ადამიანის ჩარევა. ასევე, პროცესის სიჩქარე ერთგვაროვანია
ძირითადი კონტროლის სისტემა
წინა დიაგრამა გვიჩვენებს კონტროლის სისტემის ძალიან გამარტივებულ ვერსიას. მიკროკონტროლი არის ნებისმიერი კონტროლის სისტემის გულში. ეს არის ძალიან მნიშვნელოვანი კომპონენტი, ამიტომ მისი შერჩევა უნდა მოხდეს სისტემის მოთხოვნების გათვალისწინებით. მიკროკონტროლი იღებს შეყვანას მომხმარებლისგან. ეს შეყვანა განსაზღვრავს სისტემის სასურველ მდგომარეობას. მიკროკონტროლი ასევე იღებს უკუკავშირის შეყვანას სენსორიდან. ეს სენსორი უკავშირდება სისტემის გამომავალ სისტემას, რომლის ინფორმაცია იბრუნება შეყვანისას. მიკროპროცესორი, მისი პროგრამირების საფუძველზე, ასრულებს სხვადასხვა გამოთვლებს და აძლევს გამომცემელს გამომცემელს. გამტარებელი, გამომუშავების საფუძველზე, აკონტროლებს ქარხანას, რომ შეინარჩუნოს ეს პირობები. მაგალითი შეიძლება იყოს ძრავის მძღოლი, რომელიც მართავს ძრავას, სადაც მძღოლი არის ამძრავი და ძრავა არის ქარხანა. ძრავა, ამრიგად, ბრუნავს მოცემული სიჩქარით. დაკავშირებული სენსორი კითხულობს მცენარის მდგომარეობას ამჟამად და კვებავს მას მიკროკონტროლერს. მიკროკონტროლი კვლავ ადარებს, აკეთებს გამოთვლებს და ამრიგად, ციკლი მეორდება. ეს პროცესი განმეორებითი და უსასრულოა, რითაც მიკროკონტროლი ინარჩუნებს სასურველ პირობებს
ნაბიჯი 2: PID დაფუძნებული კონტროლის სისტემა
PID ალგორითმი არის კონტროლის სისტემის შემუშავების ეფექტური მეთოდი.
განმარტება
PID ნიშნავს პროპორციულ, ინტეგრალურ და წარმოებულს. ამ ალგორითმში, შეცდომის სიგნალი არის შეყვანა. და შემდეგი განტოლება გამოიყენება შეცდომის სიგნალზე
U (t) = Kp ∗ e (t) + Kd ∗ d/dt (e (t)) + Ki ∗ ინტეგრალი (e (t)) (1.1)
მოკლე განმარტება
როგორც ჩანს ზემოთ განტოლებაში, შეცდომის სიგნალების ინტეგრალი და წარმოებული გამოითვლება, მრავლდება მათ შესაბამის მუდმივებთან ერთად და ემატება მუდმივი Kp გამრავლებული e (t). შემდეგ გამომავალი სისტემა მიეწოდება აქტივატორს, რის გამოც სისტემა მუშაობს. ახლა მოდით შევხედოთ ფუნქციის თითოეულ ნაწილს თავის მხრივ. ეს ფუნქცია პირდაპირ გავლენას ახდენს აღმავლობის დროზე, დაცემაზე, პიკზე გადაღებაზე, დარეგულირების დროზე და სტაბილური მდგომარეობის შეცდომებზე.
• პროპორციული ნაწილი: პროპორციული ნაწილი ამცირებს აწევის დროს და ამცირებს სტაბილური მდგომარეობის შეცდომას. ეს ნიშნავს, რომ სისტემას ნაკლები დრო დასჭირდება პიკური მნიშვნელობის მისაღწევად და როდესაც ის მიაღწევს თავის სტაბილურ მდგომარეობას, სტაბილური მდგომარეობის შეცდომა იქნება დაბალი. თუმცა, ეს ზრდის პიკის გადაჭარბებას.
• წარმოებული ნაწილი: წარმოებული ნაწილი ამცირებს გადალახვისა და დასახლების დროს. ეს ნიშნავს, რომ სისტემის გარდამავალი მდგომარეობა უფრო დაქვეითდება. ასევე, სისტემა მიაღწევს თავის სტაბილურ მდგომარეობას ნაკლებ დროში. ამასთან, მას არ აქვს რაიმე გავლენა ზრდის დროზე ან სტაბილური მდგომარეობის შეცდომაზე.
• ინტეგრალური ნაწილი: განუყოფელი ნაწილი ამცირებს აწევის დროს და მთლიანად გამორიცხავს სტაბილური მდგომარეობის შეცდომას. თუმცა, ეს ზრდის პიკის გადალახვას და დასახლების დროს.
• დარეგულირება: კარგ საკონტროლო სისტემას ექნება დაბალი ზრდის დრო, მოწესრიგების დრო, პიკის გადაჭარბების და სტაბილური მდგომარეობის შეცდომა. ამრიგად, Kp, Kd, Ki უნდა იყოს სრულყოფილად მორგებული ზემოაღნიშნული ფაქტორების წვლილის შესაცვლელად, კარგი კონტროლის სისტემის მოსაპოვებლად.
ფიგურა მიმაგრებულია PID ალგორითმში სხვადასხვა პარამეტრების შეცვლის ეფექტზე.
ნაბიჯი 3: თვითბალანსირებული რობოტი
თვითბალანსირებული რობოტი არის მრავალ ფენიანი, ორბორბლიანი რობოტი.
რობოტი შეეცდება დააბალანსოს ნებისმიერი უთანასწორო ძალა (ები). ის დააბალანსებს საკუთარ თავს ძალის გამოყენებით, რომელიც ეწინააღმდეგება რობოტზე მოქმედ ძალებს.
თვითბალანსირების მეთოდები
არსებობს რობოტების თვითბალანსირების ოთხი მეთოდი. ეს არის შემდეგი:
თვითბალანსირება ორი IR დახრის სენსორის გამოყენებით
ეს არის ერთ -ერთი ყველაზე უხეში გზა რობოტის დასაბალანსებლად, რადგან ის მოითხოვს ნაკლებ აპარატურას და შედარებით მარტივ ალგორითმს. ამ მიდგომით, ორი დახრილი IR სენსორი გამოიყენება მიწასა და რობოტს შორის მანძილის გასაზომად. გამოთვლილი მანძილის საფუძველზე, PID შეიძლება გამოყენებულ იქნას ძრავების მართვისთვის, რობოტის შესაბამისად დასაბალანსებლად. ამ მეთოდის ერთი მინუსი ის არის, რომ IR სენსორს შეუძლია გამოტოვოს ზოგიერთი კითხვა. კიდევ ერთი პრობლემა ის არის, რომ მანძილის გამოსათვლელად საჭიროა შეფერხება და მარყუჟები, რაც ზრდის ალგორითმის დროის სირთულეს. ამრიგად, რობოტის დაბალანსების ეს მეთოდი არც თუ ისე ეფექტურია.
თვითბალანსირება აქსელერომეტრის გამოყენებით
ამაჩქარებელი გვაძლევს სხეულის აჩქარებას 3 ღერძზე. Y ღერძზე (ზემოთ) და x ღერძზე (წინ) ორიენტირებული აჩქარება გვაძლევს ზომას, რომ გამოვთვალოთ სიმძიმის მიმართულება და შესაბამისად გამოვთვალოთ დახრის კუთხე. კუთხე გამოითვლება შემდეგნაირად:
θ = არქტანი (Ay/Ax) (1.2)
ამ მეთოდის გამოყენების მინუსი ის არის, რომ რობოტის მოძრაობისას კითხვებს დაემატება ჰორიზონტალური აჩქარებაც, რაც არის მაღალი სიხშირის ხმაური. აქედან გამომდინარე, დახრის კუთხე იქნება არაზუსტი.
თვითბალანსირება გიროსკოპის გამოყენებით
გიროსკოპი გამოიყენება სამი ღერძის გასწვრივ კუთხის სიჩქარის გამოსათვლელად. დახრის კუთხე მიიღება შემდეგი განტოლების გამოყენებით.
θp (i) = θp (i − 1) + 1/6 (vali − 3 + 2vali − 2 + 2vali − 1 + vali) (1.3)
გიროსკოპის გამოყენების ერთი დიდი მინუსი ის არის, რომ მას აქვს მცირე DC მიკერძოება, რომელიც დაბალი სიხშირის ხმაურია და რამდენიმე ხანში დაბრუნებული მნიშვნელობები სრულიად არასწორია. ეს, ინტეგრაციის შემდეგ, გამოიწვევს ნულოვანი წერტილის დაშორებას. შედეგად, რობოტი დარჩება თავის ვერტიკალურ მდგომარეობაში გარკვეული დროის განმავლობაში და გადმოვარდება დრიფტის მოსვლისთანავე.
თვითბალანსირება აქსელერომეტრის და გიროსკოპის გამოყენებით
როგორც ზემოთ განვიხილეთ, მხოლოდ ამაჩქარებლის ან გიროსკოპის გამოყენება არ მოგვცემს დახრის სწორ კუთხეს. ამის გასაგებად გამოიყენება როგორც ამაჩქარებელი, ასევე გიროსკოპი. ეს ორივე ჩამონტაჟებულია MPU6050- ში. ამაში ჩვენ ვიღებთ მონაცემებს ორივესგან და შემდეგ ვუერთებთ მათ კალმანის ფილტრის ან დამატებითი ფილტრის გამოყენებით.
• კალმანის ფილტრი: კალმანის ფილტრი ითვლის დინამიური სისტემის მდგომარეობის საუკეთესო შეფასებას ხმაურიანი გაზომვებიდან და ამცირებს შეფასების საშუალო კვადრატულ შეცდომას. ის მუშაობს ორ ეტაპად, პროგნოზირება და შესწორება, სისტემის დინამიკის აღმწერი დისკრეტული სტოქასტური განტოლებების გათვალისწინებით. ამასთან, ეს არის ძალიან რთული ალგორითმი, რომელიც განსაკუთრებით გამოიყენება მიკროკონტროლერის შეზღუდულ აპარატურაზე.
• დამატებითი ფილტრი: ეს ალგორითმი პირველ რიგში იყენებს გიროსკოპიდან მიღებულ მონაცემებს და დროთა განმავლობაში აერთიანებს მას დახრის კუთხის მისაღებად. ის ასევე იყენებს ამაჩქარებლის მაჩვენებლების მცირე ნაწილს. დამატებითი ფილტრი, ფაქტობრივად, ამცირებს აქსელერომეტრის მაღალი სიხშირის ხმაურს და გიროსკოპის დაბალი სიხშირის ხმაურს და შემდეგ აერთიანებს მათ, რათა მიეცეს დახრილობის საუკეთესო ზუსტი კუთხე.
ნაბიჯი 4: რობოტის დიზაინი
ჩვენ შევქმენით თვითბალანსირებული რობოტი პროპორციული წარმოებული კონტროლერის გამოყენებით, რომელიც განხორციელებულია დამატებითი ფილტრის მიერ MPU6050– ისთვის. თვით დაბალანსებული რობოტის ეს პატარა მოდელი დაგვანახებს რობოტების თვითბალანსირების კონტროლის სისტემების სარგებლიანობას.
სისტემის დანერგვა:
სისტემა არის თვითბალანსირებული რობოტი. იგი ხორციელდება PID კონტროლერის გამოყენებით, რომელიც არის პროპორციული ინტეგრალური წარმოებული კონტროლერი. ჩვენ ვაბალანსებთ რობოტს მისი ბორბლების გადაადგილებით მისი დაცემის მიმართულებით. ამით ჩვენ ვცდილობთ რობოტის სიმძიმის ცენტრი შევინარჩუნოთ საყრდენ წერტილზე მაღლა. ბორბლების მართვის მიზნით მისი დაცემის მიმართულებით, ჩვენ უნდა ვიცოდეთ სად ეცემა რობოტი და რა სიჩქარით ეცემა. ეს მონაცემები მიღებულია MPU6050– ის გამოყენებით, რომელსაც აქვს ამაჩქარებელი და გიროსკოპი. MPU6050 ზომავს დახრის კუთხეს და მისცემს მის გამომუშავებას მიკროკონტროლერს. MPU6050 დაკავშირებულია STM დაფასთან I2C საშუალებით. I2C– ში ერთი მავთული არის საათისათვის, რომელსაც SCL ეწოდება. მეორე არის მონაცემთა გადაცემისათვის, რომელიც არის SDA. ამაში გამოიყენება სამაგისტრო კომუნიკაცია. საწყისი მისამართი და დამთავრებული მისამართი არის განსაზღვრული საიდან იწყება და სად მთავრდება მონაცემები. ჩვენ აქ განვახორციელეთ დამატებითი ფილტრი MPU6050– ისთვის, რომელიც არის მათემატიკური ფილტრი ამაჩქარებლისა და გიროსკოპის შედეგების გაერთიანებისათვის. MPU6050– დან მონაცემების მოპოვების შემდეგ, მიკროკონტროლერი განახორციელებს გამოთვლებს, რომ იცოდეს სად ეცემა. გათვლებიდან გამომდინარე, STM მიკროკონტროლი აძლევს მძღოლს ბრძანებებს, რომ მანქანები მართოს დაცემის მიმართულებით, რაც დააბალანსებს რობოტს.
ნაბიჯი 5: პროექტის კომპონენტები
შემდეგი კომპონენტები გამოყენებულ იქნა თვითბალანსირებული რობოტის პროექტში:
STM32F407
მიკროკონტროლი შექმნილია ST Microelectronics– ის მიერ. ის მუშაობს ARM Cortex-M Architecture– ზე.
საავტომობილო მძღოლი L298N
ეს IC გამოიყენება ძრავის გასაშვებად. ის იღებს ორ გარე შეყვანას. ერთი მიკროკონტროლიდან, რომელიც აწვდის მას PWM სიგნალს. პულსის სიგანის რეგულირებით შესაძლებელია ძრავის სიჩქარის რეგულირება. მისი მეორე შეყვანა არის ძრავის მართვისათვის საჭირო ძაბვის წყარო, რომელიც ჩვენს შემთხვევაში არის 12 ვ ბატარეა.
DC ძრავა
DC ძრავა მუშაობს DC მიწოდებაზე. ამ ექსპერიმენტში, DC ძრავა მუშაობს ოპტოწყვილების გამოყენებით, რომლებიც დაკავშირებულია ძრავის დრაივერთან. ძრავის მართვისთვის ჩვენ გამოვიყენეთ Motor Drive L298N.
MPU6050
MPU6050 გამოიყენება ინფორმაციის მისაღებად რობოტის ვარდნის შესახებ. ის ზომავს დახრის კუთხეს ნულოვანი დახრის წერტილის მიმართ, რომელიც არის MPU6050- ის პოზიცია, როდესაც პროგრამა იწყებს მუშაობას.
MPU6050– ს აქვს 3 ღერძიანი ამაჩქარებელი და 3 ღერძიანი გიროსკოპი. ამაჩქარებელი გაზომავს აჩქარებას სამი ღერძის გასწვრივ და გიროსკოპი ზომავს კუთხის სიჩქარეს სამი ღერძის გარშემო. იმისათვის, რომ გავაერთიანოთ გამომავალი, ჩვენ უნდა გავფილტროთ ორივეს ხმაური. ხმების გასაფორმებლად ჩვენ გვაქვს კალმანი და დამატებითი ფილტრი. ჩვენ განვახორციელეთ დამატებითი ფილტრი ჩვენს პროექტში.
ოპტო წყვილი 4N35
ოპტოოპლერი არის მოწყობილობა, რომელიც გამოიყენება მიკროსქემის დაბალი ძაბვის ნაწილისა და მაღალი ძაბვის ნაწილის იზოლირებისთვის. როგორც სახელი გვთავაზობს, ის მუშაობს სინათლის საფუძველზე. როდესაც დაბალი ძაბვის ნაწილი იღებს სიგნალს, მაღალი დენის ნაწილში დნება
ნაბიჯი 6: რობოტის სტრუქტურა
რობოტის სტრუქტურა აიხსნება შემდეგნაირად:
ფიზიკური სტრუქტურა
თვითბალანსირებული რობოტი შედგება ორი ფენისგან, რომელიც შედგება გამჭვირვალე პლასტმასის მინისგან. ორი ფენის დეტალები მოცემულია ქვემოთ:
პირველი ფენა
პირველი ფენის ქვედა ნაწილში ჩვენ მოვათავსეთ უჯრედი STM დაფაზე. ასევე 4 ძაბვის ორი ძრავა თითოეულ მათგანზე განთავსებულია თითოეულ მხარეს, რობოტთან დაკავშირებული საბურავებით. პირველი ფენის ზედა ნაწილში მოთავსებულია ორი აკუმულატორი 4 ვოლტიანი (სულ 8 ვოლტი) და ძრავის მძღოლი IC (L298N) ძრავების მუშაობისთვის.
მეორე ფენა
რობოტის ზედა ფენაში ჩვენ განვათავსეთ STM დაფა პერფ დაფაზე. კიდევ ერთი პერფი დაფა 4 ოპტო წყვილისგან მოთავსებულია ზედა ფენაზე. გიროსკოპი ასევე მოთავსებულია რობოტის ზედა ფენაზე ქვედა მხრიდან. ორივე კომპონენტი მოთავსებულია შუა ნაწილში ისე, რომ სიმძიმის ცენტრი მაქსიმალურად დაბალი იყოს.
რობოტის სიმძიმის ცენტრი
სიმძიმის ცენტრი შენარჩუნებულია რაც შეიძლება დაბალ დონეზე. ამ მიზნით, ჩვენ მოვათავსეთ მძიმე ბატარეები ქვედა ფენაზე და მსუბუქი კომპონენტები, როგორიცაა STM დაფა და ოპტოწყვილები ზედა ფენაზე.
ნაბიჯი 7: კოდი
კოდი შედგენილია Atollic TrueStudio– ზე. STM სტუდია გამოიყენებოდა გამართვის მიზნით.
ნაბიჯი 8: დასკვნა
ბევრი ექსპერიმენტისა და დაკვირვების შემდეგ, ჩვენ საბოლოოდ მივედით იმ წერტილამდე, სადაც ჩვენ შევაჯამეთ ჩვენი შედეგები და განვიხილავთ, თუ რამდენად წარმატებით განვახორციელეთ და გავამუშავეთ სისტემის ეფექტიანობა.
ზოგადი მიმოხილვა
ექსპერიმენტის დროს ძრავის სიჩქარე წარმატებით კონტროლდებოდა PID ალგორითმის გამოყენებით. მრუდი არ არის ზუსტად გლუვი სწორი ხაზი. ამის მრავალი მიზეზი არსებობს:
• სენსორი, რომელიც დაკავშირებულია დაბალ გამავრცელებელ ფილტრთან, მაინც იძლევა განსაზღვრულ დებიუნაციას; ეს გამოწვეულია არაწრფივი წინააღმდეგობებით და ანალოგური ელექტრონიკის ზოგიერთი გარდაუვალი მიზეზით.
• ძრავა არ მოძრაობს შეუფერხებლად მცირე ძაბვის ან PWM- ის დროს. ის იძლევა ხუმრობებს, რამაც შეიძლება გამოიწვიოს სისტემის არასწორი მნიშვნელობები.
• ვოლბინგის გამო, სენსორმა შეიძლება გამოტოვოს რამდენიმე ნაპრალი, რომელიც უზრუნველყოფს უფრო მაღალ მნიშვნელობებს. • შეცდომების კიდევ ერთი მთავარი მიზეზი შეიძლება იყოს STM მიკროკონტროლის ძირითადი საათის სიხშირე. STM მიკროკონტროლის ეს მოდელი უზრუნველყოფს ძირითად საათს 168 MHz. მიუხედავად იმისა, რომ ამ პრობლემის მოგვარება მოხდა ამ პროექტში, არსებობს ზოგადი წარმოდგენა ამ მოდელზე, რომ ის ზუსტად არ იძლევა ასეთ მაღალ სიხშირეს.
ღია მარყუჟის სიჩქარე უზრუნველყოფს ძალიან გლუვ ხაზს მხოლოდ რამდენიმე მოულოდნელი მნიშვნელობით. PID ალგორითმი ასევე მუშაობს, რომელიც უზრუნველყოფს ძრავის ძალიან დაბალ დროს. ძრავის PID ალგორითმი შემოწმებულია სხვადასხვა ძაბვის ქვეშ, ინარჩუნებს საცნობარო სიჩქარეს მუდმივ რეჟიმში. ძაბვის ცვლილება არ ცვლის ძრავის სიჩქარეს და აჩვენებს, რომ PID ალგორითმი მუშაობს სრულყოფილად
ეფექტურობა
აქ ჩვენ განვიხილავთ PID კონტროლერის ეფექტურობას, რომელიც ჩვენ შევამჩნიეთ ექსპერიმენტის დროს.
მარტივი განხორციელება
ჩვენ ვნახეთ ექსპერიმენტებისა და დაკვირვების განყოფილებაში, რომ PID კონტროლერის განხორციელება ძალიან ადვილია. ის მოითხოვს მხოლოდ სამ პარამეტრს ან მუდმივობას, რომლებიც უნდა იყოს დაყენებული იმისათვის, რომ ჰქონდეს სიჩქარის კონტროლის სისტემა
შეუსაბამო ეფექტურობა ხაზოვანი სისტემებისთვის
ხაზოვანი PID კონტროლერი არის ყველაზე ეფექტური კონტროლერების ოჯახში, რადგან ლოგიკა ძალიან მარტივია და გამოყენება ფართოდ გავრცელებულია ხაზოვანი ან საკმაოდ ხაზოვანი პროგრამების შემთხვევაში.
შეზღუდვები
ჩვენ აბსტრაქტულად განვმარტავთ ამ სისტემის შეზღუდვების შესახებ. აქ ჩვენ განვიხილავთ რამდენიმე მათგანს, რომლებიც ჩვენ დავაკვირდით.
კონსტანტების შერჩევა
ჩვენ ვნახეთ, რომ მართალია PID კონტროლერის განხორციელება ადვილია, მაგრამ ეს არის სისტემის მთავარი ნაკლი, რომ მუდმივების მნიშვნელობის შერჩევის ნაბიჯი შრომატევადია; როგორც უნდა მოხდეს რთული გათვლები. სხვა გზა არის დარტყმის და საცდელი მეთოდი, მაგრამ ის ასევე არ არის ეფექტური.
მუდმივები ყოველთვის არ არის მუდმივი
ექსპერიმენტულმა შედეგებმა აჩვენა, რომ ძრავის საცნობარო სიჩქარის სხვადასხვა მნიშვნელობებისთვის, PID კონტროლერი გაუმართავია PID მუდმივების იგივე მნიშვნელობებისთვის. სხვადასხვა სიჩქარისთვის, მუდმივები უნდა შეირჩეს სხვადასხვა გზით და ეს ზრდის გამოთვლილ ღირებულებას ექსპონენციალურად.
არაწრფივი
ჩვენს შემთხვევაში გამოყენებული PID კონტროლერი არის ხაზოვანი, ამიტომ მისი გამოყენება შესაძლებელია მხოლოდ ხაზოვან სისტემებზე. არაწრფივი სისტემებისთვის, კონტროლერი განსხვავებულად უნდა განხორციელდეს. მიუხედავად იმისა, რომ PID– ის განსხვავებული არაწრფივი მეთოდები არსებობს, მათ უფრო მეტი პარამეტრის შერჩევა სჭირდებათ. ეს კვლავ არასასურველს ხდის სისტემას მაღალი გამოთვლითი ღირებულების გამო.
საჭიროა საწყისი ბიძგი
ჩვენ ექსპერიმენტის განყოფილებაში ვაჩვენეთ, რომ საკმაოდ მცირე საცნობარო სიჩქარისთვის, სადაც შეცდომა დასაწყისში საკმაოდ მცირეა, PID– ის მიერ მოწოდებული PWM იმდენად მცირეა, რომ ის არ გამოიმუშავებს ძრავის საჭირო საწყის ბრუნვას. ასე რომ, ზოგიერთ ცდაში ძრავა არ მუშაობს ან სხვა ცდებში იძლევა დიდ გადალახვას და ხანგრძლივ მოგვარებას.
ნაბიჯი 9: განსაკუთრებული მადლობა
განსაკუთრებული მადლობა ჩემი ჯგუფის წევრებს, რომლებიც დამეხმარნენ ამ პროექტის განხორციელებაში.
ვიდეოს ლინკს მალე ავტვირთავ.
ვიმედოვნებ, რომ ეს ინსტრუქცია თქვენთვის საინტერესო იქნება.
ეს არის Tahir Ul Haq საწყისი UET ხელმოწერა. Გაუმარჯოს !!!
გირჩევთ:
თვითბალანსირებული რობოტი - PID კონტროლის ალგორითმი: 3 ნაბიჯი
თვითდაბალანსებული რობოტი - PID კონტროლის ალგორითმი: ეს პროექტი ჩაფიქრებული იყო იმიტომ, რომ მე დაინტერესებული ვიყავი უფრო მეტი მესწავლა კონტროლის ალგორითმების შესახებ და როგორ ეფექტურად განეხორციელებინა ფუნქციური PID მარყუჟები. პროექტი ჯერ კიდევ განვითარების ფაზაშია, რადგან ჯერ კიდევ არ არის დამატებული Bluetooth მოდული, რომელიც
თვითბალანსირებული რობოტი Magicbit– დან: 6 ნაბიჯი
თვითბალანსირებული რობოტი Magicbit– დან: ეს გაკვეთილი გვიჩვენებს, თუ როგორ უნდა გავაკეთოთ თვითბალანსირებული რობოტი Magicbit dev დაფის გამოყენებით. ჩვენ ვიყენებთ magicbit– ს, როგორც განვითარების დაფას ამ პროექტში, რომელიც დაფუძნებულია ESP32– ზე. ამიტომ ნებისმიერი ESP32 განვითარების დაფა შეიძლება გამოყენებულ იქნას ამ პროექტში
ორი ბორბალი თვითბალანსირებული რობოტი: 7 ნაბიჯი
ორი ბორბალი თვითბალანსირებული რობოტი: ეს ინსტრუქცია გაივლის დიზაინისა და შექმნის პროცესს თვითბალანსირებული რობოტისთვის. როგორც შენიშვნა, მე უბრალოდ მინდა ვთქვა, რომ თვითდაბალანსებული რობოტები არ არის ახალი კონცეფცია და ისინი სხვების მიერ არის აგებული და დოკუმენტირებული. მინდა გამოვიყენო ეს შესაძლებლობა
როგორ შევქმნათ დისტანციურად კონტროლირებადი 3D დაბეჭდილი თვითბალანსირებული რობოტი: 9 ნაბიჯი (სურათებით)
როგორ შევქმნათ დისტანციურად კონტროლირებადი 3D დაბეჭდილი თვითბალანსირებული რობოტი: ეს არის B- რობოტის წინა ვერსიის ევოლუცია. 100% ღია წყარო / Arduino რობოტი. კოდი, 3D ნაწილები და ელექტრონიკა ღიაა, ასე რომ მოგერიდებათ მისი შეცვლა ან რობოტის უზარმაზარი ვერსიის შექმნა. თუ თქვენ გაქვთ ეჭვი, იდეები ან გჭირდებათ დახმარება, გააკეთეთ
DC ძრავის სიჩქარის კონტროლი PID ალგორითმის გამოყენებით (STM32F4): 8 ნაბიჯი (სურათებით)
DC ძრავის სიჩქარის კონტროლი PID ალგორითმის გამოყენებით (STM32F4): გამარჯობა ყველას, ეს არის tahir ul haq სხვა პროექტით. ამჯერად ეს არის STM32F407 როგორც MC. ეს არის შუა სემესტრის დასრულების პროექტი. იმედია მოგეწონებათ. ის მოითხოვს ბევრ კონცეფციას და თეორიას, ასე რომ ჩვენ პირველ რიგში შევეხებით მას. კომპიუტერების დადგომასთან ერთად