Помощь в разработке печатной платы клавиатуры CDU — «Железные» кокпиты

Не знаю, простие если лишнюю ветку пложу, но по моему тема для отдельной дискуссии

Вообщем в электронике я еще полный профан, но очень хочется это дело освоить. Сейчас занимаюсь разработкой CDU для кокпита на Raspberry PI
Программировать если что умею, но на прикладном уровне (Java, VB, Python), Микроконтроллеры программировать еще не доводилось
Если коротко то концепт которого я придерживаюсь в теме http://www.avsim.su/…на-rasperry-pi/

Нужна печатная плата матричной клавиатуры для RPi
Дополнительно на той-же плате помимо клавиатуры будут LED индикаторы (error, message, exec etc.) и подсветка клавиш, пока думаю нерегулируемая, для простоты реализации
Дано GPIO — интерфейс, к которому я собираюсь подключать этот девайс через шлейф.
Желательно чтобы устройство определялось как клавиатура обычная, а не устройство ввода требующее установки дополнительных драйверов.

Вопросы следующие:
Какой микроконтроллер лучше всего подойдет для данного решения
Какие компоненты понадобятся.

Какие темы, ветки, литературу посоветуете чтобы освоить проектирование электронных устройств.

Сейчас сижу разбираюсь с KiCAD смотрю уроки и прочее

Сообщение отредактировано artdevision: 03 February 2016 — 15:47


Ответов: 30

Не знаю, простие если лишнюю ветку пложу, но по моему тема для отдельной дискуссии

Вообщем в электронике я еще полный профан, но очень хочется это дело освоить. Сейчас занимаюсь разработкой CDU для кокпита на Raspberry PI
Программировать если что умею, но на прикладном уровне (Java, VB, Python), Микроконтроллеры программировать еще не доводилось
Если коротко то концепт которого я придерживаюсь в теме http://www.avsim.su/…на-rasperry-pi/

Нужна печатная плата матричной клавиатуры для RPi
Дополнительно на той-же плате помимо клавиатуры будут LED индикаторы (error, message, exec etc.) и подсветка клавиш, пока думаю нерегулируемая, для простоты реализации
Дано GPIO — интерфейс, к которому я собираюсь подключать этот девайс через шлейф.
Желательно чтобы устройство определялось как клавиатура обычная, а не устройство ввода требующее установки дополнительных драйверов.

Вопросы следующие:
Какой микроконтроллер лучше всего подойдет для данного решения
Какие компоненты понадобятся.

Какие темы, ветки, литературу посоветуете чтобы освоить проектирование электронных устройств.

Сейчас сижу разбираюсь с KiCAD смотрю уроки и прочее

По программе KiCAD Сергей САБ может подсказать, если что  :rolleyes: . 
Из своего опыта могу посоветовать для начала ознакомиться со спецификациями элементов , которые хотите использовать, попробовать начать для опыта с более простой схемы. Может какую-то будете копировать схему или же нет. Держать в голове то, что вы хотите получить в итоге. Ну и правила проектирования соблюдать. Ну много чего.

Дано GPIO — интерфейс, к которому я собираюсь подключать этот девайс через шлейф.
Желательно чтобы устройство определялось как клавиатура обычная, а не устройство ввода требующее установки дополнительных драйверов.

Я про малинку и вообще встроенные линухи слышал краем уха, но мне кажется эти два требования взаимоисключающие. GPIO — отдельные выводы, управляемые (вероятно)через свой драйвер. Их можно включить/выключить/прочитать. Стандартная клавиатура — совершенно другое устройство, втыкаемое в PS/2 или USB. То есть если вы повесите клавиатуру на GPIO, вам надо будет писать ее драйвер чтобы она виделась именно как стандартная клавиатура. Если вы хотите использовать драйвер клавиатуры из системы — клавиатуру надо втыкать в USB.

 

Какой микроконтроллер лучше всего подойдет для данного решения
Какие компоненты понадобятся.

Пока недостаточно информации. Если важнее использование стандартного драйвера — купите дешевую клавиатуру, распотрошите. Сэкономите кучу денег и, главное, времени.
 

Какие темы, ветки, литературу посоветуете чтобы освоить проектирование электронных устройств.

Очень трудно посоветовать книгу, которая заменила бы 5 лет ВУЗовского обучения или несколько лет радиолюбительства. Попробуйте для начала прочитать книги Айсберга «Транзистор? Это очень просто!» и «Телевидение? Это очень просто!». Из них вы получите нектороые общие представления о протекающих там процессах и базовые понятия, другая литература потом будет восприниматься легче.

Сообщение отредактировано САБ: 04 February 2016 — 12:17

Я про малинку и вообще встроенные линухи слышал краем уха, но мне кажется эти два требования взаимоисключающие. GPIO — отдельные выводы, управляемые (вероятно)через свой драйвер. Их можно включить/выключить/прочитать. Стандартная клавиатура — совершенно другое устройство, втыкаемое в PS/2 или USB. То есть если вы повесите клавиатуру на GPIO, вам надо будет писать ее драйвер чтобы она виделась именно как стандартная клавиатура. Если вы хотите использовать драйвер клавиатуры из системы — клавиатуру надо втыкать в USB.

 

В RPi на гребенке GPIO есть пины UART RX и TX (т.е. по сути на этих пинах он слушает как на обычном USB),  а так же I2С, каким-то из этих интерфейсов и собираюсь пользоваться. Конкретно ножки GPIO я в данном случае возможно буду использовать только для работы с ледами

sku_285311_10.jpg

По поводу распотрошить клавиатуру, тоже незнаком, но если любую клавиатуру возможно будет подключить на пины RX TX ну и питание с землей, то да возможно это будет самый простой вариант, далее методом тыка нужные клавиши на нужные дорожки припаять

Сообщение отредактировано artdevision: 04 February 2016 — 12:49

По поводу распотрошить клавиатуру, тоже незнаком, но если любую клавиатуру возможно будет подключить на пины RX TX ну и питание с землей, то да возможно это будет самый простой вариант,

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

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

Там даже тыкать особо не надо будет, если с погромом не торопиться ;)

Сообщение отредактировано Ghost-V: 04 February 2016 — 12:54

ЕМНИП к малине стандартную клаву можно достаточно легко приделать, поиск наверняка выдаст несколько полезных ссылок с готовыми решениями. Вариант достаточно хорош, тк всё равно придется городить нечно очень похожее. Единственно, пары индикаторов не будет хватать
Там даже тыкать особо не надо будет, если с погромом не торопиться ;)

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

Сообщение отредактировано artdevision: 04 February 2016 — 12:56

Ну вообще чисто теоретически можно и без контроллера вообще сделать, 18 пинов GPIO вполне хватит чтобы матрицу на 69 кнопок реализовать. Но придется на прикладном уровне драйвер писать, ну и не хотелось бы занимать все пины, слишком громозко мне кажется получится. И придется демона драйвера запускать еще каждый раз. И для поджига ледов, надо будет я так понимаю еще прикрутить какой-то экспандер для увеличения количества  IO

Сообщение отредактировано artdevision: 04 February 2016 — 13:17

Ну вообще чисто теоретически можно и без контроллера вообще сделать, 18 пинов GPIO вполне хватит чтобы матрицу на 69 кнопок реализовать.

Но только на это и хватит

Чтобы не мучаться особенно, есть смысл вот сюда заглянуть. Всё уже украдено до нас!©

И придется демона драйвера запускать еще каждый раз

Это как раз решаемо одноразово

Но только на это и хватит

Чтобы не мучаться особенно, есть смысл вот сюда заглянуть. Всё уже украдено до нас!©

Это как раз решаемо одноразово

 

Да это я смотрел уже, как я понял это просто разводка на разные типы коннекторов оформленная в печатную плату, и это можно подключить на прямую к пинам, даже интерфейса нет просто распайка с полупроводниками

Сообщение отредактировано artdevision: 04 February 2016 — 13:36

Да это я смотрел уже, как я понял это просто разводка на разные типы коннекторов оформленная в печатную плату, и это можно подключить на прямую к пинам, даже интерфейса нет просто распайка с полупроводниками

