Нужно сначала сравнить текущее значение с предыдущим. Если новое значение больше, чем предыдущее, то просто вычитаем. Если новое значение меньше, то к нему сначала добавляем 32, а потом вычитаем.
encCount = __HAL_TIM_GET_COUNTER(&htim1);
if(encCount > oldCount)
result = encCount - oldCount;
else
result = encCount + 32 - oldCount;
oldCount = encCount;
Но всё равно, надо как-то увеличить максимальное значение тиков с 32 до 256, хотя бы.
90% генератор.
Что бы в стартер ушёл ток, надо замкнуть пятаки в втягивающем реле, а так контакт +АКБ в втягивающем висит в воздухе!
Снимай генератор и смотри внимательно, там много чего интересного может быть.
Перед этой проблемой в генератор случаем никто не лазил?
Попробуй с открытым капотом на холостых проверить, правда токовые клещи нужны, если долго ждать не надо.
А ещё можно подключить параллельно АКБ осциллограф и проверить, должны присутствовать 3 фазы полуволн пульсаций, если получиться всё в кривом виде то возможно мост диодный трындит, в общем ковыряться надо, тут особо советовать смысла нет.
ИМХО вместо того, чтоб заново изобретать Долби ПроЛоджик проще и дешевле на Авите найти старый музцентр с подобной системой преобразования и использовать оттуда плату целиком.
Что тоньше - то и греет, а КЗ может быть где угодно, если это КЗ конечно, а не сгнившая клемма акб. А замок тем боком, что туда плюс постоянный приходит от АКБ без предохранителей, там рядом куча железа (рулевой вал к примеру) обо что провод может перетереться.
Recommended Posts