Мазмуну:

Arduino Resolver Module: 4 кадам
Arduino Resolver Module: 4 кадам

Video: Arduino Resolver Module: 4 кадам

Video: Arduino Resolver Module: 4 кадам
Video: Пульты 433Мгц и Arduino 2024, Ноябрь
Anonim
Arduino Resolver Module
Arduino Resolver Module

Tinee9 жаңы модуль менен кайтып келди. Бул модуль Resolver модулу деп аталат.

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

Мен колдонгон модуль RVDT, LVDT жана Resolverди демодуляциялоо үчүн колдонулушу мүмкүн, бирок бүгүнкү күн үчүн резолютордун демодуляциясы болот.

Техникалык түшүнүк: Эксперттик деңгээл

Tutorial Plug and Play: Орто деңгээл

Жабдуулар

1: Arduino Nano

2: Чечүүчү модуль

3: Нан тактасы

4: 9.0 Вольт Батарея же NScope

5: Чечүүчү

6: 10х Нан тактасы Jumper Wires

1 -кадам: Чечүүчү модуль

Чечүүчү модуль
Чечүүчү модуль

Моторду алмаштыруу үчүн моторду демодуляциялоого мүмкүн болгон чечүүчү менен кыла турган бир нече нерселер бар, эгер сиз нөлдүк чекиттен өтпөсөңүз, абсолюттук абалга ээ боло аласыз жана мотордон ылдамдыкты ала аласыз.

Мен алардын эң көп колдонулганын кайда көрдүм - бул аэролордук колдонмолордо, рулда, ракеталык сүзгүчтө же камераны башкарууда.

Алар казанга же зал сенсоруна караганда бир аз кымбатыраак болушат, бирок алар сизге укмуштуудай чечим берет.

2 -кадам: Орнотуу

Жайгашуу
Жайгашуу
Жайгашуу
Жайгашуу
Жайгашуу
Жайгашуу
Жайгашуу
Жайгашуу

1: Биринчиден, нан тактаңызга ардуино наноңузду коюшуңуз керек

2: Сиз Arduinoдогу 5V пинди +3V3 пинге жана Resolver модулуна 5V пинге илип коюшуңуз керек (модуль 5V дүүлүктүрүүчүдө 3.3V менен камсыз болушу мүмкүн)

3: Arduinoдогу RTNди Resolver Module боюнча RTNге туташтырыңыз

4: Arduinoдогу D9'ду Resolver модулундагы PWMге туташтырыңыз

5: Arduinoдогу A0ну Чечүүчү модулдагы MCU_COS+ менен туташтырыңыз

6: Arduinoдогу A1ди Чечүүчү модулдагы MCU_SIN+ менен туташтырыңыз

7: Resolver EX+ зымын Resolver Module боюнча EX+ га туташтырыңыз

8: Resolver EX-зымын Resolver Module'деги EX- ге туташтырыңыз

9: Resolver COS+ зымын Resolver Module боюнча COS+ менен туташтырыңыз

10: 2 Resolver RCOM зымдарын Resolver Module боюнча RCOMго туташтырыңыз

11: Resolver SIN+ зымын Resolver Module'ге SIN+ туташтырыңыз

12: 9V батареяны RTNге (-) жана VINге (+) туташтырыңыз

13: Же Nscope +5Vдан 5Vга чейин Arduino жана RTNди Nscope'го Arduinoдогу RTNге туташтырыңыз

14: Компьютерди USBге туташтырыңыз

15: Ардуинону компьютерге USB менен туташтырыңыз

3 -кадам: Кодду жүктөңүз

Кодду жүктөңүз
Кодду жүктөңүз
Кодду жүктөңүз
Кодду жүктөңүз

Көчүрүү Arduino кодун төмөндөгү эскизге Arduino IDEге чаптаңыз

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

Күнөө+ жана Кос+ алар айткандай. Күнөө Cos толкуну менен 90 градус этапта.

Алар этаптан 90 градус чыгып кеткендиктен, биз чечүүчү позициянын туура координатын алуу үчүн Atan2 (Cos, Sin) функциясын колдонушубуз керек.

Андан кийин Arduino 4 үлгү алгандан кийин түкүрөт, -3.14 жана 3.14 ортосундагы маани, тиешелүүлүгүнө жараша -180 градус жана +180 градус. Ушул себептен, эгерде сиз абсолюттук позиция үчүн чечкичти колдонууну кааласаңыз, анда айлануусуз -180 менен 180дин ортосунда гана колдонушуңуз керек, антпесе сиз оодарылып, өзүңүздү актуатордун соккусунун башында же аягында деп ойлоп каласыз. Эгерде сиз 3D принтердин x же y огу үчүн чечүүчү колдонууну чечсеңиз жана 3D принтердин башаламан болушуна алып келсеңиз, бул көйгөй болмок.

Мен үзгүлтүксүз PWMingге ээ болуу үчүн кодду бир аз жакшыртсам болмок, бирок бул колдонмо үчүн жетиштүү болот.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); Serial.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 -кадам: Көңүл ачыңыз

Чечимди айлантуудан жана чечүүчү кандай иштээрин жана бул чечүүчү модулду кандай колдонмолор менен колдонууну үйрөнүүдөн ырахат алыңыз.

Сунушталууда: