Создавая remote rc_car. Часть 1

ehkzagrpvcslawwy2h8z4a1zeka.jpeg
Идея создания rc-car, которой можно управлять из любой точки земного шара по интернету (4g), была реализована в железе и софте. Однако, в дальнейшем проект вошел в фазу «а что дальше с этим делать» и был заморожен. Кроме того, остались некоторые моменты, которые необходимо еще «доработать напильником». Возможно, данный проект вдохновит кого-то, а автор «передаст свою соль в поезде», как в старом анекдоте.
Итак, как переделать rc-car для управления через интернет? Да и еще «чтобы видео смотреть»?

Железо.


Про типы rc-car есть хорошая статья.
Машинка, из тех, что имелись в наличии, скорее подходит под определение «buggy»:
pid7v_ajgqww4zvxd37jfswp_cu.jpeg

Силовой элемент — электромотор.
Пульт управления — стандартный для такого типа игрушек:
cdcblis5n0bizl9ylj29jl8giq8.png

И первый вопрос был: как отвязать машинку от пульта?
Первоначально мысли были перехватить сигнал чем-либо и в дальнейшем этот сигнал просто дублировать. Такой подход позволил бы не ломать машинку на части, копаясь в ее внутренностях.
Но это не наш путь. Если «врач сказал ломать, значить — ломать». Поэтому rc-car подверглась радикальной переделке.
Шутки шутками, но в сети попадались проекты, где именно через дублирование сигналов было реализовано управление. Однако, у автора в руках на тот момент были только «молоток и гвозди».

Так как ранее имелась практика работы с raspberry pi, то именно она и легла в основу управления rc-car. К тому же, решился вопрос, как установить камеру видеонаблюдения для трансляции видео.

При изучении устройства машинки, было установлено, что она общается с пультом управления через так называемый драйвер (да простят меня любители rc-car за названия). Если выломать этот драйвер из машинки, и заменить его на что-то другое, то вопрос с управлением будет решен. Наверно.

Проблема в том, что данный драйвер, по сути замыкает на себя управление и мотором, и сервой, которая, в свою очередь, управляет передними колесами влево-вправо.
Таким образом, нужно что-то, что управляет мотором и что-то, что управляет сервой:
yesszqydranoo3s82pja4ntn3vc.png
*фото для наглядности что есть что взято из ранее упомянутой статьи.

Еще одна проблема — достаточно малые размеры машинки, чтобы в ней можно было разместить что-то массивное.

Итак, учитывая все вышеизложенное, raspberry pi стала сердцем управления машинкой, драйвер был заменен на другой драйвер — bts7960, которому по силам было выдержать те немалые токи, которые гуляют в rc-car при разгоне и движении.
Управление сервой было отдано ногам raspberry pi (сигнальный провод), а питание сервы (5V) через dc-dc преобразователь от бортового блока питания. Питание сервы напрямую от ног raspberry, последняя не пережила бы.

Камера.
zhedlfndhsno6xs29ljtxgr7ig0.jpeg
Была взята стандартная шлейфовая ov5647 noir, так как обычная камера raspberry pi даже в сумерках уже ничего не видит. Да и noir, тоже ничего ничего не видит. Лучше брать imx462 sony. У нее все же «отношение к темноте» лучше (WDR).
Как выяснилось в дальнейшем, при эксплуатации неплохо бы еще иметь какое-то подобие gimbal, чтобы минимизировать тряску при движении. Но это уже «вкусовщина».

Питание.
Так как питание от батарей машинки (литий-полимерный аккумулятор) для целей raspberry pi вызывало опасения, да и в целях оперативной смены самих батарей машины без необходимости отключения по питанию одноплатника, было решено запитать логику отдельно от двигателя.
Ups-hat для raspberry pi относительно дорогие, хотя и удобные, тем не менее были выбраны обычные держатели батарей 18650 с защитой, по типу таких:
5k8srqnv3olhhyowdohqyvppovk.png

Модем.
2z2phjxqyng77qfoq4kgmwvcfok.jpeg

4g модем выбирался из числа usb стиков для экономии пространства. Немаловажным фактором, повлиявшим на выбор, являлось наличие внешних антенн связи. Данные антенны «по идее» должны крепиться к usb модему. Но, как выяснилось в дальнейшем, это практически не реализуемо для машинки. Видимо, создатели usb-стика c внешними антеннами ориентировались на то, что сам модем будет надежно закреплен, от него очень аккуратно будут отходить две антенны в комплекте и в дальнейшем всю эту конструкцию никто не будет трогать. Иначе нельзя объяснить столь хлипкое крепление антенн на корпусе модема.

Что-то еще.
Конечно же советский конструктор! Составные части которого позволяют создать не только телескопическую палку для камеры над машинкой, но и закрепить на ней то, что невозможно закрепить.

Продолжение следует.

© Habrahabr.ru