![]() |
![]() |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
![]() |
![]()
Сообщение
#1
|
|
Технический Маньяк-Гуру ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 7049 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: ![]() ![]() ![]() |
* * *
Данная разработка и любая ее версия являются собственностью лично Сергей SSh и компании Amadeus Project. Авторы не против самостоятельного повторения данной разработки и любой ее версии в личных целях. Авторы категорически против коммерческого применения данной разработки любой версии любым другим лицом кроме владельцев. * * * Решил все-таки открыть новую тему, чтоб не устройство не затерялось на задворках старой (IMG:style_emoticons/default/wink.gif) В той теме (http://forum.amadeus-project.com/index.php?showtopic=1203) была поставлена задача заставить моргать поворотник определенное число раз при легком касании к рычагу (не фиксируя его при этом) плюс автоматически включать аварийку при движении задним ходом. Детальное изучение сигналов подрулевого ЭБУ показало, что все команды он воспринимает путем сканирования поступающих с контактов (поворотника, габаритов, стеклоочистителей). Так, что, простыми средствами словить нужный сигнал никак не получится. Для интересующихся, выкладываю осциллограммы сигналов Сам импульс: ![]() Их последовательность: ![]() После изготовления нескольких вариантов устройства на обычных элементов окончательно удостоверился в бесперспективности этого направления и было решено применить МК. Разработка и изготовление устройства вместе с прошивкой заняло чуть более часа (сравнить с 2-мя неделями...). Сегодня испробовал на машине - работает отлично. Выкладываю схему и прошивку. Небольшой нюанс - на очень быстрое касание рычага устройство не реагирует, поворотник моргнет 1 раз, для серии миганий надо придержать рычаг в течении примерно пол-секунды. При установленном значении переменной PulseTime (см. ниже - 3000мс = 3сек.) времени хватает на 4 "тик"-а. Для любого другого числа просто надо скорректировать указанную переменную из расчета 0,7 сек. на одно подмигивание (по крайней мере на моем авто частота такая, измерял). Разводку пока не делал, т.к. хочу на той же плате смонтировать регулятор частоты взмахов стеклоочистителя, но схема настолько примитивна, что развести её не составит труда. Причем если что, то можно (как уже где-то писал) можно развести как удобно, просто потом сделать соотв. поправки в прошивке. Схема: ![]() Готовое устройство (IMG:style_emoticons/default/biggrin.gif) ![]() Точки подключения к подрулевуму ЭБУ: ![]() Исходник прошивки: Код '*********************************************
'* Name : Turn.bas * '* Author : SSh * '* MCU : PIC12F675 * '* OSC : Internal, 4MHz * '* Date : 07.03.2010 * '* Compiler : PicBasic Pro 2.60 * '* Description: Turn signal one-touch system * '********************************************* ' +5V - 1 -|Vdd GND|- 8 - Ground 'RightIn - 2 -|GP5 GP0|- 7 - Rear 'LeftIn - 3 -|GP4 GP1|- 6 - RightOut '+ 10kOhn - 4 -|MCLR GP2|- 5 - LeftOut '**************************************************************************** *** ' ## Set MCU & OSC - Internal, GP4 - I/O, GP5 - I/O ## @ DEVICE pic12F675, INTRC_OSC_NOCLKOUT DEFINE OSC 4 ' Internal Freq. 4 MHz 'Variables Left VAR WORD Right VAR WORD ' I/O Ports LeftIn var GPIO.4 LeftOut var GPIO.2 RightIn Var GPIO.5 RightOut var GPIO.1 Haz Var GPIO.0 'Constants PulseTime con 3000 ' Delay time = 3s, 3...4 pulses TRISIO = %111001 ' RA1, RA2 - Output ANSEL = 0 ' All pins - digital CMCON = %00000111 ' Comparators - Off GPIO = 0 pause 500 ' Start-time pause ' ################################## ' ### Main part, working forewer ### ' ################################## main: PULSIN RightIn, 1, Right ' Look for pulse if Right < 8 Then ' Pulse not found gosub RightTurn ' Turn on right turn-signal Endif PULSIN LeftIn, 1, Left if Left < 8 Then ' Turn on left turn signal gosub LeftTurn Endif If Haz = 0 then gosub hazard endif GOTO main ' Loop ' ### End of main part ### ' ################### ' ### Subroutines ### ' ################### RightTurn: RightOut = 1 pause PulseTime RightOut = 0 lloop: PULSIN RightIn, 1, Right if Right < 8 Then goto lloop Endif return LeftTurn: LeftOut = 1 pause PulseTime LeftOut = 0 rloop: PULSIN LeftIn, 1, Left if Left < 8 Then goto rloop Endif return hazard: hloop: if Haz = 0 then RightOut = 1 LeftOut = 1 goto hloop else RightOut = 0 LeftOut = 0 endif return END ' ***** End of Program ***** |
![]() |
|
![]() |
![]()
Сообщение
#2
|
|
Технический Маньяк-Гуру ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 7049 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: ![]() ![]() ![]() |
В принципе, самым правильным будет изготовление печатки по последней выложенной версии (полной). А там уже как угодно можно комбинировать, не надо регулятора стеклоочистителей - просто не подключай его и все.
Т.е. 3 компоненты можно комбинировать как угодно. Единственно, не будет работать as is аварийка без поворотников, т.к. если на входы МК не поступают импульсы, то подается сигнал на включение, я поэтому-то и сделал отдельный иммитатор поворотников, чтоб использовать его при доводке устройства дома. Но такой режим и не нужен, ведь если надо только включение аварийки при движении задним ходом, то надо просто взять 2 оптрона и подключить их через резистор к сигналу заднего хода и все. А регулятор частоты - вообще отдельный узел... Несколько слов о включении регулятора. Как уже отмечалось - на всех контактах подрулевого ECU присутствуют импульсы, та или иная команда подается закорачиванием соотв. контакта на корпус и, как следствие, пропаданием импульсов. Такие же импульсы есть и на контакте INT стеклоочистителя, поэтому управляющий вход мультивибратора нельзя непосредственно сажать на этот контакт. Перед соединением надо отсоединить контакт INT от платы ECU. можно просто перерезать где угодно (но только не на самой плате). Я сделал по другому - аккуратно отсосом выкачал припой из припаянной контактной площадки, контакт в отверстии сидит с небольшим зазором, и исхитрился заизолировать сам контакт тонкой фторопластовой пленкой, так, что остался свободным только его верх. После чего надо прозвонить и убедиться, что соединение разорвано и уже тогда паять провод, идущий на управляющий вход мультивибратора. Все это надо делать очень аккуратно чтоб случайно не повредить плату ECU. Если нет уверенности - то лучше все-таки сделать разрыв где-нибуть в другом месте. Кстати, сегодня же удалось проверить в реале и регулятор, съездил к другу, на обратном пути попал под дождь, как раз такой какой надо. Раз - отрегулировал частоту точно чтоб в нужное время срабатывал и стекло не заливало и щетки не терли по почти не забрызганному стеклу... |
![]() |
|
![]() ![]() |
![]() |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2025 Форум Технических Маньяков. |
|