sdp-f103-carton-counter
Счетчик картона для бумажного комбината
Подключение
- PA0 - выход компаратора, который стоит после оптотранзистора
- PB6 - выход на светодиод
- PB12 - выход на светодиод, если светодиод горит - сигнал есть и датчик заметил что он видит объект, иначе объекта он не видит
- PA10 - usart1_rx
- PA9 - usart1_tx
Сборка и компиляция
- открыть проект в STM32CubeMX
- сгенерировать код под SW4STM32 IDE
- собрать любой IDE, которая умеет работать с CMake
Фичи
- реагирует только на 20 непрерывных импульса от компаратора
- когда от компаратора нет импульсов больше 5 периодов, программа считает что потеряла объект
- выплевывает текстом данные в usart1
- работает с modbus через usart2 (in development)
Используемая переферия
- TIM4 (CH1) - генерация PWM на ноге PB6
- TIM2 - input capture, захват сигнала с компаратора
- TIM3 - таймер для modbus
Регистры ModBus
Имя | Адрес | Доступ | Допустимые значения | Описание |
---|---|---|---|---|
CONTROL | 0x0010 | rw | 0x00-0xFF | Регистр для управления устройством. Для включения нужных функций нужно установить соответствующие биты. См. описание регистра CONTROL. |
CNT | 0x0011 | rw | 0-32000 | Регистр счета, обнуляется при перезапуске устройства. Специальное значение 0xFFFF означает что регистр был переполнен. |
MIN_RECEIVE_PULSES | 0x0012 | rw | 0-20 | Минимальное количество импульсов, после которых считается что объект в видимой зоне |
MAX_LOST_PULSES | 0x0013 | rw | 0-20 | Максимальное количество импульсов, при которых объект считается вышедшим из видимой зоны. |
MIN_PULSE_WIDTH | 0x0014 | rw | 0-5000 | Минимальная ширина импульса, 1000 = 100% ширины. |
MAX_PULSE_WIDTH | 0x0015 | rw | 1-5000 | Максимальная ширина импульса, 1000 = 100% ширины. |
Описание регистра CONTROL
Бит | Название | Описание |
---|---|---|
0 | CNT_EN | Сигнал разрешения работы счетчика. 0 - устройство выключено, 1 - включено. |
Description
Languages
C
86.9%
Assembly
10.3%
CMake
2.8%