Разбираемся с модулем ШИМ на tms320 / Хабр
Добрый день. Какое-то время назад я прочёл, что какому-то человеку захотелось изучить поглубже вопрос про ePWM модуль на мк tms320f28xxx, поэтому я решил, почему бы и мне не написать статью на эту тему, в которой я постараюсь подробно разжевать этот модуль на примере tms320f28335.
- Выходы epwmA epwmB могут работать как:
- single-edge operation
- dual-edge symmetric operation
- dual edge asymmetric opperation
- Может быть сконфигурировано мертвое время
- Может быть сконфигурирован TZ эвент и настроено логическое состояние выхода как HI так и LO.
- Может быть настроенно событие прерывания или событие SOC для ADC.
Давайте приблизимся к основным блокам: из чего состоит ePWM модуль и к чему он подключен.
Как видно из рисунка, не так и много блоков находится в модуле ePWM. Поэтому, имеет смысл рассмотреть за что отвечает каждый модуль и начнём с сигналов.
- EPWMxA и EPWMxB сигналы — наверное, самый очевидный выходной сигнал. Обычное логическое состояние либо HI, либо LO, в зависимости от того, как сконфигурировано выходное воздействие
- TZ1 — TZ6 сигналы — тут уже не совсем очевидные входные сигналы. Для тех, кто обладает около нулевыми знаниями в этой теме, как и я в своё время, подробно опишу это. Эти сигналы обычно используются для генерирования аварийных реакций, а именно вывода EPWMxA и EPWMxB выходов в определённое состояние. Зачастую, у драйверов силовых ключей есть возможность генерировать аварию по ключам, иногда схемотехники делают аппаратную защиту по уровню какого-то значения некой величины, например тока, при достижении которого генерируется некий логический уровень. Это мы сейчас говорили о физической реализации. Кроме физического получения этого сигнала, его можно генерировать и программно.
- EPWMxSYNCI и EPWMxSYNCO сигналы — тут мало что можно рассказать, это сигналы сихронизации, которые могут быть входом или выходом.
- EPWMxSOCA и EPWMxSOCB сигналы — тут всё более чем понятно из названия. Эти события могут задать события SOC для АЦП.
- EPWMxTZINT и EPWMxINT сигналы — тут событие прерываний на TZ и на события связанные с самим ШИМ, например генерирование прерывания по периоду ШИМ.
Теперь перейдём к модулям
Time base (TB) модуль — отвечает за время события каждого модуля ePWM. Не будем сильно вдаваться во все настройки этого модуля, думаю достаточно обратить внимание на то, что есть 3 режима работы счётчика:
- Up-Down-Count Mode
- Up-Count Mode
- Down-Count Mode
А так же есть настройка синхронности таймера через выставление бита TBCLKSYNC
Counter compare (CC) модуль — через него мы как-раз таки и задаём нашу скважность.
Action-Qualifier (AQ) модуль — через него можно настроить состояние на событие. А для выходов можно настроить следующие действия:
- Выставить в состояние HI
- Выставить в состояние LO
- Произвести инверсию состояния
- Ничего не делать
Dead-Band Submodule (DB) модуль — с помощью этого модуля можно настроить зоны нечувствительности для каналов ШИМа. Ни для кого не будет секретом то, что ключи транзисторов переключаются не мгновенно и для того, чтобы не было ситуации когда верхний ключ полумоста не успел закрыться, а нижний уже открыт, выставляют задержку на переключение в состояние HI и более раннее включение в состояние LO.
Trip-Zone Submodule (TZ) модуль — как говорилось выше, этот модуль связан с отработкой аварийных состояний. Тут мы можем выбрать 1 из 4 действий.
- Выставить в состояние HI
- Выставить в состояние LO
- Выставить High-impedance состояние
- Ничего не делать
Событие, вызывающее действие TZ модуля может быть вызвано как программно, так и аппаратно. Кроме этого, предусмотрен вызов прерывания.
Теперь перейдем от слов к практике
Для начала необходимо настроить GPIO на альтернативную функцию epwm
EALLOW;
// Включение pull-up
GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0x000;
GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0x000;
// Настройка GPIO как EPWM1A
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0x001;
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0x001;
EDIS;
Далее, когда мы уже настроили GPIO, мы можем приступать к разным настройкам. Для настройки работы ШИМа надо определиться с тем, что мы хотим получить. Начнём с частоты TBCLK. Она определяется по формуле:
Тут необходимо обратить внимание на то, что CLKDIV по умолчанию равен 1, с HSPCLKDIV всё иначе, по умолчанию он равен 2. Это надо держать в уме, поскольку бывают случаи, когда люди об этом забывают. При загрузке программы в RAM часто HSPCLKDIV = 1, соответственно, эту проблему замечают не сразу.
С частотой тактирования TBCLK мы определились. Но надо бы выбрать, то, как у нас будет работать счётчик. По спаду, по нарастающей, а может и так и эдак, для этого надо настроить соответствующий регистр, например:
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
В дальнейшем, чтобы никто не пугался макросам, определимся откуда они вообще появляются. Эти дефайны определены в файле с названием DSP2833x_EPwm_defines.h.
После чего необходимо определиться с тем, как будут реагировать наши GPIO на достижение определённых значений TBCTR. Вариантов действий более чем достаточно. Они приведены в таблице ниже:
Затем необходимо определиться, какого поведения мы хотим от портов А и В, а именно, мы хотим, чтобы они были связаны друг с другом или же могли работать независимо. Если мы хотим, чтобы порт А был ведущим, то мы просто записываем для него действия, например (случай для отсчёта по нарастающей):
EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;
EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR;
если же хотим независимости и для второго порта, то добавляем:
EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;
EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET;
EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR;
По подробнее о настройках необходимо обратиться к изображению выше за одним лишь дополнением, регистров AQCTLA чуть больше, чем изображено на таблице, сильно картину это не меняет, а лишь вносится конкретика касательно того, в каком случае достиг нужного значения счётчик, например, при отсчете в верх или отсчёте в низ. Более кратко с битами можно ознакомиться в вырезке из системного .h файла
struct AQCTL_BITS { // bits description
Uint16 ZRO:2; // 1:0 Action Counter = Zero
Uint16 PRD:2; // 3:2 Action Counter = Period
Uint16 CAU:2; // 5:4 Action Counter = Compare A up
Uint16 CAD:2; // 7:6 Action Counter = Compare A down
Uint16 CBU:2; // 9:8 Action Counter = Compare B up
Uint16 CBD:2; // 11:10 Action Counter = Compare B down
Uint16 rsvd:4; // 15:12 reserved
};
Если у нас 2 порта ePWM работают зависимо и мы хотим выставить мёртвое время, то необходимо выставить регистр в нужное состояние, например:
EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
Теперь, когда с описанием периферии определились, можно перейти к конкретным примерам.
Настройка ePWM в режиме отсчёта по нарастающей
Тут пример без мёртвого времени и порт A, и порт В работают зависимо. Когда A активен, B не активен.
EPwm1Regs.TBPRD = 150000 / 5; // т.к частота 150Мгц / 5000 Гц
// Выставляем скважность 50%
EPwm1Regs.CMPA.half.CMPA = EPwm1Regs.TBPRD / 2;
EPwm1Regs.TBPHS.half.TBPHS = 0;
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE;
EPwm1Regs.TBCTL.bit.HSPCLKDIV = 0;
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
EPwm1Regs.AQCTLA.bit.PRD = AQ_CLEAR;
EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;
EPwm1Regs.AQCTLB.bit.PRD = AQ_SET;
EPwm1Regs.AQCTLB.bit.CAU = AQ_CLEAR;
На осцилограмме можно увидеть полученный результат:
Теперь можно попробовать добавить мёртвое время, для этого добавляем:
EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
EPwm1Regs.DBCTL.all = BP_ENABLE + POLSEL_ACTIVE_HI_CMP; // Настройка db
EPwm1Regs.DBFED = 300; // Мертвое время = 150Мгц * 2мкс = 300
EPwm1Regs.DBRED = 300;
Отсчёт мёртвого времени производится аналогично частоте, по формуле:
А теперь мы получили мёртвое время таким, каким мы и хотели
А что делать, если нам надо развязать порт А и порт В? Такое тоже имеет место быть. Тут всё просто. Возвращаемся к первому примеру и удаляем последние 4 строчки, и записываем каждому скважность в следующие регистры.
EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;
EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET;
EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR;
EPwm1Regs.CMPA.half.CMPA = EPwm1Regs.TBPRD / 2; // Выставляем скважность 50% порта А
EPwm1Regs.CMPB = EPwm1Regs.TBPRD / 3; // Выставляем скважность 33% порта В
Теперь мы имеем вот такую вот картину. Можно задавать скважность каждому каналу по отдельности.
Для режима по спаду всё примерно аналогично. Есть отличие с отсчётом в режиме up-down. Тут частота шима рассчитывается уже по формуле:
Примерно так же и для dead Time.
Наверное, единственно важное, что не было рассмотрено, так это настройка TZ, ну что ж, теперь остановимся на этом модуле чуть чуть по подробнее.
Для программного вызова события аварии достаточно настроить следующие регистры:
EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_LO;
EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_LO;
Вызов и обнуление аварии ШИМа можно осуществить с помощью следующих команд:
//Вызов аварии
EALLOW;
EPwm1Regs.TZFRC.bit.OST = 0x001;
EDIS;
//Обнуление сигнала аварии
EALLOW;
EPwm1Regs.TZCLR.bit.OST = 0x0001;
EDIS;
Если же мы хотим аппаратно вызвать сигнал TZ, то тут всё ещё проще, через регистр TZSEL выставляем нужный нам TZ, но вдобавок к этому необходимо настроить GPIO на TZ.
Заключение
Если кому-то покажется данная статья интересной, то могу в более менее ускоренном порядке написать ещё пару статей. В планах имеется рассмотреть can модуль, хотелось бы dma, а еще может быть напишу небольшую статью по IQMath от ti с их библиотеками.
Как подключить светодиодный драйвер PWM (Широтно-импульсная модуляция (ШИМ) -схема подключения
При системе PWM — светодиоды получают необходимый ток, а яркость регулируется с помощью подачи питания с высокой частотой. То есть, частота периода подачи изменяет яркость светодиодов.
ШИМ-система – сохраняет продуктивность светодиода. КПД составит около 90%
Частота следования импульсов не меняется, поэтому никаких требований в определении яркости света к ней нет. В данном случае, меняется только ширина, или время положительного импульса.
Даже с учетом того, что особых претензий к частоте нет, существуют граничные показатели. Они определяются чувствительностью глаза человека к мельканиям. Например, если в кино мелькания кадров должны составлять 24 кадра в секунду, чтобы наш глаз воспринимал его как одно движущееся изображение.
Чтобы мелькания света воспринимались как равномерный свет, частота должна составлять не меньше 200 Гц. По верхним показателям ограничений нет, но ниже никак нельзя. Диммирование с помощью ШИМ заключается, в том, что светодиоды быстро включаются и выключаются они повторяются с достаточно высокой частотой, которая, с учетом физиологии человеческого глаза, не должна быть меньше 200 Гц. иначе может проявляться эффект мерцания, который вредно сказывается на организме человека, и его глаз. К тому подобный эффект череват отрицательными последствиями, такими как усталость человека, тошнота, трудность сосредоточения на сложной работе, головная боль.
Для непосредственного управления светодиодами применяется транзисторный ключевой каскад. Обычно для них используют транзисторы, способные накапливать большие объемы мощности.
Это необходимо при использовании светодиодных лент или мощных светодиодах.
Для небольшого количества или невысокой мощности вполне достаточно использования биполярных транзисторов. Так же можно подключать светодиоды прямо к микросхемам.
Со временем мерцание изображение может быть довольно заметно, особенно при низкой яркости или движении глаз.
При постоянном ярком освещении (например, свете солнца) изображение может расплываться.
Чаще всего pwm диммирование применяется в светодиодной ленте, когда светодиодная лента при подаче напряжения мгновенно загорается, а при пропадании мгновенно гаснет. PWM можем подать напряжение на ленту на короткое время, потом убрать, потом снова подать, потом снова убрать. И делать это очень быстро: При подаче на 20 миллисекунд и , затем убираем на 20 миллисекунд, затем снова подать на 20 миллисекунд. Тогда глаз человека не будет замечать мерцание ленты, а будет видеть только, что лента светит ровно вдвое тусклее, чем постоянно включенная. То есть, можно легко получить возможность регулировать яркость ленты, меняя промежуток времени, когда на неё подаётся питание, вне зависимости от того есть такой заводской функционал в ленте или нет. Попеременное включение на 30 миллисекунд и выключение на 10 миллисекунд будет соответствовать яркости ленты 75% от полной. А включение на 10 миллисекунд и выключение на 40 миллисекунд — 20% от полной яркости. Так регулируется яркость ленты шириной подаваемого импульса, отсюда и название Широтно-Импульсная Модуляция, под широтной понимается отрезок времени, который легко отразить на графике.
Эти прямоугольники и есть импульсы, когда на нагрузку идёт напряжение
В ШИМ вариантов сигнала только два — включено или выключено. А соотношением интервалов определяется среднее значение.
SCP0038 ШИМ-контроллер
Модуль предназначен для настройки, проверки, эксплуатации и исследования характеристик различных нагрузок. Как правило, модуль используется совместно с силовым ключом. Модуль имеет 10 ячеек энергонезависимой памяти, для хранения скважности и частоты ШИМ — сигнала.
Технические характеристики
Процент заполнения ШИМ-сигнала
Шаг регулировки ШИМ-сигнала
Количество частот выходного ШИМ-сигнала
Память сохраненных значений
Рекомендуемое напряжение питания (фильтрованное)
Потребляемый ток
Амплитуда выходного сигнала
Допустимый выходной ток
Цвет свечения индикатора
Температура эксплуатации модуля
Защита от переполюсовки питания модуля
Модуль рекомендован для управления:
- яркостью светодиодов, светодиодных матриц/лент/линеек;
- электродвигателями постоянного тока;
- яркостью ламп накаливания;
- низковольтными нагревателями.
Отображение на дисплее |
Частота |
F0 |
~16 KHz |
F1 |
~2 KHz |
F2 |
~250 Hz |
F3 |
~63 Hz |
F4 |
~16 Hz |
Назначение кнопок:
Текущие настройки ШИМ (частота, заполняемость) автоматически сохраняются в ячейку автосохранения при отсутствии нажатий на кнопки ~10 секунд. При включении ШИМ-контроллер включается с настройками автосохранения.
Для внесения изменений в ячейки списка необходимо их сохранить повторно.
Модуль выпускается в двух версиях: SCP0038 — без корпуса, SCP0038-BOX — в корпусе.
ШИМ на Raspberry PI — Популярная робототехника
Как я уже писал, в рамках проекта РоботКласс мы создали учебного мобильного робота на базе микрокомпьютера Raspberry PI. Как и в любом подобном проекте, для управления двигателями здесь используется метод ШИМ. Мои изыскания касательно ШИМ для Raspberry PI я и приведу в этой короткой статье.
Программный ШИМ
Самый простой способ получить ШИМ на выходе GPIO — это программный генератор импульсов. Данный метод хорош, если не хочется разбираться с установкой каких-либо драйверов и разного софта на Linux. Достаточно просто написать цикл, который будет каждые N миллисекунд выдавать на нужный GPIO импульс требуемой ширины. Представителем именно такой простой реализации является python-модуль pizypwm. Скачать его можно на гитхабе: https://github.com/aboudou/pizypwm
Для примера, рассмотрим программу, которая заставляет светодиод плавно разжигаться и гаснуть.
Программный ШИМ с помощью pizypwm
from RPi import GPIO from time import sleep from pizypwm import * ledPin = 11 led_pwm = PiZyPwm(100, ledPin, GPIO.BCM) led_pwm.start(100) power = 0 dim_up = range(0,80) dim_up.reverse() dim_down = range(0,80) try: while True: for power in dim_up: led_pwm.changeDutyCycle(power) sleep(0.01) for power in dim_down: led_pwm.changeDutyCycle(power) sleep(0.01) except KeyboardInterrupt: pass except: raise led_pwm.stop() GPIO.cleanup()
В чем минусы pizypwm и вообще программных ШИМ? А в том, что этот самый программный генератор импульсов ест ваш вычислительный ресурс. Другими словами, цикл генерации будет соперничать с прочим кодом, от чего будет страдать и стабильность ШИМ и стабильность выполнения всего остального. Нестабильность ШИМ может выражаться, например, в дергании сервоприводов.
Аппаратный ШИМ
WiringPI
Чтобы минимизировать влияние генератора ШИМ на выполнение основного управляющего кода, нужно передать его функции аппаратной части. Для этого, можно использовать встроенный в Raspberry PI аппаратный генератор, доступ к которому осуществляется, например, через библиотеку wiringpi. Сама библиотека для Python и инструкция по её установке есть на гитхабе:
К сожалению, Raspberry PI имеет только один GPIO вывод с поддержкой ШИМ. Номер этого вывода 12 в нотации GPIO, и 18 — в нотации BCM (я обычно пользуюсь BCM). Ниже представлена простая программа, которая с помощью wiringpi инициализирует ШИМ на 18-м выводе, и устанавливает на нем сигнал со скважностью 0,5. Такой сигнал должен зажечь светодиод примерно на 50% яркости.
Аппаратный ШИМ с помощью wiringpi
import wiringpi
# GPIO pin 12 = BCM pin 18 = wiringpi pin 1
led_pin = 1
wiringpi.wiringPiSetup()
wiringpi.pinMode(led_pin, 2)
wiringpi.pwmWrite(led_pin, 0)
def led(led_value):
wiringpi.pwmWrite(led_pin, led_value)
# значение должно быть от 0 до 1024
led(512)
PI-Blaster
Другой вариант реализации ШИМ позволяет использовать до 8 (а в некоторых библиотеках и до 15) выводов на Raspberry PI. Делается это с помощью того же аппаратного ШИМ-генератора, но совместно с DMA (прямой доступ к памяти), что позволяет добиться распределения генерируемого сигнала между несколькими GPIO выводами, без участия центрального процессора. Лично я использую библиотеку pi-blaster, которая, в свою очередь, основана на известном проекте ServoBlaster. Скачать pi-blaster можно тут:
В отличие от предыдущих методов, работать с pi-blaster чуть тяжелее. Чтобы сменить значение ШИМ, нужно записать его в специальный файл. А чтобы сменить выводы, на которые выводится ШИМ, потребуется пересобрать само приложение. Но обо всем по-порядку.
1. Установка
Скачиваем приложение из указанного репозитория, и распаковываем при необходимости. Среди полученного списка файлов находим pi-blaster.c, в котором можно указать список задействованных в генерации, GPIO выводов. По-умолчанию, этот список имеет вид:
static uint8_t pin2gpio[] = {
4,
// P1-7
17,
// P1-11
18,
// P1-12
21,
// P1-13
22,
// P1-15
23,
// P1-16
24,
// P1-18
25,
// P1-22
};
Можно изменить номера выводов или заблокировать лишние с помощью комментария «//». Учтите только, что номера выводов указаны в нотации GPIO, а не BCM.
После того как список должным образом отредактирован, выполняем команды:
sudo make
sudo make install
Затем запускаем демона (но он должен сам запуститься уже после предыдущей команды):
sudo ./pi-blaster
2. Удаление
Чтобы выключить демона, и удалить его из автозагрузки, выполняем:
sudo make uninstall
Также можно убить самого демона командой:
sudo kill -9 номер_процесс
для чего предварительно потребуется узнать номер процесса с помощью команды ps ax.
3. Использование
После установки pi-blaster, в папке dev появится специальный программный FIFO буфер: /dev/pi-blaster.
Чтобы изменить значение ШИМ на нужном выводе, просто записываем в этот буфер выражение вида:
номер_канала = значение
где номер канала — номер от 0 до 7, указывающий на тот или иной вывод из списка доступных GPIO (тот что мы редактировали на шаге №1).
значение — действительное число от 0.0 до 1.0, задающее скважность ШИМ.
Для управления мобильным роботом я написал небольшой модуль MovementControl.py, в котором есть класс, отвечающий как раз за ШИМ через pi-blaster:
Аппаратный ШИМ с помощью pi-blaster
class PWM:
def __init__( self, pin ):
self.pin = pin
def set( self, value ):
cmd = ‘echo «%d=%.2f» > /dev/pi-blaster’ % ( channel_map[self.pin], value/100. )
os.system(cmd)
led = PWM(25)
led.set(0.5)
Итог
Из всех трех рассмотренных подходов, для своих коварных проектов на Raspberry PI я выбрал полу-аппаратный генератор ШИМ, использующий DMA (pi-blaster). Он достаточно легко ставится и используется, но имеет небольшой минус, связанный с необходимостью пересобирать его каждый раз, когда требуется поменять список используемых для ШИМ выводов. Именно из-за такой отрицательной черты, для учебных целей я все-таки рекомендую чисто программную реализацию pizypwm.
Жгуты с широтно-импульсной модуляцией
HID / LED
Подробная информация о продукте
XenonDepot PWM HID Fix: волшебная маленькая коробочка, которую вы искали, если вы устанавливаете комплект HID или комплект светодиодов в автомобиле, оборудованном ШИМ ширина-модуляция) технология фар.
Что такое ШИМ? В новых автомобилях используется технология ШИМ для увеличения срока службы лампы и снижения расхода топлива путем подачи импульса переменного напряжения на лампу фары, в отличие от стабильного 12 В. Установленные на заводе лампы накаливания или галогенные лампы могут справиться с этой импульсной системой, поскольку они не потускнеют до получения следующего импульса питания.Однако комплект HID / комплект светодиодов требует постоянного питания и будет мерцать как сумасшедший, если он установлен в автомобиле с системой фар с ШИМ. Исправление PWM XenonDepot специально разработано, чтобы гарантировать, что ваши фары не мерцают, и устранить коды ошибок «выключения лампы». Мы протестировали этот компонент на некоторых из наиболее проблемных автомобилей, и продукт работает так, как задумано! В отличие от других компонентов «подавления предупреждений» или «анти-мерцания» (которые не будут делать то же самое, что и этот продукт), исправление PWM XenonDepot не чувствительно к полярности; Таким образом, установка осуществляется буквально по принципу plug + play, не беспокоясь о том, взорвется ли конденсатор — поверьте нам, это не весело!
35 Вт Совместимость: ШИМ-система XenonDepot разработана для работы с нашим комплектом Xtreme HID мощностью 35 Вт, так как балласты имеют низкую потребляемую мощность и полностью безопасны для подключения от штатной проводки.Это избавляет от необходимости использовать жгут реле с предохранителями и дополнительные резисторы (которые сильно нагреваются). Это делает установку HID-комплекта в автомобилях с ШИМ 100% функцией plug and play и гарантирует, что ваши HID-фонари XenonDepot работают так, как они задуманы. Вы также сможете безопасно использовать эти модели с нашими комплектами светодиодных фар Xtreme. В некоторых случаях в автомобилях, оборудованных ближним освещением или автоматическими фарами, может возникать периодическая кратковременная неисправность (которая будет быстро устранена), если напряжение, подаваемое с жгутов штатных фар, не обеспечивает достаточной мощности для зажигания балластов во время запуска. .Однако через долю секунды, как только генератор начнет вырабатывать мощность (после проворачивания), ошибка исчезнет, и индикаторы будут нормально работать без ошибок. Кроме того, его нельзя использовать вместе с DRL (дневными ходовыми огнями), если ваш автомобиль * использует * ту же лампу ближнего света, что и дневные ходовые огни.
Подтвержденная установка: 2006-2012 Ford Fusion — Xtreme HID Kit, 2012-2015 Jeep Grand-Cherokee — Xtreme HID kit и Xtreme LED Kit, 2014 Jeep Cherokee — Xtreme HID kit & Xtreme LED Kit, 2015 Chrysler 300 — Xtreme HID kit & Xtreme LED Kit, 2015 Dodge Charger — Xtreme HID kit, 2015 Jeep Cherokee — Xtreme HID kit & Xtreme LED Kit, 2015 RAM 1500 и 2500 — Xtreme HID kit, 2016 Chrysler 200 — Xtreme HID kit, 2016 Jeep Cherokee — Xtreme HID Kit , 2016 Jeep Grand-Cherokee — Xtreme HID Kit, 2016 Porsche Boxster — Xtreme HID kit, 2016 RAM 1500 и 2500 — Xtreme HID kit.
Модуль генератора сигналов ШИМ XY-LPWM
Описание
Модуль генератора ШИМ-сигналов в стиле XY-LPWM сочетает в себе точный генератор ШИМ 0–150 кГц с кнопочными элементами управления и ЖК-дисплеем, показывающим частоту и рабочий цикл.
В ПАКЕТЕ:
- Модуль генератора сигналов ШИМ XY-LPWM / HW-753
ОСНОВНЫЕ ХАРАКТЕРИСТИКИ МОДУЛЯ ГЕНЕРАТОРА СИГНАЛА XY-LPWM PWM:
- Диапазон выходной частоты 0-150 кГц
- 0-100% рабочий цикл
- 3-30 В срабатывание и амплитуда выходного импульса
- Простой кнопочный интерфейс
- ЖК-дисплей частоты и рабочего цикла
- 5-30 мА максимальный выходной ток
- Последовательный интерфейс TTL, 3.Совместимость с логикой 3 В.
Это красивый маленький модуль, который можно использовать в качестве гибкого генератора прямоугольных сигналов для проведения экспериментов, тестирования и управления устройствами, которым требуется вход ШИМ. Наличие дисплея и простого кнопочного интерфейса упрощает настройку. Добавление выходного драйвера позволяет ему управлять двигателями, соленоидами, сервоприводами, тусклыми светодиодами и другими импульсными приложениями.
Теория работы
Восстановленные схемы показывают базовую компоновку модуля.
Эти модули построены на базе микроконтроллера Holtek N76E003AT20 или ST Micro STM8S003F3P6, и функциональность в обоих случаях одинакова.
Входное напряжение VIN + питает линейный стабилизатор 3,3 В, который подает 3,3 В на логические схемы модуля.
Микроконтроллер принимает входные сигналы от кнопок или последовательного интерфейса TTL и генерирует выходной сигнал ШИМ, используя встроенный генератор и схемы синхронизации микроконтроллера.
Выходной контакт ШИМ на микроконтроллере управляет транзистором типа NPN MMBT3904, который, в свою очередь, управляет выходным контактом ШИМ модуля.Транзистор имеет последовательный резистор 1 кОм, связанный с VIN +, поэтому сигнал ШИМ будет колебаться между землей и напряжением питания модуля на контакте VIN +.
Резистор 1K ограничивает максимально доступный ток привода, который будет варьироваться в зависимости от входного напряжения VIN + и находится в диапазоне от 5 мА до 30 мА. Этот выход подходит для управления логическим входом или для управления MOSFET-транзистором, если вам необходимо увеличить возможности управления модулем. Существует также простой способ повысить ток до примерно 100 мА, что объясняется ниже в разделе « Наши результаты оценки ».
Помимо входного разъема VIN и выходных разъемов PWM, описанных ниже, на задней стороне платы имеется разъем J3, который обеспечивает доступ к порту программирования микроконтроллера. Это интересно только тем, кто думает о взломе программного обеспечения на модуле.
Обратите внимание, что мы можем поставлять платы с фабриками с маркировкой XY-LWPM или HW-753. Незначительные различия в функциональности указаны ниже в разделе «Наши результаты оценки»
Питание модуля
Модуль может работать с входным напряжением от 3 до 30 В на соединениях VIN +.Два соединения имеют внутреннее соединение, и нужно использовать только одно. То же самое для VIN-, который является заземлением.
На входе VIN + имеется защитный диод Шоттки от обратной полярности. Логические схемы модуля питаются от регулятора 3,3 В, поэтому напряжение VIN + обычно выбирается для установки амплитуды, необходимой для выхода ШИМ. Если выход PWM будет использоваться с логикой 5 В, модуль должен питаться от 5 В.
Ниже 4 В подсветка ЖК-дисплея начнет тускнеть, но модуль продолжит работать до 3 В.
Модуль потребляет около 20 мА от источника питания при типичном режиме работы 5 В.
Установка частоты ШИМ
Частоту вывода ШИМ можно установить в диапазоне от 0 Гц до 150 кГц, нажимая кнопки FREQ + и FREQ- . Удерживание кнопок ускоряет изменение частоты.
При настройке вывода на дисплее отображается SET . Если никакие настройки не выполняются, отображается OUT .
Текущая частота отображается в верхней половине дисплея с десятичной точкой, указывающей отображаемый диапазон.
Если на дисплее отображается XXX , значение указано в Гц. Дисплей 500 показал 500 Гц. Значение можно регулировать с шагом 1 Гц в диапазоне 0–999 Гц.
Если на дисплее отображается X.XX , значение указано в кГц. Отображение 1,00 означает 1 кГц. Значение можно изменять с шагом 10 Гц в диапазоне 1.00 кГц — 9,99 кГц.
Если на дисплее отображается XX.X , значение указывается в десятках кГц. Отображение 10,0 означает 10 кГц. Значение можно регулировать с шагом 100 Гц в диапазоне от 10,0 кГц до 99,9 кГц.
Если на дисплее отображается X.X.X , значение указывается в сотнях кГц. Отображение 1.0.0 означает 100 кГц. Значение можно регулировать с шагом 1 кГц в диапазоне от 100 кГц до 150 кГц. Использование нескольких десятичных знаков — не самый интуитивно понятный способ отображения значения, но он не так уж и плох, если вы к нему привыкнете.
Установка рабочего цикла ШИМ
Рабочий цикл может быть установлен в диапазоне от 0 до 100% нажатием кнопок DUTY + и DUTY- . Удерживание кнопок ускоряет изменение рабочего цикла.
Текущий рабочий цикл отображается в нижней половине дисплея со знаком% после него.
ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС УПРАВЛЕНИЯ
Модуль имеет последовательный порт, который обеспечивает управление основными функциями модуля, включая установку частоты и рабочего цикла, а также считывание текущих настроек.
Последовательный порт совместим с 3,3 В, поэтому при использовании с микроконтроллером 5 В вам необходимо будет использовать переключатель логического уровня на линии RX модуля, чтобы избежать возможных повреждений.
Для связи используется скорость 9600 бод. Как и любой последовательный порт, линии TX / RX перекрестно соединены, поэтому линия TX MCU подключается к модулю RX, а линия RX MCU подключается к модулю TX. GND подключается к заземлению MCU и не требуется, если питание и земля модуля поступают от MCU.
Протокол связи очень прост, как описано ниже.
Установка частоты
Fxxx = Установить частоту
Чтобы установить частоту, вы отправляете данные в том же формате, в котором они отображаются на ЖК-дисплее, после прописной буквы «F».
‘ F100 ‘ = частота установлена на 100 Гц
‘ F1.00 ‘ = частота установлена на 1 кГц
‘ F10.0 ‘ = частота установлена на 10 кГц
‘ F1.0.0 ‘ = частота установлена на 100 кГц
Модуль отвечает « DOWN », если команда была понята, и « FAIL », если нет, например, если команда была отформатирована неправильно.
Настройка рабочего цикла
Dxxx = Установить рабочий цикл
Чтобы установить рабочий цикл, вы отправляете желаемый рабочий цикл, которому предшествует заглавная буква «D».
‘ D050 ‘ = рабочий цикл установлен на 50%
Чтение текущих настроек
Чтобы прочитать текущие настройки, вы отправляете строчные буквы « читать ».
Модуль будет реагировать с частотой и рабочим циклом следующим образом:
F1.00
D050
или может сообщить
F = 1.00 кГц D = 50%
Соединения модулей
Подключения к модулю просты: питание находится в верхнем левом углу, последовательные соединения — в нижнем левом углу, а выход ШИМ — справа.
Обратите внимание, что соединения VIN +, VIN-, PWM и PWM GND имеют по две точки подключения. Все они имеют внутреннее соединение, поэтому необходимо подключить только 1 контакт каждого. Основания тоже все общие.
- VIN + = питание от 3 до 30 В (x2)
- VIN- = Земля (x2)
- ШИМ = Выход ШИМ (x2)
- GND = Земля ШИМ (x2)
Последовательный порт (помечен на задней панели)
- GND = серийное заземление
- TXD = Передача данных из модуля.Подключается к MCU RXD
- RXD = Получение данных в модуль. Подключается к MCU TXD
Модуль в сборе
Модуль имеет 4 отверстия размером M2 в четырех углах для установки при желании.
Этот модуль не поставляется с заголовками, но при необходимости их можно заказать отдельно.
РЕЗУЛЬТАТЫ ОЦЕНКИ:
Эти модули имеют хорошее соотношение цена / производительность и имеют хороший потенциал для встраивания в различные приложения.
ЖК-экран имеет угол обзора вниз. Это особенно хорошо работает при установке в типичной горизонтальной ориентации, когда вы смотрите на экран со стороны кнопок модуля, но менее оптимально, если смотрите на модуль прямо. Экран не просматривается под углом вниз.
Обратите внимание, что на рынке существует как минимум 3 разновидности этого модуля. Поведение в основном такое же, но здесь есть некоторые отличия. Мы можем отгружать модули с маркировкой XY-LPWM или HW-753 .Мы не поставляем LPWM , поскольку последовательный порт не работает на тех, которые мы тестировали.
Модули с маркировкой XY-LPWM
- Нажатие и удержание кнопок FREQ или DUTY вызывает изменение выходного сигнала модуля по мере изменения дисплея
- Последовательное чтение вернется с данными в следующем формате:
F1.00
D050 - Отчет о неверных последовательных командах «FAIL»
Модули с маркировкой HW-753
- Нажатие и удерживание кнопок FREQ или DUTY вызывает изменение выходного сигнала модуля по мере изменения дисплея
- Последовательное чтение вернется с данными в следующем формате:
F = 1.00 кГц D = 50% - Плохие последовательные команды сообщают «ПАДЕНИЕ», но не во всех случаях.
Модули с маркировкой LPWM
- Нажатие и удерживание кнопок FREQ или DUTY не вызывает изменения вывода, пока кнопка не будет отпущена. Затем выходной сигнал изменяется примерно с задержкой в 1 секунду.
- Последовательный порт не работает.
Ограничения выходного привода
Наиболее вероятная проблема, с которой можно столкнуться с этими модулями, — это попытка управлять слишком большой нагрузкой и слишком сильное уменьшение выходной амплитуды из-за падения напряжения на резисторе R2 1 кОм.Этот резистор выбран для обеспечения безопасной работы в широком диапазоне входного напряжения. При 30 В он может пропускать 30 мА и рассеивать до 0,9 Вт, поэтому это физически большой резистор.
Для управления логическим входом это не проблема, поскольку текущие требования невелики, но если вы пытаетесь получить от него немного больше привода, не прибегая к подвешиванию полевого МОП-транзистора на выходе, вы можете кое-что сделать. .
Для специального приложения, в котором вы знаете, с каким напряжением вы будете его использовать, например, 5 В, R2 можно заменить или подключить параллельно с резистором меньшего номинала, чтобы увеличить пропускную способность по току и уменьшить падение напряжения на нем.
Максимальное ограничение по току зависит от токовой нагрузки небольшого транзистора, которым обычно является MMBT3904, который может работать до 200 мА в непрерывном режиме, но на всякий случай лучше не превышать 100 мА. В этом случае подойдет резистор на 50 Ом 1/2 Вт, чтобы обеспечить до 100 мА привода при 5 В.
Чтобы действительно увеличить выход, вы можете повесить что-то вроде модуля High-Power Dual MOSFET на выходе.
Точность выхода
Точность неплохая.На выборочной основе мы измерили следующее.
- 100 Гц / рабочий цикл 50% измерен 100,86 Гц с рабочим циклом 50,01% / 49,99%
- 1 кГц / 50% рабочий цикл измерен 1,01 кГц при рабочем цикле 49,98% / 50,02%
- Измерение рабочего цикла 10 кГц / 50% 10,09 кГц при рабочем цикле 49,82% / 50,18%
- 150 кГц / 50% рабочий цикл измерен 152,233 кГц при рабочем цикле 47,24% / 52,76%
Ниже приведены некоторые снимки осциллограмм, показывающие типичные характеристики на тех же частотах.
Захват осциллографа XY-LPWM 100 Гц
Захват осциллографа XY-LPWM 1 кГц
Захват осциллографа XY-LPWM 10 кГц
Захват осциллографа XY-LPWM 150 кГц
Пример использования последовательного интерфейса управления генератором сигналов XY-LPWM PWM
Программа, представленная ниже, очень проста и просто передает символы между вашим компьютером и MCU, например, платой Mega 2560 или Uno, которая затем передает символы в модуль XY-LPWM и из него.
Он использует SoftSerial для обеспечения последовательного порта для модуля XY-LPW, так что он будет работать с любым MCU, даже если он имеет только один последовательный порт.В нашей настройке мы фактически используем Mega 2560 Pro, у которого есть 4 аппаратных последовательных порта, один из которых можно было бы использовать вместо него. Мы используем контакты 10 и 11 для последовательного порта программного обеспечения, чтобы он работал с Mega 2560, а также с Uno и большинством плат Arduino.
Подключите модуль RXD к контакту 11 MCU, а модуль TXD — к контакту 10 MCU
Подключите VIN + к MCU 5V и VIN- к заземлению MCU.
Обратите внимание, что на выводе модуля RXD уровень входящего сигнала должен быть сдвинут с 5 В до 3.3V, чтобы избежать возможных повреждений. Это можно сделать с помощью переключателя логического уровня или простого резисторного делителя напряжения.
После загрузки программы откройте окно Serial Monitor и убедитесь, что установлено значение 9600 бод , а также выберите « No Line Ending », иначе модуль не распознает команду, которую вы ему отправляете.
Вы можете ввести команду, которую хотите отправить модулю, в верхнем окне и посмотреть, чем модуль модуля отвечает в главном окне.MCU повторяет полученную команду, за которой следует ответ модуля XY-LPWM.
Допустимые команды:
- Fxxx , Fx.xx , Fxx.x или Fx.x.x = Установить частоту
- Dxxx = Установить рабочий цикл
- читать = читать текущие настройки
Обратите внимание, что команды для установки частоты, например F100 или рабочего цикла, например D050 , должны быть в верхнем регистре. Чтобы прочитать текущие настройки, команда read должна быть в нижнем регистре без какой-либо видимой причины.Нажмите Enter, чтобы отправить команду.
Пример выходных данных показан здесь справа, и вы должны увидеть обновление ЖК-дисплея с новыми значениями. В этом случае набранные и отправленные команды были F1.00 , D050 , читать
Чтобы увидеть, что на самом деле происходит на выходе ШИМ, вам понадобится осциллограф или частотомер. В качестве альтернативы вы можете подключить светодиод с резистором серии 1 кОм к выходу ШИМ и снизить частоту в диапазоне 1-10 Гц, чтобы вы могли видеть изменение частоты вспышки светодиода.Убедитесь, что номинал последовательного резистора достаточно высокий, чтобы избежать случайной перегрузки выхода ШИМ.
Программа тестирования управления генератором сигналов XY-LPWM PWM
/ * Простая программа для проверки последовательного порта модуля XY-LPWM Использует аппаратный последовательный порт для связи с главным компьютером и программный последовательный порт для связь с XY-LPWM для совместимости с любым MCU Подключения MCU 5V к модулю VIN + MCU GND к модулю VIN- MCU D11 к модулю RXD с использованием переключателя логического уровня или делителя напряжения MCU D10 к модулю TXD Когда команда вводится в Serial Monitor на компьютере, MCU будет передать его в модуль XL-LPWM и отобразить в окне Serial Monitor. Обратите внимание, что частота и рабочий цикл указаны в верхнем регистре, то есть «F100» или «D050». С другой стороны, в запросе «чтение» используется нижний регистр. Убедитесь, что в окне Serial Monitor Window установлено значение 9600 и «Нет конца строки». Любые символы, возвращенные из модуля, будут отображаться в окне Serial Monitor. Использует библиотеку Softserial.h. Может использовать аппаратный последовательный порт, если MCU его поддерживает * / #include < SoftwareSerial .h> SoftwareSerial SoftSerial (10, 11); // RX | Контакты TX.При необходимости можно переназначить const long BAUDRATE = 9600; // Скорость передачи модуля XY-LPWM char c = ''; // Передаваемый символ // ================================================ =============================== // Инициализация // ================================================ =============================== установка void () { SoftSerial.begin (BAUDRATE); // Инициализировать мягкий серийный объект Серийный . Начало (9600); // Инициируем аппаратный последовательный порт Серийный номер .println («Последовательный тест XY-LPWM»); Serial .println («Введите« Fxxx »,« Fx.xx »,« Fxx.x »или« Fx.x.x »для установки частоты»); Serial .println («Введите 'Dxxx', чтобы установить рабочий цикл»); Серийный .println («Введите 'read', чтобы получить текущие настройки»); } // ================================================ =============================== // Основной // ================================================ =============================== пустой цикл () { // Следим за любыми символами, возвращаемыми из модуля если (SoftSerial.имеется в наличии()) { c = SoftSerial.read (); if (c == 'F' || c == 'D') серийный .write (''); // Добавляем пробел между командами Серийный .write (c); } // Считываем символ из Serial Monitor и отправляем в модуль XY-LPWM if ( серийный . доступный ()) { c = Серийный .read (); SoftSerial.write (c); Серийный .write (c); // Эхо-символ, введенный в окно последовательного монитора } }
ДО ОТГРУЗКИ ЭТИ МОДУЛИ ЯВЛЯЮТСЯ:
- Проверено
- Базовая функциональность модуля проверена.
- Упакован в высококачественный герметичный пакет ESD для защиты и удобства хранения.
Примечания:
- Модуль может иметь флюс для припоя на контактах ЖК-модуля. Не рекомендуется чистить, так как чистящая жидкость может легко попасть под ЖК-модуль, где она будет оптически видна в виде пятен на задней подсветке, и ее может быть трудно или невозможно удалить.
Технические характеристики
Эксплуатационные рейтинги | ||
Vcc | Диапазон | 3 — 30 В (3.3 или 5 В типично) |
Частота | Указанный диапазон | 0 — 150 кГц |
Рабочий цикл | 0–100% | |
Амплитуда импульса ШИМ | То же, что и VIN + | |
Размеры | Д x Ш x В | 52 x 32 x 10 мм (2,05 x 1,26 x 0,39 дюйма) |
Листы данных | Микроконтроллер Nuvoton | N76E003 |
ST Микроконтроллер | STM8S003F3 | |
Holtek LCD контроллер | HT1621 |
Широтно-импульсная модуляция — изучение.sparkfun.com
Что такое широтно-импульсная модуляция?
Широтно-импульсная модуляция (PWM) — это причудливый термин для описания типа цифрового сигнала. Широтно-импульсная модуляция используется во множестве приложений, включая сложные схемы управления. Обычно мы используем их в SparkFun для управления затемнением светодиодов RGB или для управления направлением сервопривода. Мы можем достичь ряда результатов в обоих приложениях, потому что широтно-импульсная модуляция позволяет нам изменять, сколько времени сигнал находится на высоком уровне аналоговым способом.Хотя сигнал может быть только высоким (обычно 5 В) или низким (земля) в любое время, мы можем изменить пропорцию времени, в течение которого сигнал является высоким, по сравнению с тем, когда он низкий в течение согласованного временного интервала.
Роботизированная клешня, управляемая серводвигателем с использованием широтно-импульсной модуляции
Рекомендуемая литература
Некоторые базовые руководства, которые вы могли бы рассмотреть в первую очередь:
Рабочий цикл
Когда сигнал высокий, мы называем это «вовремя».Чтобы описать количество «вовремя», мы используем понятие рабочего цикла. Рабочий цикл измеряется в процентах. Процент рабочего цикла конкретно описывает процент времени, в течение которого цифровой сигнал остается включенным в интервале или периоде времени. Этот период обратно пропорционален частоте сигнала.
Если цифровой сигнал проводит половину времени включенным, а другую половину — выключенным, мы бы сказали, что цифровой сигнал имеет рабочий цикл 50% и напоминает идеальную прямоугольную волну. Если процентное значение выше 50%, цифровой сигнал проводит больше времени в высоком состоянии, чем в низком, и наоборот, если рабочий цикл меньше 50%.Вот график, иллюстрирующий эти три сценария:
Примеры рабочего цикла 50%, 75% и 25%
100% рабочий цикл будет таким же, как установка напряжения на 5 В (высокое). Рабочий цикл 0% будет таким же, как заземление сигнала.
Примеры
Яркость светодиода можно регулировать, регулируя рабочий цикл.
ШИМ используется для управления яркостью светодиода
С помощью светодиода RGB (красный, зеленый, синий) вы можете контролировать, какое количество каждого из трех цветов вы хотите в смешении цветов, уменьшая их яркость с различной степенью.
Основы смешивания цветов
Если все три горят в равной степени, в результате будет белый свет различной яркости. Синий, равно смешанный с зеленым, станет бирюзовым. В качестве немного более сложного примера попробуйте полностью включить красный, зеленый — 50% рабочего цикла и синий — полностью выключить, чтобы получить оранжевый цвет.
PWM можно использовать для смешивания цветов RGB
Частота прямоугольной волны должна быть достаточно высокой при управлении светодиодами, чтобы получить надлежащий эффект затемнения.Волна 20% рабочего цикла при 1 Гц будет очевидна, что она включается и выключается для ваших глаз, в то время как 20% рабочий цикл при 100 Гц или выше будет выглядеть более тусклым, чем полностью включенным. По сути, период не может быть слишком большим, если вы стремитесь к эффекту затемнения с помощью светодиодов.
Вы также можете использовать широтно-импульсную модуляцию для управления углом серводвигателя, прикрепленного к чему-то механическому, например, манипулятору робота. Сервоприводы имеют вал, который поворачивается в определенное положение в зависимости от его линии управления. Наши серводвигатели имеют диапазон около 180 градусов.
Частота / период зависят от управления конкретным сервоприводом. Ожидается, что типичный серводвигатель будет обновляться каждые 20 мс с импульсом от 1 до 2 мс, или, другими словами, от 5 до 10% рабочего цикла на форме волны 50 Гц. С импульсом 1,5 мс серводвигатель будет в естественном положении на 90 градусов. С импульсом 1 мс сервопривод будет в положении 0 градусов, а с импульсом 2 мс сервопривод будет в положении 180 градусов. Вы можете получить полный диапазон движения, обновив сервопривод промежуточным значением.
ШИМ используется для удержания серводвигателя под углом 90 градусов относительно его кронштейна
Ресурсы и дальнейшее развитие
Широтно-импульсная модуляция используется в различных приложениях, особенно для управления. Вы уже знаете, что его можно использовать для затемнения светодиодов и управления углом наклона серводвигателей, и теперь вы можете начать исследовать другие возможные применения. Если вы чувствуете себя потерянным, не стесняйтесь проверить SparkFun Inventor’s Kit, в котором есть примеры использования широтно-импульсной модуляции.Если вы готовы немедленно перейти к кодированию и иметь Arduino, посмотрите здесь пример кодирования PWM.
Не стесняйтесь исследовать:
Рабочие характеристики
Таблица производительности
|
Модуль ШИМ
с двумя выходами источника / приемника с использованием SG3525
SG3525 ШИМ-модуль — отличный инструмент для каждого любителя.Эта схема может использоваться в различных приложениях, таких как импульсный источник питания, преобразователь постоянного тока в постоянный, контроллер скорости двигателя постоянного тока, светодиодный димер, источник питания высокого напряжения, драйвер соленоида и электронная нагрузка постоянного тока. Эта недорогая схема управления широтно-импульсным модулятором обеспечивает улучшенные характеристики. Схема имеет различные опции, такие как регулируемый ШИМ , регулируемая частота , дополнительный плавный пуск , двойной выход источника / стока с рабочим циклом 50% , одиночный выход с 0 до 100% рабочего цикла и выходной сигнал уровень напряжения TTL-5V или 12V выбор с помощью перемычки.ШИМ-сигнал 5 В рассчитан на низкий ток, поэтому не потребляет более 20 мА. Выходы 12 В могут напрямую управлять полевым МОП-транзистором.
Этот модуль также имеет функцию двойных выходов источник / приемник . Выходные каскады имеют тотемно-полюсную конструкцию, способную потреблять и потреблять ток свыше 200 мА . Выходной каскад SG3525A имеет логику ИЛИ-ИЛИ, что приводит к низкому уровню выходного сигнала для выключенного состояния, оба выхода способны управлять затвором полевого МОП-транзистора. Откройте перемычки J2 и J3, чтобы установить модуль в режим источника / приемника.В этом режиме выходная частота составляет от 105 Гц до 3,2 кГц. Используйте R2 10 Ом для режима источника и потребителя.
Примечание: эта микросхема способна работать на частоте от 100 Гц до 400 кГц. Диапазон выходной частоты зависит от значения конденсатора C3, мы использовали конденсатор 0,1 мкФ, который установил частоту 215 Гц на 6,5 кГц, при изменении значения конденсатора на 0,01 мкФ частотный диапазон изменится с 2,2 кГц до 65 кГц.
Характеристики
- Питание 12 В постоянного тока (8-12 В)
- Частота от 215 Гц до 6,5 кГц (режим с одним выходом)
- Рабочий цикл от 0 до 100%
- Частота от 105 Гц до 3.2 кГц, двойной выход, источник / приемник
- Рабочий цикл Двойной режим от 0 до 50%
- Плавный пуск Дополнительно (установите конденсатор C2 10/16 В для плавного пуска)
- Встроенный светодиодный индикатор питания
- Размеры печатной платы 29,85X 15,88 мм
Один выход (рабочий цикл от 0 до 100%)
- Замкнуть перемычки J2 и J3
- Регулировка рабочего цикла P1 потенциометра триммера от 0 до 100%
- Подстроечный потенциометр PR1 Регулировка частоты от 215 Гц до 6,5 кГц
- Перемычка J1 для выбора уровня выходного напряжения 5 В или 12 В
- Если требуется плавный пуск: установите C2 10 мкФ / 16 В для плавного пуска или пропустите для нормальной работы
- CN1 Контакт 4-PW и GND обеспечивает выход
Двойные выходы (рабочий цикл от 0 до 50%)
- Открытая перемычка J2 и J3
- Регулировка рабочего цикла P1 потенциометра триммера от 0 до 50%
- PR1 Отрегулируйте частоту 105 Гц до 3.2 кГц
- Перемычка J1 для выбора уровня выходного напряжения 5 В или 12 В
- Если требуется плавный пуск: установите C2 10 мкФ / 16 В для плавного пуска или пропустите для нормальной работы
- CN1 Контакт 3 OPB и контакт 5 OPA Выходы двойного источника
Подстроечный потенциометр
Схема
Список деталей
Подключения
Гербер Вью
Фото
Видео
SG3525 Лист данных
SG3525A-D
Интерфейсный модуль ШИМ освещения
GTR (разъемы типа H7) — Lightwerkz Global Inc
ПРЕДСТАВЛЕНИЕ ДО СРЕДЫ ДЕКАБРЯ
Для использования со светодиодными лампами для фар или балластами HID 35 Вт.Предотвращает предупреждение или мерцание лампочки.
Многие новые автомобили используют технологию под названием PWM для управления различными системами освещения в автомобиле. ШИМ расшифровывается как широтно-импульсная модуляция и позволяет регулировать яркость галогенной лампы, снижая нагрузку на генератор / аккумулятор, и является очень популярным методом управления в современных транспортных средствах.
Например, грузовики Dodge Ram 2009 года выпуска и новее используют ШИМ для управления фарами, а в некоторых случаях и противотуманные фары. Некоторые автомобили даже используют технологию PWM для управления фарами заднего хода и другими сигнальными огнями вокруг автомобиля.Также часто можно увидеть систему CANBUS в стиле PWM, используемую в Jeep Wrangler, Ford Focus, новых грузовиках Chevrolet и т. Д.
Эти модули были разработаны специально для интеграции послепродажных 35-ваттных HID или светодиодных ламп для фар в фары и противотуманные фары автомобилей, которые работают с технологией PWM. Просто подключите модуль PWM к разъему фары автомобиля (может потребоваться адаптер), а другой конец — к входу триггера жгута реле или непосредственно к новой системе HID или светодиодных фар.
В комплект входят 2 модуля.
Максимальная выходная мощность: выход 4 А
Максимальная входная мощность: 16 В постоянного тока
Водонепроницаемость: IP68
НЕ ДЛЯ ИСПОЛЬЗОВАНИЯ С СКРЫТЫМИ БАЛЛАСТАМИ 50 Вт ИЛИ 55 Вт
ПРЕДСТАВЛЕНИЕ ДО СРЕДЫ ДЕКАБРЯ
Для использования со светодиодными лампами для фар или балластами HID 35 Вт.Предотвращает предупреждение или мерцание лампочки.
Многие новые автомобили используют технологию под названием PWM для управления различными системами освещения в автомобиле. ШИМ расшифровывается как широтно-импульсная модуляция и позволяет регулировать яркость галогенной лампы, снижая нагрузку на генератор / аккумулятор, и является очень популярным методом управления в современных транспортных средствах.
Например, грузовики Dodge Ram 2009 года выпуска и новее используют ШИМ для управления фарами, а в некоторых случаях и противотуманные фары. Некоторые автомобили даже используют технологию PWM для управления фарами заднего хода и другими сигнальными огнями вокруг автомобиля.Также часто можно увидеть систему CANBUS в стиле PWM, используемую в Jeep Wrangler, Ford Focus, новых грузовиках Chevrolet и т. Д.
Эти модули были разработаны специально для интеграции послепродажных 35-ваттных HID или светодиодных ламп для фар в фары и противотуманные фары автомобилей, которые работают с технологией PWM. Просто подключите модуль PWM к разъему фары автомобиля (может потребоваться адаптер), а другой конец — к входу триггера жгута реле или непосредственно к новой системе HID или светодиодных фар.
В комплект входят 2 модуля.
Максимальная выходная мощность: выход 4 А
Максимальная входная мощность: 16 В постоянного тока
Водонепроницаемость: IP68
НЕ ДЛЯ ИСПОЛЬЗОВАНИЯ С СКРЫТЫМИ БАЛЛАСТАМИ 50 Вт ИЛИ 55 Вт
Какое у вас время окончания доставки?
Время отключения — 15:00 по восточному стандартному времени. Если у нас есть все детали на складе, заказ должен быть доставлен в тот же день.Если вам нужен продукт к определенной дате, позвоните нам, чтобы узнать, возможно ли уложиться в срок до заказа. Имейте в виду, что могут быть расхождения с калькуляторами доставки или статусом товара «в наличии».
Получу ли я номер для отслеживания?
Конечно! Как только ваш заказ будет отправлен, вы получите уведомление об отслеживании по электронной почте. Вы также всегда можете войти в свою учетную запись и проверить информацию для отслеживания заказа.
Бесплатная доставка?
Для заказов на сумму более 39 долларов США предусмотрена бесплатная доставка в пределах США. Мы выберем наиболее экономичный метод. Если вам нужен товар как можно быстрее, всегда лучше выбрать вариант ускоренной доставки.
Окно возврата
Мы даем до 90 дней с даты первоначальной покупки, чтобы вернуть ваш товар для обмена или кредита магазина. Если вы хотите вернуть товар для возмещения средств, мы даем до 45 дней с даты первоначальной покупки.
Доставка
Покупатели несут ответственность за возврат стоимости доставки, если, конечно, мы не допустили ошибки при отправке заказа. Пожалуйста, свяжитесь с нами, если произошла ошибка, мы можем отправить этикетку возврата на адрес электронной почты, указанный в файле, чтобы начать процесс обмена.
Возврат / кредит магазина
Обратите внимание, что любые рекламные акции по бесплатной доставке, использованные в исходном заказе, будут аннулированы, если заказ будет возвращен, а первоначальная стоимость доставки (оплаченная или неоплаченная) также будет вычтена из возвращаемой суммы.Возврат средств возможен только с использованием исходного метода оплаты. Кредит магазина будет отправлен по электронной почте подарочной картой, которую вы можете применить к своему следующему заказу у нас.
Наша стандартная структура сборов за пополнение запасов представлена ниже. Пожалуйста, ознакомьтесь с нашими правилами обмена и возврата, чтобы узнать о важных сроках.
Уровень 1: Идеальное состояние. (Неоткрытые и как новые) = возврат 90% или 100% кредит магазина.
Уровень 2: Можно восстановить. (Упаковка открыта или повреждена) = 80% возмещения или 90% кредита магазина.
Уровень 3: Невозможность пополнения запасов. (Товар и упаковка повреждены) = 70% возмещения или 80% кредита магазина.
Исключения
Если деталь была установлена и имеет признаки использования, мы не сможем вернуть товар для обмена или возврата денег. Оригинальные лампы Osram и Philips не подлежат возврату, если печать подлинности нарушена. Любой специально заказанный товар, например модифицированная фара, возврату не подлежит.
Лампы
HID и LED разрешены к использованию на улицах США только для противотуманных фар.Не соответствует требованиям DOT / FMVSS108 и не является уличным законодательством США для фар. Законно для внедорожного использования в фарах снегоходов и квадроциклов, а также для гонок по бездорожью: используйте только дополнительное или переднее освещение. Международные уличные законы различаются в зависимости от страны.
Примечание. Эти правила использования не ограничиваются продуктами, представленными на нашем веб-сайте. Все светодиодные и скрытые лампы от всех других брендов, независимо от маркетинговых заявлений, запрещено использовать на улицах в галогенных фарах в США. Чтобы найти сборки уличных светодиодных фар, щелкните ЗДЕСЬ.
Модуль расширения Python
PWM | Onion Omega2 Документация
Модуль расширения PWM Python
Модуль Python расширения Onion PWM, pwmExp
основан на библиотеке расширения C PWM. Используя этот модуль, вы сможете управлять расширением PWM из своей программы Python.
Процесс программирования
После каждого цикла включения питания микросхема, которая управляет расширением ШИМ, должна быть запрограммирована с последовательностью инициализации, чтобы включить встроенный генератор, чтобы можно было генерировать сигналы ШИМ.
После инициализации другие функции можно использовать для генерации сигналов ШИМ на определенных каналах или для изменения частоты сигнала ШИМ.
Дополнительно можно отключить генератор, отключив генерацию всех сигналов ШИМ сразу.Перед генерацией новых сигналов ШИМ последовательность инициализации должна быть запущена снова.
Обновление сигнала ШИМ
Сигналы с широтно-импульсной модуляцией можно описать процентами рабочего цикла и частотами / периодами:
Рабочий цикл показывает, в какой процент времени сигнал находится в включенном состоянии или находится под высоким напряжением.
Частота определяет общий период импульса.
Для более подробного объяснения см. Руководство по использованию Servo Expansion.
каналов на расширении
Расширение PWM имеет 16 каналов, которые могут генерировать отдельные сигналы PWM. Обратите внимание, что все они будут работать на одной и той же частоте.
Модуль Python
Модуль pwmExp
Python в пакете OmegaExpansion
предоставляет оболочку для функций библиотеки C. Функции в основном такие же, как и их аналоги в C, включая аргументы и возвращаемые значения. Любые отличия от библиотеки C будут явно упомянуты ниже.
Установка модуля
Чтобы установить модуль Python, выполните следующие команды:
обновление opkg
opkg установить python-light pyPwmExp
Модуль будет установлен на /usr/lib/python2.7/OmegaExpansion/
Это нужно сделать только один раз.
Чтобы добавить модуль расширения Onion PWM в вашу программу Python, включите в свой код следующее:
Пример кода
Пример кода, который использует модуль pwmExp
, можно найти здесь, в репозитории i2c-exp-driver
Onion на GitHub.
Возвращаемые значения
Все функции следуют одному шаблону с возвращаемыми значениями:
В случае успешного выполнения функции возвращается значение 0
.
Если операция функции завершилась неудачно, функция вернет 1
.
Функция инициализации — driverInit ()
Эта функция программирует последовательность инициализации серворасширения, после завершения этого шага функции для генерации сигналов ШИМ или изменения частоты сигнала могут быть успешно использованы:
Примеры
Инициализация расширения ШИМ:
Проверка инициализации — checkInit ()
Эта функция выполняет несколько чтений, чтобы определить, инициализировано ли расширение сервопривода и работает ли генератор:
Возвращаемое значение функции указывает статус инициализации:
0 | Не инициализирован |
1 | Инициализировано |
Пример
Проверьте, инициализировано ли расширение PWM:
Генерация сигнала ШИМ — setupDriver ()
Эта функция используется для генерации сигнала ШИМ на указанном канале:
Аргументы
Параметр канал
определяет, на каком канале генерировать сигнал ШИМ.* От 0 до 15 выберет конкретный канал
* -1 будет генерировать одинаковый сигнал на всех каналах
Параметр duty
указывает процент рабочего цикла для сигнала ШИМ. Допустимые значения: от 0 до 100 . Допускаются десятичные значения.
Аргумент delay
указывает задержку в процентах перед тем, как сигнал PWM станет высоким. Допустимые значения: от 0 до 100 с допустимыми десятичными значениями. При нормальном использовании с сервоприводами это значение должно быть установлено на 0.
Пример
Установить канал 7 на рабочий цикл 6,55%:
Установить канал 14 на постоянное включение:
Установить для всех каналов режим 66,66% с задержкой 9%:
Установить частоту сигнала ШИМ — setFrequency ()
Генератор можно перепрограммировать для генерации множества различных частот:
Это изменит частоту сигналов ШИМ, генерируемых на всех каналах.
Генератор может генерировать частоты от 24 Гц до 1526 Гц, значение по умолчанию — 50 Гц.
Аргументы
Параметр freq
— это число с плавающей запятой, определяющее частоту. Функция принимает любой ввод, но запрограммированная частота будет ограничена от 24 Гц до 1526 Гц.
Пример
Измените частоту на 60 Гц:
Измените частоту на 92,23 Гц:
Отключение осциллятора — disableChip ()
Генератор также можно отключить, автоматически останавливая генерацию всех сигналов ШИМ:
Это может быть полезно для отключения устройств, управляемых сигналом ШИМ, при отключении питания Omega. Функция инициализации должна быть запущена до того, как будут сгенерированы новые сигналы ШИМ.
Пример
Отключить осциллятор:
.