Съдържание:
- Стъпка 1: Блокова схема на системата
- Стъпка 2: Дизайн на ротационен декодер SLG46108
- Стъпка 3: Дизайн на контролера на вентилатора SLG46826
- Стъпка 4: ШИМ генериране с офсетови броячи
- Стъпка 5: Контрол на работния цикъл с инжектиране на часовника и прескачане на часовника
- Стъпка 6: Въвеждане на бутон
- Стъпка 7: Предотвратяване на преобръщане на работния цикъл
- Стъпка 8: Контрол на работния цикъл с I2C
- Стъпка 9: Отчитане на оборотомера
- Стъпка 10: Дизайн на външна схема
- Стъпка 11: Дизайн на печатни платки
- Стъпка 12: Приложение C#
Видео: Направи си сам ШИМ контрол за PC фенове: 12 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Тази инструкция описва изграждането на пълнофункционален ШИМ контролер за 12 V компютърни вентилатори. Дизайнът може да управлява до 16 3-пинови компютърни вентилатора. Дизайнът използва двойка интегрирани интегрални схеми със смесен сигнал Dialog GreenPAK ™ за контрол на работния цикъл на всеки вентилатор. Той също така включва два начина за промяна на скоростта на вентилатора:
а. с квадратурен/въртящ се енкодер
б. с вградено в C# приложение за Windows, което комуникира с GreenPAK чрез I2C.
По -долу описахме необходимите стъпки, за да разберете как чипът GreenPAK е програмиран за създаване на PWM контрола за феновете на компютрите. Ако обаче просто искате да получите резултат от програмирането, изтеглете софтуера GreenPAK, за да видите вече завършения файл за проектиране GreenPAK. Включете комплекта за разработка на GreenPAK към компютъра си и натиснете програма, за да създадете персонализирана интегрална схема за управление на ШИМ за феновете на компютъра.
Стъпка 1: Блокова схема на системата
Стъпка 2: Дизайн на ротационен декодер SLG46108
Ротационен енкодер се използва за ръчно увеличаване или намаляване на работния цикъл на вентилаторите. Това устройство извежда импулси на своите изходи за канал А и канал В, които са на 90 ° един от друг. Вижте AN-1101: Отключен квадратурен декодер за повече информация за това как работи въртящ се енкодер.
Ротационен декодер с тактова честота може да бъде създаден с помощта на Dialog GreenPAK SLG46108 за обработка на сигналите на канал А и канал В и извеждането им като импулси обратно на часовниковата стрелка (CCW) и по часовниковата стрелка (CW).
Когато канал А води канал В, дизайнът извежда кратък импулс на CW. Когато канал В води канал А, той извежда кратък импулс на CCW
Три DFF синхронизират входа на канал А с часовника. По същия начин, закъснението на тръбата с OUT0, зададено на две DFF, и OUT1, зададено на три DFF, създава същата функционалност за канал B.
За да създадете CW и CCW изходи, използвайте няколко LUT, за повече информация относно този стандартен дизайн на въртящ се декодер, посетете този уебсайт.
Ротационният декодер GreenPAK ще приема входни импулси A и B и ще извежда CW и CCW импулси, както е показано на Фигура 4.
Схемите след XOR портите гарантират, че никога няма да има CW импулс и CCW импулс едновременно, което позволява всяка грешка с въртящия се енкодер. 8 ms забавяне на падащия ръб на CW и CCW сигналите ги принуждават да останат високи за 8 ms плюс един тактов цикъл, което е необходимо за SLG46826 GreenPAKs надолу по веригата.
Стъпка 3: Дизайн на контролера на вентилатора SLG46826
Стъпка 4: ШИМ генериране с офсетови броячи
Чифт офсет броячи със същия период се използват за генериране на ШИМ сигнал. Първият брояч задава DFF, а вторият го нулира, създавайки последователен PWM сигнал на работния цикъл, както е показано на Фигура 6 и Фигура 7.
CNT6 задава DFF10 и обърнатият изход на CNT1 нулира DFF10. Изводи 18 и 19 се използват за извеждане на ШИМ сигнала към външна схема
Стъпка 5: Контрол на работния цикъл с инжектиране на часовника и прескачане на часовника
Контролерът на вентилатора приема CW и CCW сигнали като входове от ротационния декодер и ги използва или за увеличаване или намаляване на PWM сигнала, който контролира скоростта на вентилатора. Това се постига с няколко цифрови логически компонента.
Работният цикъл трябва да се увеличи, когато се получи CW импулс. Това става чрез инжектиране на допълнителен тактов импулс в блока CNT6, което го кара да изведе един тактов цикъл по -рано, отколкото би имало в противен случай. Този процес е показан на фигура 8.
CNT1 все още се синхронизира с постоянна скорост, но CNT6 има инжектирани няколко допълнителни часовника. Всеки път, когато има допълнителен часовник към брояча, той измества изхода си с един тактов период наляво.
Обратно, за да намалите работния цикъл, пропуснете тактовия импулс за CNT6, както е показано на фигура 9. CNT1 все още се синхронизира с постоянна скорост и има пропуснати тактови импулси за CNT6, където броячът не се задейства, когато трябваше да се. По този начин изходът на CNT6 се изтласква надясно с един тактов период, като се скъсява работният цикъл на ШИМ на изхода.
Функцията за инжектиране на часовник и пропускане на часовника се извършва с помощта на някои цифрови логически елементи в GreenPAK. Чифт мултифункционални блокове се използват за създаване на двойка комбинации от детектор за затваряне/ръб. 4-битовият LUT0 се използва за свързване между общия тактов сигнал (CLK/8) и тактовите инжектиращи или сигнали за прескачане на часовника. Тази функционалност е описана по -подробно в Стъпка 7.
Стъпка 6: Въвеждане на бутон
Входът BUTTON се освобождава за 20 ms, след което се използва за превключване на ключалка, която определя дали този конкретен чип е избран. Ако е избрано, тогава 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, е необходимо да се избягва всяко по -нататъшно увеличаване на работния цикъл. В този случай забавете nRST сигнала с два тактови цикъла, за да сте сигурни, че системата няма да се преобърне от 99 % на 1 %.
Стъпка 8: Контрол на работния цикъл с I2C
Този дизайн включва друг начин за управление на работния цикъл, различен от пропускане на часовника/инжектиране на часовника. Външен микроконтролер може да се използва за писане на I2C команди към GreenPAK за задаване на работния цикъл.
Контролирането на работния цикъл през I2C изисква контролерът да изпълнява определена командна последователност. Тези команди са показани по ред в Таблица 1. "x" показва бит, който не трябва да се променя, "[" показва бит START, а "]" показва бит STOP
Блокът PDLY генерира къс активен висок импулс върху падащия ръб на сигнала CLK/8, който се нарича! CLK/8. Този сигнал се използва за синхронизиране на DFF14 с постоянна честота. Когато I2C_SET върви високо асинхронно, следващият нарастващ фронт на! CLK/8 кара DFF14 да извежда HIGH, което задейства CNT5 OneShot. OneShot работи за броя на тактовите цикли, които потребителят е написал, както е посочено в командата "Write to CNT5" I2C в Таблица 1. В този случай това са 10 тактови цикъла. OneShot позволява на 25 MHz осцилатора да работи точно за неговата продължителност и не повече, така че 3-битовият LUT0 получава броя на тактовите цикли, записани в CNT5.
Фигура 15 показва тези сигнали, където червените часовници са тези, които се изпращат към 3-битов LUT0, който ги предава в CNT6 (броячът PWM_SET), като по този начин създава отместване за генерирането на работен цикъл.
Стъпка 9: Отчитане на оборотомера
Ако желаете, потребителят може да прочете стойността на оборотомера през I2C, за да проследи колко бързо се върти вентилатора, като прочете стойността на CNT2. CNT2 се увеличава всеки път, когато ACMP0H има нарастващ ръб и може да бъде асинхронно нулиран с команда I2C. Имайте предвид, че това е незадължителна функция и прагът на ACMP0H ще трябва да бъде променен според спецификациите на конкретния вентилатор, който се използва.
Стъпка 10: Дизайн на външна схема
Външната верига е доста проста. Има бутон, свързан към Pin6 на GreenPAK, за да превключите дали това конкретно устройство е избрано за ротационно управление, и светодиод, свързан към Pin12 и Pin13, за да покаже кога е избрано устройството.
Тъй като вентилаторът работи от 12 V, са необходими двойка FETs, за да се контролира превключването му. Pin18 и Pin19 на GreenPAK управляват nFET. Когато nFET е включен, той дърпа портата на pFET LOW, който свързва вентилатора към +12 V. Когато nFET е изключен, портата на PFET се изтегля от 1 kΩ резистор, който изключва вентилатора от +12 V.
Стъпка 11: Дизайн на печатни платки
За прототип на дизайна бяха сглобени няколко печатни платки. Печатната платка вляво е "Контролер на вентилатора", който съдържа ротационен енкодер, 12 V жак, SLG46108 GreenPAK и конектори за FT232H USB към I2C пробивна платка. Двете печатни платки вдясно са "вентилаторни платки", които съдържат SLG46826 GreenPAK, бутони, превключватели, светодиоди и заглавки на вентилатори.
Всяка дъска за вентилатори има обвита мъжка заглавка от лявата страна и женска заглавка от дясната страна, така че да могат да бъдат свързани с маргаритки. Всеки фен борд може да бъде попълнен с ресурси за независимо управление на два вентилатора.
Стъпка 12: Приложение C#
Написано е C# приложение за взаимодействие с вентилаторните платки през FT232H USB-I2C моста. Това приложение може да се използва за регулиране на честотата на всеки вентилатор с I2C команди, генерирани от приложението.
Приложението пингва всички 16 I2C адреса веднъж в секунда и попълва GUI с наличните подчинени адреси. В този пример вентилатор 1 (подчинен адрес 0001) и вентилатор 3 (подчинен адрес 0011) са свързани към платката. Регулирането на работния цикъл на всеки вентилатор поотделно може да се извърши чрез преместване на плъзгача или чрез въвеждане на стойност от 0-256 в текстовото поле под плъзгача.
Изводи
С помощта на този дизайн е възможно независимо управление на до 16 вентилатора (тъй като има 16 възможни I2C подчинени адреса) или с въртящ се енкодер, или с приложение на C#. Доказано е как да се генерира ШИМ сигнал с двойка офсет броячи и как да се увеличи и намали работния цикъл на този сигнал без преобръщане.
Препоръчано:
Макро обектив „Направи си сам“с AF (различен от всички други макро обективи „Направи си сам“): 4 стъпки (със снимки)
Макро обектив „Направи си сам“с АФ (различен от всички други макро обективи „Направи си сам“): Виждал съм много хора, които правят макро обективи със стандартен комплект обектив (Обикновено 18-55 мм). Повечето от тях са обектив, просто залепен върху камерата назад или отстранен преден елемент. И за двете опции има недостатъци. За монтиране на обектива
Контрол на яркостта ШИМ базиран LED контрол с помощта на бутони, Raspberry Pi и надраскване: 8 стъпки (със снимки)
Контрол на яркостта PWM управление на LED управление с помощта на бутони, Raspberry Pi и Scratch: Опитвах се да намеря начин да обясня как PWM работи на моите ученици, затова си поставих задачата да се опитам да контролирам яркостта на светодиода с помощта на 2 бутона - единият бутон увеличава яркостта на светодиода, а другият го затъмнява. Към програмата
Охлаждане на бебето ви това лято - контролиране на тъпите фенове с интелигентни неща!: 6 стъпки (със снимки)
Охлаждане на бебето ви това лято - контролиране на тъпите фенове с интелигентни неща !: От преди две седмици по време на писането на това станах баща на невероятно бебе момче! С промяната на сезоните, дните стават все по -дълги и температурите стават все по -топли, мислех, че би било добре да има някакъв монитор в
Надстройте самата напоителна саксия „Направи си сам“с WiFi в „Направи си сам“аларма за откриване на движение Плантатор: 17 стъпки
Надстройте DIY самополиващата саксия с WiFi в аларма за часовници за откриване на движение „Направи си сам“ В тази статия ще ви покажем как да надстроите вашата самостоятелно поливаща саксия с WiFi със самонараняване с WiFi и аларма за откриване на движение. не сте чели статията за това как да си направите саморъчно саксия с WiFi с WiFi, можете да печете
ШИМ DC контрол на скоростта и светлината - DC Dimmer: 7 стъпки
ШИМ DC контрол на скоростта и светлината | DC Dimmer: Днес в това видео ще ви покажа как да приглушавате светлините, да контролирате скоростта на двигателя в постоянен или постоянен ток, така че нека започнем