Оглавление:

Pwm2pwm: 4 ступени
Pwm2pwm: 4 ступени

Видео: Pwm2pwm: 4 ступени

Видео: Pwm2pwm: 4 ступени
Видео: (2) PWM Limited FLIP FLOP DC - AC Inverter 2024, Октября
Anonim
Pwm2pwm
Pwm2pwm

Измените входной сигнал ШИМ на другой выходной сигнал ШИМ с помощью энкодера.

Этот проект родился, когда я купил свой первый станок для лазерной резки. С первого раза непросто установить мощность ШИМ в соответствии с материалом, который вы хотите вырезать. Итак, я хочу создать небольшое устройство для изменения мощности во время выполнения.

Шаг 1. Списки компонентов

Списки компонентов
Списки компонентов

Для этого проекта вам понадобятся:

  • 1 x Oled-дисплей, в моем случае I2C
  • 1 x Arduino, в моем случае - arduino mini pro для небольших размеров.
  • 1 х триммер с пуговицей.
  • Резистор 3 x 10 кОм, 2 для подтягивания триммера и один для подтягивания вниз.

На картинке этого шага вы видите еще один Arduino mini pro, называемый лазерным, потому что я смоделировал работу контроллера лазера (pwm в сигнале) с помощью этого Arduino.

Шаг 2: Подключения

Подключения
Подключения
Подключения
Подключения

Не забудьте подключить на этой схеме 3 резистора, подтягивающий и понижающий.

В первый раз я рекомендую вам подключить второй Arduino (на предыдущем шаге он назывался лазером), чтобы проверить, работают ли код и соединение вместе.

Если вы более знакомы со схематическим представлением, откройте файл pwmTOpwm.svg.

Шаг 3: эскиз Arduino

Эскиз Arduino
Эскиз Arduino
Эскиз Arduino
Эскиз Arduino

Вы можете легко скопировать мой код со страницы GitHub:

Основные навыки этого кода - интеграция команды "pulseIn", подробнее:

Когда вы пытаетесь измерить сигнал ШИМ, поступающий на микроконтроллер, вам необходимо подсчитать, как долго сигнал остается в верхнем (или нижнем) периоде. Вы можете использовать команду «pulseIn».

Если вы попытаетесь изобразить сигнал pulseIn, вы можете увидеть что-то нестабильное.

Чтобы решить эту проблему, нам нужно использовать медианный фильтр, в моем случае экспоненциальную скользящую среднюю (EMA).

Вы можете попробовать этот классный и простой фильтр на следующем примере:

Не волнуйтесь, фильтр уже встроен в код: p.

Если вы используете второй Arduino (лазер), вы можете загрузить в этот Arduino следующий пример:

Шаг 4: печатная плата

Печатная плата
Печатная плата

Я хотел бы создать печатную плату для этого проекта с помощью KiCad и поделиться ею.

Если я внесу изменения в печатную плату, я опубликую их на странице GitHub.

Рекомендуемые: