Делаем из внутренностей мертвого планшета полноценный одноплатник

Это лето оказалось прямо таки адски жарким. И дело не столько в жаре, с колько в количестве дел и дедлайнов, в том числе и на моей в меру унылой работе. Так что я порядком забыл про все, включая этот унылый бложик. Однако как только напряженка немного спала, руки зачесались опять с чем-нибудь поковыряться. И атк получилось, что для моих дачных нужд мне потребовался еще один линуксовый одноплатник. Вместо того, чтобы привычно заказывать оный с алиэкспресса, я решил заглянуть в короб с пометкой «хлам» и извлек оттуда вот такую вот хреновину:

IMG_2598

Это кишки китайского планшета на Allwinner A23, который умер… ну не то чтобы совсем много, уже точно больше года назад. Мне его отдал один друг, когда мы решили потыкать палочкой тогда сравнительно новый Allwinner A23 и посмотреть подойдет ли он для наших нужд. Так или иначе, эта штука валялась у меня в шкафу больше года и руки чесались сделать из нее что-то вменяемое. И так уж сложилось, что руки так же чесались освоить наконец САПР solvespace, такой очень классный параметрический 2D/3D CAD.

Окей, пора за работу.  Начал я привычно с того, что прицепил HC-05 Bluetooth-to-serial модуль к последовательному порту, который нашелся на пяточках около SoC’а.

IMG_2599 Это у меня уже давно так же вошло в привычку, так как припаивать какой-то разъем к едва заметным пятачкам на плате — верный путь к тому, чтобы вырвать их с мясом первым неловким движением.

Я начал со сборки загрузчика u-boot и подготовки загрузочной SD карты. Процесс хорошо документирован в wiki sunxi, потому я его не буду описывать здесь. Родной  android сидит по умолчанию где-то в NAND памяти, но ничего в UART не выводит. Однако, если дать железке загрузиться, то заработает adb и *СЮРПРИЗ* у нас будут права root’а. Это мне здорово сэкономило время, так как я смог разжиться файликом script.bin в котором описано что, как и куда на этой железке подключено.

После этого я собрал и запустил Ядро linux из основной ветки и убедился что все работает без проблем. Самое время отложить это в сторону и браться за solvespace.

Плюсами этого САПРа являются:

  • Просто. Нет, Простиссимо! (Мне потребовалось 30 минут чтобы более или менее вникнуть, через час я уже без проблем проектировал корпус)
  • Он параметрический!!!
  • При помощи него крайне просто набросать «на глаз» кучу точек, соединенных отрезками, а дальше при помощи штангена задать им ограничения, таким образом четко задав даже очень сложный контур. Как раз тот момент, который обычно просто задалбываешься делать в  OpenSCAD

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

Я добавил небольшие пятачки по некоторым углам для «поддержки» платы в горизонтальном положении, вышло как-то так:

snapshot28Базовый подход к проектированию корпуса в solvespace таков:

  • Делаем набросок границы корпуса
  • Выдавливаем его (Изображено зеленым на скриншоте выше)
  • Начинаем новый скетч на поверхности получившегося кирпича, привязываясь к тому, что расположено ниже
  • Опять выдавливаем выше.
  • Добавляем наброски на разных поверхностях, и выдавливаем их с параметром «difference», чтобы получить дырки под разхъемы
  • ПРОФИТ

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

Следующий этаж нашего корпуса, это место для:

  • 3.7v LiIon аккумулятор (Если уж есть на плате полноценный рарядник для батарейки, почему бы его не использовать?)
  • Динамик (причины аналогичные указанным выше)
  • Яркий 1-3W светодиод (У нас же есть драйвер светодиодной подстветки?) по ходу эта часть оказалась дохлой, и светодиод был перманентно включен. Пришлось от него избавиться.

 

В солвспейсе есть режим assembly. Чтобы сделать новую деталь, которая будет как-то стыковаться с той, что была сделана ранее, можно обойтись без копипасты.Достаточно нажать New Group -> Link/Assemble и он импортирует указанный файл в новую группу.  Соответственно если поставить галочку в окошке «suppress this group’s solid model», он не будет видим в экспортированном stl файле, но относительно него можно устанавливать констрейнты. Таким образом я сделал крышку,  с дырками под вайфай антенну, провода для батарейки и динамика, и специальными выпирающими кусочками в низу.

snapshot28Оные должны будут плотно прижать разъем микроусб и джеки для наушников и питания, чтобы плата не двигалась внутри.

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

snapshot28Наконец, крышка. Здесь есть куча  2mm дырок для динамика, дыра для SMA разъема под антенну и немного текста для выпендрежа(tm)snapshot28Изначально я там сделал место для 1W светодиода, но так как драйвер диодной подстветки на плате оказался убитым, и при подключении диод оказывался всегда включенным, я его не стал монтировать в итоге.

Время печататься! Чтобы подогнать размеры корпуса под платку мне потребовалось 3 попытки. Мне требовалось, чтобы печатная плата сидела плотно, но в тоже время не испытывала напряжений, которые ее могут убить спустя некоторое время.

img_20160806_111648.jpgimg_20160807_175906.jpgimg_20160807_180013.jpgСледующий слой прижимает печатную плату

img_20160807_180141.jpgПотом идет батарейка и динамик, которые я креплю на двусторонний скотч

img_20160807_180706.jpgimg_20160806_173536.jpgИ крышка

img_20160807_181214.jpg…и антенна

img_20160807_181236.jpgimg_20160806_221103.jpgВ итоге мы получаем небольшой одноплатный компьютер с вайфаем, который может поспорить по производительности с так нелюбимым мною Raspberry Pi. Спеки ниже:

  • 1GB RAM
  • 2 ядра ARM Cortex-A7 @ 1.5Ghz
  • 1 x USB OTG
  • 8GB NAND
  • 1 x слот под  SD карточку
  • 1 x 3.5mm jack для наушников
  • 1x динамик
  • 1x 2500 mAh батарейка
  • 1x микрофон
  • 3 кнопки
  • 1 x WiFi b/g/n
  • 1 x Драйвер диода с ШИМ Оказался трупом!

Ну, кто теперь скажет что Raspberry круче такого девайсa? 😉

P.S. Файлики этого дизайна можно скачать на thingiverse и распечатать.

Делаем из внутренностей мертвого планшета полноценный одноплатник: 2 комментария

  1. Если вдариваться в занудство, то у малинки спеки-таки покруче, да и плата посолидней для применения в механически агрессивных средах 😉

    А так — good job, спасай планету от захламления — переиспользуй дохлые железяки!

    1. Смотря у какой. Старая малина ессесно в пролете, новая (которая rpi2) — ЕМНИП там все тоже 1176 ядро, но в кол-ве 4 штуки. И хотя количество это хорошо на задачах где юзается vfp и neon оно таки сливает. Я по сей день broadcom стараюсь обходить по дуге, с меня хватило секса с brcm47xx

Добавить комментарий