One-touch поворотники, они же Ленивые Поворотники |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
One-touch поворотники, они же Ленивые Поворотники |
8.3.2010, 17:37
Сообщение
#1
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
* * *
Данная разработка и любая ее версия являются собственностью лично Сергей SSh и компании Amadeus Project. Авторы не против самостоятельного повторения данной разработки и любой ее версии в личных целях. Авторы категорически против коммерческого применения данной разработки любой версии любым другим лицом кроме владельцев. * * * Решил все-таки открыть новую тему, чтоб не устройство не затерялось на задворках старой (IMG:style_emoticons/default/wink.gif) В той теме (http://forum.amadeus-project.com/index.php?showtopic=1203) была поставлена задача заставить моргать поворотник определенное число раз при легком касании к рычагу (не фиксируя его при этом) плюс автоматически включать аварийку при движении задним ходом. Детальное изучение сигналов подрулевого ЭБУ показало, что все команды он воспринимает путем сканирования поступающих с контактов (поворотника, габаритов, стеклоочистителей). Так, что, простыми средствами словить нужный сигнал никак не получится. Для интересующихся, выкладываю осциллограммы сигналов Сам импульс: pulse1.jpg ( 47 килобайт ) Кол-во скачиваний: 355 Их последовательность: pulse2.jpg ( 45,91 килобайт ) Кол-во скачиваний: 213 После изготовления нескольких вариантов устройства на обычных элементов окончательно удостоверился в бесперспективности этого направления и было решено применить МК. Разработка и изготовление устройства вместе с прошивкой заняло чуть более часа (сравнить с 2-мя неделями...). Сегодня испробовал на машине - работает отлично. Выкладываю схему и прошивку. Небольшой нюанс - на очень быстрое касание рычага устройство не реагирует, поворотник моргнет 1 раз, для серии миганий надо придержать рычаг в течении примерно пол-секунды. При установленном значении переменной PulseTime (см. ниже - 3000мс = 3сек.) времени хватает на 4 "тик"-а. Для любого другого числа просто надо скорректировать указанную переменную из расчета 0,7 сек. на одно подмигивание (по крайней мере на моем авто частота такая, измерял). Разводку пока не делал, т.к. хочу на той же плате смонтировать регулятор частоты взмахов стеклоочистителя, но схема настолько примитивна, что развести её не составит труда. Причем если что, то можно (как уже где-то писал) можно развести как удобно, просто потом сделать соотв. поправки в прошивке. Схема: circuit.JPG ( 22,69 килобайт ) Кол-во скачиваний: 432 Готовое устройство (IMG:style_emoticons/default/biggrin.gif) turn_signal.jpg ( 148,77 килобайт ) Кол-во скачиваний: 288 Точки подключения к подрулевуму ЭБУ: ECU_Board.jpg ( 50,84 килобайт ) Кол-во скачиваний: 253 Исходник прошивки: Код '*********************************************
'* 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 ***** |
|
|
26.5.2011, 8:57
Сообщение
#261
|
|
Technical maniac Группа: Почетные ветераны Сообщений: 1181 Регистрация: 13.7.2010 Из: Астрахань Вне форума Авто: Lancer IX-1.5 CVT Репутация: 49 |
Сергей,тогда так?:
hazard: hloop: if Haz = 1then Pause 1000 gosub hazard RightOut = 1 LeftOut = 1 goto hloop else If Haz = 1 then RightOut = 0 LeftOut = 0 endif return |
|
|
26.5.2011, 9:06
Сообщение
#262
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
Нет, саму подпрограмму трогать не надо. Просто в том случае когда мы проскакиваем через R - до неё дело не доходит и все - аварийка само-собой не включается.
И что за gosub hazard? Я, кстати тоже наконец думаю перепрошить с последними изменениями (вот уже пол-года собираюсь, но лень откручивать кожух рулевой колонки (IMG:style_emoticons/default/smile.gif) ) Плюс, может быть подумаю о том как устанавливать программно кол-во морганий..., 3 или 4, больше-меньше думаю не надо... И еще один вариант под pic12f629... |
|
|
26.5.2011, 9:13
Сообщение
#263
|
|
Technical maniac Группа: Почетные ветераны Сообщений: 1181 Регистрация: 13.7.2010 Из: Астрахань Вне форума Авто: Lancer IX-1.5 CVT Репутация: 49 |
gosub hazard ' Запускаем аварийку
|
|
|
26.5.2011, 9:46
Сообщение
#264
|
|
Technical maniac Группа: Почетные ветераны Сообщений: 1181 Регистрация: 13.7.2010 Из: Астрахань Вне форума Авто: Lancer IX-1.5 CVT Репутация: 49 |
Эх..я сдаюсь (IMG:style_emoticons/default/sad.gif)
Я лучше приеду и откручу 3 болтика в обмен на прошивку (IMG:style_emoticons/default/biggrin.gif) |
|
|
26.5.2011, 9:48
Сообщение
#265
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
как? (IMG:style_emoticons/default/wink.gif)
hazard: ' Метка hloop: ' Еще одна if Haz = 1then ' Если передача включена Pause 1000 ' Подождать 1 сек gosub hazard ' перейти на метку И так до бесконечности... Пока не выключим передачу... |
|
|
26.5.2011, 10:50
Сообщение
#266
|
|
Technical maniac Группа: Почетные ветераны Сообщений: 1181 Регистрация: 13.7.2010 Из: Астрахань Вне форума Авто: Lancer IX-1.5 CVT Репутация: 49 |
hazard:
hloop: if Haz = 1 then Pause 1000 RightOut = 1 LeftOut = 1 goto hloop else RightOut = 0 LeftOut = 0 endif return gosub hazard if Haz = 0 then RightOut = 1 LeftOut = 1 goto hloop else RightOut = 0 LeftOut = 0 endif return (IMG:style_emoticons/default/unsure.gif) (IMG:style_emoticons/default/unsure.gif) (IMG:style_emoticons/default/unsure.gif) |
|
|
26.5.2011, 11:30
Сообщение
#267
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
hazard:
hloop: if Haz = 1 then 'Если включена передача Pause 1000 'Подождать секунду RightOut = 1 'И включить аварийку LeftOut = 1 goto hloop Т.е. аварийка включится по любому, просто с задержкой в 1 секунду. Если к этому времени селектор проскочил R, то аварийка все-равно моргнет и только на след. цикле программы "выключится". |
|
|
26.5.2011, 11:45
Сообщение
#268
|
|
Technical maniac Группа: Почетные ветераны Сообщений: 1181 Регистрация: 13.7.2010 Из: Астрахань Вне форума Авто: Lancer IX-1.5 CVT Репутация: 49 |
(IMG:style_emoticons/default/blush.gif) пойду я лучше с PulseTime con экспериментировать (IMG:style_emoticons/default/smile.gif)
|
|
|
26.5.2011, 11:57
Сообщение
#269
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
Можешь сразу и тот кусок кода, что я приводил, вставить
|
|
|
26.5.2011, 11:57
Сообщение
#270
|
|
Миша-Сан Группа: Главные администраторы Сообщений: 10512 Регистрация: 10.12.2009 Из: Нижегородской обл. '152 RUS Вне форума Авто: Volvo XC90 2.5T Репутация: 312 |
Пойду я себе стакан вискаря налью! (IMG:style_emoticons/default/wink.gif) (IMG:style_emoticons/default/laugh.gif)
|
|
|
26.5.2011, 13:01
Сообщение
#271
|
|
Technical maniac Группа: Почетные ветераны Сообщений: 1181 Регистрация: 13.7.2010 Из: Астрахань Вне форума Авто: Lancer IX-1.5 CVT Репутация: 49 |
Дядь Сереж,тока не смейтесь (IMG:style_emoticons/default/smile.gif)
В общем в исходнике меняю значение PulseTime con с 3 на 2тыщи,компилирую,получаю прошивку. Заливаю в контроллер,подсоединяю к плате шлейф,включаю зажигание - вместо поворотников моргает мне аварийка. Опять достаю МК,стираю ее,заливаю СТАРУЮ прошивку(которая до этого была),подключаю плату - поворотники теперь моргают ровно 4е раза (а было 4.5 раза),все остальные функции работают так же. Короче,шо я сделал,так и не пойму (IMG:style_emoticons/default/laugh.gif) ,вот таки дела (IMG:style_emoticons/default/biggrin.gif) |
|
|
26.5.2011, 15:50
Сообщение
#272
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
Саш, были 2 варианта прошивки - с включением аварийки от низкого или высокого уровней. Если ты берешь сигнал ЗХ с индикации на приборке - то активный уровень - высокий.
Если ты за базовый взял исходник с первой страницы, то там Код If Haz = 0 then gosub hazard endif включение аварийки происходит по низкому уровню. Замени 0 на 1, т.е. надо чтоб было Код If Haz = 1 then gosub hazard endif Кстати в сообщении #7 об этом написано (IMG:style_emoticons/default/wink.gif) Или в варианте с задержкой Код If Haz = 1 then
Pause 1000 If Haz = 1 then gosub hazard endif endif |
|
|
26.5.2011, 23:03
Сообщение
#273
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 86 Регистрация: 6.12.2010 Из: Ярославль Вне форума Репутация: 0 |
вроде не офф (IMG:style_emoticons/default/smile.gif)
в вагенах оччень понравилась фишка - если на заглушенной машине включить поворотник, то загорится соответствующий габарит (левый или правый). на мой взгляд очень полезно с т.з. безопасности, когда оставляешь машину на обочине. Пока собирался собрать сабжевую схему - хотел доработать ее до такой возможности, но че-та уперся в отсутствие программатора, а собирать на коленке - лениво (IMG:style_emoticons/default/smile.gif) точнее, программатор есть, но под СОМ-порт, а на ноуте нет его. китайский переходник не заработал (IMG:style_emoticons/default/sad.gif) |
|
|
27.5.2011, 1:01
Сообщение
#274
|
|
Don Amadeus Группа: Главные администраторы Сообщений: 29935 Регистрация: 19.2.2009 Из: Russia, Sevastopol Вне форума Авто: Lancer IX-1.6 MT Turbo, Honda Accord IX-2.4 AT Executive. Репутация: 465 |
Теоретически - хорошая функция, угу (IMG:style_emoticons/default/smile.gif) Только, если забыть - акууму алё ведь будет (IMG:style_emoticons/default/wink.gif) Хотя, если габариты светодиодные.. (IMG:style_emoticons/default/wink.gif)
|
|
|
27.5.2011, 5:28
Сообщение
#275
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
На заглушенной машине обесточивается и подрулевой блок управления, так, что воспользоваться именно сабжевым устройством не удасться. Другое дело - сделать новый девайс, выполняющий только описанную функцию. Но принцип работы (распознавания включения рычага) будет совершенно другой, импульсы при обесточенном блоке ведь отсутствуют...
|
|
|
27.5.2011, 11:09
Сообщение
#276
|
|
Технический Маньяк Группа: Технический Маньяк Сообщений: 126 Регистрация: 26.2.2010 Из: Дрезден Вне форума Авто: Lancer 1.6 white Репутация: 2 |
Мы хотим поставить на поток, очень скоро запустим, будет отдельная тема (IMG:style_emoticons/default/wink.gif) Будут полностью собранные, оттестированные платы (IMG:style_emoticons/default/wink.gif) +1 на меня тоже прошу рассчитывать |
|
|
27.5.2011, 11:33
Сообщение
#277
|
|
Космический технический маньяк Группа: Почетные ветераны Сообщений: 1256 Регистрация: 19.2.2009 Из: г. Мирный космодром ПЛЕСЕЦК 29rus Вне форума Репутация: 35 |
Витя, в свете тут прочитанного навеяло на мысль - а может стоит для МТ и АТ делать платы с разной прошивкой, дабы иметь необходимую задержку при перескакивании через R, ведь у конечных пользователей не у всех руки под это заточены и оборудование имеется?
(IMG:style_emoticons/default/wink.gif) |
|
|
27.5.2011, 14:01
Сообщение
#278
|
|
Technical maniac Группа: Почетные ветераны Сообщений: 1181 Регистрация: 13.7.2010 Из: Астрахань Вне форума Авто: Lancer IX-1.5 CVT Репутация: 49 |
У владельцев "механики" данная особенность исключена,она затрагивает только автоматы и вариаторы,ввиду того,что при прохождении рычага от Р до D,селектор также проходит положение R,и в этот момент очеь быстро вспыхивает аварийка.
Опять же разделять прошивку для "механики" и "автомата" смысла нет,думаю,что все таки прошивка чуть скорректируется и все будет ОК! (IMG:style_emoticons/default/smile.gif) Немного off.-вот вчера доделал плавную регулировку дворников(переключатель в ручку впендюрил) -по ощущениям,мне даже больше нравится эта регулировка,чем родная на рабочем лансере. |
|
|
27.5.2011, 14:22
Сообщение
#279
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
Включится аварийка сразу или с задержкой, через секунду, по большому счету никакого значения не имеет...
|
|
|
27.5.2011, 14:41
Сообщение
#280
|
|
Технический Маньяк Группа: Технический Маньяк Сообщений: 386 Регистрация: 2.2.2011 Из: Москвы, СЗАО Вне форума Репутация: 4 |
Включится аварийка сразу или с задержкой, через секунду, по большому счету никакого значения не имеет... (IMG:style_emoticons/default/cool.gif) +1. И я такого мнения. |
|
|
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2024 Форум Технических Маньяков. |
|