А там какого-то особенного интерфейса и не надо. Так, согласование-развязка на паре транзисторов. Самое главное — есть драйвер.

ЕМНИП к малине стандартную клаву можно достаточно легко приделать

У малины же USB есть. В него воткнуть обычную клавиатуру и все заработает «из коробки». Коллега приносил свою малинку, втыкал в нее мою клавиатуру «и сразу полилась вода».

В RPi на гребенке GPIO есть пины UART RX и TX (т.е. по сути на этих пинах он слушает как на обычном USB),

Во-первых то, что на разъем выведены УАПП/UART(Rx, Tx), SPI и I2C не делает их GPIO. GPIO имеет совершенно однозначную расшифровку — «General Purpose Input/Output» = «Порты ввода/вывода общего назначения», в переводе на обычный язык — ноги для ногодрыга. УАПП, SPI и I2C — совершенно другие и никак не связанные с ними интерфейсы. Во-вторых USB и УАПП(UART) похожи как велосипед и самосвал. То есть оба двигаются и на них можно перемещать одного человека, но на этом их сходство и заканчивается. Повесив клавиатуру на Rx/Tx вам все равно придется писать для нее драйвер. Я бы вам посоветовал хотя бы в википедии ознакомиться с описанием того, о чем вы пишете. Куча глупых вопросов отпадет и появятся более обдуманные.

Сообщение отредактировано САБ: 04 February 2016 — 15:34

 
Очень трудно посоветовать книгу, которая заменила бы 5 лет ВУЗовского обучения или несколько лет радиолюбительства. Попробуйте для начала прочитать книги Айсберга «Транзистор? Это очень просто!» и «Телевидение? Это очень просто!». Из них вы получите нектороые общие представления о протекающих там процессах и базовые понятия, другая литература потом будет восприниматься легче.

 

Да, книги хорошие, в юности с удовольствием перечитывал их за отцом :)

 

 

Какие темы, ветки, литературу посоветуете чтобы освоить проектирование электронных устройств.

 

 

Я бы еще порекомендовал чуть более серьезную вещь, классику так сказать, Хоровиц и Хилл «Искусство схемотехники». Минимум математики, максимум практики и того как правильно проектировать электронные схемы.

У малины же USB есть. В него воткнуть обычную клавиатуру и все заработает «из коробки». Коллега приносил свою малинку, втыкал в нее мою клавиатуру «и сразу полилась вода».
Во-первых то, что на разъем выведены УАПП/UART(Rx, Tx), SPI и I2C не делает их GPIO. GPIO имеет совершенно однозначную расшифровку — «General Purpose Input/Output» = «Порты ввода/вывода общего назначения», в переводе на обычный язык — ноги для ногодрыга. УАПП, SPI и I2C — совершенно другие и никак не связанные с ними интерфейсы. Во-вторых USB и УАПП(UART) похожи как велосипед и самосвал. То есть оба двигаются и на них можно перемещать одного человека, но на этом их сходство и заканчивается. Повесив клавиатуру на Rx/Tx вам все равно придется писать для нее драйвер. Я бы вам посоветовал хотя бы в википедии ознакомиться с описанием того, о чем вы пишете. Куча глупых вопросов отпадет и появятся более обдуманные.

 

Что там USB есть это я в курсе, и их всего два в моей версии, понятно что можно прицепить хаб и т.д. Смысл в том что я хочу оставить их свободными для других нужд, для настройки, подключения мыши или WiFi донгла, как то так, по этому и хочу подключаться через интерфейсы которые выведены на ноги. Мне кажется так, чтоли более эстетично будет

Сообщение отредактировано artdevision: 04 February 2016 — 16:14

Тогда придется писать свой драйвер.

Что там USB есть это я в курсе, и их всего два в моей версии, понятно что можно прицепить хаб и т.д. Смысл в том что я хочу оставить их свободными для других нужд, для настройки, подключения мыши или WiFi донгла, как то так, по этому и хочу подключаться через интерфейсы которые выведены на ноги. Мне кажется так, чтоли более эстетично будет

КМК ориентироваться надо всё таки на конечный продукт. Определиться, как он должен выглядеть, физически и функционально, и исходя из этого уже раздавать сестрам по серьгам. Для всякой технологической возни всегда будет под рукой телнет.
Почти идеальным ИМХО был бы вариант «коробка с эзернетом», питаемая по тому же етх

зы Кстсти, так ли уж нужна именно печатная плата для единичного изделия, особенно если использовать готовый клавиатурный контроллер? Понятно, что это «понтовитей» ;), но накрутка или навесной монтаж кмк в данном случае вполне годятся. В каком-то смысле даже выгоднее, если вспомнить про возможные дурацкие ошибки :yes:

Сообщение отредактировано Ghost-V: 04 February 2016 — 17:12

КМК ориентироваться надо всё таки на конечный продукт. Определиться, как он должен выглядеть, физически и функционально, и исходя из этого уже раздавать сестрам по серьгам. Для всякой технологической возни всегда будет под рукой телнет.
Почти идеальным ИМХО был бы вариант «коробка с эзернетом», питаемая по тому же етх

зы Кстсти, так ли уж нужна именно печатная плата для единичного изделия, особенно если использовать готовый клавиатурный контроллер? Понятно, что это «понтовитей» ;), но накрутка или навесной монтаж кмк в данном случае вполне годятся. В каком-то смысле даже выгоднее, если вспомнить про возможные дурацкие ошибки :yes:

Этого я в принципе и хочу коробку с эзернетом, можно вообще без проводов по вафле, только питание подать, но телнет, телнетом, а сетевые настройки тоже делать надо и лучше клавы с мышкой (полноценных) еще не придумали. К малине можно и по ssh в терминальном режиме подключиться, но как минимум надо хотябы сетевой интерфейс настроить

Ну макетную плату я прикупил, чето уже плюхаюсь тут потихоньку, до печатной платы пока конечно далеко, надо хотябы принципиальную схему нарисовать. отладить так сказать. 
Это так сказать для саморазвития, чтобы научится эти печатные платы самому проектировать, «печатать» паять.

 

А там глядишь если ченить годное получится, дак можно будет форумчанам киты по антикризисным ценам продавать ;) Я уже как писал в своей ветке про CDU, анализ готовых решений, выявил неоправданно дорогую стоимость этих девайсов, да еще и в евро или вечно-зеленых, при том что там ничего кроме клавиатуры и VGA дисплея и нет (тупо запихали монитор и клаву в один корпус), комплектующих на 5-6 килорублей, а просят под штуку баксов, жаба давит спасу нет 

Сообщение отредактировано artdevision: 04 February 2016 — 17:33

А там глядишь если ченить годное получится, дак можно будет форумчанам киты по антикризисным ценам продавать ;)

«Любая работа кажется простой в начале и в конце». Дерзайте! Пожуем-увидим.

анализ готовых решений, выявил неоправданно дорогую стоимость этих девайсов,

Вы просто не умеете ее считать.

«Любая работа кажется простой в начале и в конце». Дерзайте! Пожуем-увидим.
Вы просто не умеете ее считать.

Ну-у, ВГА с кнопками по цене не самого дешёвого ноута… Вон Космополитэн(емнип) продавал подобную железяку по цене журнала ;)

Сообщение отредактировано Ghost-V: 04 February 2016 — 18:56

Это исключительно вопрос тиража. В стоимость должны быть включены все затраты на разработку, включая потраченное за время разработки электричество и непотраченное на укрепление семьи личное время. Если вы готовы купить указанную «ВГА с кнопками» в количестве, сопоставимом с тиражом «Космополитена» — цена будет близка к цене журнала.

Это исключительно вопрос тиража.

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

зы А журнал тот был Vogue. И совершенно феерическая картинка — женский журнал покупают чуть не с дракой странного вида патлатые мужики :crazy:

Сообщение отредактировано Ghost-V: 04 February 2016 — 22:43

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

зы А журнал тот был Vogue. И совершенно феерическая картинка — женский журнал покупают чуть не с дракой странного вида патлатые мужики :crazy:

Тут согласен за такую цену сертифицированные авиационные ефисы что попроще прикупить можно, а там хоть есть за что платить всетаки девайс готовый и самодостаточный

Прочитал тему,если интересно,несколько старниц вперёд пролистайте,там есть тема по FMC для Боинга 738. Там и чертеже панелек и платы готовые,если планируется кокпит домашний-можно спокойно использовать контроллер Стаса F3,там можно реализовать практически всю кабину.

Прочитал тему,если интересно,несколько старниц вперёд пролистайте,там есть тема по FMC для Боинга 738. Там и чертеже панелек и платы готовые,если планируется кокпит домашний-можно спокойно использовать контроллер Стаса F3,там можно реализовать практически всю кабину.

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

Поспрашивал тут на форумах, говорят можно i2C экспандер MCP23017 использовать (3 микросхемы хватить должно), если я правильно понял там вообще контроллер в таком случае незачем будет, на ноги интерфейс подключить и обработку на питоне написать.

Поспрашивал тут на форумах, говорят можно i2C экспандер MCP23017 использовать (3 микросхемы хватить должно), если я правильно понял там вообще контроллер в таком случае незачем будет, на ноги интерфейс подключить и обработку на питоне написать.

Для общения с кнопками имхо не самое подходящее решение. Весь пар уйдет в свисток, в смысле проц будет занят ощупыванием состояния кнопок

Для общения с кнопками имхо не самое подходящее решение. Весь пар уйдет в свисток, в смысле проц будет занят ощупыванием состояния кнопок

 

Ну там таки не контроллер а ARM, считай полноценный пень =) почти, еслиб ардуина была какая, то можно было бы переживать, его ресурсов с головой хватит, ну так ради эксперимента замерю сколько будет жрать программка

Сообщение отредактировано artdevision: 05 February 2016 — 16:54

Ну там таки не контроллер а ARM, считай полноценный пень =) почти, его ресурсов с головой хватит, ну так ради эксперимента замерю сколько будет жрать программка

Если так уж хочется использовать I2C, то стОит поискать что-то вроде ADP5588. Оно хоть дурную работу по сканированию матрицы само сделает. А на этих расширителях делать, если только с индивидуальными подключениями всех кнопок, иначе даже прерывания не задействовать

Сообщение отредактировано Ghost-V: 05 February 2016 — 17:00

Если так уж хочется использовать I2C, то стОит поискать что-то вроде ADP5588. Оно хоть дурную работу по сканированию матрицы само сделает. А на этих расширителях делать, если только с индивидуальными подключениями всех кнопок, иначе даже прерывания не задействовать

Да я тоже натыкался на нее, насколько я понял она программируемая, соответственно программатор еще нужен к ней, может ошибаюсь.
Кроме того форм-фактор, слишком для меня тонкая работа ))) могу попортить. и не воткнуть ее никак в макетную плату, если только есть уже впаянные в платку с ногами для макетки варианты

Да я тоже натыкался на нее, насколько я понял она программируемая, соответственно программатор еще нужен к ней, может ошибаюсь.

Программируемая она в том смысле, что требует для работы загрузки нескольких байт/слов, определяющих режим работы, через стандартный интерфейс. Упомянутый ранее Микрочип настраивается похожим образом.

Кроме того форм-фактор, слишком для меня тонкая работа ))) могу попортить. и не воткнуть ее никак в макетную плату, если только есть уже впаянные в платку с ногами для макетки варианты

Да, корпус на редкость удобный ;) Но добрые люди под них переходники к обычным dip’ам выпускают. Или просто кроватку взять.

Программируемая она в том смысле, что требует для работы загрузки нескольких байт/слов, определяющих режим работы, через стандартный интерфейс. Упомянутый ранее Микрочип настраивается похожим образом.

Т.е. если я правильно понял, то драйвером конфигурируется какой-то мессадж  с конфигурацией при инициализации и отправляется на микросхему по тому же i2C интерфейсу?

Сообщение отредактировано artdevision: 05 February 2016 — 22:09

Т.е. если я правильно понял, то драйвером конфигурируется какой-то мессадж  с конфигурацией при инициализации и отправляется на микросхему по тому же i2C интерфейсу?

Да, или специализированный драйвер этим занимается, или программа через некий генерик прямо в порт