PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Разработка устройств (http://pccar.ru/forumdisplay.php?f=18)
-   -   Многофункциональная USB клавиатура (http://pccar.ru/showthread.php?t=19742)

YAM1966 25.09.2015 21:13

Цитата:

Сообщение от awtoap (Сообщение 339009)
Возьми PIC18F14K50 замечательная штукенция и скачай компиль от Mikroe. Там есть многие готовые библиотеки.

При практически одинаковой цене PIC18F14K50 и STM32F103C8T6 последний выигрывает, это все-же 32 битный ARM.
Бонусами уже идет то, что памяти в 4 раза больше, ОЗУ больше в 26 раз :spiteful: и тактовая в 6.
Компилятор от IAR уже имеет все нужные примеры для HID устройств.
А разводить особо ничего и не требуется, все уже развели и детальки напаяли, только пользуй.

Alex_St 26.09.2015 13:42

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

awtoap 26.09.2015 15:23

А зря, буквально пару строк и готовые либы...готовая железка. Но соглашусь, что лучше уже STM32 осваивать. Это перспективней, не говоря уже о периферии за те же деньги. ПИК и АВР унылое гафно. Сам все не соберусь перелезть на АРМ, бо лень и нужно кучу док слюнявить, что бы элементарные вещи сделать ибо докуя всяких регистров дернуть нужно, чтобы ногой тупо пошевелить.

YAM1966 26.09.2015 15:45

Цитата:

Сообщение от awtoap (Сообщение 339033)
А зря, буквально пару строк и готовые либы...готовая железка. Но соглашусь, что лучше уже STM32 осваивать. Это перспективней, не говоря уже о периферии за те же деньги. ПИК и АВР унылое гафно. Сам все не соберусь перелезть на АРМ, бо лень и нужно кучу док слюнявить, что бы элементарные вещи сделать ибо докуя всяких регистров дернуть нужно, чтобы ногой тупо пошевелить.

Неееее, AVR еще как! Особенно atmega8a вне конкуренции. Такого можно на ней еще накосячить! :derisive:

awtoap 26.09.2015 15:53

Накосячить можно на всех МК независимо какого они роду племени, но будущего у них уже нет. ПИКи выигрывают своей номенклатурой, хотя раньше сам сидел на АВР и сегодня в изделии юзаю Mega48. XMega пролетает с ценой по сравнению с АРМ.

Alex_St 26.09.2015 17:53

Кстати, главная проблема в переходе на stm32 не софтовая, а аппаратная. Плата на меге, которая делает все что надо, уже есть. А вот для stm32 разводить и изготавливать надо. Первое займет немало времени, если делать хорошо, а второе - в единичном количестве я даже не знаю где уже и сделать хорошую двусторонку хотя бы третьего класса точности... Только от 3х дм2, но зачем мне столько...

awtoap 26.09.2015 18:54

По поводу печатки можеш СЮДА заглянуть. Заказывал у них прототипы. Ну или в китай где делают по 10 плат за адекватную цену, например ВОТ.

Alex_St 28.09.2015 13:25

Цитата:

Сообщение от YAM1966 (Сообщение 339010)
А разводить особо ничего и не требуется, все уже развели и детальки напаяли, только пользуй.

Так то оно так, но на этой плате не разведены 5В цифровые выходы, надо допаивать детальки для входов с защитой, не разведен мощный выход ЦАП, который нужен для моих целей.. Эта плата больше годится как борда для отладки решений.
Так что разводить все равно надо...

YAM1966 28.09.2015 13:41

Цитата:

Сообщение от Alex_St (Сообщение 339162)
Так то оно так, но на этой плате не разведены 5В цифровые выходы, надо допаивать детальки для входов с защитой, не разведен мощный выход ЦАП, который нужен для моих целей.. Эта плата больше годится как борда для отладки решений.
Так что разводить все равно надо...

Ну, все что перечислили очень просто на обычной макетке напаять и пристегнуть борду :yes4:.

Alex_St 28.09.2015 14:10

Это правда. Но это ж не наши методы... Устройство должно быть не только функциональным, но и красивым )))

YAM1966 28.09.2015 14:39

Вложений: 1
Цитата:

Сообщение от Alex_St (Сообщение 339171)
Это правда. Но это ж не наши методы... Устройство должно быть не только функциональным, но и красивым )))

Эх... были времена когда и такое считалось красивым :derisive:
Вложение 41133

Alex EX 13.10.2015 18:12

Добрый день
Хочу повторить устройство, есть пара вопросов... Нет ли ошибок в схеме ? На вход используется один порт ADC в Меге их 8 возможно ли использовать еще ? На руле в Одиссее две группы кнопок (4 и 5)... Конфигуратор узнает клавиатуру только после подключения ?
Спасибо

Alex_St 13.10.2015 21:15

Привет!
В схеме ошибок быть не должно. По-крайней мере быть могут, но я их за время эксплуатации не выявил )
использовать еще можно. Только нужно ли? У меня на руле используются 10кнопок, все уживаются нормально. Для использования двух и более линий нужно менять софт модуля и конфигуратора. Стоит ли оно того? Не уверен.
В конфигураторе можно вводить сопротивления кнопок, напряжения на кнопках. Но увы, у резисторов есть погрешности, у ацп тоже. Можно поставить допуски побольше, но лучше прощелкать саму клаву и снять ее параметры устройством. ИМХО.

Alex EX 14.10.2015 11:47

Вложений: 1
Спасибо за быстрый ответ. Вопрос по фьюзам, у меня как на рисунке, как нужно поставить правильно ? (Мегу первый раз держу в руках).
В еепром шьется что-то ?

http://pccar.ru/attachment.php?attac...1&d=1444808735

Alex EX 14.10.2015 13:57

Вложений: 1
Контроллер прошил. Фьюзы поставил вот так (не уверен что правильно...) пока не шил. Подскажите как правильно ?

http://pccar.ru/attachment.php?attac...1&d=1444816604

Alex EX 15.10.2015 17:44

Почему то не запустилось на win7x64 ? (Неизвестное устройство). Но опозналось на ХР 32. Завтра подстыкую кнопки...

Все заработало... Подхватились все девять кнопок, две линейки 4 и 5 пришлось слить в одну подтянуть к питанию.
Спасибо автору, хороший проект!

Alex_St 19.10.2015 10:17

Сорри, что долго не выходил на связь..
Я рад, что все заработало! Я так понял, на вин7 тоже заработало? Если да - почему не работало?

Alex EX 19.10.2015 11:20

Цитата:

Сообщение от Alex_St (Сообщение 340785)
Сорри, что долго не выходил на связь..
Я так понял, на вин7 тоже заработало? Если да - почему не работало?

Добрый день
Нет, под win7 говорит "устройство сообщило о проблемах и было отключено..."
Еще есть вопрос по функционалу - какой командой в конфигураторе выдать в порт 5 вольт или 0 ? Подскажите...
Забыл добавить, рабочее применение устройства - планшет на андроиде, управление без тача.

Alex_St 19.10.2015 12:03

Цифровые выходы (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.

Вот где-то так..
Понимаю, что сумбурно и не очевидно, но это было простейшим вариантом при реализации, и т.к. настраивается раз в жизни - уже в этом проекте так и останется )))

Alex EX 19.10.2015 13:55

Понял, спасибо...
Просто пробовал шевелить PD5 (PORT5) 9pin не шевелится, а вот PC1 PC2 отзываются на 0х01 0х02. Завел лампочку на РС1 теперь при нажатии любой кнопки загорается, показывает нажатие ... (PD и PC вроде разные порты ?)

Мысль то простая, ронять планшет в ОТГ по нажатию любой клавиши...

Alex_St 19.10.2015 14:16

Вложений: 1
Посмотрел исходники - у меня ошибка в работе порта D. Он инициализирован как вход. Моя лажа )))
Исправление - в аттаче. Но я его не проверял, уже не на чем. Поэтому напиши, плз, заработает или нет )

Alex EX 19.10.2015 18:27

Да, пока у меня все на столе проверю...

DenisK 21.10.2015 20:49

Покурил тему, буду собирать себе в Одика (RB1 Abs) тоже такое!
а кнопки подрулевые на разных шлейфах? (там где голосовая связь и телефонная книга)
и попутно еще вопрос - какая погрешность по сопротивлениям? из опыта?!

ОффТоп: первый мой пост на ПиСиКаре за 5 лет ))) только читателем был ,тут решил что пора выходить из сумрака чтивого)))

Alex_St 21.10.2015 22:34

Насчет Одика ничего не скажу, а диапазон допустимых значений ты можешь задать таким, каким хочешь. Там в конфигураторе настраиваются среднее значение и максимальное отклонение.

Alex EX 22.10.2015 08:28

Вложений: 2
Я увеличил защитный интервал до 15 , ложных срабатываний нет, все четко... У Одиссея два шлейфа уходят на руль, я соединил их в один. Вот схема http://pccar.ru/attachment.php?attac...1&d=1445495008
http://pccar.ru/attachment.php?attac...1&d=1445495107

Alex_St 22.10.2015 10:28

Одно но - и там и там есть резистор на 470 Ом. Поэтому без перепайки не обойтись.

Alex EX 22.10.2015 10:45

Схемы срисованы с реальных кнопок, разница в том что резисторы стоят последовательно и значения не повторяются! Вот мои значения напряжений при паралельном включении 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 Ом.

Alex_St 22.10.2015 10:50

Да, ты прав! Чет я спросоння не подумал об этом )

Alex EX 31.10.2015 11:40

Почему то периодически слетают данные в ЕЕПРОМ ? Меняются значения или пропадает одна из кнопок, при чтении иногда дает wrong version! с чем связано не пойму, системы нет. Переделал на отдельное питание не от хоста и все равно слетает, где можно посмотреть ? Может сбросовую цепь увеличить номиналы ? Поставил все в машину и второй день обкатываю. Был бы конфигуратор на андроиде можно было поправить, а так придется нотик с ХР тащить в машину что дико не удобно...

Alex_St 31.10.2015 12:11

Попробуй включить brown-out detector в фузах. Может помочь.

Alex EX 31.10.2015 19:39

Цитата:

Сообщение от Alex_St (Сообщение 342103)
Попробуй включить brown-out detector в фузах. Может помочь.

Попробую, какой уровень поставить 2.7В или 4.0В ?

Alex_St 31.10.2015 23:34

Все равно. Но в пятивольтовой схеме, думаю, лучше 4.

Alex EX 02.11.2015 10:08

Цитата:

Сообщение от Alex EX (Сообщение 340545)
Почему то не запустилось на win7x64 ? (Неизвестное устройство). Но опозналось на ХР 32.

Подключилось и к win7x64 но через хаб, видимо привередливо к УСБ портам или к длинне проводов и к питанию с них.

Alex EX 02.11.2015 12:04

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


Alex_St 02.11.2015 12:13

Активация браун-аут детектора помогла?

Alex EX 02.11.2015 12:17

Цитата:

Сообщение от Alex_St (Сообщение 342269)
Активация браун-аут детектора помогла?

Пока не проверил... Отпишусь по факту. В машине прошить не получается, надо снимать и тащить на програматор. Дождусь сбоя и тогда сниму, буду разбираться...

Alex EX 13.11.2015 19:03

Перешил сегодня, заметил что сбои происходит при заводке когда активен хост. За 10 дней работы два сбоя. Буду тестить дальше...

Alex_St 13.11.2015 19:33

Любопытненько...
Давай подробнее - что происходит после сбоя? Теряется вся еепром или только кусок?
Расшифруй подробнее фразу "сбои происходит при заводке когда активен хост", плз.

Alex EX 13.11.2015 21:16

Попробую... меняются данные в еепром, иногда частично, пропадает например назначенная кнопка или прописывается левый код на rcAdd rcCmd или левое значение напряжения на кнопку иногда не читается устройство вообще выдавая Wrong Version! У меня планшет с одним портом и через него еще и зарядка. Сейчас сделано так если АСС включен зарядка выключена и контакт 4(host) на земле идет управление с кнопок. Если АСС выключен 4 пин отключен и включена зарядка. Процесс перехода в хост около 3-4 сек и если за это время успел завести мотор все работает. Если заводишь когда хост активен может сбойнуть. Получается момент когда два УСБ устройства подключены паралельно к одним проводам.

P.S. За 4 дня тестов положить не удалось, видимо помогла активация... Планирую увеличить количество кнопок в два раза с чем и вопрос - банков всего два или все же три ?

Alex EX 18.11.2015 10:42

Сегодня заметил странное, ставлю в конфигураторе банк 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