Სარჩევი:

Arduino Resolver მოდული: 4 ნაბიჯი
Arduino Resolver მოდული: 4 ნაბიჯი

ვიდეო: Arduino Resolver მოდული: 4 ნაბიჯი

ვიდეო: Arduino Resolver მოდული: 4 ნაბიჯი
ვიდეო: SKR PRO V1.1 TFT35 V2 2024, ნოემბერი
Anonim
Arduino Resolver მოდული
Arduino Resolver მოდული

Tinee9 დაბრუნდა ახალი მოდულით. ამ მოდულს ეწოდება Resolver მოდული.

საავტომობილო კონტროლის სამყაროში არსებობს პოზიციის გამოვლენის სხვადასხვა ტიპი ან მეთოდი. ეს მეთოდი მოიცავს დარბაზის სენსორებს, XY სენსორებს, გამხსნელს, RVDT, LVDT, საველე დირექტორებს, პოტენომეტრს და სხვა. იმისდა მიხედვით, თუ როგორ არის დაყენებული თითოეული ეს სენსორი, თქვენ შეგიძლიათ განსაზღვროთ თქვენი აბსოლუტური პოზიცია, თუნდაც ბოლო პოზიციის მეხსიერებაში შენახვა. რა

მოდული, რომელსაც მე ვიყენებ, შეიძლება გამოყენებულ იქნას RVDT, LVDT და Resolver– ის დემოდულაციისთვის, მაგრამ დღევანდელი მიზნისთვის იქნება დეზოდულაცია გადამწყვეტი.

ტექნიკური გაგება: ექსპერტის დონე

Tutorial Plug and Play: შუალედური დონე

მარაგები

1: არდუინო ნანო

2: გადასაწყვეტი მოდული

3: პურის დაფა

4: 9.0 ვოლტიანი ბატარეა ან NScope

5: მოხსნა

6: 10x პურის დაფა Jumper Wires

ნაბიჯი 1: გადასაწყვეტი მოდული

გადასაწყვეტი მოდული
გადასაწყვეტი მოდული

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

იქ, სადაც მე ვნახე, რომ ისინი ყველაზე ხშირად იყენებდნენ აერონის, საჭის, რაკეტის ფარდის ან კამერის მართვის კოსმოსურ გამოყენებას.

ისინი უფრო ძვირი ღირს, ვიდრე ქვაბის ან დარბაზის სენსორი, მაგრამ ისინი წარმოუდგენელ გარჩევადობას გაძლევთ.

ნაბიჯი 2: დაყენება

Აწყობა
Აწყობა
Აწყობა
Აწყობა
Აწყობა
Აწყობა
Აწყობა
Აწყობა

1: პირველ რიგში თქვენ უნდა მოათავსოთ თქვენი არდუინო ნანო პურის დაფაზე

2: თქვენ უნდა შეაერთოთ 5V პინდი Arduino– ზე +3V3 პინზე და 5V პინზე Resolver მოდულზე (მოდულს შეიძლება ჰქონდეს 3.3V მარაგი, ხოლო 5V აღგზნებას აძლევს გადამწყვეტზე)

3: შეაერთეთ RTN Arduino– ზე RTN Resolver მოდულზე

4: შეაერთეთ D9 არდუინოზე PWM Resolver მოდულზე

5: დაუკავშირეთ A0 Arduino– ზე MCU_COS+ Resolver მოდულზე

6: დაუკავშირეთ A1 Arduino– ზე MCU_SIN+ Resolver მოდულზე

7: დაუკავშირეთ Resolver EX+ მავთულს EX+ Resolver მოდულზე

8: დაუკავშირეთ Resolver EX- მავთული EX- ს Resolver მოდულზე

9: შეაერთეთ Resolver COS+ მავთული COS+ Resolver მოდულზე

10: შეაერთეთ 2 Resolver RCOM მავთული RCOM– ზე Resolver მოდულზე

11: შეაერთეთ Resolver SIN+ მავთული SIN+ Resolver მოდულზე

12: შეუერთეთ 9 ვ ბატარეა RTN (-) და VIN (+)

13: ან შეაერთეთ Nscope +5V to 5V Pin Arduino– ზე და RTN Nscope– ზე RTN– ზე Arduino– ზე

14: შეაერთეთ სფეროს USB კომპიუტერზე

15: დაუკავშირეთ Arduino USB- ს კომპიუტერზე

ნაბიჯი 3: ჩატვირთეთ კოდი

ჩატვირთეთ კოდი
ჩატვირთეთ კოდი
ჩატვირთეთ კოდი
ჩატვირთეთ კოდი

დააკოპირეთ ჩასვით Arduino კოდი ქვემოთ თქვენს Sketch- ში Arduino IDE- ში

რის გაკეთებას აპირებს ეს კოდი არის PWM Resolver მოდული. ეს მოდული აღაგზნებს ამომხსნელს და წარმოქმნის კვადრატულ ტალღას ამომხსნელის მეორად კოჭებზე. Sin+ და Cos+-დან გამოსული სიგნალები იკვებება OPAMP– ით, რომელიც ტალღის ცენტრალიზაციას მოახდენს და გამომავალს შეამცირებს ისე, რომ ის 0–5 ვოლტს შორის იყოს.

Sin+ და Cos+ როგორც ნიშნავს. Sin არის 90 გრადუსი ფაზის გარეთ Cos ტალღასთან.

ვინაიდან ისინი 90 გრადუსია ფაზის გარეთ, ჩვენ უნდა გამოვიყენოთ Atan2 (Cos, Sin) ფუნქცია, რომ მივიღოთ გადამწყვეტი პოზიციის სწორი კოორდინატი.

შემდეგ არდუინო ამოაფურთხებს მას შემდეგ, რაც მას 4 ნიმუში აქვს მიღებული, მნიშვნელობა -3.14 და 3.14 შორის, რაც წარმოადგენს -180 გრადუსს და +180 გრადუსს შესაბამისად. ამიტომაც, თუ გსურთ გამოიყენოთ გამხსნელი აბსოლუტური პოზიციისთვის, თქვენ უნდა გამოიყენოთ მხოლოდ -180 -დან 180 -მდე ბრუნვის გარეშე, წინააღმდეგ შემთხვევაში თქვენ გადატრიალდებით და იფიქრებთ, რომ თქვენ დაბრუნდით თქვენი გამტარებლის დარტყმის დასაწყისში ან ბოლოს. ეს იქნება პრობლემა, თუ თქვენ გადაწყვეტთ გამოიყენოთ 3D პრინტერის x ან y ღერძის გამხსნელი და გადახვედით, რამაც გამოიწვია 3D პრინტერის გაფუჭება.

შემეძლო შემეწყვეტებით კოდი ოდნავ უკეთესი გამეხადა უფრო უწყვეტი PWMing, მაგრამ ეს საკმარისი იქნება ამ აპლიკაციისთვის. ინ A = A0;

int B = A1; int pwm = 9; int c1 = 0; int c2 = 0; int c3 = 0; int c4 = 0; int c5 = 0; int c6 = 0; int s1 = 0; int s2 = 0; int s3 = 0; int s4 = 0; int s5 = 0; int s6 = 0; float output = 0.00; int sin1 = 0; int cos1 = 0; int position_state = 1; int get_position = 0; void setup () {// განათავსეთ თქვენი კონფიგურაციის კოდი აქ, ერთხელ გასაშვებად: pinMode (pwm, OUTPUT); Serial.begin (115200); }

ბათილი მარყუჟი () {

თუ (get_position = 5) {cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); გამომავალი = atan2 (cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("პოზიცია:"); Serial.println (გამომავალი); მიიღეთ_პოზიცია = 1; }

// განათავსეთ თქვენი მთავარი კოდი აქ განმეორებით გასაშვებად:

}

ნაბიჯი 4: ნაბიჯი 3: გაერთეთ

ნაბიჯი 3: გაერთეთ
ნაბიჯი 3: გაერთეთ
ნაბიჯი 3: გაერთეთ
ნაბიჯი 3: გაერთეთ

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

გირჩევთ: