После установки
контроллера прерывистым управлением заднего дворника, я прикололся по динамическим интервалам и решил сделать нечто подобное и для передних дворников.
Что хотелось добавить к существующему функционалу:— Непосредственно динамические интервалы. Дождь бывает разный и не всегда стандартный интервал между взмахами оптимален;
— Небольшое ожидание перед взмахом дворника после пускания воды на стекло;
— Сократить время протирки стекла при малом количестве пущенной воды;
— Убрать возможность «зависания» дворников на небольшом расстоянии от точки старта при кратковременном пуске прерывистого режима дворников.
За прерывистый режим передних дворников и вытирание стекла после пуска воды в Smily отвечает реле с кодовым идентификатором JJD1512. Это реле уже рассматривалось на
страницах этой темы, оно огромно по своим внешнем размерам, но сделано мегадобротно. Очень порадовала любовь конструктора к гнутому металлу контактов, отличное литье пластика и... то, что расположение и вид контактов полностью совпадает с оными реле передних дворников от отечественных ВАЗ 2108 или «Калины».
Я тут же помчался в магазин за «донором» — реле передних дворников
«Согдиана» 25.3787. Да оно раза в три меньше китайского! А цена!
65 рублей за «Согдиана» против
810 за оригинальный Chint.
Различие в работе только одно — неоригинал делает два взмаха дворниками после пуска воды, оригинал — три.
Реле имеют шесть контактов (в скобках указаны наименования российского реле):
—
15 — постоянные +12В;
—
31 — постоянная земля;
—
I [J] — +12В сигнал «прерывистый режим дворников»;
—
T [86] — +12В сигнал «пуск воды»;
—
53M [S] — силовой выход на мотор дворников, +12В запускают его;
—
53S [31Б] — вход для осуществления автоматического возврата дворников в исходное положение, в выключенном режиме соединен с 53M.
Таким образом, микроконтроллеру (естественно, не обошлось) необходимо принимать два сигнала: пуска воды и включения прерывистого режима и выдавать напряжение на силовой полевик (не обошлось) выхода на мотор. Контакт возврата соединен через диоды с выходом на мотор и землей.
Разводка выполнена с учетом расположения ножевых контактов донора, диод и силовой полевик спрятаны на нижней стороне платы, логика и низковольтное питание — на верхней. Собранную схему достаточно вставить вместо расположенной в доноре платы.
Я допустил две ошибку в разводке и на моем изделии заметны исправляющие эту ошибку провода. Для последователей на
ГитХабе лежит исправленный чертеж.
Список использованных деталей:[spoil]— линейный регулятор напряжения
L78L05ABUTR;
— микроконтроллер
pic12F683;
— N-канальный полевой транзистор
IRLML2402;
— P-канальный полевой транзистор
IRFR5305;
— Сдвоенный диод Шоттки
VS-12CWQ10FN;
— биполярный npn транзистор
BC847A — 2 шт.;
— 0805 10 нФ конденсатор — 2 шт.;
— 0805 100 нФ конденсатор;
— 0805 300 нФ конденсатор;
— 0805 4.7 мкФ конденсатор;
— 0805 100 Ом резистор — 2 шт.;
— 0805 10 кОм резистор — 4 шт.;
— 0805 47 кОм резистор — 2 шт.;
— 0805 100 кОм резистор.[/spoil]
Программа для контроллера написана на Hi-Tech C STD 9.60PL3 и в простом режиме допускает изменение следующих настроек (времена заданы в тактах, ~30 тактов на секунду):
[spoil]
ADJUSTABLE_INTERMITTENT_DELAY_ON — разрешает использование динамических интервалов (необходимо удалить или закомментировать для запрета).
REMAINING_WATER_REMOVING_ON — разрешает использование «дотирки» воды после срабатывания основного цикла (необходимо удалить или закомментировать для запрета).
WATER_WIPER_WAIT_TIME — время ожидания после пуска воды до первого взмаха дворником.
WATER_WIPER_SWITCH_MODE_TIME — предельное время работы водяного насоса, отделяющего «короткий» режим вытирания воды от «длинного».
WATER_WIPER_REMOVEMENT_WAIT_TIME — время ожидания от основного цикла вытирания воды до взмаха «дотирки».
WATER_WIPER_WORK_TIME_SMALL — время работы дворников в режиме «короткого» вытирания воды.
WATER_WIPER_WORK_TIME_BIG — время работы дворников в режиме «длинного» вытирания воды.
INTERMITTENT_WIPER_WORK_TIME — время, необходимое на запуск дворника в прерывистом режиме работы.
INTERMITTENT_WIPER_WAIT_TIME — стандартное время ожидание между взмахами в прерывистом режиме.
INTERMITTENT_WIPER_WAIT_TIME_MIN — минимальное время ожидания между взмахами в прерывистом режиме.
INTERMITTENT_WIPER_WAIT_TIME_MAX — максимальное время ожидания между взмахами в прерывистом режиме.[/spoil]
Слева-направо: крышка реле «Согдианы», преобразованное реле и бывшие внутренности донора.Cценарий работы.Пуск воды:— Ожидаем 0.4 секунды до первого взмаха дворником;
— Если время пуска воды меньше секунды, произойдет один взмах, если больше или произошло несколько коротких пусков воды — три взмаха;
— Если время пуска воды было более секунды и не включен прерывистый режим (или время ожидания в прерывистом режиме более пяти секунд), пускаем «дотирочный» режим на один взмах;
Прерывистый режим:При первом включении дворников интервалом прерывистого будут стандартные 7 секунд. Время ожидания отсчитывается в выключенном состоянии дворников от последнего взмаха дворником, будь то взмах с прерывистого режима или воды.
При следующем включении прерывистого режима интервалом будет значиться это самое время ожидания. Однако, если время ожидания оказалось менее двух секунд или более двух минут, использовано будет стандартное.
При пуске воды в прерывистом режиме следующий взмах дворников будет осуществлен только после последнего взмаха режима вытирания стекла.
Схема в формате Splan 7, разводка в SprintLayout 6, исходный код и модель для отладки программы — на ГитХабе.