2022-03-26 20:35:11 +03:00

109 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
<table>
<tr>
<th> Имя </th>
<th> Адрес </th>
<th> Доступ </th>
<th> Допустимые значения </th>
<th> Описание </th>
</tr>
<tr>
<td>CONTROL</td>
<td>0x0010</td>
<td>rw</td>
<td>0x00-0xFF</td>
<td>Регистр для управления устройством. Для включения нужных функций нужно установить соответствующие биты. См. описание регистра CONTROL.</td>
</tr>
<tr>
<td>CNT</td>
<td>0x0011</td>
<td>rw</td>
<td>0-32000</td>
<td>Регистр счета, обнуляется при перезапуске устройства. Специальное значение 0xFFFF означает что регистр был переполнен.</td>
</tr>
<tr>
<td>MIN_RECEIVE_PULSES</td>
<td>0x0012</td>
<td>rw</td>
<td>0-20</td>
<td>Минимальное количество импульсов, после которых считается что объект в видимой зоне</td>
</tr>
<tr>
<td>MAX_LOST_PULSES</td>
<td>0x0013</td>
<td>rw</td>
<td>0-20</td>
<td> Максимальное количество импульсов, при которых объект считается вышедшим из видимой зоны. </td>
</tr>
<tr>
<td>MIN_PULSE_WIDTH</td>
<td>0x0014</td>
<td>rw</td>
<td>0-5000</td>
<td> Минимальная ширина импульса, 1000 = 100% ширины. </td>
</tr>
<tr>
<td>MAX_PULSE_WIDTH</td>
<td>0x0015</td>
<td>rw</td>
<td>1-5000</td>
<td> Максимальная ширина импульса, 1000 = 100% ширины. </td>
</tr>
</table>
### Описание регистра CONTROL
<table>
<tr>
<th>Бит</th>
<th>Название</th>
<th>Описание</th>
</tr>
<tr>
<td>0</td>
<td>CNT_EN</td>
<td>Сигнал разрешения работы счетчика. 0 - устройство выключено, 1 - включено.</td>
</tr>
</table>