[image]

К вопросу о радиоуправлении с микропроцессором

Недорогое "интеллектуальное" радиоуправление на базе Arduino
 
+
+2
-
edit
 

const314

втянувшийся

Включение микроконтроллеров позволяет качественно повысить интеллектуальность системы радиоуправления. По случаю, собрал макет довольно дешевой системы с практически неограниченными возможностями :) для функциональных моделей. Постараюсь описать весь процесс, чтобы можно было оценить список необходимого для такого РУ. Собирание подобной системы не требует какого-либо особого оборудования или навыка по пайке, разводке и "прочего радиоэлектронного". Только стандартные покупные элементы и чуть-чуть программирования. С последним справится любой вменяемый программист.
Прикреплённые файлы:
arduino_1.jpg (скачать) [908x669, 230 кБ]
 
 
   28.028.0
DE const314 #27.04.2014 15:36  @const314#27.04.2014 15:35
+
+2
-
edit
 

const314

втянувшийся

Сердце системы на стороне модели - маленький процессор с программой, который собственно и обрабатывает команды приходящие от приемника и формирует команды для внешних элементов.
Я выбрал популярную платку с "предустановленным" микроконтроллером Arduino Mega2560. Для передатчика можно использвоать точно такую же, вставив ее в подходящий стандартный пульт РУ, но мне интересно было использовать ноутбук или смартофон для упрощения.
Прелесть подобных ардуиноподобных плат в том, что более ничего не нужно паять или покупать - на плате уже имеется и контроллер питания, и формирователь тактовой частоты, и чип USB-порта, и вшитый программатор - скачивай бесплатно софт от Atmel (производитель проца), подключай к USB.. и все!!
(Кстати - категорически не рекомендую использовать "родные" библиотеку и софт от Arduino. Я уверен, что такой ужас, можно было написать только с целью специально убить возможности процессора, видимо, чтобы убрать потенциальных конкурентов-любителей с рынка "профессионалов". Думаю, только из-за этого г..на от итальянцев, массово делаются только самые простенькие проекты с Arduino, типа помигал диодиком, крутанул ОДИН шаговый моторчик.)
Прикреплённые файлы:
arduino_4.jpg (скачать) [554x464, 137 кБ]
 
 
   28.028.0
DE const314 #27.04.2014 15:37  @const314#27.04.2014 15:35
+
+2
-
edit
 

const314

втянувшийся

Канал связи - с помощью двух платок XBee Pro, одна для передатчика, другая для приемника. Для европейского стандарта 10 мВ - что дает дальность уверенного приема порядка 60-70 метров (без каких-либо дополнительных антенн!). В принципе продаются и с большей мощностью - на дальность до 1500 метров.
Проц формирует "родные" сигналы для всех стандартных ру-элементов, как то сервомашинки, регуляторы скорости или различные переключатели. Также, я решил, включить шаговые моторы причем без дополнительных (часто дорогих) плат управления - импульсы для обмоток формирует сам проц. На китайском рынке имеются дешевые маленькие шаговые моторчики - например 28BYJ-48. Последние имеют уже встроенные шестеренки, что конечно снижает скорость, но позволяет прилично нагружать мотор и точно позиционировать. В комплекте с моторчиком идет и маленький усилитель-ключ для подключения к процессору.
Прикреплённые файлы:
arduino_2.jpg (скачать) [452x428, 67 кБ]
 
arduino_3.jpg (скачать) [336x296, 52 кБ]
 
 
   28.028.0
DE const314 #27.04.2014 23:18  @const314#27.04.2014 15:37
+
-
edit
 

const314

втянувшийся

Итак, стоимость деталей (покупал на европейском рынке, в китае - все стоит еще дешевле):

Arduino board Mega2560 - 15 euro
2x XBee-Pro 10mW - 70 euro
10x Stepmotor+driver board - 10 euro
сервомашинки выбирает каждый по возможности и по нужде

Без дополнительных ухищрений, при 30% загруженности микроконтроллера, подключается и одновременно(!!) управляется: 6 шаговых моторов, 8 сервоприводов, 8 цифровых элемента (светодиоды, например), при этом осталось еще около 20 входов и выходов на плате. Если же покупать контроллеры для шаговых моторов, то возможности становятся и правда "неограниченными".
Кстати, связь собственно НЕ односторонняя передатчик-приемник, а двустороняя. Т.е. модель можно попросить измерить что-то (у микроконтроллеров 8-16 аналоговых входов) и передать значение на "передатчик". Так же процессор на все принимаемые команды формирует ответ, чтобы можно было контролировать стабильность приема-передачи. При потере сигнала, процессор может выполнять определенный набор команд по спасению модели и т.д. и т.п.
   28.028.0
DE const314 #27.04.2014 23:20  @const314#27.04.2014 23:18
+
+1
-
edit
 

const314

втянувшийся

Написал программу для микроконтроллера(приемник-модель) и для ноута(передатчик-РУ). Собрал из картона макет с 5-ю башнями. Периодически возникает вопрос на форуме - как сделать повороты башен логичными, медленными, плавными - так вот с микроконтроллером все эти и подобные вопросы снимаются окончательно. На видео - в программе указываю положение "цели" - передаются координаты на "корбаль", и башни поворачиваются так чтобы все возможные пушки были направлены на цель.

видео на ютюбе

Вместо ноута, можно в обычный пульт с рычажками вставить еще одну плату с микроконтроллером. Проц будет замерять (без какой-либо дополнительной электроники!!) положения всех ручек и кнопок (причем число их может быть действительно велико 20-50), обрабатывать и "интеллектуально" формировать команды для модели.
Если кто-то захочет реализовать подобную схему, я всегда готов помочь, не только советом по схеме, но и по кодированию контроллера и передатчика.
   28.028.0
+
-
edit
 

RA9UBD

новичок
Для обычных судомоделистов, это очень сложно...
   45.0.2454.10145.0.2454.101
+
-
edit
 

Balancer

администратор
★★★★★
RA9UBD> Для обычных судомоделистов, это очень сложно...

Arduino разрабатывали, чтобы им могли пользоваться люди крайне далекие от электроники. Фактически, если знаешь, как соединить светодиод с батарейкой через резистор и умеешь написать программу, выводящую «здравствуй, мир» на любом языке программирования (Бейсик, Паскаль — всё, что учат в школе в обязательном порядке в последние 20 лет), то ты УЖЕ обладаешь нужными для работы с Arduino навыками :)
   45.0.2454.9445.0.2454.94
DE const314 #07.10.2015 18:07  @Balancer#02.10.2015 07:41
+
-
edit
 

const314

втянувшийся

ну.. почти :) вот то что у меня - несколько шаговых моторов, на библиотеке для ардуино не напишешь - там как-то уж очень косячно реализовано (все паузы только через ноп). Я писал сразу на Атмеловском софте - все действия по таймерам. Так ведь готов помочь с кодом - если кто-то заинтересуется и сделает себе железо. Но ведь какой потенциал?!
   34.034.0
RU Balancer #07.10.2015 19:06  @const314#07.10.2015 18:07
+
-
edit
 

Balancer

администратор
★★★★★
Сейчас очень интересен, ИМХО, вариант управления на продвинутых платах с ESP8266. Что-то типа такого:

New Wireless module NodeMcu Lua WIFI Internet of Things development board based ESP8266 with pcb Antenna and usb port-in Other Electronic Components from Electronic Components & Supplies on Aliexpress.com | Alibaba Group

Cheap board stickers, Buy Quality board flip directly from China board help Suppliers:   Better electronic productsInseparable from the production team of constantly updated and minor changesWe wil // www.aliexpress.com
 

Что имеем:

— Встроенный Wi-Fi.
— Программирование в среде Arduino (опционально, реально прошивок разных вагон), вообще, есть платы, похожие на Arduino Nano, с поправкой на 3.3В питание.
— Низкое энергопотребление.
— Относительно высокая производительность (32 бита, 80МГц, 64k+96k RAM, 512k/4M flash).
— 16 GPIO.
— Офигенно низкие цены (150-400 рублей в зависимости от типа).
— ...

До кучи, для иллюстрации:

New for ESP8266 Cloud capabilities Beta Balck board T5 Internet of things(IoT) esp 12E esp 13-in Other Electronic Components from Electronic Components & Supplies on Aliexpress.com | Alibaba Group

Cheap capable of, Buy Quality capabilities directly from China new capabilities Suppliers: Description:It supports 802.11b / n / g wireless standardsMCU platform developedSupport UART / GPIO data communication i // www.aliexpress.com
 

Free shipping! ESP8266 ESP 12E serial WIFI Industrial stable version A full test board Full IO leads-in Other Electronic Components from Electronic Components & Supplies on Aliexpress.com | Alibaba Group

Cheap lead and gold ps3, Buy Quality lead 110 directly from China lead figure Suppliers: Notice: The new tracking number for China Post Ordinary Small Packet Plus only can track it have been ship ou // www.aliexpress.com
 

Вариант с 4Мб флешем:

Large capacity flash 4Mbit serial ESP8266 WIFI , model : ESP 12E-in Other Electronic Components from Electronic Components & Supplies on Aliexpress.com | Alibaba Group

Cheap large scale plastic model, Buy Quality models heart directly from China model sock Suppliers: ESP8266 Serial WIFI wireless module WIFI wireless remote module through walls Wang USD 6.88/pieceSerial WIFI ESP8266 mod // www.aliexpress.com
 
   41.041.0
DE const314 #07.10.2015 19:46  @Balancer#07.10.2015 19:06
+
-
edit
 

const314

втянувшийся

да, все больше появляется разных и достаточно дешевых платок. Но конкретно с WiFi у меня негативный опыт - у недорогих и компактных платок малая дальнобойность, в реальности две платки связываются метрах на 20, максимум. Для радиоуправления - маловато.
   41.041.0
RU Balancer #07.10.2015 19:58  @const314#07.10.2015 19:46
+
-
edit
 

Balancer

администратор
★★★★★
const314> у недорогих и компактных платок малая дальнобойность, в реальности две платки связываются метрах на 20, максимум. Для радиоуправления - маловато.

У ESP8266 официально заявлена дальность до 300 метров. На практике сам пока не щупал. Ну и это, наверное, с антенной правильной, а не той, что на плате разведена :)

А, да, 300 м — это с ненаправленной антенной. С направленной — больше.

...

Ага, вот тут с ненаправленной антенной держали соединение на 479 метров, со встроенной, разведённой на плате — 366 метров. Значит, 300 м в официальных спеках — это именно для встроенной антенны.

ESP8266 Wifi Range/Distance Tests (Wi07C)
I bought some Wi07C modules from electrodragon recently: http://www.electrodragon.com/product/esp8266-wi07c-wifi-module/ We wanted to know how far they could communicate, the answer is a lot longer than I expected!!! The ESP8266 is pretty awesome. The firmware needs a LOT of work, but it is pretty cool!

С направленной же антенной там потянули 4.28 км при потере 6% пакетов.
   41.041.0
DE const314 #07.10.2015 20:38  @Balancer#07.10.2015 19:58
+
-
edit
 

const314

втянувшийся

ну так у них там на одном конце здоровенный роутер с двумя антеннами - неудивительно. пусть попробуют две платки соединить :)
   41.041.0
RU Balancer #07.10.2015 20:39  @const314#07.10.2015 20:38
+
-
edit
 

Balancer

администратор
★★★★★
const314> ну так у них там на одном конце здоровенный роутер с двумя антеннами - неудивительно. пусть попробуют две платки соединить :)

А зачем при радиоуправлении две платки? :) Разве что передаче сигнала через летающий же ретранслятор?

Что мешает на земле использовать хороший чип с хорошей антенной?
   41.041.0
DE const314 #07.10.2015 21:03  @Balancer#07.10.2015 20:39
+
-
edit
 

const314

втянувшийся

можно, конечно. Только получается существенно дороже, и вес и габариты. Да вообще - технологии развиваются слишком быстро :) - только напаяешь и соберешь что-нибудь на 8-битных, а вокруг уже и форматы другие, и напряжения, и скорости и объемы памяти и объемы акку..
   41.041.0
Balancer> Сейчас очень интересен, ИМХО, вариант управления на продвинутых платах с ESP8266. Что-то типа такого:
Да ничего в них хорошего нет. Глючные, плохо документированные. Только цена хорошая. РУ требований к быстродействию не предъявляет.
Лучше уж за $10 взять пару модулей с LORA модуляцией и иметь примерно +30dBm относительно Wi-Fi
   41.041.0
+
-
edit
 

Vabos

новичок
const314> Так ведь готов помочь с кодом - если кто-то заинтересуется и сделает себе железо.
const314, у меня к Вам пара вопросов (пока :) ): как Вы контролируете положение шаговиков? Перед выключением питания устанавливаете их в какое-то заранее определенное положение? А в управляющей программе (на компе) контролируете это какой-то переменной (шаг сделали - изменили значение)? И второй вопрос, как Вы организовали протокол обмена данными? Имеется в виду сразу шлется режим всех приводов последовательностью байт или для каждого привода в отдельности 1-2 байтами (идентификатор-значение) по мере необходимости изменения режима работы?
   42.042.0
+
-
edit
 

const314

втянувшийся

- да, удобство шаговых моторов в предсказуемости их положения. После включения можно еще подвигать ими и сбросить специальной командой счетчики в нули.
- в тестах выбрал 6-байтные универсальные "посылки". 2 байта - служебный и для проверки суммы, 1 - команда, 1 - короткий параметр, 2- длинный параметр.
При этом можно посылать все что угодно и модифицировать быстро код под различные надобности. Например,команда "MMOV, 3, 1000" значит двинуть мотор номр 3 в положение 1000, а команда "MVEL, 3, 100" значит установить скорость 100 для мотора номер 3. На все принятые команды корабль отвечает подтверждением приема, или отвечает параметрами, например, на запрос реального положения мотора, или на запрос скорости, или на запрос напряжения аккумулятора, или на текстовый запрос версии программы.. и.тд. :)
Вообще, все вычисления лучше возложить на управляющий комп-передатчик, а приемник-процессор должен только как можно быстрее принять команду и изменить свои переменные-регистры.
   42.042.0
AD Реклама Google — средство выживания форумов :)
RU Olger_Spb #20.10.2022 12:37  @const314#18.11.2015 21:46
+
-
edit
 

Olger_Spb

новичок

const314> - да, удобство шаговых моторов в предсказуемости их положения

Не удобство шаговых двигателей в отсутствии какого-то начального положения при включении, в отличие от серво.
Я или перед включением вручную доворачиваю ШД в нужное (нулевое) положение, или делаю автопозиционирование по 2-м (лучше 3-м) датчикам Холла. Но это сложнее.
   106.0.0.0106.0.0.0

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru