Оглавление:
- Шаг 1: блок-схема системы
- Шаг 2: Разработка поворотного декодера SLG46108
- Шаг 3: Конструкция контроллера вентилятора SLG46826
- Шаг 4: Генерация ШИМ с помощью счетчиков смещения
- Шаг 5: Управление рабочим циклом с вводом часов и пропуском часов
- Шаг 6: Ввод КНОПКИ
- Шаг 7. Предотвращение опрокидывания рабочего цикла
- Шаг 8: Контроль рабочего цикла с помощью I2C
- Шаг 9: показания тахометра
- Шаг 10: Проектирование внешней схемы
- Шаг 11: Дизайн печатной платы
- Шаг 12: Приложение C #
Видео: DIY PWM Control для компьютерных фанатов: 12 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
В этом руководстве описывается создание полнофункционального ШИМ-контроллера 12-вольтового вентилятора ПК. Конструкция может управлять до 16 3-контактными компьютерными вентиляторами. В конструкции используется пара конфигурируемых ИС смешанного сигнала Dialog GreenPAK ™ для управления рабочим циклом каждого вентилятора. Он также включает два способа изменения скорости вращения вентилятора:
а. с квадратурным / поворотным энкодером
б. с приложением Windows, созданным на C #, которое взаимодействует с GreenPAK через I2C.
Ниже мы описали шаги, необходимые для понимания того, как чип GreenPAK был запрограммирован для создания ШИМ-управления для вентиляторов ПК. Однако, если вы просто хотите получить результат программирования, загрузите программное обеспечение GreenPAK, чтобы просмотреть уже заполненный файл дизайна GreenPAK. Подключите GreenPAK Development Kit к компьютеру и запустите программу, чтобы создать индивидуальную ИС для управления ШИМ для поклонников ПК.
Шаг 1: блок-схема системы
Шаг 2: Разработка поворотного декодера SLG46108
Поворотный энкодер используется для увеличения или уменьшения рабочего цикла вентиляторов вручную. Это устройство выдает импульсы на свои выходы канала A и канала B, которые разнесены на 90 °. См. AN-1101: Квадратурный декодер без тактовой частоты для получения дополнительной информации о том, как работает поворотный энкодер.
Синхронизированный поворотный декодер может быть создан с использованием Dialog GreenPAK SLG46108 для обработки сигналов каналов A и B и вывода их в виде импульсов против часовой стрелки (CCW) и по часовой стрелке (CW).
Когда канал A опережает канал B, схема выдает короткий импульс CW. Когда канал B опережает канал A, он выдает короткий импульс против часовой стрелки.
Три DFF синхронизируют вход канала A с часами. Точно так же задержка конвейера с OUT0, установленным на два DFF, и OUT1, установленным на три DFF, создает ту же функциональность для канала B.
Для создания выходов CW и CCW используйте несколько таблиц LUT, для получения дополнительной информации об этой стандартной конструкции поворотного декодера посетите этот веб-сайт.
Поворотный декодер GreenPAK будет получать входные импульсы A и B и выводить импульсы CW и CCW, как показано на рисунке 4.
Схема после вентилей XOR гарантирует, что никогда не будет импульса CW и импульса CCW одновременно, допуская любую ошибку с поворотным энкодером. Задержка спадающего фронта в 8 мс для сигналов CW и CCW вынуждает их оставаться на высоком уровне в течение 8 мс плюс один тактовый цикл, что необходимо для нисходящих SLG46826 GreenPAK.
Шаг 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 мс, затем используется для переключения защелки, которая определяет, выбран ли этот конкретный чип. Если он выбран, то 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 работает в течение количества тактовых циклов, записанных пользователем, как указано в команде I2C «Запись в CNT5» в таблице 1. В данном случае это 10 тактовых циклов. OneShot позволяет генератору 25 МГц работать точно в течение своей продолжительности, а не дольше, так что 3-битный LUT0 получает количество тактовых циклов, которые были записаны в CNT5.
На рисунке 15 показаны эти сигналы, где красные часы - это те, которые отправляются в 3-битный LUT0, который передает их в CNT6 (счетчик PWM_SET), тем самым создавая смещение для генерации рабочего цикла.
Шаг 9: показания тахометра
При желании пользователь может считывать значение тахометра по I2C, чтобы отслеживать скорость вращения вентилятора, считывая значение CNT2. CNT2 увеличивается каждый раз, когда ACMP0H имеет нарастающий фронт, и его можно асинхронно сбросить с помощью команды I2C. Обратите внимание, что это дополнительная функция, и порог ACMP0H необходимо будет настроить в соответствии со спецификациями конкретного используемого вентилятора.
Шаг 10: Проектирование внешней схемы
Внешняя схема довольно проста. К контакту 6 GreenPAK подключена кнопка для переключения, выбрано ли это конкретное устройство для поворотного управления, и светодиод, подключенный к контактам 12 и 13, чтобы указать, когда выбрано устройство.
Поскольку вентилятор работает от напряжения 12 В, требуется пара полевых транзисторов для управления его переключением. Pin18 и Pin19 GreenPAK управляют nFET. Когда nFET включен, он подтягивает затвор pFET LOW, который подключает вентилятор к +12 В. Когда nFET выключен, затвор PFET подтягивается резистором 1 кОм, который отключает вентилятор. от +12 В.
Шаг 11: Дизайн печатной платы
Для прототипа конструкции было собрано несколько печатных плат. На печатной плате слева находится «контроллер вентилятора», в котором находится поворотный энкодер, разъем на 12 В, 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 #. Было продемонстрировано, как сгенерировать сигнал ШИМ с парой счетчиков смещения, и как увеличивать и уменьшать рабочий цикл этого сигнала без опрокидывания.
Рекомендуемые:
Переделка старых компьютерных наушников в микрофон: 4 шага
Переделка старых компьютерных наушников в микрофон: добрый день. Я нашла эти наушники с микрофоном повсюду. Я проверил его, микрофон все еще в порядке, а наушников не было. У меня уже есть новая пара наушников, и я не хочу их выбрасывать. И тут мне в голову пришла идея
Преобразование компьютерных динамиков: 6 шагов
Преобразование компьютерных динамиков: надоело возить с собой пару компьютерных динамиков, если вы хотите слушать музыку вдали от компьютера? Я тоже. В моей комнате единственные колонки, которые у меня есть, - это компьютерные колонки, которые прикреплены к моему столу из-за петляющих шнуров
Разделители для компьютерных игр для CD / DVD: 3 шага
CD / DVD-ROM Разделители для компьютерных игр: у меня большие пальцы, похожие на сосиски. Иногда мне сложно манипулировать крошечными вещами. Мне нравится, как сейчас упаковываются компьютерные игры в футляры в стиле DVD, но мне не нравится, как несколько дисков ставятся друг на друга. Мне сложно
Как сделать портативный усилитель Mp3 из старых компьютерных колонок: 4 шага
Как сделать портативный усилитель Mp3 из старых компьютерных динамиков: у вас есть пара старых компьютерных динамиков, которые вам не нужны? хотите сделать достойный iPod / mp3-усилитель? Эти динамики питаются от батареи PP3 9 В материалы: динамики защелкиваются зажимом для батареи 9 В Источник звука батареи 9 В инструменты: solderi
Сумка для компьютерных фанатов - 101 использование мертвой клавиатуры, часть 1: 8 шагов
Сумка для компьютерщиков - 101 использование мертвой клавиатуры. Часть 1: Хорошо, вероятно, на самом деле не существует 101 совершенно разных вариантов использования мертвой клавиатуры, но мы увидим, как далеко мы продвинемся. Наш местный Geek Central - "Электронный клуб" (http://carrierdetect.com/?cat=23) - в Глазго мне предоставили ящик