Данное устройство позволяет получить на выходе сигнал прямоугольной формы с изменяемой частотой и скважностью, используя внутренный модуль ШИМ микроконтроллера PIC16F883. Частота может изменяться в пределах от 500Гц до 200кГц за 500 шагов, и с низким разрешением на высоких частотах. Скважность ШИМ можно регулировать между 1% и 99% с шагом в 1%. Для индикации частоты или скважности генерируемого сигнала используется четырехразрядный семисегментный индикатор.

Частота или скважность могут быть изменены с помощью кнопок "Вверх" (S4) и "Вниз" (S3).
Кроме того, еще предусмотрены две кнопки:
- S1 для переключения между частотой и скважностью,
- S2 чтобы изменить скорость, с которой регулируется частота (шаги маленький или большой).

ШИМ генератор на PIC16F883 - схема

Генератор питается от постоянного напряжения 7-25В, стабилизированное напряжение 5В обеспечивает интегральный стабилизатор LM7805. Для напряжения питания выше 12В микросхема нуждается в радиаторе, размеры которого пропорциональны напряжению питания. Необходимый ток в низковольтной цепи 50 мА.

К выходу ШИМ микроконтроллера (RB1) подключается N-канальный МОП-транзистор типа RFD14NLSM. Этот транзистор управляется сигналом типа "логический уровень", что позволяет управлять им напрямую (без драйвера). Разъем Х1 используется для подключения питания и нагрузки. Потребитель, будь то лампа накаливания или коллекторный двигатель постоянного тока подключаются к контактам 1 и 2.

Тип используемого дисплея - семисегментный (2 х 2 цифры) с общим катодом, метод динамической индикации позволяет уменьшить количество контактов, необходимых для подключения к микроконтроллеру. В этом случае необходимо 12 выводов (7 + 1 + 4) вместо 32 выводов ((7 + 1) * 4).

Прошивка        

Программа для микроконтроллера написана на ассемблере в MPLAB версии 8.4 и использует меньше 1К памяти (700 слов).
Эта программа состоит из нескольких файлов:

Основной файл - pic16f883.asm

Файлы * .inc:
- Bank.inc (макросы для изменения банков памяти);
- Wait_i.inc (макросы для задержки);
- Timers.inc (процедура для таймера);
- Math.inc (подпрограммы для математических операций);
- Led_display.inc (подпрограмма управления 7-сегментный светодиодным дисплеем).

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

Вариант подключения лампы накаливания

Фото готового устройства


Архив для статьи "ШИМ генератор на PIC16F883"
Описание: Проект MPLAB IDE 8.4
Размер файла: 18.79 KB Количество загрузок: 1 448 Скачать