Микроконтроллер в автомобиле

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Так поэтому я предлагал после снятия сигнала с Вх.2 выдержку (типа зона нечувствительности, которую можно довести до секунды), а только потом определять, что находится на Вх.1 и взависимости от этого - или таймер, или предустановку.
Проверил на машине - таймер не работает, одна предустановка. Переключал и быстро и медленно, при медленном переключении из 2 в 0 в первом положении успевает происходить взмах, хотя предустановка 5 секунд. Видимо на самом деле 0-1-0-2-0-1-0 и это надо учесть, лучше выдержкой. кмк.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

nvz писал(а):Так поэтому я предлагал после снятия сигнала с Вх.2 выдержку...

Нет, не поэтому, еще раз та же цитата из ТЗ: "Переводим рычаг из 2 в 0 положение (т.к. перевод идёт через 1 положение сделана задержка 0,5 сек. до начала отсчёта )".
Давай не будем искать виновных и оправдываться. Надо переделать - переделаю, раз взялся. Только обнови описание, чтобы больше не путаться.
nvz писал(а):Видимо на самом деле 0-1-0-2-0-1-0 и это надо учесть, лучше выдержкой....

Выдержкой тут не получится. Надо переписывать логику... Как бы ничего сложного, но заново.
Сейчас занят другим проектом, не раньше выходных...
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Soir писал(а):Выдержкой тут не получится.

не получится технически или логически?
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

nvz писал(а):не получится технически или логически?

У меня вся логика построена на поочередном прохождении положений, каждое положение отслеживается программой. Просто увеличить выдержку не выйдет. Например, ситуация, что после положения 2 сразу 0 в программе не определена, я даже не могу сказать как программа себя поведет. А от того, что было перед этим могут быть еще непредсказуемые варианты. Ну и так далее. Все равно надо всю программу шерстить, проще заново.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Осмелюсь высказать своё мнение, возможно и неверное.
Зачем отслеживать все действия? Не проще прописать условия работы?

Работа предустановки: 0-1 и 2-t-1
Обнуление таймера: 2 и 1-0, превышение 100 сек.
Запуск таймера: 2-t-0
Работа таймера: 2-t-0-1
(t - пресловутая задержка,блокировка)
А так-же блокировка 2 при 1.

Хотя это только предположение.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

nvz писал(а):Зачем отслеживать все действия? Не проще прописать условия работы?

Я не вижу разницы в "отслеживать действия" и "прописать условия работы". Ведь все равно остается: если было положение 2, затем положение 0 не более чем 0,5 сек, а затем положение 1, то запускается таймер, а если положение 0 более 0,5 сек... Как это правильно назвать? отслеживать или прописать условия? Да все равно как. В программе будут взводиться и сбрасывать флаги, запускаться и обнуляться счетчики и таймеры...
За время, что мы тут флудим, я бы уже прошивку переписал. Там букв будет в 10 раз меньше.
nvz писал(а):Работа предустановки: 0-1 и 2-t-1
Обнуление таймера: 2 и 1-0, превышение 100 сек.
Запуск таймера: 2-t-0
Работа таймера: 2-t-0-1
(t - пресловутая задержка,блокировка)
А так-же блокировка 2 при 1.

Это и есть новое описание? Что такое: "Работа предустановки: 0-1 и 2-t-1"?
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Soir писал(а): Что такое: "Работа предустановки: 0-1 и 2-t-1"?

Предустановка - импульсы, с заранее прописанной паузой из EEPROM, по умолчанию - 5 секунд.
0-1: появление активного сигнала (нолика) на Вх.1 из положения 0.
2-t-1: определение активного сигнала на Вх.1 при переключении со Вх.2 (положения 2) после паузы нечувствительности (0,5 сек).
Тире надо понимать как стрелки.
Тут ещё одна тонкость: в положении 2 (непрерывная работа дворников) если начинаю переключения во время начала взмаха - единица на Вх.2 появится только после остановки дворников, на это время активными могут быть оба сигнала, если установлено положение 1.

Хотя вряд ли, при положении 1 - второй вход блокируется...(мысли вслух)

Soir писал(а):если было положение 2, затем положение 0 не более чем 0,5 сек, а затем положение 1, то запускается таймер

???
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

набросал логику работы дворников с конструкцией
Вложения
Упрощённая схема управления дворниками.doc
(27 КБ) 644 скачивания
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

nvz писал(а):набросал логику работы дворников с конструкцией

Тяжело мне что-то дается понимание, как все-таки должна работать программа.
1. Появился новый термин: "переключение во время движения щёток вниз". Что мне с ним делать? А если щетки вверх? Как программа должна определять направление движения щеток и должна ли?
2. "Немного по-другому схема будет работать при установке диода в цепь от мотора до положения 2 переключателя, анодом к переключателю." А с этим что делать? Это надо в прошивке учитывать?
3. "потом в нормальном режиме работает предустановка." Нормальный режим это какой? 0, 1, 2? Мы же договорились, всё должно быть однозначно, термины одни, а тут все новые и новые появляются...
4. Согласно схеме, все переключения идут через положение 1, как и было с самого начала. Теперь это снова правильно?
5. "Похоже переключение через ноль здесь происходит только при переключении из 1 положения во 2." Каким образом рычаг из положения 1 в положение 2 попадет через положение 0? Или имеется ввиду кратковременное размыкание контактов переключателя при переходе из одного положения в другое?
6. Сколько групп контактов в выходном реле? Две? Одна параллельно доводчику, вторая блокировка входа 2? Программную блокировку входа 2 можно убрать?
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Soir, извини меня баламута, лезу с советами, кидаю идеи по три в день..... Надо бы сделать перерывчик: сегодня установил диод для эксперимента и схемка заработала, правда через раз, но ведь заработала! Полчаса упражнялся с дворниками, хотел выявить закономерность отказа работы таймера - пока не понял. Завтра ещё поиздеваюсь, может докопаюсь до сути, напишу, если что. Первое что заметил - при медленном переключении рычага со 2 положения на 0 в первом положении дворники успевают запуститься...и таймер не работает.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

nvz писал(а):...Первое что заметил - при медленном переключении рычага со 2 положения на 0 в первом положении дворники успевают запуститься...и таймер не работает.

Так было в ТЗ:
nvz писал(а):Переводим рычаг из 2 в 0 положение (т.к. перевод идёт через 1 положение сделана задержка 0,5 сек. до начала отсчёта) - начинается отсчёт секунд...
...Если рычаг с положения 2 перевести в положение 1 - таймер не запускается, просто через 0,5 сек. импульсы с интервалом 5 сек.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Soir писал(а): если при преходе из положения 2 в положение 0 задержаться на 5 сек в положении 1, то запустится режим 5 сек. Если пройти дальше в положение 0 запускается счетчик, при переводе снова в 1 работает по этому счетчику. После возврата в 0 и повторного включения в 1 - по умолчанию - 5 сек.

Я думал что всё ещё так....
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Поиздевался.. сперва было по старому, т.е. таймер работал через раз. Потом опять эксперимент: на питание МК подвесил электролит какой нашёл - 1500мк/6,3В (стоял на 220мк). Пять минут гонял дворники - результата никакого, но потом - ни одного сбоя. У меня смутные сомнения насчёт штатно установленного электролита, а новый, немного отформовавшись, начал исполнять свою функцию...
В общем нужны боевые действия в дождь, к тому времени кондюк отформуется (езжу каждый день, а схемка включается при включении зажигания). О результатах доложу..
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Прогнал в боевых условиях: работает не стабильно, таймер срабатывает на 3-4 раз. Soir, напиши какой алгоритм сделан, если не забыл, конечно.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

nvz писал(а):Прогнал в боевых условиях: работает не стабильно, таймер срабатывает на 3-4 раз. Soir, напиши какой алгоритм сделан, если не забыл, конечно.

Старался придерживаться ТЗ.
Логика такая (по крайней мере, так задумывалось):
1. Начальное состояние рычаг в положении 0.
2. Переводим в положение 1, дворники начинают работать по таймеру 5 сек.
3. Переводим в положение 2. Работа прекращается, ожидание перехода в положение 1.
4. Переводим в положение 1. Если в положении 1 задержаться более, чем 0,5 сек, то запускается работа по таймеру 5 сек. Если быстро (быстрее, чем 0,5 сек) переключить в положение 0, то запускается отсчет для нового таймера, дворники не работают.
5. Переводим в положение 1, дворники работают по новому таймеру.
6. Переводим в положение 0, дворники отключаются, новый таймер сбрасывается. Устройство в начальном состоянии (пункт 1).
Кнопка SET для установки значения таймера в положении 1 для пункта 2. Весь алгоритм симулируется в Proteus, так что гоняй, проверяй что не так.

Попробуй подтянуть входа МК резисторами ~1 кОм к +5V. И с входов на общий провод конденсаторы ~0,1мкФ. Может идут ложные срабатывания... Защита от дребезга присутствует, но все-таки.

А может наоборот, причина в следующем:
Дребезг обрабатывается около 0,1 сек, может это время надо уменьшить, или увеличить время нахождения в положении 1 (пункт 4), а то получается узкий коридор 0,1 – 0,5 сек, в течении которого надо переключиться в режим 0, чтобы запустился отсчет для нового таймера?
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

Дополнительно подтягивать входа МК к плюсу вряд ли необходимо: у меня уже больше года по такой-же схеме работают повторители тормозов-поворотников, нареканий никаких. По схеме сигналы на входы МК подаются с коллекторов транзисторов 315, на базы транзисторов сигналы с подрулевого подаются через 10кОм, так же базы подтянуты к массе через 10кОм. Где ты предлагаешь установить конденсаторы: на входах МК или перед базовыми резисторами?
Только что провёл эксперимент, решил проверить работу входных сигналов: параллельно входам схемы посадил светодиоды через 1,5кОм. Что странно - всё сработало без проблем, гонял дворники минут пять. Что интересно - отсчитываю, к примеру, 3 секунды, включаю 1 положение, а дворники работают через две секунды. Ну это понятно - я и МК считаем по разному. На больших выдержках это незаметно, а вот на маленьких - увы. Да и Бог с ним, к тому-же ты сразу отказался вести счёт с десятыми. Сегодня вроде у нас опять дождь обещают, проверю в боевых условиях - отпишу.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

nvz писал(а):Дополнительно подтягивать входа МК к плюсу вряд ли необходимо: у меня уже больше года по такой-же схеме работают повторители тормозов-поворотников, нареканий никаких. По схеме сигналы на входы МК подаются с коллекторов транзисторов 315, на базы транзисторов сигналы с подрулевого подаются через 10кОм, так же базы подтянуты к массе через 10кОм. Где ты предлагаешь установить конденсаторы: на входах МК или перед базовыми резисторами?

Подтягивать предлагаю для проверки и поиска причины, если не поможет, тогда внешнюю подтяжку можно убрать. Конденсаторы, тоже для проверки, поставь параллельно транзисторам. А резисторы в базах транзисторов уменьши. Который на массу до 1 кОм, а который с переключателя до 3-5 кОм.
nvz писал(а):отсчитываю, к примеру, 3 секунды, включаю 1 положение, а дворники работают через две секунды. Ну это понятно - я и МК считаем по разному. На больших выдержках это незаметно, а вот на маленьких - увы...

Посмотрю, исправлю.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

Soir писал(а):Посмотрю, исправлю.

Посмотрел, МК считает правильно. Наверно вопрос все-таки в десятых. МК увеличивает счетчик каждую секунду, если переключатель будет переведен из положения 0 в положение 1, скажем, через 2,9 сек, то счетчик отсчитает только 2 сек.
Если сделаю дискретность отсчета 0,25 сек будет нормально, или все-таки лучше 0,1 сек?
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

Re: Микроконтроллер в автомобиле

Сообщение nvz »

nvz писал(а):А резисторы в базах транзисторов уменьши. Который на массу до 1 кОм, а который с переключателя до 3-5 кОм.

Да я уж и сам подумал об этом. Сделаю.
Soir писал(а):если переключатель будет переведен из положения 0 в положение 1, скажем, через 2,9 сек, то счетчик отсчитает только 2 сек.

Я это и имел ввиду, говоря о маленьких выдержках
Soir писал(а):Если сделаю дискретность отсчета 0,25 сек будет нормально, или все-таки лучше 0,1 сек?
.
Как прощще, тебе виднее...

На улице жара, 30 в тени, может всё-таки дождь будет (во всяком случае по телеку обещали).
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Микроконтроллер в автомобиле

Сообщение Soir »

nvz писал(а):
Soir писал(а):Если сделаю дискретность отсчета 0,25 сек будет нормально, или все-таки лучше 0,1 сек?

Как прощще, тебе виднее...

Проще 0,5 сек с округлением. То есть, от 2,75 до 3,25 сек -> 3 сек; от 2,25 до 2,75 -> 2,5 сек. Если нужно точнее - говори, тут проблем не будет. Если надо будет что-то в алгоритме поправлять, тогда уже заодно...
Вложения
WSW.zip
(919 байт) 167 скачиваний
Ответить

Вернуться в «Разные вопросы по МК»