В своей статье я расскажу о том, как я сделал простой частотомер на микроконтроллере STM8LF3P6. Правильнее его назвать счётчик частоты: его принцип работы заключается в том, в течение одной секунды (интервал отмеряется по таймеру) происходит подсчет количества импульсов. Затем это значение отправляется на индикатор, а счётчик сбрасывается. Каждый раз при срабатывании таймера инвертируется пин светодиода, светодиод мигает.
Ниже приведены рисунки принципиальной схемы (рис.1) и печатной платы для устройства (рис.2).
Рисунок 1. Принципиальная схема частотомера
Рисунок 2. Печатная плата для частотомера
Со схемой все просто. Цепочка R2-C3 отсекает постоянную составляющую сигнала, после чего импульсы идут на контроллер. R1 подтягивает пин сброса мк к питанию. Светодиод позволяет контролировать работу прибора, он должен мигать с периодом где-то 2,5 секунды; отсутствие мигания говорит о том, что не запущен тактирующий кварц. Мигание светодиода при отсутствии индикации говорит о проблемах с индикатором или его подключением. Кроме того, по питанию поставлен стабилизатор напряжения на 3,3 В.
В ходе изготовления платы я столкнулся с проблемой нанесения рисунка тонких дорожек. После десятка неудачных попыток с разными материалами я решил изменить тактику. Опыт показывает, что мелкие платы проще делать. Потому я решил сделать устройство на 2-х платах — одна чисто под мк, другая под все остальное ( рис. 3 и 4 соответственно ).
Рисунок 3. Плата мк.
Рисунок 4. Основная плата
В таком варианте изготовление плат не доставило проблем. Платы я соединил с помощью разъема-гребенки. На фотографиях ниже вы можете видеть, как все получилось.
Исходный код прошивки для IAR есть в прикрепленном проекте. В исходном коде достаточно комментариев для его понимания. Дополнительно хотелось бы пояснить следующие моменты. Во-первых остановка таймера на время выполнения прерывания. Это сделано для того, чтобы таймер не считал впустую, потому что во время прерывания таймера прерывания от пина не учитываются. Если же изменить приоритеты прерываний, существует риск сбоя при отправке данных на дисплей. Во-вторых поясню принцип работы дисплея TIC33. у него есть 6 выводов — 2 на питание, вывод DIN, с которого считываются биты (каждый бит соответствует сегменту дисплея), DCLK — по фронту на этом пине данные с DIN пропихиваются в память дисплея, LOAD — по фронту этого пина происходит обновление данных на экране и LCLK — тактирование.
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
IC1
МК STM8STM8L051F31
U1
МикросхемаKIA1117BP1
C1, C2
Конденсатор33 пФ2
C3
Конденсатор10 мкФ1
R1
Резистор1 кОм1
R2
Резистор30 кОм1
HL1
Светодиод1
I < 20 mADisplay1
ДисплейTIC-331
XTAL1
Кварц12 МГц1
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- Частотомер проект.lay (12 Кб)
- реальная плата.lay (20 Кб)
- Часмтотомер проект.zip (483 Кб)