Перейти к содержанию

Адаптер кнопок руля на Atmega 8 DIP


Перейти к решению Решено Yuriy.pv,

Рекомендуемые сообщения

Прошу помощи с проблемой и не стабильной работой.

Сделал адаптер резистивных кнопок по этой схеме
https://radiokot.ru/circuit/digital/automat/40/
Mp3 модуль у меня вот такой
https://prom.ua/p1449962461-mp3-bluetooth-modul.html
Контроллер использовал Atmega 8 в DIP корпусе.
Программа в контроллер легла хорошо, кнопки запрограммировать получилось.

Через некоторое время роботы контроллер откликается только на одну команду кнопок руля - назад, это 3-й pin (TXD/PD1).
Если выключить магнитолу и включить через часа 3, то работает нормально, но тоже не долго, через мин. 30 снова откликается только кнопка назад.
После ночи простоя начинают откликатся кнопки руля через минут 5 после включения.
Моя схема с учетом DIP корпуса получилась вот такая.

Screenshot_20220108-205626_Gallery.jpg

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Какое реальное напряжение питания контроллера? Для LM317 R3 рекомендуют ставить 240 Ом, а R4 подбираете для выхода 5 вольт. У вас на схеме два R3, я про верхний. Или воэьмите 7805, там подбирать ничего не надо.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

8 часов назад, Yuriy.pv сказал:

Оно нормально работать не будет. 

Оно, это Вы верно подметили.

Но прошу помощи, как исправить, чтоб работало.

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Интересно как вы припаялись к вашему mp3 модулю. Фото в студию. Проверяйте монтаж.

Ну и поддержу, изначальная работоспособность под вопросом. Не факт что на модуле есть подтягивающие резисторы на кнопках. Скорее всего подтяжка в контроллере. Надо проверять. Как минимум посмотреть какое напряжение на кнопке (без вашей схемы). А то может там 3.3В, а вы ему 5В в простое вкачиваете. Вот модуль и сходит с ума.

Изменено пользователем mr_smit
Ссылка на комментарий
Поделиться на другие сайты

Кнопки руля подключены двумя отдельными проводами через улитку? Или в качестве общего использован вал руля? 

Получи фашист гранату!

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Сергей Суслов сказал:

Но прошу помощи, как исправить, чтоб работало

Вам mr_smit правильно указал что проверить, также целостность контакта от руля к контроллеру. Уделить внимание конденсаторам питания контроллера и стабилизации. Так же не исключаю возможно специальную некоректность прошивки.

Ссылка на комментарий
Поделиться на другие сайты

11 часов назад, mr_smit сказал:

Интересно как вы припаялись к вашему mp3 модулю. Фото в студию. Проверяйте монтаж.

Ну и поддержу, изначальная работоспособность под вопросом. Не факт что на модуле есть подтягивающие резисторы на кнопках. Скорее всего подтяжка в контроллере. Надо проверять. Как минимум посмотреть какое напряжение на кнопке (без вашей схемы). А то может там 3.3В, а вы ему 5В в простое вкачиваете. Вот модуль и сходит с ума.

Да, определенное напряжение и сопротивление на каждой кнопке руля.

Команды кнопок руля по напряжению:
выбор папки- 3,67 В
вперед - 3,08
назад- 2,47 В.

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

Припаялся к разьему, который идёт к кнопкам (кнопки выведены отдельно для управления mp3 модулем на магнитоле), посмотрю еще как Вы и говорите, подпайку к самому mp3 модулю.

Подскажите пожалуйста, что такое "подтяжка в контроллере"?

10 часов назад, МихМих сказал:

Кнопки руля подключены двумя отдельными проводами через улитку? Или в качестве общего использован вал руля? 

Да, два отдельных провода, через шлейф улитки руля.

10 часов назад, Yuriy.pv сказал:

Вам mr_smit правильно указал что проверить, также целостность контакта от руля к контроллеру. Уделить внимание конденсаторам питания контроллера и стабилизации. Так же не исключаю возможно специальную некоректность прошивки.

Влияет ли то, что использовал Atmega 8 28 pin DIP вместо Atmega 8 32 pin TQFP ?

Как по мне по количеству и назначению используемых пинов идентична.

Ссылка на комментарий
Поделиться на другие сайты

@Сергей Суслов вы, видимо, вообще не понимаете как это всё работает...

На время забудьте про MP3 модуль свой. Отключите его полностью от своей самоделки и уберите в сторону. Нужно сначала убедиться работает ли ваша самоделка сама по себе. На 3,4,5 выводы ATmega8 подключите светодиоды через резисторы в районе 500 Ом. Соблюдая полярность. После этого подключитесь к рулю и понаблюдайте (а лучше покатайтесь). При нажатии кнопки на руле -> соответствующий светодиод на вашей поделке должен вспыхивать кратковременно. Тем самым имитируя кратковременное нажатие на будущую кнопку. Если этого не происходит, значит ваша схема не работает. Это самое простое что вы можете сейчас сделать.

CX.png.6b6473a325d8eded7fd1fd30be5d3a7d.png

Ну и схему питания на LM317 привести к даташиту:

317.jpg.226a153865fb8981c67177b9101cd4af.jpg

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, mr_smit сказал:

@Сергей Суслов вы, видимо, вообще не понимаете как это всё работает...

На время забудьте про MP3 модуль свой. Отключите его полностью от своей самоделки и уберите в сторону. Нужно сначала убедиться работает ли ваша самоделка сама по себе. На 3,4,5 выводы ATmega8 подключите светодиоды через резисторы в районе 500 Ом. Соблюдая полярность. После этого подключитесь к рулю и понаблюдайте (а лучше покатайтесь). При нажатии кнопки на руле -> соответствующий светодиод на вашей поделке должен вспыхивать кратковременно. Тем самым имитируя кратковременное нажатие на будущую кнопку. Если этого не происходит, значит ваша схема не работает. Это самое простое что вы можете сейчас сделать.

CX.png.6b6473a325d8eded7fd1fd30be5d3a7d.png

Ну и схему питания на LM317 привести к даташиту:

317.jpg.226a153865fb8981c67177b9101cd4af.jpg

Замерял сегодня на выходе с АЦП на этих выводах напряжение, при нажатии только одной кнопки идёт реакцыя, вывод подтяживается к "0", на остальных 2 выводах минимальное понижение напряжения - на 0,1 В.

Но если вытащить магнитолу из шахты и вставить, mp3 модуль откликается на кнопки руля.

 

Напряжение на входе АЦП (PCO/ADCO)
По факту, в любом режиме, хоть откликается модуль или нет или в режиме радио
Кн. назад - 2,41 В
Кн. вперед - 3,03 В
Кн. выбор папки - 3,63 В.
И заводские параметры на картинке.

post-11155-1260887658.png

Изменено пользователем Сергей Суслов
Ссылка на комментарий
Поделиться на другие сайты

14 часов назад, Сергей Суслов сказал:

когда подключаю контроллер без кренки, просто к проводу кнопок руля, то напряжение просаживается

Его без кренки подключать к сети нельзя..

14 часов назад, Сергей Суслов сказал:

Влияет ли то, что использовал Atmega 8 28 pin DIP вместо Atmega 8 32 pin TQFP ?

Как по мне по количеству и назначению используемых пинов идентична

Влияет, назначение пинов и портов не совпадают, они разные.

5 часов назад, Сергей Суслов сказал:

Замерял сегодня на выходе с АЦП

Такого не может быть.. 

5 часов назад, Сергей Суслов сказал:

... вытащить магнитолу из шахты и вставить, mp3 модуль...

Ваще не понятно что вы втаскуете вытаскуете.  На схеме у вас логические выходы,для подключения к кнопкам, и тут вы даете подключение делителя.. 

Если вы подключаетесь к кнопкам нужен и провод минуса от контроллера а не где-то с корпуса, бо получите чепуху.  

Изменено пользователем Yuriy.pv
Ссылка на комментарий
Поделиться на другие сайты

Подскажите пожалуйста в чём отличие при подключении к соответствующих пинов на этих атмегах. Пины задействованы одни и теже. Какое отличие?

Да, провод минуса взял с корпуса, но какая разница, если он общий.

У тестя есть осцилограф, попробую посмотреть частоту входящего сигнала и напряжения.

mikrokontroller-atmega8.png

Ссылка на комментарий
Поделиться на другие сайты

42 минуты назад, Сергей Суслов сказал:

при подключении к соответствующих пинов

так отличий нет . У tqfp есть пара лишних портов на 19 и 22 ноге .

Ссылка на комментарий
Поделиться на другие сайты

42 минуты назад, Сергей Суслов сказал:

посмотреть частоту входящего сигнала

Какую ещё частоту? Вы вообще читаете что вам пишут?

18 часов назад, Сергей Суслов сказал:

Напряжение на входе АЦП (PCO/ADCO)
По факту, в любом режиме, хоть откликается модуль или нет или в режиме радио
Кн. назад - 2,41 В
Кн. вперед - 3,03 В
Кн. выбор папки - 3,63 В.
И заводские параметры на картинке.

Значит кнопки на руле отрабатывают более менее адекватно. Надо чтобы Mega8 тоже измерила это значение и выдала правильный сигнал управления.

18 часов назад, Сергей Суслов сказал:

Замерял сегодня на выходе с АЦП на этих выводах напряжение, при нажатии только одной кнопки идёт реакцыя, вывод подтяживается к "0", на остальных 2 выводах минимальное понижение напряжения - на 0,1 В.

А это уже вопросы к прошивке и сборке схемы в целом. 

На радиокоте внизу статьи есть ссылка на форум, можете задать свои вопросы автору.

P.S. Как по мне адаптер в статье не универсальный. Название слишком громкое.

Ссылка на комментарий
Поделиться на другие сайты

А ещё в статье что-то сказано про обучение адаптера. Здесь об этом ни слова. Кстати, на том форуме у чела похожая проблема, видимо всё-же косяк в прошивке. Автор целых три дня осваивал программирование, чтоды создать это устройство.

Ссылка на комментарий
Поделиться на другие сайты

Посмотрел программу.

1 час назад, mr_smit сказал:

вопросы к прошивке

 

1 час назад, andrusha152 сказал:

косяк в прошивке

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

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, солар сказал:

Сырая до невозможности.

Я тоже сейчас посмотрел. Как оно вообще могло адекватно работать у автора статьи.

По факту, при наличии документации на "руль", и обучения никакого не надо, просто делать замер напряжения на управляющем проводе с "руля" и подавать кратковременный импульс на нужный вывод, имитируя нажатие. Но тут надо учитывать нужно ли отслеживать удержание кнопки или нет и т.д. Ну и какой нибудь транзистор на выход, который будет подтягивать к земле кнопку на плеере. И там уж будет не важно от скольких вольт микруха в плеере питается. 411425909_.png.b2a703678d3fa5bbe596607f0a679549.png

Вместо Mega8 лучше взять Tiny85 с Али. Это сразу уберет кучу гемора с пайкой и прошивкой. Там же купить питание 12->5 вольт. На 3 кнопки как раз выводов хватит. А уж набросать скетч в Arduino и новичок сможет. После пайки меги на весу в DIP корпусе, топикстартер пищать будет от восторга когда по USB прошивку зальет.

Ссылка на комментарий
Поделиться на другие сайты

mr_smit подскажите пожалуйста.

Нужно ли учитывать дребезг контактов на кнопках руля и недожим (указывать в прошивке для Arduino погрешность).

Я видел, что мой вариант, преобразовать резистивный сигнал в аналоговый можно с помощью Arduino, но показалось это сложным. Видимо ошибался.

Вы можете помочь с написанием скетча под мой случай?

Или может подправить прошивку для Atmega 8 и будет работать мой вариант?

Насчет частоты сигнала, имелл ввиду амплитуду и характер сигнала питания, возможно он искажается. Но если Вы говорите, что прошивка сырая, то оно так и есть. Хоть и на коте утверждали иначе. Что-то же мешает работать полноценно.

Изменено пользователем Сергей Суслов
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Сергей Суслов сказал:

недожим

Нет такого понятия. Если кнопка нормально не работает, то надо ее менять. Дребезг кнопки всегда учитывают. Можно опрашивать АЦП раз в 20-30 мсек и если значение хотя бы 2 раза подряд укладывается в один из диапазонов (0.73В, 1.28В и т.д.), отведенных под кнопку, то можно считать что мы словили нажатие. Только не забывать что и при отпускании тоже есть дребезг.

2 часа назад, Сергей Суслов сказал:

помочь с написанием скетча под мой случай?

Начинайте, глядишь народ и подтянется.

2 часа назад, Сергей Суслов сказал:

может подправить прошивку для Atmega 8

Если вы приведете в порядок свой (скорее всего) клубок проводов, то можете продолжать и на нем.

Ссылка на комментарий
Поделиться на другие сайты

Подскажите, "привести в порядок свой клубок проводов", это имеется ввиду, как и говорил провести анализ  сигнала питания с помощью осцылографа" или что-то другое?

