ШИМ генератор на PIC16F883

ШИМ генератор на PIC16F883Данное устройство позволяет получить на выходе сигнал прямоугольной формы с изменяемой частотой и скважностью, используя внутренный модуль ШИМ микроконтроллера 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" HOT
Проект MPLAB IDE 8.4
File Size 18.79 KB Download 806 Download

Печать

Похожие материалы

Советуем посмотреть...

Авторизация