Page 1 of 10

Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 01 Nov 2015 20:54
by hardlock
За данный девайс я принимался раза 3 точно. То начинал с алгоритма, то пробовал сразу писать программу - так ни разу и не закончил. Неделю назад решил в очередной раз сделать это устройство и заодно размять мозги, т.к. давно ничего не собирал и не кодил.

Итак техническое задание:
- "удлиннение" поворотов до заданного количества (3-4).
- отмена удлинения при длительном удержании переключателя поворота (до первого выключения реле) или при переключении на другой поворот (мгновенно).
- "удлиннение" аварийки до общепринятой "спасибо" - 2 раза при кратковременном нажатии на кнопку аварийки.
- "спасибо" при кратковременном нажатии внешней (дополнительной) кнопки.
- возможность реализации "стробоскопов" для расширения функции "спасибо". - красиво не получилось, а некрасиво нафик не нужно.
- включение аварийки при движении задним ходом (опция).
- возможность программирования параметров на машине без участия компьютера (не уверен, что буду реализовывать).

Для реализации устройства я выбрал контроллер ATtiny13 как наиболее распространённый. На данный момент софт откатывается в ATmega8 и могу сказать что для программирования параметров на машине пока не хватает ресурсов тиньки, поэтому либо переход на ATtiny25-45, либо без программирования... Да и не придумал я пока как задавать параметры и какие вобще нуждаются в изменении. Поэтому первая версия устройства будет точно без этой функции.

Схема.
Схематическую реализацию я подсмотрел на одном известном ресурсе. Реализаций этого дэвайса очень много, но мне не нравилось во всех реализациях одно - реле в качестве шунтирующих устройств. Поэтому начал разработку своего устройства на полевых транзисторах. На данный момент схема выглядит вот так:
sch_mega8.gif
Схема выглядит немного уродливо, но это "макет". Назначение выводов точно соответствует схеме на тини13, что упрощает разработку и отладку, так как для реализации функции аварийки при включении заднего хода пришлось задействовать вывод "Ресет" в качестве входа, что сильно затрудняет перепрограммирование устройства после программирования фьюза "RSTDISBL" Итоговая схема на тиньке выглядит вот так (изменённая):
sch_tiny13.gif
Как видно из схемы, в качестве шунтирующих устройств применены полевые транзисторы P-канальные IRF9310 (пока приобрёл IRF7425) в корпусе SO-8. Сразу отвечу на вопрос "хватит их?" - Да, хватает и ничего не греется, даже несмотря на отсутствие нормальных драйверов для управления затворами. Можно применить любые с током более 10А, при сопротивлении открытого транзистора менее 0,015 Ом.
Входные и выходные каскады решил для простоты схемы реализовать на сборке ULN2004 тоже в корпусе SO-16. Если вход заднего хода не планируется использовать, то обязательно вывод RESET тиньки отключить от ULN-ки. Иначе будут глюки.

Плата.
В итоге вся схема с разъёмом MF-2x03R влезла на плату размером 33*33мм, а без разъёма (просто контактные площадки) - 29*33мм. Довольно компактно.
pcb_with_MF-2x02R_connectror.gif
pcb_with_MF-2x02R_connectror.gif (9.7 KiB) Viewed 19412 times
pcb_w-o_connector.gif
pcb_w-o_connector.gif (7.33 KiB) Viewed 19412 times
Плату сделал под две версии корпуса тиньки (шириной 150 mil и 200 mil), т.к. в китае продаётся большинство в узком корпусе, а на наших просторах в широком).
В формате Sprint-Layout v5.0 можно скачать во вложении. pcb.rar

Прошивка.
На данный момент (01.11.2015) реализованы почти все функции из техзадания, кроме последнего пункта. В меге8 это заняло 868 байт кода. Но ещё будет оптимизация и переход на тини13, там будет чуть компактнее, но всё равно боюсь, что функцию программирования впихнуть не получится. Будем посмотреть.

В ближайшее время хочу вытравить плату, а пока занят оптимизацией кода.

ЗЫ: вот так выглядит макет устройства (может быть кто-то вспомнит эту плату - макет круиз-контроля).
DSCN0848.JPG
В макете применено стандартное реле поворотов на U643B. Т.е. макет максимально приближён к реальности.

[upd 15.11.2015] первая публичная версия прошивки (v0.8) во вложении. В архиве 2 файла:
- turn_extender_v0.8_no_reverse.hex - без использования вывода Ресет, т.е. без функции заднего хода.
- turn_extender_v0.8_reverse.hex - требует установки фьюза "RSTDISBL"

Исходников пока не будет. Когда обкатается и уберутся все глюки, тогда и выложу. Устройство сегодня поселилось в машине - тестирую.

Фьюзы для версии без заднего хода (LOW: 0x79, HIGH 0xFF):
fuses_no_reverse.png
Фьюзы для версии с использованием заднего хода (LOW: 0x79, HIGH 0xFE):
fuses_reverse.png
Внимание, при установке фьюза "RSTDISBL" повторно запрограммировать контроллер без использования высоковольтного (HV) программатора не получится. Поэтому вначале прошиваем прошивку, а потом фьюзы.

На всякий случай ссылки на реаниматор тини13. раз и два.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 04 Nov 2015 22:18
by Vakula_S
По исходнику. Проверил и переверил их десятки штук. Идеально отточено и работает. Много прошивок по функционалу СПАСИБО и аварийки с задней. Иногда на некоторых реле поворотов, спасибка один раз блымает.
Но вот сколько не пробовал устройство переиначить на транзисторы, ни в какую....
Буду ждать проекта от вас, если это вообще возможно :scratch:
Кстати, можно использовать ULN2003, но поставить на вход СОМ резистор 10 кОм. Проверено, работает.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 04 Nov 2015 22:41
by hardlock
Vakula_S wrote:Но вот сколько не пробовал устройство переиначить на транзисторы, ни в какую....
всё дело в том, что при использовании транзисторов надо по другому отслеживать состояния входов, т.к. "общий" который идёт с реле поворотов на переключатель будет иметь другие состояния.
Vakula_S wrote:Кстати, можно использовать ULN2003, но поставить на вход СОМ резистор 10 кОм. Проверено, работает.
это я вкурсе, но они стоят одинаково и доступны обе. Возможно от них откажусь в будущем - оказалось, что схема то проще, а на плате занимает больше места, чем рассыпуха. Правда конструкция дешевле получается.

Сегодня внедрил в авто. Основное работает чётко, но вылезло несколько глюков. Попытаюсь устранить, но сегодня уже проверить не получится. Вобщем обкатываю...

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 05 Nov 2015 19:42
by Vakula_S
А я не понял, SO транзисторы походу тянут нагрузку? Я как понимал, то не менее не более 4905 надо?
Но в любом случае, готов поучаствовать в проекте, в любом виде; экспериментатора, прогонщика, мецената... Очень интересен от мне, и чисто принципиально интересен.

А ещё, очень больной вопрос у нас, у опелелюбителей. Проблема только с OPEL Astra J. Там стоит мультитаймер, который управляет и поворотиками и светом... Так вот, туда удлинитель пока никому не удалось инсталлировать...

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 05 Nov 2015 20:40
by hardlock
Vakula_S wrote:А я не понял, SO транзисторы походу тянут нагрузку? Я как понимал, то не менее не более 4905 надо?
Один транзистор на сторону, т.е. около 50 Вт нагрузки, т.е. до 5А. При холодном старте лампы до 10-12А. При таком малом сопротивлении открытого канала (сейчас стоят IRF7425 c Rds ON = 13 mOhm) на транзисторе рассеивается около 0,8 Вт тепла (максимум 2,5 Вт). С учётом импульсного режима работы (делим на 2) и малой продолжительности с долгими паузами будет он работать вечно. Для теста специально включил поворотники (на столе) на 2 минуты. Транзистор и дорожки возле него были чуть теплее комнатной температуры.
Vakula_S wrote: Проблема только с OPEL Astra J. Там стоит мультитаймер, который управляет и поворотиками и светом...
схему в студию плиз, т.к. не сталкивался. И вроде бы в Опелях эту функцию можно включить программированием этого самого "блока комфорта".

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 06 Nov 2015 21:20
by Vakula_S
hardlock wrote: схему в студию плиз, т.к. не сталкивался. И вроде бы в Опелях эту функцию можно включить программированием этого самого "блока комфорта".
Да была бы схема, сам мож придумал. А так, тока рисунки девайсов и догадайся с эн раз.
Там вообще, двух релейные повороты. Иногда, вместо штатной двух релейной сборки, умельцы ставят по два реле, что бы сэкономить. Ну это как по мне, вполне нормально. А вот релюхами как то по хитрому управляет этот самый мультик. И по виду то, как дерьмо мамонта, а вот выкупить пока никому не удалось.
Не, ну наметки, как сделать то есть. только делать то надо по месту, походу. А авто не так уж и распространенное. Вот и серчают некоторые владельцы. Сейчас вона, даже вернули мне лентяйку с упреком, мол нет, не работает. И я их ох как понимаю. Какая попытка и очередная неудача... Вот я и хочу, этот орех раскусить...

По поводу транзисторов, согласен. Сам было эксперементировал с серией IRF74.. IRF73.. Тоже интересные нагрузки держали, в частности 7428.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 07 Nov 2015 01:43
by hardlock
Vakula_S wrote:Да была бы схема, сам мож придумал. А так, тока рисунки девайсов и догадайся с эн раз.
Я имел ввиду схему автомобиля. Неужели нету?

Сегодня накропал 7-ю версию прошивки (вернее 0.7). В прошлый раз (версия 0.6) при проверке на машине тинька вобще отказывалась работать после старта мотора, мега работала но с глюками. В 0.7 версии полностью переделан "антидребезг" и теперь программа не крутится в бесконечном цикле, с зацикливанием в while-ах, а работает по таймеру.

Завтра надеюсь проверить на машине, а сегодня в ходе экспериментов на столе вылетел один канал ULN-ки который работал на вход... Как это произошло - не знаю, но теперь он всегда открыт.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 07 Nov 2015 05:43
by Vakula_S
hardlock wrote:на столе вылетел один канал ULN-ки который работал на вход... Как это произошло - не знаю, но теперь он всегда открыт.
Этот зверь страсть как боится переполюсовки. Я уже наживую врезал в плату дополнительные диоды. А то любители установщики так и наровят промазать плюс с минусом. А я чухай репу потом :oops:

Схему авто поворотов со всякими премудростями можно глянуть тут.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 07 Nov 2015 09:58
by hardlock
Vakula_S, в том то и проблема. Переполюсовки не было точно. Просто включал, удлинял, проверял и т.д. А после очередного включения перестало корректно работать. Глядь на светики, а левый поворот всегда ноль на входе.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 07 Nov 2015 20:27
by Vakula_S
hardlock, Да ладно. Может стечение.
Давайте пробную шиву, буду тестить в железе на столе... с недели.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 07 Nov 2015 20:36
by hardlock
Vakula_S, не, пока прошивку не дам. Она ещё не в той стадии. Сегодня ещё кой-чего переделал.

Утром включил макетку с "подгоревшей" ULNкой. Получил много дыма и шума. Завтра буду покупать новую ULNку.
Платка на тини на столе работает вполне устойчиво и всё отрабатывает как задумано, а при попытке подключить в машине тинька сходит с ума. Выходы падают в 3-е состояние и всё - никакой работы. пока не разобрался в чём проблема.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 07 Nov 2015 20:50
by Vakula_S
hardlock wrote: включил макетку с "подгоревшей" ULNкой. Получил много дыма и шума. Завтра буду покупать новую ULNку.
Такие вещи в загашнтке надо иметь. У самого правда, давеча закончились. Заказал, - отказали. Но если что, то есть откудова выпаялить. Заказ надо обновить :dontknow:

Я лично имею реле классическое настоле. В продачу беру лампу Н4, и спиралями тренируюсь. Идеальный вариант. Ну а потом в авто. 100%-ная уверенность в работе.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 07 Nov 2015 21:19
by hardlock
Vakula_S, когда я был дома, то у меня было всё... А сейчас по 1-2 часа на кухне удаётся посидеть... Да и запасы не все удалось перетащить.

Именно на лампе Н4 я обкатывал реле поворотов с транзисторами.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 08 Nov 2015 21:11
by Vakula_S
hardlock wrote:... Да и запасы не все удалось перетащить.

Именно на лампе Н4 я обкатывал реле поворотов с транзисторами.
Значит мы одинаковые книжки читаем.

Добавлено спустя 23 часа 22 минуты 1 секунду:
hardlock, Ну, что там в Запорожье, вежливо мигают вежливые лентяи? Кста, в Запорожье жил, работал, призывался... Хочу попасть туда и не проездом, а так, что бы УХ... :drink:
Но, и только НО, без фанатизма :happy:

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 08 Nov 2015 21:29
by hardlock
Vakula_S, я уже год как в Минске...
Лентяйка по каким-то причинам в машине работать отказывается. На столе работает безупречно... Причину не выяснил. Uln для макета сегодня купить забыл...

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 08 Nov 2015 22:17
by Vakula_S
hardlock wrote:Vakula_S, я в Минске.... Uln для макета сегодня купить забыл...
Какато пичалька во всем... :sorry:

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 11 Nov 2015 15:48
by alex_ls
Vakula_S wrote:
hardlock wrote: схему в студию плиз, т.к. не сталкивался. И вроде бы в Опелях эту функцию можно включить программированием этого самого "блока комфорта".
Да была бы схема, сам мож придумал. А так, тока рисунки девайсов и догадайся с эн раз.
Там вообще, двух релейные повороты. Иногда, вместо штатной двух релейной сборки, умельцы ставят по два реле, что бы сэкономить. Ну это как по мне, вполне нормально. А вот релюхами как то по хитрому управляет этот самый мультик. И по виду то, как дерьмо мамонта, а вот выкупить пока никому не удалось.
Не, ну наметки, как сделать то есть. только делать то надо по месту, походу. А авто не так уж и распространенное. Вот и серчают некоторые владельцы. Сейчас вона, даже вернули мне лентяйку с упреком, мол нет, не работает. И я их ох как понимаю. Какая попытка и очередная неудача... Вот я и хочу, этот орех раскусить...
Судя по вашему описанию об устройстве авто у вас не Astra J(производство с 2010г), а Astra G(производство по 2008г). Если так, то там ничего сложного с мультитаймером нет, у самого такая астра и удлинитель уже лет пять работает без проблем, делал правда на 12F629

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 11 Nov 2015 18:43
by Vakula_S
alex_ls wrote:Astra G(производство по 2008г). Если так, то там ничего сложного с мультитаймером нет, у самого такая астра и удлинитель уже лет пять работает без проблем, делал правда на 12F629
А можно подробнее? Что за лентяйка и как подключалась?

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 12 Nov 2015 08:47
by alex_ls
Лентяйку разрабатывал сам, в ней правда никаких прибамбасов,как у хардлока нет, но мне они и не надо, только удлинение поворотов. Подключал прямо к проводам переключателя поворотов. К сожалению схема устройства и прошивка давно потеряны, но если вдруг найду - выложу, если надо.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 12 Nov 2015 09:27
by hardlock
alex_ls, будкт интересно! выкладывай!

А у меня очередной фэйл. Купил 2 микрушки ULN2004 и обе нерабочие. В следующий раз на рынок попаду не раньше вторника :wall:

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 12 Nov 2015 18:31
by Vakula_S
hardlock wrote: 2 микрушки ULN2004 и обе нерабочие. В следующий раз на рынок попаду не раньше вторника :wall:
Давай я тебе вышлю рабочие, ну что бы не ждать и ты не мучилси :happy: :-)

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 12 Nov 2015 19:02
by hardlock
Vakula_S, куда вышлешь? В Минск? Долго и дорого. Но и судьба тоже идёт мне на встречу. Затрат буду в районе рынка. Куплю у разных продавцов разных улн-нов.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 15 Nov 2015 19:31
by hardlock
Так, есть новости. Разобрался я с палёными ULN-ками. Купил пару нормальных, запустил на макетке тиньку и сразу нашёл косяк, который отловить не мог. Помеха сбрасывала тиньку по выводу ресет (на плате разведён, но на разъёме не подключал). Отрезал Ресет, отключил общий защитных диодов в ULN-ке от плюса (без релюшек они нафик не нужны) и сразу всё заработало. Ещё добавил резистор и стабилитрон по питанию. Вобщем, теперь схема выглядит вот так (изменения красным):
sch_tiny13_new.gif
Для меня аварийка при включении ЗХ не актуальна, поэтому ресет использовать не буду, альтернативный способ включения "спасибы" придумал, но пришлось добавить 2 диода (VD2, VD3). Для меня тоже не актуально, поэтому исполнять не буду. Кому надо - тестируйте. Актуальная схема и прошивки будут в первом посту.

Единственный (пока) обнаруженный глюк - при плавном включении ПТФ лентяйка начинает судорожно подёргивать выводами и иногда включается режим "спасибо"... Понятно что помехи, но как и откуда - не могу понять. Антидребезг - 10 чтений через 2мс, т.е. 20 мс сумарно. Неужели надо больше? В остальном замечаний нету - всё работает как и задумано.

Кстати, всё никак не придумаю как "программировать параметры" на машине. Подскажите "танцы с бубном", попробую реализовать - место немного есть.

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 15 Nov 2015 22:24
by Vakula_S
Зачем стабилитрон?
Как реализовать заднюю, если нога отрезана?
Спасибо коряво реализовано. Я так уже тренировался.
А что программировать то? какие такие параметры?

Re: Удлинитель поворотов или лентяйка. ATtiny13.

Posted: 15 Nov 2015 22:54
by hardlock
Vakula_S, стабилитрон для защиты от помех и перенапряжения, т.к. конденсаторы на входе скорей всего будут на 16 вольт, а скачки в машине могут быть и выше.
Да, "спасибо" коряво, но без ресета красиво не сделаешь, не хватает выводов... А удлинение "спасибы" коротким нажатием аварийки осталось.
Если реализовывать заднюю, то ресет не отрезать и устанавливать фьюз rstdsbl, тогда тиню не будет глючить из-за помех на ресете...
Параметры... Ну допустим количество морганий спасибо и до скольких удлинять повороты...