Привод дросельной заслонки. (мой старый вариант).
Привод дросельной заслонки. (мой новый вариант).
Привод дросельной заслонки. (вариант от Alex_S).
Концевик педали сцепления.
Кнопочки для управления круизконтролем (ремоконы на руль).
Индикатор для круизконтроля
Аналоговые кнопки (для круизконтроля)
Установка на Aveo 2009 года.
Конфигуратор круизконтроля
За основу взял готовый проект, который уже подвергся доработке. Я тоже не оставил без внимания некоторые моменты и получилась вот такая схема. J5 не устанавливаем!!!
Перечень элементов по порядку (в скобка - корпуса):
Code: Select all
BZ1 = KPX1205B
C1 = 470µFx35v
C2 = 100nF (0805)
C3 = 220µFx10V
C4 = 100nF (0805)
C5 = 100nF (0805)
C6 = 100nF (0805)
C7 = 22pF (0805)
C8 = 22pF (0805)
C9 = 100nF (0805)
C10 = 100nF (0805)
C11 = 1nF (0805)
C12 = 100nF (0805)
C13 = 100nF (0805)
C14 = 100µFx35V
C15 = 100nF (0805)
C16 = 100nF (0805)
C17 = 100nF (0805)
C18 = 1nF (0805)
C19 = 100nF (0805)
C20 = 1nF (0805)
C21 = 22nF (1206)
C22 = 0,47µF (0805 / 1206)
D1 = ATtiny13 (SO-8)
D2 = ATmega168 (TQFP-32)
D3 = L298N (Multiwatt-15)
DA1 = LM7805 (TO-220)
FU1 = 5A (Стекло 5x20mm )
J1 = (0805)
J2 = (0805)
J3 = (0805)
J4 = (0805)
J5 = (0805)
L1 = 10µH (EC-24)
R1 = 4,7k (0805)
R2 = 4,7k (0805)
R3 = 4,7k (0805)
R4 = 4,7k (0805)
R5 = 4,7k (0805)
R6 = 4,7k (0805)
R7 = 100 (0805)
R8 = 100 (0805)
R9 = 1k (0805)
R10 = 100 (0805)
R11 = 100 (0805)
R12 = 470 (0805)
R13 = 2к (0805)
R14 = 1к (0805)
R15 = 1 (1206)
R16 = 4,7k (0805)
R17 = 4,7k (0805)
R18 = 4,7k (0805)
R19 = 470 (1206)
R20 = 470 (1206)
R21 = 2k / 300 (1206)
R22 = 1к (0805)
R23 = 1 (1206)
R24 = 4,7k (0805)
R25 = 100 (0805)
R26 = 100 (0805)
R27 = 4,7k (0805)
R28 = 15k / 300 (0805)
R29 = 1к (0805)
R30 = 100 (0805)
R31 = 10k (0805)
R32 = 4,7k (0805)
R33 = 1,3k (0805)
R34 = 4,7k (0805)
R35 = 4,7k (0805)
R36 = 10 (1206)
R37 = 1,3k (0805)
R38 = 4,7k (0805)
R39 = 51 (0805)
R40 = 10k (0805)
R41 = 10k (0805)
R42 = 10k (0805)
R43 = 100 (0805)
R44 = 4,7k (0805)
R45 = 0,1 (2Wt)
R46 = 4,7k (0805)
R47 = 4,7k (0805)
R48 = 4,7k (0805)
R49 = 100 (0805)
R50 = 330 (0805)
O1 = PC817C (DIP-4)
O2 = PC817C (DIP-4)
VD1 = LL46 (SOD-80)
VD2 = BZV55C5V1 - 5,1V (SOD-80)
VD3 = BZV55C5V1 - 5,1V (SOD-80)
VD4 = BZV55C5V1 - 5,1V (SOD-80)
VD5 = BZV55C5V1 - 5,1V (SOD-80)
VD6 = BZV55C5V1 - 5,1V (SOD-80)
VD7 = LL46 (SOD-80)
VD8 = BZV55C5V1 - 5,1V (SOD-80)
VD9 = BZV55C5V1 - 5,1V (SOD-80)
VD10 = BZV55C5V1 - 5,1V (SOD-80)
VD11 = LL46 (SOD-80)
VD12 = BZV55C5V1 - 5,1V (SOD-80)
VD13 = BZV55C5V1 - 5,1V (SOD-80)
VD14 = LL4148 (SOD-80)
VD15 = BYV27-200 (SOD-57 / DO-201AD)
VD16 = BYV27-200 (SOD-57 / DO-201AD)
VD17 = LL4148 (SOD-80)
VD18 = BYV27-200 (SOD-57 / DO-201AD)
VD19 = BYV27-200 (SOD-57 / DO-201AD)
VD20 = BZV55C5V1 - 5,1V (SOD-80)
VD21 = M7 (SMA / DO-214AC)
VT1 = BC847 (SOT-23)
VT2 = BC847 (SOT-23)
VT3 = BC847 (SOT-23)
VT4 = BC847 (SOT-23)
VT5 = BC847 (SOT-23)
X1 = Keyboard (CWF-6R (WK-6R) (MW-06R)), на кабель CHU-6 (HK-6) (MW-06H)
X2 = Sys (MiniFit MF-2x08R), на кабель MiniFit MF-2x08F
X3 = ISP tiny
X4 = Display (CWF-4R (WK-4R) (MW-04R)), на кабель CHU-4 (HK-4) (MW-04H)
X5 = ISP-Mega (BH-10R)
ZQ1 = 20MHz (HC49)
Code: Select all
Резисторы
0 (0805) - 5 - J1,J2,J3,J4,J5
0,1 (2Wt) - 1 - R45
1 (1206) - 2 - R15,R23
10 (1206) - 1 - R36
51 (0805) - 1 - R39
100 (0805) - 9 - R7,R8,R10,R11,R25,R26,R30,R43,R49
300 (0805) - 1 - R21,R28
330 (0805) - 1 - R50
470 (1206) - 3 - R12,R19,R20
1k (0805) - 3 - R14,R22,R29
2k (0805) - 1 - R13,R21
1,3k (0805) - 2 - R33,R37
4,7k (0805) - 20 - R1,R2,R3,R4,R5,R6,R9,R16,R17,R18,R24,R27,R32,R34,R35,R38,R44,R46,R47,R48
10к (0805) - 4 - R31,R40,R41,R42
15k (0805) - 1 - R28
Конденсаторы
470µFx35v - 1 - C1
220µFx10V - 1 - C3
100µFx35V - 1 - C14
0,47µF (0805/1206) - 1 - C22
100nF (0805) - 12 - C2,C4,C13,C15,C5,C6,C9,C10,C12,C16,C17,C19
22nF (0805) - 1 - C21
1nF (0805) - 3 - C11,C18,C20
22pF (0805) - 2 - C7,C8
Диоды, стабилитроны, транзисторы
M7 (SMA / DO-214AC) - 1 - VD21
LL46 (SOD-80) - 3 - VD1,VD7,VD11
LL4148 (SOD-80) - 2 - VD14,VD17
BYV27-200 (SOD-57 / DO-201AD) - 4 - VD15,VD16,VD18,VD19
5,1V (BZV55C5V1) (SOD-80) - 11 - VD2,VD3,VD4,VD5,VD6,VD8,VD9,VD10,VD12,VD13,VD20
BC847 (SOD-80) - 5 - VT1,VT2,VT3,VT4,VT5
Микросхемы
ATtiny13 - 1 - D1
ATmega168 - 1 - D2
L298N - 1 - D3
LM7805 - 1 - DA1
Оптотранзисторы
PC817C (DIP-4) - 2 - O1,O2
Разъёмы
CWF-6R (WK-6R) (MW-06R) - 1 - X1 Keyboard
CHU-6 (HK-6) (MW-06H) - 1 - Х1 на кабель
CWF-4R (WK-4R) (MW-04R) - 1 - X4 Display
CHU-4 (HK-4) (MW-04H) - 1 - X4 на кабель
MiniFit MF-2x08R - 1 - X2 Sys
MiniFit MF-2x08F - 1 - X2 на кабель
BH-10R - 1 - X5 ISP-Mega
Кварц
ZQ1 = 1 x 20MHz
Бузер
KPX1205B - 1 - BZ1
Предохранитель
5A Стекло 5х20мм - 1 - FU1
Дросель
10µH (EC-24) - 1 - L1
Корпус
Z80 - 1
Радиатор
SA631045
Из-за того, что мы решили впихнуть плату в определённый корпус (Z80) и все подключения сделать только одним разъёмом, плата получилась не простая, но оно того стоит! Вот так выглядят платы, изготовленные в Киеве: Это начало сборки (только SMD): И вот конечный результат уже в корпусе: Внимание 1! Плата шире корпуса на 0,6мм, но фольга начинается как раз на 0,6мм дальше. Так получилось, что пришлось сделать плату чуть шире. Поэтому, перед монтажом разъёмов плату нмного обработать напильником со сторон установки разъёмов, тогда она ложится в корпус идеально.
Внимание 2! Радиатор SA631045 всё равно высоковат для этого корпуса, поэтому перед установкой надо отпилить одну секцию от него сверху. Тогда он становится как родной. Для установке на плате предусмотрены отверстия (по 3 в ряд), которые надо рассверлить в длину для установки радиатора.
Внимание 3! Чтобы надёжно приаять радиатор надо снять часть маски по бокам от 3-х отверстий для его ног. Тогда при пайке получается надёжное крепелние радиатора к плате.
Для программирования Меги используется стандартный ISP 10pin разъём IDC-10 (X5), который доступен снаружи корпуса и может быть использован для лёгкого обновления прошивки меги. Для программирования тиньки разъёму места не хватило, поэтому программируется она таким же разъёмом (X3), но через переходник "папа-папа" надетый на торец платы. Надо только учесть, что питание на этот разъём развести не удалось. Поэтому, если Ваш программатор требует питания на разъёме ISP (например STK200/300), то его надо подать отдельно (на 2-й вывод разъёма), иначе прошить тиньку не получится.
Как уже писалось выше, схема (и печатная плата соответственно) допускает вариации.
Например для входа концевика сцепления:
- если у Вас концевик замыкается на землю при нажатии педали сцепления, то устанавливаются элементы R19, R20, VD7, R21 (300 Ом), J1;
- если у Вас концевик замыкается на +12V при нажатии педали сцепления, то устанавливаются элементы J2, R21 (2k), R22, R24, VT2;
Элементы отмеченные чёрным устанавливаются не зависимо от варианта входа, т.е. VD8, C10, R18 устанавливаются в любом случае.
Подключение: Х2
1) +12V ("15" зажигание). Подключается к проводу, на котором появляется 12 Вольт при включенном зажигании и не пропадает даже при включении стартера. На проводе должен быть предохранитель 5-10А.
2) GND - общий. Силовая земля, прикручивается к кузову.
3) M- к мотору в приводе
4) M+ к мотору в приводе
5) +12V для питания датчиков в приводе, или запитке светодиода.
6) GND - общий. Водключается к общему проводу концевиков в приводе.
7) Подключается к концевику, который замыкается при достижении максимального положения привода.
8) Подключается к концевику, который замыкается при достижении минимального положения привода.
9) К концевику педали тормоза. При нажатой педали должно быть +12В.
10) GND - общий. Запасной или для концевика педали сцепления.
11) Подключается к датчику скорости или датчику ABS. В случае с ДС рекомендую делать вход чувствительным к минусу, в случае с ABS - к плюсу.
12) Концевик сцепления. Если его нету штатно, то рекомендую делать вход чувтвительным к минусу, а массу для концевика брать рядом с ним или на 10-м выводе этого разъёма.
13) Аналоговые кнопки.
14) GND - общий. Запасной.
15) Выход для светодиода.
16) GND - общий. Для пульта управления.
Выходы М+ и М- подключают так, чтобы при такой полярности привод двигался в сторону открывания ДЗ (т.е. в сторону максимального концевика).
X4
1) +12V для питания индикатора.
2) GND - общий.
3) TxD - передача данных от круиза к индикатору.
4) RxD - передача данных в круиз. Не используется.
X1
1) GND - общий.
2) Светодиод. Управление только плюсом.
3) Кнопка REST
4) Кнопка AUTO
5) Кнопка DOWN
6) Кнопка UP
Понятное дело, что дискретную клавиатуру можно не подключать (Да и вобще не распаивать разъём и стабилитроны защиты и резисторы на входах), индикатор тоже скорей всего будет подключаться только для настройки устройства.
Светодиодом можно управлять и по другому. Например у меня в приборке есть светодиод анодом подключенный к "15"му проводу, катод выходит на разъём приборки. Поэтому я использую другой вариант управления светодиодом. На схеме он анодом подключен к выходу для питания датчиков, но дела это не меняет. Основные отличия от оригинала (gnomon72) и ремейка (OKLiK):
- добавлен вариант пульта на резисторах (большинство штатных пультов для круиза) на ATtiny13,
- зашутнированы светодиоды оптопар на входах концевиков (для исключения наводок); светодиоды питаются от 12В, чтобы никакая зараза не пролезла на 5В.
- резистор в цепи бузера (исключает помехи в цепь питания),
- убрал оптроны на входах "Стоп", "Сцепление" и "Скорость". Ну не откуда там взяться таким наводкам.
- выход 12В для питания датчиков в приводе (например датчики Холла) или для светодиода...
- подтянул входы драйвера к земле. Теперь при сбросе МК (когда выходы в 3-м состоянии) драйвер будет гарантировано выключен.
- конденсатор на РЕСЕТ сделал через резистор 100 Ом, для возможности программирования без выпаивания конденсатора.
- вернулся к драйверу L298N (26 грн), т.к. L6203 (72 грн) оказался очень нежным и успел спалить 2 штуки.
- Защита выходов, а не только входов.
- универсальный выход на светодиод - можно управлять +5В или землёй (у меня как раз на приборке есть свободный светик и управляется он землёй)
- универсальный вход ДС - управление "0"-ем или "1"-ей (от 2,5В).
- универсальный вход концевика сцепления - управление землёй или 12В.
- добавили защитный диод по питанию (М7). Если питание платы включить наоборот - диод вылетит, и выжжет предохранитель. Предохранитель должен быть перед проводом питания.
29.05.2012 - v0.7
Плодотворный день. Выяснили, что привод делает мало шагов и пришлось изменить прошивку. После заливки новой прошивки и устранения люфтов в приводе успешно спалили ещё одну L6203. Хорошо, что в воскресенье съездил на рынок и купил L298N на ней собрал и всё заработало. Наверное на ней и остановимся, т.к. она дешевлее и более дубовая. Также кой чего поменял по схеме - теперь всё выходит на один разъём, чтобы удобнее было подключать.
01.06.2012
Сегодня был первый полноценный выезд на трассу с КК. Я в восторге. Есть небольшая проблема с приводом (большой выбег после замыкания концевика), но уже видно отличный результат! Пока фото не привожу, т.к. всё меняется очень быстро. Когда будет окончательный вариант, то всё будет в лучшем виде!
18.06.2012 - v0.8
Окончательная версия схемы (надеюсь).
30.06.2012 - v0.91
Зря надеялся. Очередная версия схемы. При установке концевика на педаль сцепления понял, что его проще подключить к земле, чем к +12В, поэтому изменили входы "Сцепление" и "Скорость" для возможности управления как нулём, так и единицей.
07.07.2012 - v0.92
В связи с тем, что авторы прошивки сказали, что ресурсов в контроллере осталось очень мало, пришлось вынести функционал аналоговых кнопок на отдельный контроллер. Им стал ATtiny13.
12.07.2012 - v1.0 - Релиз!!!
Скажу словами Алекса: (ссылка на пост)
В посте прикреплён архив со схемой и печатной платой.Alex_S wrote:Свершилось!
Принято волевое решение остановить доводку платы (жены уже начали протестовать), и приступить к заказу.
Разослали запрос на расчет стоимости в две компании, ждем результат.
Вот что получилось в итоге (аттач). Смотреть вьюером с предыдущей страницы.
Фольга будет 35мкм, с маской, и, возможно, шелкографией.
30.07.2012
Приехали платы и были немедленно собраны 2 штуки. Ошибок не обнаружено, всё работает.
1.08.2012 завершено внедрение сего дэвайса на мой автомобиль. На данный момент пользуюсь прошивкой cruise_4_7_2a_6_66imp_UARTtxt. Прошивки можно взять на сайте OKLiK`a (свежак - только там) или у меня во вложении (то, что ставлю себе).
В последней версии прошивки (4.7.2a) появилась возможность менять базу замера скорости. От 100мс до 500мс. Для тех датчиков скорости где не гуляет длительность импульса можно ставить базу 100мс, для других надо подбирать (сейчас катаюсь с базой 300мс). Параметр меняется в eeprom, чтобы Вам было проще я создал 5 файлов с содержимым eeprom сразу после прошивки, отличаются они только этим параметром (от 100 до 500). По умолчанию база замера 500мс, т.е. соответствует файлу eeprom_5.hex. Можно просто прошить нужный файл. Нужно только помнить, что это сотрёт калибровку и все настройки. Архив с пятью файлами во вложении (eeprom.rar). Ещё раз повторю - в файлах ТОЛЬКО содержимое eeprom.
12.08.2012 добавил софтинку для настройки параметров круизконтроля путём редактирования содержимого eeprom. Сама программа читать и писать eeprom не умеет, поэтому читаем его и сохраняем в отдельный файл любым программатором (PonyProg, AvrProg, avrdude и т.д.), потом открываем файл в проге, меняем что нам надо, сохраняем в другой файл и заливаем его назад в eeprom. В заголовке окна и в About написана версия прошивки под которую подходит конфигуратор. Если Ваш антивирус орёт на неё, то это Ваши проблемы, т.к. она чиста.
15.08.2012 Обновилась прошивка до 4.7.7. Много новых вкусностей!
31.01.2013 Зарелизилась прошивка круиза!!! Версия 4.8.3. Все вариации одним файлом. Источник, как всегда тут.
Фьюзы (биты конфигурации)Пример расшифровки:
1. cruise_4_8_3 - версия прошивки для механической версии.
2. cruise_4_8_3E - версия прошивки для КК-ЭПГ.
3. cruise_4_8_3Z - версия прошивки для механической версии c нопкой RestZ.
3. UARTbin - формат выводимого в порт для индикатора.
4. UARTtxt - формат выводимого для записи лога на компьютере.
5. noscep_noledstop - с отключенным датчиком сцепления и ДЖСС.
6. nocrazysound - с отключенными звуковыми сигналами.
7. ds666 - датчик скорости по умолчанию 6,66 имп/м, а не 6,0 как стандартно