RSS
people

Танк — продолжение. RaspiNoter

И таки да! Есть продолжение этой истории.

Только немного в другую сторону. Сегодня речь пойдет не про сам танк, а про то, чем будем им управлять в (может и не столь далеком) будущем.

Завалялся у меня на полках вот такой вот аппарат

IMAG1526

(далее много фоток, наберитесь терпения для загрузки)

Это был старенький ноутбук на базе 486го проца и чернобелого экрана. Рабочий причем. И даже грузился в DOS. Но... производительность его доставляла, конечно. Да и чего с ним делать, когда все средства разработки под этот раритет довольно сложно стало достать (но возможно!).

И решено было его переделать под что то более удобоваримое. И первое, что пришло в голову — Малина!

И так, определим, что нужно доделать, чтоб осуществить задуманное.

  • Питание — родные батарейки благополучно сдохли, но еще остались, что позволило снять размеры блока. Блок питания тоже надо будет дорабатывать.
  • Клавиатура — родная клава с электрической точки зрения — обычная матрица. Надо контроллер варганить, который к малине через USB подключается
  • Дисплей — родная матрица была чернобелой и безконтроллерной, а у малины есть только выход HDMI. Потому было решено взять что-то готовое, подключаемое к малине через HDMI.

Собрав все пунткы в кучу — приступаем.

Питание.

Чем можно заменить в наше время старые батарейки? Ну кончено Литий-Ионом! Идем в «эти ваши интернеты» и ищем. Нашли баночки 18650, потом у братьев китайцев нашли платку BMS, для сбалансированного питания, подходящего размера и пытаемся все это соединить вместе. Для начала вот такой вот корпусок:

IMAG1733

Для сравнения — вот рядом со старым блоком батарей:

IMAG1729

Вставляем в новый корпус балансир BMS:

IMAG1731

Ну и батарейки не забываем:

IMAG1734

Эти вот пленочки нужны, чтоб извлекать батарейки из посадочного места. А то если их один раз туда засунуть, то потом только отверткой можно их оттудова выковырять.

Получился вот такой вот аккуратный аккумуляторный блок:

IMAG1732

Чтобы все это безобразие заряжать, пришлось сдедать и заряжатор!

IMAG2348~01

IMAG2349~01

Опробован на уже давно лежащем блочке батареек. Вроде работает. Можно использовать.

IMAG2379

Заряжатор был построен на базе BQ24725a. Это немного «туповатая» версия BQ-шки. Ей надо постоянно «объяснять» чего делать надо с батарейкой, какой химии она, каким током заряжается, и до какого уровня. Поэтому прилепил еще и микроконтроллер ей, STM32F40x. Он то этим всем и занимается.

Так же была идея сделать кнопку включения, как в современных компах, нажал — включилось, нажал и подержал секунд 5 — выключилось. А если при нажатии уже во включенном состоянии, ничего не должно происходить. Конечно можно было бы взять готовую микруху для этого, но мы не ищем легких путей, и потому собрал все на рассыпухе:

SwitchSch

Схемка в pdf, если кому интересно.

Так же с этим включателем получилась такая любопытная фича — из распберри при выключении можно выключить себе питание. В линуксе можно задать пин, который будет дрегаться, когда закончится скрипт выключения. И этот пин заведен на вход SWITCH_IT_OFF на схеме (около P4), и все выключается. Так что получилось все совсем как у взрослых компов.

Так как сетевой адаптер выдает 24 вольта (надо для заряда батареи), а сама батарея выдает от 12-ти до почти 17 вольт, а распи питается от 5-ти вольт, то построил такой вот Buck-Bust DC-DC конвертор на базе LTC3780G, который высосет из батарее все до последнего:

DCDC_01 DCDC_02

 

 Клавиатура.

Для начала чиним шлейфы, а то контакты поизносились малость

IMAG2539~01

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

Затем паяем вот такую вот платку:

IMAG2606

Это контроллер клавиатуры, который опрашивает матрицу клавиш и переводит их в сигналы USB. Сам он претворяется стандартным USB HID девайсом Клавиатура, причем, если память не изменяет, legacy, чтоб работал не только в Виндовсах но и в Биосе. Так же он еще претворяется мышкой, но эта часть почему то не взлетела. Пример работает, но вот управлять курсором как то не получилось толком. Ну и до кучу он еще претворяется USB HID Custom. И из него можно считать текущее время. Если знать как. Т.е. надо программу для компа свою делать. Ну нам сейчас важна функциональность клавиатуры.

IMAG2111Keyboard

Вот примерно так это выглядит. Распознается клавиатура как под линуксами так и под виндами.

Дисплей

На просторах интернетов нашел дсиплейчик с HDMI платой:

Display_00

К сожалению сам процесс вкорячивания я не заснял, поэтому только готовый вариант, но с внутренностями:

IMAG2490

IMAG2488~01

IMAG2486IMAG2485

IMAG2487

 

IMAG2495 IMAG1728

Еще до кучи нашел в местном магазине небольшой USB хабчик, и разобрал его до винтиков и платок, чтоб использовать в своих целях

USBHub

Сборка

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

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

IMAG2413~01

Ну и чтоб неутомлять, сразу (полу)готовый вариант

IMAG2440

Ну чтож. Вроде как работает оно все вместе.

IMAG2514

Но чего то не хватает. Да! Музыки не хватает. Опять же полезл в интернет, нашел мелкий усилитель на пару Ватт, и воткнул его и еще два динамика, благо места там прям «вагон и маленькая тележка», т.е. мало места.

IMAG2543

 

Вот тут вот сбоку виден блок батарей, и чуть выше — динамики:

 

IMAG2548~01

IMAG2546~01

Ну и надо же добавить отверстия в корпус. Я постарался сделать красиво, но вышло вот так:

IMAG2545

IMAG2544

 Немного софта

Как у взрослых ноутбуков, так и у моего есть возможность посмотреть, насколько заряжена батарейка. Для этого мой заряжатор был соединен с Распи двумя проводками, по которым бегают TX и RX UARTа, и используя хитрый протокол, были получены данные текущего состояния батареи:

IMAG2444~01

Ну и иконку в таск бар обязательно!

IMAG2445~01IMAG2447~01

С определением уровня заряда пришлось потанцевать с бубном вокруг даташиты аккумов. Там есть вот такой вот график, точнее два:

Accum_01 Accum_02

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

Так же, в процессе зарядки очень сильно греются МОСФЕТы, и поэтому были встроенны два вентилятора, уровень работы которых так же можно было наблюдать на экране .

FANs

FANCtrl

Так-же в батарее есть небольшой NTC температурный сенсор, и его температура так же отображается в программке:

BatTempr

Ну думаю, что примерное представление того, что было сделано, было полученно.

Остался вопрос — а зачем это все :)

Ну во превых — чего зря корпусу валяться, пусть работает с «современным» наполнением, а потом — идея была сделать компик для управления танком. На нем будет примено вот это :Insta_001

 

В процессе создания сего устройства было напечатанно:

3d_ConstructionMyPrints

 

Оставить комментарий или два

Пожалуйста, зарегистрируйтесь для комментирования.