![]() |
Цитата:
Бонусами уже идет то, что памяти в 4 раза больше, ОЗУ больше в 26 раз :spiteful: и тактовая в 6. Компилятор от IAR уже имеет все нужные примеры для HID устройств. А разводить особо ничего и не требуется, все уже развели и детальки напаяли, только пользуй. |
Неее.. пик не хочу. Уж лучше stm32. Но вопрс был не в том как сделать новое устройство, а в том как оживить имеющееся...
|
А зря, буквально пару строк и готовые либы...готовая железка. Но соглашусь, что лучше уже STM32 осваивать. Это перспективней, не говоря уже о периферии за те же деньги. ПИК и АВР унылое гафно. Сам все не соберусь перелезть на АРМ, бо лень и нужно кучу док слюнявить, что бы элементарные вещи сделать ибо докуя всяких регистров дернуть нужно, чтобы ногой тупо пошевелить.
|
Цитата:
|
Накосячить можно на всех МК независимо какого они роду племени, но будущего у них уже нет. ПИКи выигрывают своей номенклатурой, хотя раньше сам сидел на АВР и сегодня в изделии юзаю Mega48. XMega пролетает с ценой по сравнению с АРМ.
|
Кстати, главная проблема в переходе на stm32 не софтовая, а аппаратная. Плата на меге, которая делает все что надо, уже есть. А вот для stm32 разводить и изготавливать надо. Первое займет немало времени, если делать хорошо, а второе - в единичном количестве я даже не знаю где уже и сделать хорошую двусторонку хотя бы третьего класса точности... Только от 3х дм2, но зачем мне столько...
|
|
Цитата:
Так что разводить все равно надо... |
Цитата:
|
Это правда. Но это ж не наши методы... Устройство должно быть не только функциональным, но и красивым )))
|
Вложений: 1
Цитата:
Вложение 41133 |
Добрый день
Хочу повторить устройство, есть пара вопросов... Нет ли ошибок в схеме ? На вход используется один порт ADC в Меге их 8 возможно ли использовать еще ? На руле в Одиссее две группы кнопок (4 и 5)... Конфигуратор узнает клавиатуру только после подключения ? Спасибо |
Привет!
В схеме ошибок быть не должно. По-крайней мере быть могут, но я их за время эксплуатации не выявил ) использовать еще можно. Только нужно ли? У меня на руле используются 10кнопок, все уживаются нормально. Для использования двух и более линий нужно менять софт модуля и конфигуратора. Стоит ли оно того? Не уверен. В конфигураторе можно вводить сопротивления кнопок, напряжения на кнопках. Но увы, у резисторов есть погрешности, у ацп тоже. Можно поставить допуски побольше, но лучше прощелкать саму клаву и снять ее параметры устройством. ИМХО. |
Вложений: 1
Спасибо за быстрый ответ. Вопрос по фьюзам, у меня как на рисунке, как нужно поставить правильно ? (Мегу первый раз держу в руках).
В еепром шьется что-то ? http://pccar.ru/attachment.php?attac...1&d=1444808735 |
Вложений: 1
Контроллер прошил. Фьюзы поставил вот так (не уверен что правильно...) пока не шил. Подскажите как правильно ?
http://pccar.ru/attachment.php?attac...1&d=1444816604 |
Почему то не запустилось на win7x64 ? (Неизвестное устройство). Но опозналось на ХР 32. Завтра подстыкую кнопки...
Все заработало... Подхватились все девять кнопок, две линейки 4 и 5 пришлось слить в одну подтянуть к питанию. Спасибо автору, хороший проект! |
Сорри, что долго не выходил на связь..
Я рад, что все заработало! Я так понял, на вин7 тоже заработало? Если да - почему не работало? |
Цитата:
Нет, под win7 говорит "устройство сообщило о проблемах и было отключено..." Еще есть вопрос по функционалу - какой командой в конфигураторе выдать в порт 5 вольт или 0 ? Подскажите... Забыл добавить, рабочее применение устройства - планшет на андроиде, управление без тача. |
Цифровые выходы (8 штук) - это просто 8мибитный порт атмеги.
В конфигураторе есть три поля с неочевидными названиями и функционалом: Port Data, Port Init, Port Trig. В них записываются шестнадцатиричные значения. Каждый бит значения - это ножка порта. Работают они следующим образом: 1. При старте в порт записывается значение из Port Init. В текущей реализации для всех кнопок должно быть установлено одинаковое значение. 2. Биты в PortData показывает какие каналы будут меняться при нажатии на кнопку. 3. Биты в PortTrig показывают какие каналы будут меняться обратно при отпускании кнопки (0), а какие не будут (1). Пример: у нас на канал 1 подключены противотуманки. Изначальное состояние "выключено" соответствует 0 на выходе. Каждое нажатие кнопки должно менять состояние противотуманок. Иными словами - одно нажатие - включить, второе - выключить. А на канал 2 у нас подключен насос форсунок омывателя фар. Причем по схемотехнике схемы управления выключенное состояние - это 1 на выходе порта. При этом нам надо сделать так, чтобы при нажатии на кнопку он включался, а при отпускании выключался. Как такое сделать... Биты в порту нумеруются так: 7 6 5 4 3 2 1 0. Нас интересуют биты 1 и 2 (второй и третий справа). Т.к. начальное состояние бита 1 должно быть 0, а бита 2 - 1, то запишем регистр инит: х х х х х 1 0 х, где х - это любое состояние. Примем, что неиспользуемые порты будут изначально выключены (0), поэтому получим двоичное значение 00000101. В шестнадцатиричном виде это будет 0x05. Это значение запишем в PortInit для всех кнопок. Далее - кнопка противотуманок влияет только на канал 1, а насоса - только на канал 2. Поэтому запишем для них значения регистра PortData: ПТФ: 00000010 = 0x02 насос: 00000100 = 0x04 Ну и что делать при нажатии на кнопку: ПТФ управляется триггерно (опрокидывается при каждом нажатии), а насос - нет (включается при нажатии, выключается при отпускании). Поэтому запишем в PortTrig следующие значения: ПТФ: 00000010 = 0x02 насос: 00000000 = 0x00. Вот где-то так.. Понимаю, что сумбурно и не очевидно, но это было простейшим вариантом при реализации, и т.к. настраивается раз в жизни - уже в этом проекте так и останется ))) |
Понял, спасибо...
Просто пробовал шевелить PD5 (PORT5) 9pin не шевелится, а вот PC1 PC2 отзываются на 0х01 0х02. Завел лампочку на РС1 теперь при нажатии любой кнопки загорается, показывает нажатие ... (PD и PC вроде разные порты ?) Мысль то простая, ронять планшет в ОТГ по нажатию любой клавиши... |
Вложений: 1
Посмотрел исходники - у меня ошибка в работе порта D. Он инициализирован как вход. Моя лажа )))
Исправление - в аттаче. Но я его не проверял, уже не на чем. Поэтому напиши, плз, заработает или нет ) |
Да, пока у меня все на столе проверю...
|
Покурил тему, буду собирать себе в Одика (RB1 Abs) тоже такое!
а кнопки подрулевые на разных шлейфах? (там где голосовая связь и телефонная книга) и попутно еще вопрос - какая погрешность по сопротивлениям? из опыта?! ОффТоп: первый мой пост на ПиСиКаре за 5 лет ))) только читателем был ,тут решил что пора выходить из сумрака чтивого))) |
Насчет Одика ничего не скажу, а диапазон допустимых значений ты можешь задать таким, каким хочешь. Там в конфигураторе настраиваются среднее значение и максимальное отклонение.
|
Вложений: 2
Я увеличил защитный интервал до 15 , ложных срабатываний нет, все четко... У Одиссея два шлейфа уходят на руль, я соединил их в один. Вот схема http://pccar.ru/attachment.php?attac...1&d=1445495008
http://pccar.ru/attachment.php?attac...1&d=1445495107 |
Одно но - и там и там есть резистор на 470 Ом. Поэтому без перепайки не обойтись.
|
Схемы срисованы с реальных кнопок, разница в том что резисторы стоят последовательно и значения не повторяются! Вот мои значения напряжений при паралельном включении 4.63 4.29 4.06 3.19 2.97 2.18 1.6 0.88 0.45 и да я изменил схему подтянув все к 5В через 470 Ом и убрал оба 10кОм иначе больше 2.6Вольт при 5В питании получить с кнопок в таком включении нельзя (так они растянуты по 0-5В) Можно вообще не убирать 10кОм и подключить к 12В но питание в машине может плавать в больших пределах чем на шине USB планшета. Результат такой - ни одна кнопка не нажата на выходе 5В ровно, нажата любая напряжение меняется.
Сопротивления разные, в первом 100+270+470=840 Ом во втором шлейфе 47+180+470=697 Ом. |
Да, ты прав! Чет я спросоння не подумал об этом )
|
Почему то периодически слетают данные в ЕЕПРОМ ? Меняются значения или пропадает одна из кнопок, при чтении иногда дает wrong version! с чем связано не пойму, системы нет. Переделал на отдельное питание не от хоста и все равно слетает, где можно посмотреть ? Может сбросовую цепь увеличить номиналы ? Поставил все в машину и второй день обкатываю. Был бы конфигуратор на андроиде можно было поправить, а так придется нотик с ХР тащить в машину что дико не удобно...
|
Попробуй включить brown-out detector в фузах. Может помочь.
|
Цитата:
|
Все равно. Но в пятивольтовой схеме, думаю, лучше 4.
|
Цитата:
|
Вроде допилил, все причесал и поставил в машину... Пришлось добавить зарядку на планшет и ключи перехода в хост. Погоняю, потестирую...
|
Активация браун-аут детектора помогла?
|
Цитата:
|
Перешил сегодня, заметил что сбои происходит при заводке когда активен хост. За 10 дней работы два сбоя. Буду тестить дальше...
|
Любопытненько...
Давай подробнее - что происходит после сбоя? Теряется вся еепром или только кусок? Расшифруй подробнее фразу "сбои происходит при заводке когда активен хост", плз. |
Попробую... меняются данные в еепром, иногда частично, пропадает например назначенная кнопка или прописывается левый код на rcAdd rcCmd или левое значение напряжения на кнопку иногда не читается устройство вообще выдавая Wrong Version! У меня планшет с одним портом и через него еще и зарядка. Сейчас сделано так если АСС включен зарядка выключена и контакт 4(host) на земле идет управление с кнопок. Если АСС выключен 4 пин отключен и включена зарядка. Процесс перехода в хост около 3-4 сек и если за это время успел завести мотор все работает. Если заводишь когда хост активен может сбойнуть. Получается момент когда два УСБ устройства подключены паралельно к одним проводам.
P.S. За 4 дня тестов положить не удалось, видимо помогла активация... Планирую увеличить количество кнопок в два раза с чем и вопрос - банков всего два или все же три ? |
Сегодня заметил странное, ставлю в конфигураторе банк 2 значение ADC 680 diff 30 записываю в устройство , считываю устройство банк 1 ADC 1023 diff 0... Сохраняю изменения в файл, читаю тоже самое банк 1 ADC 1023 diff 0.
|
Часовой пояс GMT +4, время: 08:50. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot