Например TDA7294

РадиоКот > Схемы > Цифровые устройства > Автоматика

Универсальный адаптер, переводящий резистивный сигнал управления в кнопочный

Автор: KoledaS
Опубликовано 07.08.2012.
Создано при помощи КотоРед.

Цель: управлять любым устройством (FM-модулятор, mp3, НЕштатная магнитола, телефон,…) с помощью кнопок на руле авто (при условии, что на устройстве кнопки работают путем соединения контакта с землей, а кнопки на руле используют резистивную схему)

Идея заключается в следующем: преобразовать сигнал, идущий по одному проводу от резистивных кнопок, в сигнал на нескольких проводах. На том или другом выходном проводе будет появляться минус в зависимости от нажатой на руле кнопки.

На моём авто (Mazda Verisa) схема резистивного управления на руле выглядит так:

Если измерить сопротивление между проводами 1P и 1N, то получаем следующие результаты (на разных авто сопротивления могут отличаться, но это не важно, т.к. систему можно обучить любым сигналам):

  • кнопки отпущены - 5.05k
  • нажатие MUTE - 2.04k
  • нажатие MODE - 1.04k
  • нажатие P.SET - 0.564k
  • нажатие SEEK+ - 0.302k
  • нажатие VOL+ - 0.148k
  • нажатие VOL- - 0.055k

В штатной системе провод 1P подключен к земле, а на провод 1N в зависимости от нажатой кнопки устанавливается напряжение от 0 до 5В. Именно по величине напряжения система и понимает, какая из кнопок нажата. Провод 1N – это и есть провод с резистивным сигналом.

Не буду томить долгими вводными вступлениями, общая схема представлена ниже: 

На схеме синий блок – панель кнопок на руле, красный блок – наш адаптер, сиреневый блок – кнопки на устройстве, которым хотим управлять. Как видно из схемы, адаптер позволяет запрограммировать до 8 кнопок.

Опишу всё поэлементно:

  • U1 – микроконтроллер(МК) ATmega8 (у нас его цена – 180р.).
  • D1, FUSE – диод и предохранитель (для безопасности, не обязательно, я у себя их не ставил).
  • J1 – разъем для подключения программатора (используется только один раз, для того чтобы залить в МК прошивку).
  • JP2, R2 – перемычка и сопротивление для добавления напряжения на 23 ногу. Эти элементы можно убрать, если адаптер подключается к штатной системе (т.е. если на проводе идущего от блока кнопок руля к 23 ноге МК уже есть напряжение). Если же провода от кнопок руля в авто никуда не подключены (как на схеме), то эти элементы нужны, т.к. именно благодаря им, на сигнальном проводе будет присутствовать и меняться, в зависимости от нажатия кнопок, напряжение. Я у себя эти элементы убрал, т.к. подключал адаптер к штатной системе. А вообще можно для универсальности поставить и переключаться между режимами перемычкой JP2.
  • JP1 – перемычка для входа в режим обучения адаптера. Если установлена, то адаптер переходит в режим обучения. Подробнее о режиме обучения ниже.
  • VCC 5volt (или VCC если отказались от D1 и FUSE) – питание 5 Вольт (я взял питание от FM-модулятора, которым и буду управлять, там как раз 5 Вольт). Кстати, 5В можно получить из 12В, вот схема:

    Компоненты:
    U1 - 78L05
    C1 - 10mkF/25v
    C2 - 10mkF/16v
    D1 - 1N4007

    Взял отсюда :

Принцип работы: Изначально систему необходимо обучить, записав в EEPROM определенные АЦП для каждого канала порта D значения соответствующих кнопок. После этого в зависимости от нажатой на руле кнопки АЦП определит значение, найдет такие же значения в EEPROM, и определит каналы порта D, соответствующие найденному значению. После этого на эти каналы будет подан минус (земля). На одну кнопку руля может быть запрограммировано несколько каналов, таким образом при нажатии на эту кнопку минус будет подан на все запрограммированные каналы. 

Запись прошивки в микроконтроллер ATmega8

Процесс прошивки МК очень прост, всё что для этого нужно это:

  • Компьютер с LPT портом
  • Программатор (пять проводков и 4 резистора)
  • Программа для прошивки (я использовал CodeVisionAVR 1.25.9 Professional)

Схему элементарного программатора "Пять проводков" я взял в интернете.

Подключаем программатор к компьютеру, затем к собранному адаптеру, после этого подаём питание на адаптер (5В к проводу VCC, можно взять из USB-порта или от провода блока питания компьютера).

Далее, нужно обновить конфигурацию оборудования, для того чтобы компьютер увидел устройство. Для этого нажимаем правой кнопкой мыши по значку «Мой компьютер» - Управление – Диспетчер устройств. Выбираем корневой узел дерева и нажимаем Действие – Обновить конфигурацию оборудования. После этого закрываем окно.

Открываем программу CodeVisionAVR. Идем в меню Settings – Programmer. Для программатора «5 проводков» выставляем следующие параметры:

Далее, идем в меню Tools – Chip Programmer. Устанавливаем все параметры как на рисунке:

Далее, File – Load FLASH и выбираем файл rtb_adapter.hex. 

Далее, File – Load EEPROM и выбираем файл rtb_adapter.eep.

Далее, Program – Erase Chip.

Далее, Program – FLASH.

Далее, Program – EEPROM.

Если всё прошло без ошибок, закрываем программу, отключаем питание от адаптера, и отсоединяем от него программатор.
ВСЁ, АДАПТЕР ГОТОВ!

Подключение и обучение адаптера

Прежде чем подключать адаптер к кнопкам руля и к кнопкам устройства, которым хотите управлять, нужно убедиться в следующем:

  • На проводах от кнопок руля напряжение должно лежать в диапазоне от 0 до 5В.
  • Кнопки на устройстве, которым хотите управлять, должны работать так, что при нажатии на кнопку контакт соединяется с землей.

Если условия выполнены, соединяем провода и приступаем к обучению адаптера:

  1. Устанавливаем перемычку JP1.
  2. На устройстве, которым будем управлять, зажимаем и держим первую кнопку, которую будем использовать.
  3. На руле зажимаем и держим ту кнопку которая будет соответствовать кнопке из пункта 2.
  4. Не отпуская кнопки на руле, отпускаем кнопку на устройстве.
  5. Отпускаем кнопку на руле.
  6. Таким образом, мы обучили адаптер, поставив в соответствие кнопке на устройстве кнопку на руле. Повторяем пункты 2-5 до тех пор, пока не обучим адаптер всем нужным нам кнопкам.
  7. После того как все кнопки запрограммированы, убираем перемычку JP1.
  8. Проверяем работу адаптера, нажимая кнопки на руле должны срабатывать кнопки на устройстве. Всё, адаптер установлен и настроен!

Немного фоток 


Заключение

Этот адаптер так бы и остался только в идеях, если бы не сайт radiokot.ru , а конкретно два человека Goodefine и radteh.

Выражаю им огромную благодарность за помощь, идеи и консультации по всем возникающим в процессе вопросам!!!

Также выражаю благодарность авторам сайта http://AVR123.nm.ru. По бесплатному учебному курсу, который находится на этом сайте, я освоил принципы работы с микроконтроллерами (не имея ни малейшего представления о том, что это такое) за 3 дня.

Во время разработки прошивки я также использовал программу для моделирования работы контроллера PROTEUS версия 7.8 SP2.


Файлы:
Проекты с исходниками, прошивка
Распиновка штекера блока питания компьютера


Все вопросы в Форум.


ID: 1246

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

23 14 4
1 1
Подробно