PDA

Просмотр полной версии : Адаптер климата своими руками



OdinokijKot
23.12.2017, 03:35
Давно порывался сделать свой адаптер климата с преферансом и поэтессами, но всё время что-то мешало. Существующий сейчас connects2 не устраивал своим ограниченным функционалом и отсутствием интеграции с андроидом.
Сначала думал сделать всё всё всё в одном. Но потом понял, что всё и сразу сделать не возможно, и по этому проект тормозит из-за отсутствия чётких малых целей. Решил сначала разобраться чисто с климатом и отправлять данные с него в андроид.

Вообще в голове пока выстраивается такой план по развитию этого проекта:

1.На первом этапе сделать простой, дешёвый и доступный для самостоятельного повторения мост для климата. Он будет отправлять информацию о состоянии климата либо в ГУ на андроиде, либо на нештатный ЖК экран. Поддержка штатного экрана первоначально не планируется, из-за необходимости применения сложной схемотехники и как следствие появление сложностей в повторении.
Тут вон не многие могут магнитолу даже по картинкам отремонтировать, а уж про "вытравить собственную плату и запаять её" я уже молчу.

2.Сделать уже более продвинутый адаптер, с поддержкой штатного экрана, руля, двусторонней связи с андроидом, возможностью подключения кнопок со штатной морды к андроиду, кан-шина и прочее.
Тут уже никакой самодеятельности, даже сам максимум пару плат-протопипов думаю фоторезистом сделать, а потом как устаканится - заказывать платы на заводе.

Если с железом под это всё дело мне мало-мальски понятно, с софтом на андроид пока совсем плохо. Есть некоторое понимание, как это должно выглядеть визуально, но писать и рисовать это самостоятельно... Наврятли. Убью очень много времени на изучение, и не факт, что выйдет что-то хорошее. По этому если есть программисты - веллкам, помогайте.

Ну что же, хватит лирики, давайте уже к практике.

Полгода назад я окончательно "разгадал" протокол климата, но накидать прототип адаптера руки дошли только сейчас. Для этого дела была взята Arduino, и на её базе были испытаны получившиеся наработки и догадки по протоколу.

Первая проба адаптера стала такой:
https://youtu.be/ISo93g1T9a0

Вчера я наткнулся на интересную программку "Serial Manager" на форуме PCCAR.ru (http://pccar.ru/showthread.php?t=24120), которая умеет принимать по терминалу данные и всячески реагировать на них. Немного подредактировав код, заставил гнать туда данные о климате.
Получилось вот как:
https://youtu.be/HWUYP1uhOx4

Извините за качество, снимал на тапочки.

В итоге сейчас имеем прототип моста.

1. Работать это всё должно на любой плате Ардуино. Я проверял на китайских MEGA 2560 и NANO, должно без проблем завестись и на UNO. Более крутые - не знаю, возможно.

2. Мост умеет работать как в одиночном (Master) режиме, так и в параллель (Slave) со штатной магнитолой. В параллель с connects2 тоже должен работать, но надо проверять.

3. Протокол работы с шиной передачи данных климата реализован полностью программно. Не используется аппаратная периферия (типа SPI порта).

Подключать всё это дело так:
к цифровому входу\выходу 2 подключаем красный №4 провод в малой зелёной фишке климата (DISP CLK);
к цифровому входу\выходу 3 подключаем жёлтый №5 провод в фишке климата (AC SO).
По-хорошему, для защиты, их надо подключить через сопротивления в 100 Ом, но работает и так. При желании, данные провода можно перенести на другие порты, для этого в начале скетчей есть соответствующие дефайны.

Если адаптер работает в одиночку (Master) - то надо замкнуть цифровой вход\выход 4 на землю. По умолчанию адаптер работает в режиме параллельного соединения с магнитолой или другим адаптером.

Минус питания платы (GND) ОБЯЗАТЕЛЬНО соединяем с массой автомобиля. Питание подаём либо на USB-разъём, либо +12V на Vin с автомобиля.

Я лично использовал плату MEGA 2560 и питал её прямо от прикуривателя через цилиндрический разъём.

В архиве два скетча. Первый - "soft_climat_bridge" - из первого видео. Просто гонит в терминал данные. Можно выбрать два формата, RAW и текст. Для выбора в начале файла есть соответствующие флажки.
Второй - soft_climat_bridge_serial_manager - вывод данных заточен специально под программу "serial manager".
Написано кривовато, но работает. Надо будет потом это дело переписать на нормальном Си и оформить в виде библиотеки.

При желании в первом скетче можно добавить поддержку текстового или графического дисплея и выводить данные прямо на него и забить на терминал.

На этом пока всё. Кому интересна разработка данного устройства - прошу вливаться в тему, повторять, тестировать, предлагать свои идеи. Если будет желание - распишу подробнее протокол. Частично его описание понятно из скетчей.

Как будет готова, хотя бы, бета версия адаптера - можно будет популярно, с картинками сделать инструкцию для сборки для всех желающих.
Пока это прототип и просто так, из коробки, за 5 минут это не работает. Что бы попробовать - надо хотя бы уметь скомпилировать скетч и залить его в ардуино.

Sonicmine
23.12.2017, 09:49
Отличная работа проделана, как появится возможность обязательно попробую.
Такой вопрос, как долго тестил плату? Стабилизатор на ардуине может сильно греться и сгореть при питании больше 12В, у нас бортовое все таки около 14В вроде. Может хотя бы через 7808\7809 ее питать?

OdinokijKot
23.12.2017, 10:32
Sonicmine, у меня на обоих платах стоит стабилизатор ASM1117-5.0 в корпусе SOT-223. У всей линейки этих стабилизаторов максимальное входное напряжение 18В, так что проблем быть не должно. Катался больше часа и проблем никаких не заметил. Он не греется.
Вообще, по идеи, можно её к бортовому питанию не подключать, если подключать к USB порту автомобильного ГУ. Через него же он должен и массу получить.
В более серьёзной плате конечно придётся нормальную систему питания сделать + включение/отключение по ACC.

Sonicmine
23.12.2017, 11:34
OdinokijKot, ну тогда гуд, так то ему греться не с чего если сама ардуинка без нагрузки, просто хоть и заявлено до 18В питание, они сильно греются на нагрузке 1,5+ А с питанием 12+ В, нужен теплоотвод, но не в нашем случае. К USB можно подключать если напряжение на нем никогда не упадет ниже 5В.

OdinokijKot
23.12.2017, 11:53
OdinokijKot, ну тогда гуд, так то ему греться не с чего если сама ардуинка без нагрузки, просто хоть и заявлено до 18В питание, они сильно греются на нагрузке 1,5+ А с питанием 12+ В, нужен теплоотвод, но не в нашем случае. К USB можно подключать если напряжение на нем никогда не упадет ниже 5В.

Дак и не положено с этого стабилизатора снимать 1.5А. у него максимум у разных производителей от 0.8 до 1А по даташиту.
Именно по этому пока не собираюсь к нему цеплять штатный экран. Его надо не только питать +5 вольтами, но и на подсветку выдать в районе 8-9 Вольт.
А к юсб он так и так будет подключаться, отправлять то данные куда-то надо. Хотя у меня валяется платка блютуз-терминала, с ним тоже попробую.

Sf.Neo
26.12.2017, 09:47
Прикольная тема. Но много научных и непонятных слов. :) Как я понял, это всё будет интересно, у кого стоит не штатная панелька? А ведь большинство катается со штатной начинкой...

Sonicmine
26.12.2017, 09:56
Как я понял, это всё будет интересно, у кого стоит не штатная панелька? А ведь большинство катается со штатной начинкой...
ну да, это для тех колхозников которые ставят нормальное ГУ и штатный мэфон ставят в перчаточный ящик, что бы сэкономить на адаптере, цена которых имхо негуманная, там нечему столько стоить, здесь же есть возможность воткнуть свой цветной дисплей вместо дисплея климата и выводить туда как стандартную инфу как на климате стоковом, так и все что душа пожелает, вплоть до навигации =)

Sf.Neo
28.12.2017, 09:35
Кстати как только купил авто, было желание потратится на хороший "майфун-телевизор". Но что то потом не до этого было. Да и стоить это всё будет негуманно, в районе 500$ за всё.