Мазмұны:

ДК жанкүйерлері үшін DIY PWM басқару: 12 қадам
ДК жанкүйерлері үшін DIY PWM басқару: 12 қадам

Бейне: ДК жанкүйерлері үшін DIY PWM басқару: 12 қадам

Бейне: ДК жанкүйерлері үшін DIY PWM басқару: 12 қадам
Бейне: 10 лучших продуктов для детоксикации печени 2024, Шілде
Anonim
ДК жанкүйерлері үшін DIY PWM басқару
ДК жанкүйерлері үшін DIY PWM басқару

Бұл нұсқаулықта толықтай 12 вольтты компьютердің желдеткіші PWM контроллерінің құрылысы сипатталған. Дизайн 3 істікшелі 16 компьютер желдеткішін басқара алады. Дизайн әрбір желдеткіштің жұмыс циклін басқару үшін Dialog GreenPAK ™ конфигурацияланған аралас сигналды жұптарды пайдаланады. Ол желдеткіштің жылдамдығын өзгертудің екі әдісін қамтиды:

а. квадратуралық/айналмалы кодермен

б. GreenPAK -пен I2C арқылы байланысатын C# -де орнатылған Windows қосымшасымен.

Төменде біз GreenPAK чипінің ДК желдеткіштері үшін PWM басқару жүйесін құру үшін қалай бағдарламаланғанын түсіну үшін қажет қадамдарды сипаттадық. Алайда, егер сіз бағдарламалаудың нәтижесін алғыңыз келсе, GreenPAK бағдарламалық жасақтамасын жүктеп алып, аяқталған GreenPAK дизайн файлын қараңыз. GreenPAK әзірлеу жинағын компьютерге қосыңыз және компьютер жанкүйерлері үшін PWM басқару үшін реттелетін IC құру үшін бағдарламаны басыңыз.

1 -қадам: жүйелік блок диаграммасы

Жүйелік блок диаграммасы
Жүйелік блок диаграммасы

2 -қадам: SLG46108 Айналмалы декодер дизайны

SLG46108 Айналмалы декодер дизайны
SLG46108 Айналмалы декодер дизайны
SLG46108 Айналмалы декодер дизайны
SLG46108 Айналмалы декодер дизайны
SLG46108 Айналмалы декодер дизайны
SLG46108 Айналмалы декодер дизайны

Желдеткіштердің жұмыс циклін қолмен көбейту немесе азайту үшін айналмалы кодер қолданылады. Бұл құрылғы бір -бірінен 90 ° қашықтықта орналасқан А арнасы мен В арнасының импульстерін шығарады. Айналмалы кодер қалай жұмыс істейтіні туралы қосымша ақпарат алу үшін AN-1101: Unlocked Quadrature Decoder бөлімін қараңыз.

A арнасы мен В арнасының сигналдарын өңдеуге және оларды сағат тіліне қарсы (CCW) және сағат тіліне қарсы (CW) импульстерге шығару үшін Dialog GreenPAK SLG46108 көмегімен сағаттық айналмалы декодер құруға болады.

А арнасы В арнасына жетекшілік еткенде, конструкция CW қысқа импульсін шығарады. B арнасы А арнасын басқаратын кезде, CCW -те қысқа импульс шығарады

Үш DFF A арнасының кірісін сағатпен синхрондайды. Сол сияқты OUT0 екі DFF және OUT1 үш DFF орнатылған құбырдың кешігуі В арнасы үшін бірдей функционалдылықты жасайды.

CW және CCW шығысын жасау үшін бірнеше LUT қолданыңыз, бұл стандартты айналмалы декодер дизайны туралы қосымша ақпарат алу үшін осы веб -сайтқа кіріңіз.

GreenPAK Айналмалы декодері А және В кіріс импульстарын қабылдайды және CW және CCW импульстерін 4 -суретте көрсетілгендей шығарады.

XOR қақпасынан кейінгі схема бір уақытта CW импульсы мен CCW импульсінің болмауын қамтамасыз етеді, бұл айналмалы кодермен кез келген қатеге жол береді. CW және CCW сигналдарының 8 мс төмен түсу жиілігі оларды 8 мс жоғары бір сағаттық циклде жоғары болуға мәжбүр етеді, бұл SLG46826 GreenPAK төменгі ағыны үшін қажет.

3 -қадам: SLG46826 желдеткіш контроллері дизайны

SLG46826 желдеткіш контроллері дизайны
SLG46826 желдеткіш контроллері дизайны

4 -қадам: PWM генерациясы офсеттік есептегіштермен

Есептегіштері бар PWM генерациясы
Есептегіштері бар PWM генерациясы
Есептегіштері бар PWM генерациясы
Есептегіштері бар PWM генерациясы

PWM сигналын генерациялау үшін сол кезеңмен есептесетін жұп есептегіштер қолданылады. Бірінші есептегіш DFF орнатады, ал екіншісі оны қалпына келтіреді, 6 -сурет пен 7 -суретте көрсетілген PWM тұрақты жұмыс циклінің сигналын жасайды.

CNT6 DFF10 орнатады және CNT1 инверттелген шығысы DFF10 қалпына келтіреді. 18 және 19 түйреуіштер PWM сигналын сыртқы схемаға шығару үшін қолданылады

5 -қадам: сағат инъекциясымен және сағатты өткізіп жіберу арқылы қызметтік циклді басқару

Сағат инъекциясымен және сағатты өткізіп жіберумен қызметтік циклді басқару
Сағат инъекциясымен және сағатты өткізіп жіберумен қызметтік циклді басқару
Сағат инъекциясымен және сағатты өткізіп жіберумен қызметтік циклді басқару
Сағат инъекциясымен және сағатты өткізіп жіберумен қызметтік циклді басқару

Желдеткіш контроллері CW және CCW сигналдарын айналмалы декодерден кіріс ретінде қабылдайды және оларды желдеткіш жылдамдығын басқаратын PWM сигналын жоғарылату немесе төмендету үшін қолданады. Бұған бірнеше сандық логикалық компоненттер көмегімен қол жеткізіледі.

CW импульсі қабылданған кезде жұмыс циклын арттыру қажет. Бұл CNT6 блогына қосымша сағат импульсін енгізу арқылы жүзеге асады, бұл оның бір сағаттық циклін басқасынан бұрын шығарады. Бұл процесс 8 -суретте көрсетілген.

CNT1 әлі де тұрақты жылдамдықпен жұмыс жасайды, бірақ CNT6 -ға бірнеше қосымша сағаттар енгізілген. Есептегішке қосымша сағат болған сайын, ол шығуды бір сағаттық кезеңге солға жылжытады.

Керісінше, жұмыс циклін азайту үшін 9 -суретте көрсетілгендей CNT6 үшін сағат импульсін өткізіп жіберіңіз. CNT1 әлі де тұрақты жылдамдықпен жұмыс жасайды, ал CNT6 үшін есептегіш санаулы кезде орнатылмаған сағат импульстері бар. дейін. Осылайша, CNT6 шығысы бір уақытта бір сағаттық уақытқа оңға қарай жылжиды, бұл PWM шығыс циклін қысқартады.

Сағат инъекциясы мен сағатты өткізіп жіберу функциясы GreenPAK ішіндегі кейбір цифрлық логикалық элементтерді қолдану арқылы орындалады. Бірнеше функционалды блоктар ілмекті/жиекті детекторлар комбинациясын жасау үшін қолданылады. 4-разрядты LUT0 жалпы сағаттық сигнал (CLK/8) мен инъекциялық сағат немесе сағатты өткізіп жіберу сигналдары арасындағы хабар алмасу үшін қолданылады. Бұл функция 7 -қадамда толығырақ сипатталған.

6 -қадам: BUTTON енгізу

ТҮЙМЕ Кіріс
ТҮЙМЕ Кіріс

BUTTON енгізу 20 мс уақытқа созылады, содан кейін бұл чип таңдалғанын анықтайтын ысырманы ауыстыру үшін қолданылады. Егер ол таңдалса, онда 4 разрядты LUT сағатты өткізіп жіберу немесе инъекция сигналдарын береді. Егер чип таңдалмаса, онда 4 биттік LUT CLK/8 сигналын береді.

7 -қадам: қызметтік циклдің ауысуына жол бермеу

Қызмет циклінің ауысуына жол бермеу
Қызмет циклінің ауысуына жол бермеу
Қызмет циклінің ауысуына жол бермеу
Қызмет циклінің ауысуына жол бермеу
Қызмет циклінің ауысуына жол бермеу
Қызмет циклінің ауысуына жол бермеу

RS ілмектері 3-разрядты LUT5 және 3-разрядты LUT3 сааттарды инъекциялауға немесе өткізіп жіберуге болмайтындығына көз жеткізу үшін пайдаланылады, сонда офсеттік есептегіштер айналады. Бұл жүйенің 100 % жұмыс цикліне жетуіне жол бермеу үшін, содан кейін ол басқа енгізілген сағатты алса, 1 % жұмыс цикліне ауысады.

RS ысырмалары жүйенің бір сағаттық циклге айналмайтын кезде кірісті көп функциялы блоктарға бекіту арқылы бұған жол бермейді. DFF жұбы PWM_SET және PWM_nRST сигналдарын 11 -суретте көрсетілгендей бір сағатқа кешіктіреді.

Қажетті логиканы құру үшін LUT жұбы қолданылады. Егер жұмыс циклы соншалықты төмен болса, кешіктірілген PWM_SET сигналы PWM_nRST сигналымен бір уақытта пайда болса, жұмыс циклінің одан әрі төмендеуі ауысуға әкеледі.

Дәл осылай, егер кешіктірілген PWM_nRST сигналы PWM_SET сигналымен бір мезгілде болатындай максималды жұмыс циклына жақындаса, кез келген жұмыс циклінің жоғарылауын болдырмау қажет. Бұл жағдайда, жүйе 99 % -дан 1 % -ға ауыспайтынына көз жеткізу үшін nRST сигналын екі сағаттық циклге кешіктіріңіз.

8 -қадам: I2C көмегімен қызметтік циклді басқару

I2C көмегімен қызметтік циклді басқару
I2C көмегімен қызметтік циклді басқару
I2C көмегімен қызметтік циклді басқару
I2C көмегімен қызметтік циклді басқару
I2C көмегімен қызметтік циклді басқару
I2C көмегімен қызметтік циклді басқару

Бұл дизайн жұмыс циклін басқарудың сағатты өткізіп жіберуден/сағатты енгізуден басқа жолын қамтиды. I2C командаларын GreenPAK -ке жазу циклін орнату үшін сыртқы микроконтроллерді қолдануға болады.

I2C бойынша жұмыс циклін басқару контроллерден белгілі бір командалық реттілікті орындауды талап етеді. Бұл командалар 1 -кестеде ретімен көрсетілген. «X» өзгермеуі керек битті көрсетеді, «[» START битін, ал «]» STOP битін көрсетеді

PDLY блогы CLK/8 сигналының түсетін жиегінде қысқа белсенді жоғары импульс тудырады, ол! CLK/8 деп аталады. Бұл сигнал DFF14 тұрақты жиілікте жұмыс істеу үшін қолданылады. I2C_SET асинхронды түрде жоғары көтерілгенде! CLK/8 келесі көтерілетін жиегі CF5 OneShot іске қосатын HIGH шығуына DFF14 әкеледі. OneShot 1 -кестеде «CNT5 -ке жазу» I2C командасында көрсетілгендей пайдаланушы жазған сағат циклдерінің саны үшін жұмыс істейді. Бұл жағдайда бұл 10 сағаттық цикл. OneShot 25 МГц осциллятордың дәл уақытында жұмыс істеуіне мүмкіндік береді, сондықтан 3-разрядты LUT0 CNT5-ке жазылған сағат циклдарының санын алады.

15-суретте бұл сигналдар көрсетілген, онда қызыл сағаттар 3-разрядты LUT0 жіберіледі, ол оларды CNT6-ға (PWM_SET есептегіші) жібереді, осылайша жұмыс циклінің генерациясы үшін ығысу жасайды.

9 -қадам: тахометрдің оқылуы

Тахометрдің көрсеткіші
Тахометрдің көрсеткіші
Тахометрдің көрсеткіші
Тахометрдің көрсеткіші

Қажет болса, пайдаланушы CNT2 мәнін оқу арқылы желдеткіштің қаншалықты жылдам айналатынын бақылау үшін тахометр мәнін I2C бойынша оқи алады. ACMP0H жиегі көтерілген сайын CNT2 көбейеді және оны I2C пәрменімен асинхронды түрде қалпына келтіруге болады. Назар аударыңыз, бұл қосымша мүмкіндік және ACMP0H шегі пайдаланылатын желдеткіштің ерекшеліктеріне сәйкес реттелуі керек.

10 -қадам: Сыртқы схеманың дизайны

Сыртқы схеманың дизайны
Сыртқы схеманың дизайны

Сыртқы схема өте қарапайым. Бұл құрылғы айналмалы басқару үшін таңдалғанын ауыстыру үшін GreenPAK Pin6 -ға қосылған түйме бар, ал құрылғы таңдалғанын көрсету үшін Pin12 мен Pin13 -ке қосылған жарық диоды бар.

Желдеткіш 12 В сөнетіндіктен, оны ауыстыруды басқару үшін FET жұбы қажет. GreenPAK Pin18 және Pin19 nFET дискісін басқарады. NFET қосылған кезде, ол желдеткішті +12 В -ке қосатын pFET LOW қақпасын тартады, nFET өшірілгенде, ПФЭТ қақпасы желдеткішті ажырататын 1 кОм резистормен көтеріледі. +12 В -тан

11 -қадам: ПХД дизайны

ПХД дизайны
ПХД дизайны

Дизайн прототипі үшін бірнеше ПХД құрастырылды. Сол жақтағы ПХД - бұл айналмалы кодер, 12 В ұясы, SLG46108 GreenPAK және FT232H USB -I2C ажырату тақтасы үшін қосқыштары бар «желдеткіш контроллері». Оң жақтағы екі ПХД - бұл «желдеткіш тақталар», онда SLG46826 GreenPAKs, түймелер, қосқыштар, светодиодтар мен желдеткіш тақырыптары бар.

Әр желдеткіш тақтаның сол жағында орамалы еркек басы және оң жағында әйел басы бар, сондықтан оларды тізбектей тізбектеуге болады. Әр желдеткіш тақтасы екі желдеткішті өз бетінше басқаруға арналған ресурстармен толықтырылуы мүмкін.

12 -қадам: C# қосымшасы

C# қосымшасы
C# қосымшасы

C# қосымшасы FT232H USB-I2C көпірі арқылы желдеткіш тақталармен жұмыс істеу үшін жазылған. Бұл қосымшаны қолданба жасайтын I2C командаларымен әр желдеткіштің жиілігін реттеу үшін пайдалануға болады.

Қолданба барлық 16 I2C адрестерін секундына бір рет шығарады және GUI -ді қолда бар қосалқы мекенжайлармен толтырады. Бұл мысалда тақтаға қосылған желдеткіш 1 (қосалқы адрес 0001) мен желдеткіш 3 (қосалқы адрес 0011). Әр желдеткіштің жұмыс цикліне жеке түзетулер жүгірткі жолағын жылжыту арқылы немесе жүгірткі жолағының астындағы мәтін ұясына 0-256 арасындағы мәнді енгізу арқылы енгізілуі мүмкін.

Қорытынды

Бұл конструкцияны қолдана отырып, айналмалы кодермен немесе C# қосымшасымен 16 желдеткішті дербес басқаруға болады (өйткені I2C -тің 16 ықтимал мекен -жайы бар). PWM сигналын жұптық есептегіштермен қалай генерациялау және сол сигналдың жұмыс циклін айналдырусыз қалай жоғарылату және азайту керектігі көрсетілді.

Ұсынылған: