Мазмұны:

Arduino Resolver модулі: 4 қадам
Arduino Resolver модулі: 4 қадам

Бейне: Arduino Resolver модулі: 4 қадам

Бейне: Arduino Resolver модулі: 4 қадам
Бейне: Контрольная лампа переменного тока с диммером Arduino AC 2024, Шілде
Anonim
Arduino шешуші модулі
Arduino шешуші модулі

Tinee9 жаңа модульмен оралды. Бұл модуль Resolver модулі деп аталады.

Қозғалтқышты басқару әлемінде позицияны анықтаудың әртүрлі түрлері мен әдістері бар. Бұл әдіске холл сенсорлары, XY сенсорлары, ажыратқыш, RVDT, LVDT, далалық режиссерлер, потенциометр және т.б. кіреді. Бұл сенсорлардың әрқайсысының қалай орнатылғанына байланысты сіз өзіңіздің абсолютті позицияңызды соңғы позицияны жадта сақтаусыз да анықтай аласыз..

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

Техникалық түсінік: Сарапшылар деңгейі

Оқу құралдарының қосылуы және ойнауы: орта деңгей

Жабдықтар

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

2: Шешуші модуль

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

4: 9,0 вольтты батарея немесе NScope

5: Шешуші

6: 10x Нан тақтасы Jumper Wires

1 -қадам: Шешуші модуль

Шешуші модуль
Шешуші модуль

Қозғалтқышты моторды ауыстыру үшін демодуляциялауға болатын резервуармен жасауға болатын бірнеше нәрсе бар, егер сіз нөлдік нүктеден өтпесеңіз, абсолютті позицияға қол жеткізе аласыз және қозғалтқыштан жылдамдықты ала аласыз.

Мен оларды көп қолданған жерді аэрилерде, рульде, зымырандарда немесе камерада басқаруда қолданамын.

Олар кастрюльге немесе холл сенсорына қарағанда сәл қымбатырақ, бірақ олар сізге керемет ажыратымдылық береді.

2 -қадам: Орнату

Орнату
Орнату
Орнату
Орнату
Орнату
Орнату
Орнату
Орнату

1: Алдымен сізге нан тақтасына ардуино нано қою керек

2: Arduino -дегі 5В түйреуішті +3V3 түйреуішіне және резервтік модульдегі 5В істікшеге қосу керек (модульде 5 В қоздырғышты қосқанда 3,3 В кернеуі болуы мүмкін)

3: Arduino RTN -ді Resolver модуліндегі RTN -ге қосыңыз

4: Arduino -дегі D9 -ді резервтік модульдегі PWM -ге қосыңыз

5: Arduino -дағы A0 -ді резолютор модуліндегі MCU_COS+ -ке қосыңыз

6: Arduino -дағы A1 -ді Resolver модуліндегі MCU_SIN+ -ке қосыңыз

7: Resolver EX+ сымын Resolver модуліндегі EX+ -ке қосыңыз

8: Resolver EX сымын Resolver Module EX-ге қосыңыз

9: Resolver COS+ сымын Resolver модуліндегі COS+ желісіне қосыңыз

10: Resolver RCOM 2 сымын Resolver модуліндегі RCOM -ге қосыңыз

11: Resolver SIN+ сымын Resolver модуліндегі SIN+ желісіне қосыңыз

12: 9В батареяны RTN (-) мен VIN (+) жалғаңыз

13: Немесе Arduino -да Nscope +5V -тен 5V -ге дейін байланыстырыңыз, Nscope -те RTN -ді Arduino -да RTN -ге қосыңыз.

14: Компьютердегі USB -ге қамтуды қосыңыз

15: Arduino -ны компьютерге USB -ге қосыңыз

3 -қадам: кодты жүктеңіз

Кодты жүктеңіз
Кодты жүктеңіз
Кодты жүктеңіз
Кодты жүктеңіз

Ардуино кодын төмендегі Arduino IDE эскизіне қойыңыз

Бұл код PWM Resolver Module -ге ауысады. Бұл модуль релизаторды қоздырады және шешушінің екінші реттік катушкаларында квадраттық толқын шығарады. Sin+ және Cos+ сигналдарынан шығатын сигналдар толқынды орталықтандыратын және шығуды 0-5Вольт аралығында болатын OPAMP-ке жібереді.

Sin+ және Cos+ - олар айтқандай. Күнә 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 -қадам: Көңілді болыңыз

Резолюторды айналдырудан және шешуші қалай жұмыс істейтінін және осы шешуші модульді қандай қосымшаларды қолдануға болатынын білуден ләззат алыңыз.

Ұсынылған: