Агуулгын хүснэгт:

Arduino Resolver Module: 4 алхам
Arduino Resolver Module: 4 алхам

Видео: Arduino Resolver Module: 4 алхам

Видео: Arduino Resolver Module: 4 алхам
Видео: Зарядное устройства 4,2 В и ток 3 А 2024, Арваннэгдүгээр
Anonim
Arduino Resolver модуль
Arduino Resolver модуль

Tinee9 шинэ модулийн хамт эргэн ирлээ. Энэ модулийг Resolver модуль гэж нэрлэдэг.

Мотор хянах ертөнцөд байрлалыг илрүүлэх янз бүрийн төрөл, арга байдаг. Эдгээр арга нь танхимын мэдрэгч, XY мэдрэгч, тогтоогч, RVDT, LVDT, хээрийн захирлууд, потенциометр гэх мэтийг агуулдаг. Эдгээр мэдрэгч бүрийг хэрхэн тохируулснаас хамааран та хамгийн сүүлийн байрлалыг санах ойд хадгалж үлдэхгүйгээр өөрийн үнэмлэхүй байрлалыг тодорхойлж болно..

Миний ашиглаж буй модулийг RVDT, LVDT, Resolver -ийн демодуляцийг хийхэд ашиглаж болох боловч өнөөгийн зорилгоор шийдвэрлэх хэрэгслийн загварыг өөрчлөх болно.

Техникийн ойлголт: Шинжээчийн түвшин

Залгаад тоглуулах заавар: Дунд түвшин

Хангамж

1: Ардуино Нано

2: Resolver Module

3: Талхны самбар

4: 9.0 вольтын зай эсвэл NScope

5: Шийдвэрлэгч

6: 10х Талхны самбар Jumper Wires

Алхам 1: шийдвэрлэх модуль

Шийдвэрлэгч модуль
Шийдвэрлэгч модуль

Моторыг солихын тулд моторыг загварчлах, тэг цэгийг давахгүй бол үнэмлэхүй байр суурийг олж авах, мотороос хурдыг авах боломжтой хэд хэдэн зүйл байдаг.

Тэдгээрийг хамгийн их ашигладаг байсныг би аэрерон, жолоодлого, пуужингийн сэрвээ эсвэл камерын удирдлагад ашигладаг.

Тэд тогоо эсвэл танхимын мэдрэгчээс арай илүү үнэтэй байдаг боловч танд гайхалтай нарийвчлалыг өгдөг.

Алхам 2: Тохируулах

Тохируулах
Тохируулах
Тохируулах
Тохируулах
Тохируулах
Тохируулах
Тохируулах
Тохируулах

1: Эхлээд та arduino наногоо талхны тавцан дээр тавих хэрэгтэй болно

2: Та Arduino дээрх 5V зүүг +3V3 зүү ба 5V зүүтэй холбох ёстой

3: Arduino дээрх RTN -ийг Resolver Module дээрх RTN -тэй холбоно уу

4: Arduino дээрх D9 -ийг Resolver модулийн PWM -тэй холбоно уу

5: Arduino дээрх A0 -ийг Resolver Module дээрх MCU_COS+ -тэй холбоно уу

6: Arduino дээрх A1 -ийг Resolver Module дээрх MCU_SIN+ -тэй холбоно уу

7: Resolver EX+ утсыг Resolver Module дээрх EX+ руу холбоно уу

8: Resolver EX утсыг Resolver Module дээрх EX- руу холбоно уу

9: Resolver COS+ утсыг Resolver Module дээрх COS+ руу холбоно уу

10: Resolver RCOM -ийн 2 утсыг Resolver Module дээрх RCOM -тэй холбоно уу

11: Resolver SIN+ утсыг Resolver Module дээрх SIN+ руу холбоно уу

12: 9V батерейг RTN (-) ба VIN (+) -д холбоно уу.

13: Эсвэл Arduino дээр Nscope +5V -аас 5V хүртэл залгаад Nscope дээр RTN -ийг Arduino дээрх RTN руу холбоно уу.

14: Хамрах хүрээг компьютерт холбоно уу

15: Arduino -г компьютер дээрээ USB холбоно уу

Алхам 3: Кодыг ачаална уу

Кодыг ачаална уу
Кодыг ачаална уу
Кодыг ачаална уу
Кодыг ачаална уу

Доорх Arduino кодыг Arduino IDE дээрх ноорог дээрээ хуулж оруулна уу

Энэ кодын хийх зүйл бол PWM Resolver Module юм. Энэхүү модуль нь шийдвэрлэгчийг өдөөж, хоёрдогч ороомог дээр квадрат долгион үүсгэх болно. Sin+ ба Cos+ -ээс гарч буй дохио нь OPAMP-д дамжуулагдах бөгөөд энэ нь Wave-ийг төвлөрүүлж, гаралтыг 0-5Вольтын хооронд хэлбэлзүүлдэг.

Гэм+ ба Кос+ нь яг л тэдний хэлдэг шиг байдаг. Нүгэл нь Cos долгионтой харьцуулахад 90 градусын үе шаттай байна.

Тэд үе шатнаас 90 градусын зөрүүтэй байгаа тул бид шийдвэрлэх байрлалын зөв координатыг авахын тулд Atan2 (Cos, Sin) функцийг ашиглах хэрэгтэй.

Дараа нь Arduino 4 дээж авсны дараа -3.14 ба 3.14 хооронд хэлбэлзэх тусам -180 градус ба +180 градусын утгатай нулимна. Ийм учраас хэрэв та тогтоогчийг үнэмлэхүй байрлалд ашиглахыг хүсвэл зөвхөн -180 -аас 180 -ийн хооронд эргүүлэхгүй байх ёстой, эс тэгвээс та эргэлдэж, хөдөлгүүрийн цохилтын эхэн эсвэл төгсгөлд буцаж байна гэж бодох болно. Хэрэв та 3D принтерийн x эсвэл y тэнхлэгт шийдвэрлэх төхөөрөмж ашиглахаар шийдэж, 3D хэвлэгчийг замбараагүй болгоход хүрвэл энэ нь асуудал болно.

Тасалдал тасалдсан тохиолдолд кодыг арай илүү сайжруулж, PWM -ийг тасралтгүй хийх боломжтой байсан ч энэ нь энэ програмд хангалттай байх болно.int 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; хөвөх гаралт = 0.00; int sin1 = 0; int cos1 = 0; int position_state = 1; int get_position = 0; void setup () {// нэг удаа ажиллуулахын тулд тохиргооны кодоо энд оруулна уу: pinMode (pwm, OUTPUT); Цуваа.begin (115200); }

void loop () {

хэрэв (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 (гаралт); get_position = 1; }

// давтан ажиллуулахын тулд үндсэн кодоо энд оруулна уу.

}

Алхам 4: Алхам 3: Хөгжилтэй байгаарай

Алхам 3: Хөгжилтэй байгаарай
Алхам 3: Хөгжилтэй байгаарай
Алхам 3: Хөгжилтэй байгаарай
Алхам 3: Хөгжилтэй байгаарай

Шийдвэр гаргагчийг эргүүлж, шийдэгч хэрхэн ажилладаг, энэ програмын модулийг ямар програм ашиглаж болохыг олж мэдээрэй.

Зөвлөмж болгож буй: