С каких пор для определения восьми кнопок нужно восемь каналов АЦП? Один восьсмибитный АЦП способен отличить хоть 20 кнопок.Goodefine писал(а):Та же мега8 в планарном корпусе имеет 8 каналов ADC. Следовательно можно идентифицировать 7 кнопок. Есть камни на большее число каналов.
Нужна помощь по однопроводному приему сигнала с руля.
- Реклама
Ровно с тех пор, с каких желательно читать внимательно - посмотрите на картинку:
Почитайте текст:
Почитайте текст:
И подумайте, зачем семь каналов на 7 кнопок...r1-rN - резисторы для настройки системы (какое сопротивление какой кнопке соответствует)
кнопка1-кнопкаN - контакты на которых появляется минус в зависимости от того какая кнопка нажата.
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Goodefine, я наверное сглупил нарисовав схему где для настройки вынес резисторы. Проще эти показатели в программе забить. Читаю литературу и потихоньку начал понимать о чём вы мне говорите.
Считаю что с АЦП будет проще всего. Т.е. нужен МК с одним каналом АЦП (как и предложил radteh), и несколько(от 2 до 10, смотря сколько кнопок надо) выходных логических каналов (если я правильно выразился).
Сигнал от резистивных кнопок включу в качестве плеча делителя напряжения (если правильно выразился) и к входу АЦП.
МК поставит в соответствие каждому напряжению число, я в программе на основании этого числа скажу на какую выходную ногу дать минус.
Подскажите вот теперь на основании этого какой МК взять, желательно чтоб был распространен чтоб в магазине найти легко можно было. Выходов 5-6 достаточно будет.
ЗЫ: Поправьте если я тут чушь написал
Считаю что с АЦП будет проще всего. Т.е. нужен МК с одним каналом АЦП (как и предложил radteh), и несколько(от 2 до 10, смотря сколько кнопок надо) выходных логических каналов (если я правильно выразился).
Сигнал от резистивных кнопок включу в качестве плеча делителя напряжения (если правильно выразился) и к входу АЦП.
МК поставит в соответствие каждому напряжению число, я в программе на основании этого числа скажу на какую выходную ногу дать минус.
Подскажите вот теперь на основании этого какой МК взять, желательно чтоб был распространен чтоб в магазине найти легко можно было. Выходов 5-6 достаточно будет.
ЗЫ: Поправьте если я тут чушь написал
Оно то проще, но вы написали что хотите собрать универсальный адаптер.. А это подразумевает наличие каких-то настроечных элементов, хоть джемперов, хоть резисторов. Если жестко в программе то это не слишком универсальный путь. В качестве компромисса можно вынести привязку к кнопкам в еепром. тогда не нужно будет перекомпилировать программу. Что касается АЦП - если нужен один канал, то можно обойтись и компаратором, особая точность здесь не нужна. Естественно, чуть сложнее будет в настройке. А, вообще, берите Atmega8 и не мучайтесь...koledas писал(а):Проще эти показатели в программе забить...
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Вот тут я пока ничего не понялGoodefine писал(а):В качестве компромисса можно вынести привязку к кнопкам в еепром. тогда не нужно будет перекомпилировать программу.
Просто я так подумал, что если кто-то захочет собрать для себя то ему всё равно придется прошивать МК. Ну а скомпилировать проект изменив 5 значений это 2 минуты. Если у меня получится, то предоставлю полный отчёт со всем ПО и схемами.
Так и сделаюGoodefine писал(а):А, вообще, берите Atmega8 и не мучайтесь...
Ушел с головой в учебник...
- Реклама
Зачем каждый раз перекомпилировать? Вот смотри что тебе предлагают, сервисной кнопкой включаешь режим обучения своего устройства и нажимаешь последовательно кнопки на руле, удерживая кнопку на руле нажимаешь сервисную для запоминания в eeprom значений АЦП. Но для начала собери заточенное под свой руль.
Ага, уже прочитал, что такое еепром. В этом направлении и буду двигаться. Наверное это лучший вариант.radteh писал(а):Зачем каждый раз перекомпилировать? Вот смотри что тебе предлагают, сервисной кнопкой включаешь режим обучения своего устройства и нажимаешь последовательно кнопки на руле, удерживая кнопку на руле нажимаешь сервисную для запоминания в eeprom значений АЦП. Но для начала собери заточенное под свой руль.
radteh и Goodefine, спасибо вам большое за то что не бросаете
Ну вот, скелет уже готов. Диоды - это для демонстрации. Питание 5 вольт буду брать от mp3-плеера (там как раз столько).
Следующим шагом буду осваивать еепром (для обучения системы). Возникло несколько вопросов.
1) Я хочу подсоединяться в рабочую систему, т.е. чтоб не только мой адаптер был соединен с кнопками, но и штатная системы была тоже подсоединена. Вроде как одна из ног сигнала и так уже сидит на земле. Помешает ли мой адаптер штатной системе?
2) Из меня радиоэлектронщик никакой, поэтому я не знаю какими еще элементами нужно обвешивать схему.
3) Какого номинала лучше ставить R12 ?
4) Как улучшить то, что я смастерил?
В общем помогите, пожалуйста, кто чем сможет
Проект находится здесь. Программировал в CodeVisionAVR 1.25.9, моделировал в PROTEUS 7.8 SP2.
Следующим шагом буду осваивать еепром (для обучения системы). Возникло несколько вопросов.
1) Я хочу подсоединяться в рабочую систему, т.е. чтоб не только мой адаптер был соединен с кнопками, но и штатная системы была тоже подсоединена. Вроде как одна из ног сигнала и так уже сидит на земле. Помешает ли мой адаптер штатной системе?
2) Из меня радиоэлектронщик никакой, поэтому я не знаю какими еще элементами нужно обвешивать схему.
3) Какого номинала лучше ставить R12 ?
4) Как улучшить то, что я смастерил?
В общем помогите, пожалуйста, кто чем сможет
Проект находится здесь. Программировал в CodeVisionAVR 1.25.9, моделировал в PROTEUS 7.8 SP2.
При сохранении подключения к штатной системе лучше вообще не ставить R12 - т.к. штаный контроллер точно таким же образом определяет сопротивление, то подтяжка к питанию кнопок осуществлена внутри системы. Резистором вы только сместите уровни и штатная система перестанет работать. Там будет присутствовать напряжение. Остается только его измерить тестером и зашить в программу нужные величины.. Только не забудьте про входное сопротивление АЦП - порядка 10 кОм. Если будет влиять, нужно будет развязаться от кнопок ОУ с относительно высоким входным сопротивлением.koledas писал(а): 3) Какого номинала лучше ставить R12 ?
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
На счёт резистора понял, сделал его опциональным (по перемычке).
Что у входа АЦП сопротивление есть я в курсе. Не понял что значит "развязаться от кнопок ОУ с относительно высоким входным сопротивлением". Если можно, поясните как для чайника 
И еще вопрос, чувствую что между mp3-проигрывателем и схемой должны быть диоды (для защиты от нажатия кнопок на плеере) только не знаю какие и каким концом куда подключать. Помогите, пожалуйста.
Переделал схему, теперь она может обучаться
Проект обновил.

Принцип такой, для включения режима обучения нужно поставить перемычку JP1.
Далее:
1) зажимаем первую кнопку на mp3 плеере
2) не отпуская кнопку плеера зажимаем нужную кнопку на руле
3) не отпуская кнопки на руле, отпускаем кнопку плеера
4) отпускаем кнопку на руле
и так далее для всех кнопок плеера.
После того как все кнопки запрограммированы, убираем перемычку JP1.
Если присутствующие здесь профессионалы в радиоэлектронике одобрят схему, то начну паять
Вот тут ничего не понялGoodefine писал(а):Только не забудьте про входное сопротивление АЦП - порядка 10 кОм. Если будет влиять, нужно будет развязаться от кнопок ОУ с относительно высоким входным сопротивлением.
И еще вопрос, чувствую что между mp3-проигрывателем и схемой должны быть диоды (для защиты от нажатия кнопок на плеере) только не знаю какие и каким концом куда подключать. Помогите, пожалуйста.
Переделал схему, теперь она может обучаться

Принцип такой, для включения режима обучения нужно поставить перемычку JP1.
Далее:
1) зажимаем первую кнопку на mp3 плеере
2) не отпуская кнопку плеера зажимаем нужную кнопку на руле
3) не отпуская кнопки на руле, отпускаем кнопку плеера
4) отпускаем кнопку на руле
и так далее для всех кнопок плеера.
После того как все кнопки запрограммированы, убираем перемычку JP1.
Если присутствующие здесь профессионалы в радиоэлектронике одобрят схему, то начну паять
Попробуйте в модели - подключите вход АЦП контроллера через кнопку и посмотрите (вольтметром) как будет меняться напряжение на кнопках при подключении/отключении входа контроллера. Это и будет влияние шунтирования кнопок внутренним сопротивлением. Вместо входа можете попробовать шунтировать кнопки на землю резистором около 10 кОм. Должно быть примерно то же самое.koledas писал(а): Что у входа АЦП сопротивление есть я в курсе. Не понял что значит "развязаться от кнопок ОУ с относительно высоким входным сопротивлением". Если можно, поясните как для чайника
И еще вопрос, чувствую что между mp3-проигрывателем и схемой должны быть диоды (для защиты от нажатия кнопок на плеере) только не знаю какие и каким концом куда подключать....
ОУ - операционный усилитель. Подбираете схему усилителя на ОУ с коэфф. усиления 1, вход подключаете туда куда сейчас подключен АЦП, а выход - к АЦП, при этом за счет того что у ОУ входное сопротивление гораздо больше 10 кОм (зависит от конкретного ОУ и схемы - от сотен кОм до МОм), шунтирующее влияние на копки будет гораздо меньше. Разумеется эти меры надо принимать если вход АЦП будет мешать нормальной работе системы. И еще до подключения к системе убедитесь, что на кнопках не более 5В, иначе МК станет не хорошо.
Насчет кнопок - для того чтобы имитировать нажатия на кнопки, нужно шунтировать ее. Если кнопки в плеере, так же как на схеме подключены к минусу (что не факт, там может быть по разному сделано - хоть от резистивной схемы до матричной - нужно проверить), то достаточно сажать пины, сконфигурированные выходом, на ноль. Причем отключать нужно не установкой 1-цы на пин в режиме выхода - в этом случае действительно для МК будет опасно нажатие кнопки. А отключать просто переводом пина из выхода на вход - при этом пин просто перейдет в высокоимпедансное состояние и угрозы не будет. И наоборот - сделали выходом - сразу ноль, кнопка замкнулась... Если ставить диоды, тогда не сможете обучить пульт - диоды отвяжут кнопки от МК... Если что то непонятно - уточняйте..
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Если делать универсальный девайс, то лучше развязать кнопки и контроллер.
Добавил кнопку, при нажатой показывает 3,12В при отжатой 3,12В - не меняется. Но это с резистором R8 наминалом в 3К.Goodefine писал(а):Попробуйте в модели - подключите вход АЦП контроллера через кнопку и посмотрите (вольтметром) как будет меняться напряжение на кнопках при подключении/отключении входа контроллера. Это и будет влияние шунтирования кнопок внутренним сопротивлением. Вместо входа можете попробовать шунтировать кнопки на землю резистором около 10 кОм. Должно быть примерно то же самое.
Это для меня сильно сложноGoodefine писал(а):ОУ - операционный усилитель. Подбираете схему усилителя на ОУ с коэфф. усиления 1, вход подключаете туда куда сейчас подключен АЦП, а выход - к АЦП, при этом за счет того что у ОУ входное сопротивление гораздо больше 10 кОм (зависит от конкретного ОУ и схемы - от сотен кОм до МОм), шунтирующее влияние на копки будет гораздо меньше. Разумеется эти меры надо принимать если вход АЦП будет мешать нормальной работе системы.
Большое спасибо, учту...Goodefine писал(а):И еще до подключения к системе убедитесь, что на кнопках не более 5В, иначе МК станет не хорошо.
Здесь всё понял, перепишу код. В моём плеере кнопки соединяют контакты с землей. Для этого способа и буду делать, иначе всё будет очень сложно, я не осилю.Goodefine писал(а): Насчет кнопок - для того чтобы имитировать нажатия на кнопки, нужно шунтировать ее. Если кнопки в плеере, так же как на схеме подключены к минусу (что не факт, там может быть по разному сделано - хоть от резистивной схемы до матричной - нужно проверить), то достаточно сажать пины, сконфигурированные выходом, на ноль. Причем отключать нужно не установкой 1-цы на пин в режиме выхода - в этом случае действительно для МК будет опасно нажатие кнопки. А отключать просто переводом пина из выхода на вход - при этом пин просто перейдет в высокоимпедансное состояние и угрозы не будет. И наоборот - сделали выходом - сразу ноль, кнопка замкнулась... Если ставить диоды, тогда не сможете обучить пульт - диоды отвяжут кнопки от МК... Если что то непонятно - уточняйте..
Развязать какие кнопки? руля или mp3-плеера? И что значит развязать?radteh писал(а):Если делать универсальный девайс, то лучше развязать кнопки и контроллер.
Понимаю что надоел своими тупыми вопросами, но кажется что уже близок к победе.
Начну паять потихоньку, тут уже всё сложно начинается...
Заработает - хорошо, не заработает - буду опять вас мучать
Пошел в магазин, нашел ATmega8 правда в SMD корпусе.
Дело в том что как заметил Goodefine кнопки в плеере могут быть сделаны относительно общего провода, а могу и быть выполнены резистивной матрицей (как кнопки на руле), так и просто матрицей (когда контроллер на одних ногах выдаёт сигнал, а на других считывает). Поэтому лучше всего параллельно кнопкам ставить контакты реле или оптопары, а реле управлять от твоего устройства, таким образом ты избежишь проблемы разности напряжений и логики кнопок в плеере. Например оптопара PC817C стоит недорого, но требует соблюдения полярности, а тердотельные реле стоят минимум в пять раз дороже.
Осталось сказать только, что подобная развязка сделает невозможной калибровку устройства теми же кнопками... По разности напряжений - когда пин на нуле - имитация кнопки, никакого криминала, когда в высокоимпедансном состоянии - взаимовлияния тоже нет (при условии что на плеере на кнопках не более 5В). При калибровке подтяжки включать не обязательно - поскольку на кнопках они и так будут от плеера. Поэтому влияния быть не должно, на первый взгляд. Но вот модель в протеусе об этом не знает, потому без подтяжек возможны глюки при симуляции. В реале будет нормально. Для модели можно включать подтяжки или просто подтянуть внешними резисторами кнопки. По большому счету, подтяжки особо друг другу тоже мешать не будут. А вот если кнопки не на землю, то тут такой фокус не пройдет..
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Ребят, спасибо большое!!!
Я всё-таки остановлюсь на том что есть:
- Кнопки плеера замыкаются на землю.
- Питание устройства от того же плеера (на котором 5В и это очень распространенный случай: USB-плееры, FM-модуляторы).
О переводе резистивного в другое резистивное, мне где-то уже встречалось. О матричном типе не видел, но думаю что это не частый случай, и из моей схемы будет тяжело переключаться между протоколами.
Кому нужны релюшки смогут без труда дополнить устройство.
Уже купил ATmega8 (в квадратном SMD корпусе, цена 187руб.). Еще банку хлорного железа взял (250г. за 120руб.). Сегодня начну плату готовить...
Еще раз СПАСИБО!!! Буду писать по мере продвижения.
Я всё-таки остановлюсь на том что есть:
- Кнопки плеера замыкаются на землю.
- Питание устройства от того же плеера (на котором 5В и это очень распространенный случай: USB-плееры, FM-модуляторы).
О переводе резистивного в другое резистивное, мне где-то уже встречалось. О матричном типе не видел, но думаю что это не частый случай, и из моей схемы будет тяжело переключаться между протоколами.
Кому нужны релюшки смогут без труда дополнить устройство.
Уже купил ATmega8 (в квадратном SMD корпусе, цена 187руб.). Еще банку хлорного железа взял (250г. за 120руб.). Сегодня начну плату готовить...
Еще раз СПАСИБО!!! Буду писать по мере продвижения.
Не забудьте на ресет повесить конденсатор на 100n на землю и соединить его через 10 кОм с +5В. По питанию также очень не помешают два конденсатора в параллель, 10 мкф (в некоторых случаях может вызвать проблемы для КРЕН-ок) и 100n поближе к ногам МК. Еще иногда присоединенные цепи к выводам интерфейса для программирования, могут мешать процессу прошивки. Кнопки лучше подсоединять с помощью разъема - чтобы в случае чего отключать было легко..
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Вот так правильно?Goodefine писал(а):Не забудьте на ресет повесить конденсатор на 100n на землю и соединить его через 10 кОм с +5В. По питанию также очень не помешают два конденсатора в параллель, 10 мкф (в некоторых случаях может вызвать проблемы для КРЕН-ок) и 100n поближе к ногам МК.

