Данное устройство позволяет получить на выходе сигнал прямоугольной формы с изменяемой частотой и скважностью, используя внутренный модуль ШИМ микроконтроллера PIC16F883. Частота может изменяться в пределах от 500Гц до 200кГц за 500 шагов, и с низким разрешением на высоких частотах. Скважность ШИМ можно регулировать между 1% и 99% с шагом в 1%. Для индикации частоты или скважности генерируемого сигнала используется четырехразрядный семисегментный индикатор.
Частота или скважность могут быть изменены с помощью кнопок "Вверх" (S4) и "Вниз" (S3).
Кроме того, еще предусмотрены две кнопки:
- S1 для переключения между частотой и скважностью,
- S2 чтобы изменить скорость, с которой регулируется частота (шаги маленький или большой).
Генератор питается от постоянного напряжения 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 462 | Скачать |