Так понимаю, как и говорили, схему питания привести к даташиту.

Думаю добавить, по совету тестя диод на выхода с контроллера, чтоб подтягивал выход к "0".

И "продолжать на нём", это нужно всё-таки корректировать прошивку именно под мой модуль и кнопки руля, без режима обучения?

Изменено пользователем Сергей Суслов
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Сергей Суслов сказал:

///

Фузы по умолчанию, перемычка импульсный режим.

руль.rar

Изменено пользователем Yuriy.pv
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Когда снова появился интерес к усилителям, тоже хотел всех обмануть, попробовал 7294 в разных схемах, 3886 тоже несколько способов приготовления, вроде и неплохо играет, если ничего другого не слушал, годится. Но червячок сподвиг сделать Натали Хоум, УХ! челюсть отвисла, наслушаться не мог, узнал, что такое сцена в звуке, динамика, детальность, да всё лучше. Вот я всегда и спрашиваю, по сравнению с какими другими УМ играет хорошо расхваливаемый усилитель.
    • @Armenn Хорошо. Сделал резистор на 5 Ом.  Результата два. 1. Если включить блок питания в сеть, а уже потом подключить резистор на 5 Ом в фиолетовый провод, тогда резистор просто будет греться.  2. Если подключить резистор на 5 Ом в фиолетовый провод, а уже потом включить блок питания в сеть, тогда случится следующее: лампочка предохранителя от КЗ засветится (через которую я подключаю БП в сеть), а блок питания начнет пищать. Заснял это на видео -   
    • Ну-вы и сравнили. Вот когда будете строить сварочный инвертор на такую частоту-то там нужно  будет учитывать скин эффект. А на частоты до 75кгц-можно забить, отбить и не принимать во внимание. Тем более-что все стараются аппараты до 200А строить. На кольце плотность тока до 15А на мм ^2, на Ш от 10А на  мм^2 А вентилятор-он все лишние тепло сдует ко льдам в Антарктиде. Проверьте монолит 2,12мм, я таким мотаю СТ. Интересно-что там с ним делается на частотах от 30 до 50кГц? Длинна провода примерно 2 метра-На сердечник Е70 влазит 18 витков
    • Добрый вечер всем!  Проблема следующая: Есть флешка с записанной файловой системой через USB MASS STORAGE DEVICES. При "втыкании"  в порт USB открывается на ПК диск с содержимым. Я подключил библиотеку Fatfs и прописал низкоуровневые функции чтения и записи в файле diskio.c Работаю с файлом так:   disk_initialize(SDFatFs.drv); if(f_mount(&SDFatFs,(TCHAR const*)USER_Path,0)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_f_mount!\r\n"); } else { if(f_open(&MyFile,"01.WAV",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File1!\r\n"); } else { Usart1_Send_String("open_File_OK1!\r\n"); } if(f_open(&MyFile,"01.wav",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File2!\r\n"); } else { Usart1_Send_String("open_File_OK2!\r\n"); UINT testBytes=0; f_read(&MyFile, buff1, 512, &testBytes); sprintf(buf1, "TestBytes=%d\r\n", testBytes); Usart1_Send_String(buf1); Usart1_Send_hex((char*)buff1, 512); Usart1_Send_String("read_File_complite!\r\n"); f_close(&MyFile); } } подправил diskio.c так:   DRESULT disk_read ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ BYTE *buff, /* Data buffer to store read data */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to read */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); sprintf(buffer0, "sector=%lu\r\n", sector); Usart1_Send_String(buffer0); w25qReadPage(buff, sector*2); w25qReadPage(buff + 256, sector*2+256); res=RES_OK; return res; } #if _USE_WRITE == 1 DRESULT disk_write ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, /* Data to be written */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to write */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); w25qWritingByUSB(sector, (uint8_t*)buff); res=RES_OK; return res; } #endif /* _USE_WRITE == 1 */ функцию чтения на самом деле пробовал прописывать по разному, все равно не корректно работает... Выдает в отладке такое:   Program start!.... sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File1! sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File2! Что я забыл еще добавить?
    • В былые годы запрещалось размещать на форуме бессмысленные темы. Видать, с тех пор правила существенно изменились.
    • скачай новый архив. там есть важные изменения в комповой программе, по сравнению с той, что я отправлял в личке. исправлены недоделки и добавлены проверки на некорректные действия.
×
×
  • Создать...