Еще вопрос по поводу конденсаторов: нужно ставить полярные или нет? у меня есть конденсатор на 10мф/16В полярный его можно использовать? По поводу 0.1мф завтра пойду искать они нужны полярные или нет и на сколько вольт?
Решил чтоб уж наверняка поменять местами выводы портов B и D, так и на плате развести дорожки удобнее будет.Goodefine писал(а):Еще иногда присоединенные цепи к выводам интерфейса для программирования, могут мешать процессу прошивки. Кнопки лучше подсоединять с помощью разъема - чтобы в случае чего отключать было легко..
Сегодня еще в машине всё замерил, земля к кнопкам руля действительно подключена так как на рисунке. Померил напряжение при включенном зажигании и при запущенном двигателе - прибор показал 5.75В, но это у меня прибор гонимый, он на USB-входе от компа больше показывает (хотя там 5В). Так что всё вроде хорошо должно получиться и JP2 в моём случае будет разомкнут.
С нетерпением жду последнего одобрения, завтра подправлю код и схему, и травить плату...
Даkoledas писал(а): Вот так правильно?
Полярный нужен только С1. напряжение - не менее 6.3В, 16В-вполне нормально. Остальные - керамика. Запас по напряжению у них большой, тут можно не заморачиваться.koledas писал(а): Еще вопрос по поводу конденсаторов: нужно ставить полярные или нет? у меня есть конденсатор на 10мф/16В полярный его можно использовать? По поводу 0.1мф завтра пойду искать они нужны полярные или нет и на сколько вольт?
Тут важнее чтоб на плеере кнопки соединялись с землей.koledas писал(а): Сегодня еще в машине всё замерил, земля к кнопкам руля действительно подключена так как на рисунке.
Я бы еще поставил диод по питанию, на случай переполюсовки (последовательно) и предохранитель в плюсовом проводе. Кстати, посмотрите как в плеере получается 5В - там или кренка, или DC-DC преобразователь. Как они отнесутся к дополнительной нагрузке в виде меги, возможно источник питания на плеере будет греться. В этом случае придется ставить отдельную КРЕН-ку на 5В, хотя можно обойтись и стабилитроном...koledas писал(а): С нетерпением жду последнего одобрения, завтра подправлю код и схему, и травить плату...
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Диод 1N4007 пойдет?Goodefine писал(а):Я бы еще поставил диод по питанию, на случай переполюсовки (последовательно) и предохранитель в плюсовом проводе. Кстати, посмотрите как в плеере получается 5В - там или кренка, или DC-DC преобразователь. Как они отнесутся к дополнительной нагрузке в виде меги, возможно источник питания на плеере будет греться. В этом случае придется ставить отдельную КРЕН-ку на 5В, хотя можно обойтись и стабилитроном...
На плеере напряжение конвертируется платкой на которых видно:
2 конденсатора, маленькая катушечка, и микросхема MC34063A (кстати это FM-модулятор, поэтому эта платка может еще выполнять роль радиопередатчика). Ну и еще там мелкие SMD-шки.


