Цитата:
Сообщение от dg972
Интересно. Как?
|
Если коротко, то в предыдущей версии контроль положения щетки при старте проходил в два этапа. После подачи питания на мотор программа ожидала появления сигнала о наличии тока в цепи, поле появления этого сигнала, ожидала когда ток в цепи пропадет( т.е. щетка выйдет из зоны парковки, замкнется переключатель в редукторе). Если в течении определенного времени эта последовательность не выполнялась(щетка не начала движение, обрыв или заклинивание), программа переходила на обработку ошибки. Останавливала задний дворник до момента ручного переключения.
В твоем случае, когда сразу после омывателя приходил сигнал от переднего стеклоочистителя, из за инерции мотора и малого времени торможения щетка проскакивала чуть дальше и первый этап терялся. В результате программа уходила в обработку ошибки.
В новой прошивке я этот алгоритм упростил. Теперь после подачи питания на мотор запускается таймер и через 0,5с проверяется наличие тока в цепи мотора. Если ток в цепи будет, значит щетку заклинило и только тогда возникнет состояние ошибки. Кроме того время торможения увеличил до 0,8 сек.