Съдържание:
- Стъпка 1: 3-скоростен двигател с променлив ток
- Стъпка 2: Анализ на проекта
- Стъпка 3: IR декодер
- Стъпка 4: Дизайн на GreenPAK
- Стъпка 5: Скорост MUX
- Стъпка 6: Таймер
- Стъпка 7: Резултати
Видео: Как да програмирате IR декодер за управление на многоскоростен AC двигател: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Еднофазни двигатели с променлив ток обикновено се срещат в битови предмети като вентилатори и скоростта им може лесно да се контролира, когато се използват редица дискретни намотки за зададени скорости. В тази инструкция ние изграждаме цифров контролер, който позволява на потребителите да контролират функции като скорост на двигателя и време на работа. Тази инструкция включва също инфрачервена приемна схема, която поддържа протокол NEC, където двигателят може да се управлява от бутони или от сигнал, получен от инфрачервен предавател.
За да се извърши това, се използва GreenPAK ™, SLG46620 служи като основен контролер, отговарящ за тези разнообразни функции: мултиплексна схема за активиране на една скорост (от три скорости), 3-периодни таймери за обратно броене и инфрачервен декодер за приемане външен инфрачервен сигнал, който извлича и изпълнява желана команда.
Ако разгледаме функциите на веригата, ще отбележим няколко дискретни функции, използвани едновременно: MUXing, синхронизиране и IR декодиране. Производителите често използват много интегрални схеми за изграждане на електронната схема поради липсата на налично уникално решение в рамките на една интегрална схема. Използването на GreenPAK IC позволява на производителите да използват един чип за включване на много от желаните функции и съответно да намалят системните разходи и надзора на производството.
Системата с всички нейни функции е тествана, за да осигури правилна работа. Крайната верига може да изисква специални модификации или допълнителни елементи, съобразени с избрания двигател.
За да се провери дали системата работи номинално, са създадени тестови случаи за входовете с помощта на дизайнерския емулатор GreenPAK. Емулацията проверява различни тестови случаи за изходите и функционалността на IR декодера се потвърждава. Окончателният дизайн също се тества с действителен двигател за потвърждение.
По-долу описахме необходимите стъпки, за да разберем как чипът GreenPAK е програмиран за създаване на IR декодер за управление на многоскоростен AC двигател. Ако обаче просто искате да получите резултат от програмирането, изтеглете софтуера GreenPAK, за да видите вече завършения файл за проектиране GreenPAK. Включете GreenPAK Development Kit към компютъра си и натиснете програма, за да създадете персонализирана интегрална схема за IR декодера за управление на многоскоростен AC двигател.
Стъпка 1: 3-скоростен двигател с променлив ток
3-степенните AC двигатели са еднофазни двигатели, работещи с променлив ток. Те често се използват в голямо разнообразие от домакински машини, като например различни видове вентилатори (вентилатор за стена, настолен вентилатор, вентилатор за кутии). В сравнение с двигател с постоянен ток, регулирането на скоростта в двигател с променлив ток е сравнително сложно, тъй като честотата на доставения ток трябва да се промени, за да се промени скоростта на двигателя. Уредите като вентилатори и хладилни машини обикновено не изискват фина детайлност на скоростта, но изискват дискретни стъпки като ниска, средна и висока скорост. За тези приложения двигателите с променлив ток имат редица вградени намотки, предназначени за няколко скорости, където промяната от една скорост на друга се осъществява чрез захранване на бобината на желаната скорост.
Моторът, който използваме в този проект, е 3-степенна AC мотор, която има 5 проводника: 3 проводника за контрол на скоростта, 2 проводника за захранване и стартов кондензатор, както е показано на фигура 2 по-долу. Някои производители използват стандартни цветно кодирани проводници за идентификация на функциите. Информационният лист на двигателя ще покаже конкретната информация за двигателя за идентификация на проводника.
Стъпка 2: Анализ на проекта
В тази инструкция IC на GreenPAK е конфигуриран да изпълнява дадена команда, получена от източник като IR предавател или външен бутон, за да посочи една от трите команди:
Вкл./Изкл.: системата се включва или изключва при всяко тълкуване на тази команда. Състоянието на Вкл./Изкл. Ще се обърне с всеки нарастващ ръб на командата Вкл./Изкл.
Таймер: таймерът работи за 30, 60 и 120 минути. При четвъртия импулс таймерът се изключва и периодът на таймера се връща към първоначалното състояние на синхронизация.
Скорост: Контролира скоростта на двигателя, последователно повтаряйки активирания изход от проводниците за избор на скорост на двигателя (1, 2, 3).
Стъпка 3: IR декодер
Инфрачервена декодираща верига е изградена за приемане на сигнали от външен IR предавател и за активиране на желаната команда. Приехме протокола NEC поради популярността му сред производителите. NEC протоколът използва "разстояние на импулса" за кодиране на всеки бит; всеки импулс отнема 562,5 us, за да бъде предаден, използвайки сигнала на 38 kHz честотен носител. Предаването на логически 1 сигнал изисква 2,25 ms, докато предаването на логически 0 сигнал отнема 1,125 ms. Фигура 3 илюстрира импулсното предаване съгласно протокола NEC. Състои се от 9 ms AGC пакет, след това 4,5ms пространство, след това 8-битов адрес и накрая 8-битова команда. Обърнете внимание, че адресът и командата се предават два пъти; вторият път е допълнение 1 (всички битове са обърнати) като паритет, за да се гарантира, че полученото съобщение е правилно. LSB се предава първо в съобщението.
Стъпка 4: Дизайн на GreenPAK
Съответните битове на полученото съобщение се извличат на няколко етапа. За начало, началото на съобщението се определя от 9ms AGC пакет, използвайки CNT2 и 2-битов LUT1. Ако това е било открито, след това се посочва 4,5 ms пространство чрез CNT6 и 2L2. Ако заглавката е правилна, изходът DFF0 е настроен на високо, за да позволи приемането на адреса. Блоковете CNT9, 3L0, 3L3 и P DLY0 се използват за извличане на тактовите импулси от полученото съобщение. Стойността на бита се взема при нарастващия ръб на сигнала IR_CLK, на 0.845ms от нарастващия ръб от IR_IN.
След това интерпретираният адрес се сравнява с адрес, съхраняван в PGEN, използвайки 2LUT0. 2LUT0 е XOR порта и PGEN съхранява обърнатия адрес. Всеки бит на PGEN се сравнява последователно с входящия сигнал и резултатът от всяко сравнение се съхранява в DFF2 заедно с нарастващия ръб на IR-CLK.
В случай, че е открита грешка в адреса, 3-битовият изход на LUT5 SR се променя на High с цел да се предотврати сравняването на останалата част от съобщението (командата). Ако полученият адрес съвпада със записания адрес в PGEN, втората половина на съобщението (команда и обърната команда) се насочва към SPI, така че желаната команда може да бъде прочетена и изпълнена. CNT5 и DFF5 се използват за определяне на края на адреса и началото на командата, където „Данни за брояча“на CNT5 е равно на 18: 16 импулса за адреса в допълнение към първите два импулса (9ms, 4.5ms).
В случай, че пълният адрес, включително заглавката, е правилно приет и съхранен в ИС (в PGEN), изходът 3L3 ИЛИ Gate дава сигнала Low към nCSB пина на SPI, който трябва да бъде активиран. Следователно SPI започва да получава командата.
IC SLG46620 има 4 вътрешни регистри с 8-битова дължина и по този начин е възможно да се съхраняват четири различни команди. DCMP1 се използва за сравняване на получената команда с вътрешните регистри и е проектиран 2-битов двоичен брояч, чиито A1A0 изходи са свързани към MTRX SEL # 0 и # 1 на DCMP1, за да се сравнява получената команда с всички регистри последователно и непрекъснато.
Декодер с ключалка е конструиран с помощта на DFF6, DFF7, DFF8 и 2L5, 2L6, 2L7. Дизайнът работи както следва; ако A1A0 = 00, SPI изходът се сравнява с регистър 3. Ако и двете стойности са равни, DCMP1 дава висок сигнал на своя EQ изход. Тъй като A1A0 = 00, това активира 2L5 и DFF6 следователно извежда сигнал с висок сигнал, показващ, че е получен сигнал Вкл./Изкл. По подобен начин, за останалите управляващи сигнали, CNT7 и CNT8 са конфигурирани като „И двете Edge Delay“, за да генерират времезакъснение и да позволят на DCMP1 да промени състоянието на своя изход, преди стойността на изхода да се задържи от DFF.
Стойността на командата за включване/изключване се съхранява в регистър 3, командата за таймер в регистър 2 и командата за скорост в регистър 1.
Стъпка 5: Скорост MUX
За превключване на скоростите е изграден 2-битов двоичен брояч, чийто входен импулс се приема от външния бутон, който е свързан към Pin4 или от IR сигнал за скорост чрез P10 от сравнителя на командите. В началното състояние Q1Q0 = 11 и чрез прилагане на импулс върху входа на брояча от 3 -битов LUT6, Q1Q0 последователно става 10, 01, а след това и състояние 00. 3-битовият LUT7 беше използван за прескачане на състоянието 00, като се има предвид, че само три скорости са налични в избрания двигател. Сигналът за включване/изключване трябва да е висок, за да активира процеса на управление. Следователно, ако сигналът за включване/изключване е нисък, активираният изход е деактивиран и двигателят се изключва, както е показано на фигура 6.
Стъпка 6: Таймер
Реализиран е трипериоден таймер (30 минути, 60 минути, 120 минути). За да се създаде управляваща структура, 2-битов двоичен брояч получава импулси от външен бутон за таймер, свързан към Pin13 и от сигнала на IR таймера. Броячът използва Pipe Delay1, където Out0 PD num е равно на 1, а Out1 PD num е равно на 2, като се избере обърната полярност за Out1. В първоначалното състояние Out1, Out0 = 10 таймерът е деактивиран. След това, чрез прилагане на импулс към входа CK за Pipe Delay1, изходното състояние се променя последователно на 11, 01, 00, като инвертира CNT/DLY към всяко активирано състояние. CNT0, CNT3, CNT4 са конфигурирани да работят като „Rising Edge Delays“, чийто вход произхожда от изхода на CNT1, който е конфигуриран да дава импулс на всеки 10 секунди.
За да имате забавяне от 30 минути:
30 x 60 = 1800 секунди ÷ 10секундни интервали = 180 бита
Следователно данните за брояча за CNT4 са 180, CNT3 е 360, а CNT0 е 720. След като времето закъснение приключи, висок импулс се предава през 3L14 до 3L11, което води до изключване на системата. Таймерите се нулират, ако системата е изключена от външния бутон, свързан към Pin12 или от сигнала IR_ON/OFF.
*Можете да използвате триаково или твърдотелно реле вместо електромеханично реле, ако искате да използвате електронен превключвател.
* За бутоните е използван хардуерен деблоунзер (кондензатор, резистор).
Стъпка 7: Резултати
Като първа стъпка в оценката на дизайна беше използван софтуерният симулатор GreenPAK. На входовете бяха създадени виртуални бутони и бяха наблюдавани външните светодиоди, противоположни на изходите на платката за разработка. Инструментът Signal Wizard беше използван за генериране на сигнал, подобен на NEC Format, за отстраняване на грешки.
Генерира се сигнал с образец 0x00FF5FA0, където 0x00FF е адресът, съответстващ на инвертирания адрес, съхранен в PGEN, а 0x5FA0 е командата, съответстваща на обърнатата команда в регистър 3 на DCMP за управление на функцията за включване/изключване. Системата в първоначалното състояние е в състояние OFF, но след подаване на сигнала, ние отбелязваме, че системата се включва. Ако един бит е променен в адреса и сигналът е бил приложен отново, отбелязваме, че нищо не се случва (несъвместим адрес).
Фигура 11 представя платката след еднократно стартиране на Съветника за сигнали (с валидна команда за включване/изключване).
Заключение
Тази инструкция се фокусира върху конфигурацията на GreenPAK IC, предназначен за управление на 3-степенния AC двигател. Той включва редица функции, като например скорост на колоездене, генериране на трипериоден таймер и конструиране на IR декодер, съвместим с протокола NEC. GreenPAK демонстрира ефективност при интегрирането на няколко функции, всички в евтина и малка площ IC решение.
Препоръчано:
Стъпков двигател Контролиран стъпков двигател без микроконтролер!: 6 стъпки
Стъпков двигател, управляван от стъпков двигател без микроконтролер !: В тази бърза инструкция ще направим прост контролер за стъпков двигател, използващ стъпков двигател. Този проект не изисква сложни схеми или микроконтролер. Така че, без да се замисляме, нека започнем
Стъпков двигател Контролиран стъпков двигател без микроконтролер (V2): 9 стъпки (със снимки)
Стъпков двигател, управляван от стъпков двигател без микроконтролер (V2): В една от предишните ми инструкции, аз ви показах как да управлявате стъпков двигател, използвайки стъпков двигател без микроконтролер. Това беше бърз и забавен проект, но той дойде с два проблема, които ще бъдат решени в тази инструкция. И така, остроумие
Модел локомотив със стъпков двигател - Стъпков двигател като въртящ се енкодер: 11 стъпки (със снимки)
Модел локомотив със стъпков двигател | Стъпков двигател като въртящ се енкодер: В една от предишните инструкции научихме как да използваме стъпков двигател като въртящ се енкодер. В този проект сега ще използваме въртящия се енкодер със стъпков двигател, за да управляваме модел локомотив, използвайки микроконтролер Arduino. Така че, без fu
Стъпков двигател Контролиран стъпков двигател - Стъпков двигател като въртящ се енкодер: 11 стъпки (със снимки)
Стъпков двигател Контролиран стъпков двигател | Стъпков двигател като въртящ се енкодер: Имате ли няколко стъпкови двигателя, които лежат наоколо и искат да направят нещо? В тази инструкция нека използваме стъпков двигател като въртящ се енкодер, за да контролираме позицията на друг стъпков двигател, използвайки микроконтролер Arduino. Така че без да се замисляме, нека да
24v DC двигател към високоскоростен универсален двигател (30 волта): 3 стъпки
24v DC двигател към високоскоростен универсален двигател (30 волта): Здравейте! В този проект ще ви науча как да преобразувате нормален играчка 24V DC мотор в 30V универсален двигател. Лично аз вярвам, че видео демонстрацията описва най -добре един проект . Така че момчета, бих ви препоръчал първо да изгледате видеото. Проект V