Подключаю смартфон к компьютеру., Собственный опыт ошибок и провалов.
|
Здравствуйте, гость ( Вход | Регистрация )
Подключаю смартфон к компьютеру., Собственный опыт ошибок и провалов.
|
17.7.2017, 13:04
Сообщение
#1
|
|
Участник Группа: Маздаводы Сообщений: 56 Регистрация: 6.6.2016 Из: Минск, Беларусь Пользователь №: 34407 Спасибо сказали: 28 раз(а) |
Собственно началось с того что радио быстро надоедает, не везде ловит, mp3 в ГУ нет а писать на CD ради полутора часов музыки... не айс.
Обрадовался, я было наличию AUX, но возникло две проблемы: 1) При проигрыванию с телефона батарея телефона разряжается (ну надо же). А при подключению зарядки появлялся жуткий звук наводки. Так я познакомился с термином Ground-loop. 2) На руле есть классные кнопки но они не переключают треки на смартфоне, переключать треки руками на телефоне можно, но есть же кнопки. 3) В дополнение ко всему просто при включении зарядки в прикуриватель сильно просаживается качество приема радио. Плюс ко всему наткнулся на тему ustas и загорелся идеей, надо читать CAN-шину. К несчастью (или радости) я не заметил главной для меня информациии "в CAN-шине нет кнопок на руле!!!", ну об этом дальше. Сразу ремарка, паяльник держал только в детстве и только эпизодически и только когда надо было припаять отвалившийся проводок в компьютере. Так что опыта во всем этом не было, да и отваливалось снова как то уж быстро. Версия 1.0: После непродолжительных закупок на ali куплены ардуино, кан модуль, блютус модуль и преобразователь dc-dc. Собрал все это и после непродолжительных поисков кнопок в CAN обнаружил запись на этом форуме кнопок в CAN нет (и снова ну надо же). Найдены волшебные проводки по которым можно смотреть кнопки!!! Получен опыт: 1) Читаем CAN, отправляем на дисплей, все как описано ustas, за что ему спасибо. 2) Читаем кнопки на руле. 3) Отправляем данные на телефон. Провалы: При написании простейшей прошивки заметил что на arduino как то быстро растет объем скетчей написал "Hello world" а уже 15% flash, принял решение дальше перейти на микроконтроллер без arduino. Да и выглядела версия 1.0 ужасно. Версия 2.0 С учетом полученного опыта родилась новая версия: 1) МК Atmega 2561 на котором до сих пор и работаю 2) 3 CAN модуля 3) Чтение кнопок руля 4) Управление зарядкой телефона и собственно зарядка 5) Bluetooth для обмена данными с телефоном. 6) Встроил модуль XS-3868 для передачи аудио сигнала Получен опыт: 1) Расходы, дистанции и все что хочешь на дисплей. Обращение с дисплеем и CAN считай закончено. Провалы: 1) Наводки черт бы их побрал. 2) Множество ошибок на плате, облажался(IMG:https://m5club.ru/forum/style_emoticons/default/sad.gif) Напоминаю, плат я до этого не делал, а тут TQFP-64, контроллеры не прошивал и прочее в общем опыта в этом всем не было. И конечно же снова фантазия пошла дальше, надо же добавить управление кнопками. Версия 3 (main) тут кратко: 1) Добавил управление кнопками 2) Выделил Bluetooth-аудио в отдельную плату. Опыт: 1) Могу клацать кнопками на руле с телефона (IMG:https://m5club.ru/forum/style_emoticons/default/happy.gif) Версия 3 (audio): Сделал распайку модуля XS-3868 с фильтрами помех по питанию, начитавшись сделал так что можно брать землю с разных точек Опыт: 1) НАВОДКИ!!!!!!!!! Версия 4(main): Если чтение и управление кнопками слева не вызывает проблем, то есть же и кнопки справа. Но с ними надо осторожно. Опасно будет вдруг включить круиз и выкрутить положение на 200 км/ч. На данный момент основная и надеюсь конечная. 1) Зачем-то добавил часики (IMG:https://m5club.ru/forum/style_emoticons/default/happy.gif) 2) Есть кнопки круиза. 3) Встроил программатор и USB-UART прямо на плату. 4) Учитывая мою фантазию и то что мысль "а не добавить ли мне такую фичу" приходит раньше чем завершаю разводку текущей версии на компе, перешел к принципу бутерброда. Вынес МК, 3xCAN, 2 блока управления кнопками руля, программатор и часики на основную плату и сделал возможность добавления этажей на плату, как в шилдах arduino. НО! Я таки пережег 3 из 4-х MCP2515, на данный момент жду посылку из китая, поэтому по данному направлению пока ничего (IMG:https://m5club.ru/forum/style_emoticons/default/sad.gif) . Версия 4 (audio): Самый верный способ убрать наводки запитать bluetooth модуль от батареи, но батарею надо заряжать, начались опыты по созданию версии 4(audio) в ходе которых выяснилось что до боли знакомые мне наводки XS-3868 дает даже от батареи, просто очередной модуль (сломать их оочень просто) шумел громче остальных и услышал я их еще дома в наушниках. БЛИИИН сказал я, и обрадовался тому что зачем-то прикупил себе другой модуль CSR8645. Подключил его ( а он еще и диф-усилитель требует так как имеет нестандартные выводы L- L+ R- R+): 1) в наушниках -тишина 2) в машине - тишина 3) качество - шикарное Далее подробней о полной сборке данной версии, если кому-нибудь будет интересно. Спасибо сказали:
|
|
|
3.8.2017, 8:54
Сообщение
#2
|
|
Участник Группа: Маздаводы Сообщений: 56 Регистрация: 6.6.2016 Из: Минск, Беларусь Пользователь №: 34407 Спасибо сказали: 28 раз(а) |
Итак. Текущие результаты:
Использовать CSR8845 напрямую без доп элементов сложно. 1) Первое и главное. Выключение питания модуль расценивает как аварию, и после возврата питания не стартует без дополнительных телодвижений. Необходимо подтягивать POWER_EN к земле, затем к +4. Только после этого модуль стартует. Альтернативой можно подключить мелкий аккумулятор.... 2) Вслед за этим эффектом следует то, что после аварийного выключения модуль стартует с низким уровнем громкости на выходе, очень низким. Когда это обнаружилось я думал возвращать усилитель назад. Но так как цель была сделать обвязку на кнопки руля это удалось обойти. При включении МК прижимает ненадолго POWER_EN к земле что бы модуль запустился и вытягивает звук на максимум. Единственное что это занимает около 7 секунд. Для управления кнопками я использовал МК (в частности Mega 168 можно легко заменить на 48 88 и просто 8), он следит за нажатием кнопок на руле и дергает соответствующие контакты модуля. Подход работает, треки листаются по нажатию кнопок на руле. Все играет лепота. Так же случилось несколько неприятностей: 1) После подключения, выяснилось что модуль дает шум, отличный от петли, какой то цифровой шум. Не замечал его когда подключал модуль напрямую, видимо дает МК. Буду дальше смотреть что с этим сделать. Радует что шумит только тогда когда отсоединяется аудио поток с телефона (остановка проигрывания). Модуль переходит в спящий режим и появляется этот шум. При проигрывании ничего постороннего нет. 2) Почему то не получилось запустить слежение CAN шины. Пока что реакция на кнопки будет в любом режиме магнитолы. 3) Ну и полный позор. Во время одного из экспериментов закоротил модуль. Модуль мило пыхнул и сыграв музычку "ну ты лох" почил. Ждем алиэкспресс. (IMG:https://m5club.ru/forum/style_emoticons/default/blush.gif) По закону подлости закоротил я это все вот сегодня утром когда доделывал "бантики" а завтра в обед уезжаю колесить по европе и хотел закончить к поездке.... Но ничего есть старые модули XS 3868 припаяю на соплях его, там тоже будет все листать и т.п. ну возможно будет шуметь постоянно, а может не будет, вечером посмотрим. Что дальше: 1) Доделать слежение за CAN для распознания режима магнитолы. 2) Борьба с шумом в простое. 3) Так как по сути даже в режиме AUX мы можем использовать только 2 кнопки вверх/вниз, буду искать как отследить режим круиза. И при выключенном круизе можно будет добавить reset set cancel для полноценного хэндсфри со звонками и прочими плюшками Надо согласовать с женой покупку осциллографа, так как на малых контроллерах очень сложно дебажится без него. (IMG:https://m5club.ru/forum/style_emoticons/default/rolleyes.gif) Сообщение отредактировал Malishok1452 - 3.8.2017, 8:55 |
|
|
Текстовая версия | Сейчас: 28.9.2024, 3:16 |