2022-03-27 21:04:42 +03:00
2022-03-22 02:08:52 +03:00
2022-03-22 02:08:52 +03:00
2022-03-22 02:08:52 +03:00
2022-03-26 20:35:11 +03:00
2022-03-22 02:08:52 +03:00
2022-03-22 02:08:52 +03:00

sdp-f103-carton-counter

Счетчик картона для бумажного комбината

Подключение

  • PA0 - выход компаратора, который стоит после оптотранзистора
  • PB6 - выход на светодиод
  • PB12 - выход на светодиод, если светодиод горит - сигнал есть и датчик заметил что он видит объект, иначе объекта он не видит
  • PA10 - usart1_rx
  • PA9 - usart1_tx

Сборка и компиляция

  1. открыть проект в STM32CubeMX
  2. сгенерировать код под SW4STM32 IDE
  3. собрать любой 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
Счетчик листов картона на микроконтроллере STM32F103C8T6
Readme 71 KiB
Languages
C 86.9%
Assembly 10.3%
CMake 2.8%