История создания «компаса 21 века»

в 2:51, , рубрики: diy или сделай сам, программирование микроконтроллеров, метки: ,

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

Piccy.info - Free Image Hosting

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

Итак начнем (осторожно много картинок)

Идея компаса достаточно проста в основе лежит микроконтроллер STM32F103CB в корпусе LQFP48

Piccy.info - Free Image Hosting

Подробнее можно посмотреть тут, фирмы STMicroelectronics, многие из тех кто знаком с этим МК или посмотрели информацию по ссылке скажут что 72 МГц многовато для такого простого устройства, в качестве аргумента могу привести цену (цена колеблется в диапазоне от 95 до 150 рублей), и в планах у автора девайса «допилить» программную составляющую до приятного для взгляда вида, что как я понял и потребует производительности.

Также в устройстве присутствует дисплей от телефона SIEMENS S65 (если совсем интересно могу скинуть даташит на почту всем желающим), датчик температуры и влажности SHT21 (если интересно подробнеездесь), который выглядит примерно так:

Piccy.info - Free Image Hosting

А как раз за компасную часть отвечает акселерометр совмещенный в одном корпусе с магнитометром LSM303DLH (подробнее про него) от той же STMicroelectronics вид его не очень примечателен, но в рамках статьи держите:

Piccy.info - Free Image Hosting

Ну а питает все это no name аккумулятор на 1050 мАч, 3.7В внешний который выглядит так:

Piccy.info - Free Image Hosting

Более об аккумуляторе мне сказать нечего.

Обвязку основных элементов я описывать не буду так как есть даташиты, основные моменты и интересные решения читайте в следующей статье которую я напишу основательно посовещавшись с автором «чуда», и чуть не забыл есть клавиатура

Piccy.info - Free Image Hosting

на три кнопки она самодельная и о ней ниже, а так же два переключателя для питания и подсветки:

Piccy.info - Free Image Hosting

И так с аппаратной частью мы разобрались и теперь переходим к описанию процесса изготовления

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

Piccy.info - Free Image Hosting

(если кому то понадобится это творение, то я вышлю вам PDF, естественно если автор будет не против)

В итоге при сборке должно получится согласно чертежу так:

Piccy.info - Free Image Hosting

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

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

Так теперь напаиваем все это дело по схеме которая получилась довольно простая и состоит из четырех небольших фрагментов (почему не сведена в одну не могу ответить так как с редактором схем не знаком):

-часть содержащая схему распиновки портов

Piccy.info - Free Image Hosting

-часть касающеяся системы питания и подключения дисплеев и кнопок

Piccy.info - Free Image Hosting

-часть подключения акселерометра

Piccy.info - Free Image Hosting

— и жемчужина схемы (по словам автора) повышающий стабилизатор

Piccy.info - Free Image Hosting

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

В итоге после сборки мы получаем сам девайс правда без пресловутых резинок результат будет такой:

Piccy.info - Free Image Hosting

Теперь переходим к програмной части

Здесь по заверениям автора нет ничего сложного. Но для меня, которому программирование МК так и не покорилось, кажется что все довольно таки сложно. И так имеем в проекте модуль операционной системы (которая являет собой диспетчер задач) посмотреть можно тут. Файл конфигурации ОС вот здесь.Так же модуль инициализации устройств тут.
И непосредственно модули работы с клавиатурой,
датчиком температуры и влажности,
акселерометром и магнитометром.

Работает девайс шустро и по причине временного отсутствия даташита на него разобраться с комбинациями нажатий клавиш и их результатами можно только подсмотрев в исходниках, которые к моей радости написаны на С (Ассемблер по непонятным причинам вызывает у меня панику и код я понять не могу). Вот пожалуй и все что касается программной части.

Переходим к тестированию

После включения на экране показывается имя автора и версия ОС (к сожалению этот момент я подловить ни как не успевал), правда длится это не так долго, но эта же информация доступна и в процессе работы девайса (имя автора я затер из конспиративных побуждений)

Piccy.info - Free Image Hosting

Как видно на фото подсветка совсем не лишняя, после ее включения все выглядит так:

Piccy.info - Free Image Hosting

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

P.S. Прошу прощенья за качество фона на фотографиях, фонариков-клипс из икеи явно не достаточно для LightBox'a но других под руками не было

Автор: foodofmen


  1. foodofmen:

    Вы статейку обновите, я ошибки исправил и вообще подредактировал :D

    • admin:

      Здравствуйте.

      Спасибо за интересную статью, как мог подредактировал, оставил на вас ссылку в конце… если это лишнее, сообщите, исключу.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js