+7-960-0655211 (Билайн)
+7-987-4207734 (МТС)
интернет-магазин
доставка по России и СНГ
работаем с 2010 года

Форум

ГлавнаяОбщениеФорумПользователиМаксим Фиронов
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Гексапод и питание
 
Всем привет!
Собираю гексапод на сервоприводах HXT900 (18 штук).
Состав электронной части:

- Raspberry Pi
- USB to TTL
- Li-Po 2S 10000 mA 35C (Vanom)
- SSC-32 (для управления сервоприводами)
- DUALSKY VR-8LG выход 5.05V, пиковая нагрузка 8А (для питания сервоприводов)

Проблема вот в чем.
Подключаю две ноги (6 сервоприводов) без нагрузки. Включаю питание - все приводы устанавливаются в начальное состояние.
Запускаю программу для одновременного управления всеми сервами.
Через 10-15 секунд падает ток и три сервы перестают работать. Через ещё 20 секунд - ложатся все сервы.

Проверка тока показала, что при работе шести серв ток потребления составляет приблизительно 960 мА (160 мА на серву).

Использую провода 20AWG (до 5 ампер).

Вопрос. Что может быть не так?
Изменено: Максим Фиронов - 18.09.2015 17:24:47
Pololu Maestro: управление PWM
 
Спасибо за ответ и разъяснение.
Включать/выключать и регулировать световой поток можно без использования Maestro Control Center.
У меня получилось регулирование через bash-скрипт из под Линукса без загрузки графической оболочки.
Pololu Maestro: управление PWM
 
Попутно подскажите, как можно таким же набором включать и выключать PWM?
Pololu Maestro: управление PWM
 
Добрый вечер.
Появилась ещё одна проблема, прошу помощи.

На платах Pololu Maestro есть выход PWM.
Решил "поиграться" с подключением маломощных лампочек.
При управлении с компьютера при помощи программы Maestro Control Center определил параметры: время включения 12, период 108 - при таких параметрах лампочка светится. Изменением периода от 12 до 108 можно управлять освещением от минимума к максимуму.
Теперь вопрос в том, как всё тоже самое переделать в командный набор параметров.
Написал вот такую последовательность, согласно документации на устройство Pololu:
Код
Pololu protocol: 0xAA, device number, 0x0A, on time low bits, on time high bits, period low bits, period high bits
Код
{
byte 0xAA                    #Start Byte
byte 0x01                    #Device ID = 1
byte 0x0A                    #Command = Set PWM
byte $((TARGET1 & 0x7F))      #On time low bits
byte $((TARGET1 >> 7 & 0x7F)) #On time high bits
byte $((TARGET2 & 0x7F))      #Period low bits
byte $((TARGET2 >> 7 & 0x7F)) #Period high bits
} > $DEVICE
TARGET1 - время включения
TARGET2 - период

В качестве входных параметров использую: TARGET1=12 и TARGET2=108 , но ничего не происходит.
Помогите решить проблему.
Бесколлекторный двигатель
 
Уважаемые форумчане, не так давно посетила идея: а не подключить ли к Pololu Maestro бесколлекторный движок?

Выяснил, что данные движки питаются тремя фазами через контроллер ESC к которому подходят два провода питание и три провода управления (+ / - / данные).

Управление происходит посредством генерации ШИМ-сигнала переменной скважности.

Вопрос.

Подскажите, как правильно реализовать на C или с помощью скриптов (Linux) генерацию ШИМ?

Хочу реализовать управление (увеличение / уменьшение скоростью) бесколлекторными двигателями с использованием компьютера (клавиши перемещения курсора).
Вопрос по Pololu D15V70F5S3
 
Странности с понижающим преобразователем напряжения Pololu D15V70F5S3

Схемы подключения пока нет, так что попытаюсь рассказать на словах.
Система бортового питания: две аккумуляторные батареи на 3,7В 12000 мА каждая, соединены последовательно; к ним подключена система зарядки (правда пока без балансира); далее стоит переключатель-тумблер на два положения (вкл/выкл(заряд)). На выходе стабильные 5 вольт.
После включения питания, электричество одновременно идет на три преобразователя Pololu и дальше идет на устройства потребления: периферия и сервоприводы. Из периферии стоит выделить отдельно USB-хаб на 4 порта. К одному из портов на нем подключен первый контроллер Pololu Maestro 12. Одновременно контакты для подключения хаба выведены наружу для подключения к ПК.
Получается так, что при включении питания напряжение подается одновременно на все компоненты, в том числе и на питание USB-хаба, а от хаба на usb для подключения к ПК.

Теперь получается ещё интереснее. Берем обычный удлинитель usb и сначала соединяем с usb-хабом, а затем к ПК. И напряжение от ПК начинает запитывать все устройства, подключенные к usb. Напряжение пошло даже на сервы (они немного дернулись). Это ещё цветочки. С этим я ещё буду решать вопрос.

Смутило другое.

Порядок подключения:
- подключаю usb хаб к компьютеру (питание пошло на хаб и периферию от хаба)
- запускаю прогу Маэстро для связи с Maestro Mini 12 и в ответ тишина - прога не видит устройство
- запускаю питание от бортовой системы - в ответ от проги - все та же тишина

Теперь наоборот:
- запускаю питание от бортовой системы
- через 5 секунд (приблизительно) подключаю usb хаб к компьютеру
- запускаю прогу Маэстро и ... прога видит устройство и им можно управлять с ПК!

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

В качестве решения проблемы решил поставить поставить на вход ПК замедлитель на 1-2 секунды из RC-цепочки. В таком случае ПК будет стартовать позже периферии и проблема должна устраниться.


Что скажите по данной проблеме?
У кого такое уже было?
Сервоприводы: нагрузка и длина манипулятора
 
Решил испытать нагрузку для распространенного сервопривода HXT 900.
В описании приведены такие характеристики:
Усилие 1600 грамм на один сантиметр.

Посчитаем.
У нас первое плечо от корпуса до первого сервопривода 30 мм, значит усилие будет 530 грамм.
Затем у нас идет второе плечо на 60 мм, а это дает нам уже 250 грамм веса, который серва способна удержать.
Вопрос. Правильно ли я рассчитал? Ведь если использовать одну серву на плечо в 90 мм, то усилие будет 170 грамм!!!


В следствии этого нам надо держаться веса в 250 грамм на два плеча (или на манипулятор с двумя звеньями).

В моем проекте будет использоваться четыре манипулятора для поднятия платформы. Вес самой платформы пока 750 грамм.
Усилие четырех манипуляторов будет 250 х 4 = 1000 грамм, что должно хватить.
Подскажите, правильно ли я произвел расчет?
Литература по электротехнике
 
Ищу литературу по электротехнике с описанием процессов, расчетами характеристик, физике и примерами по применению серво- и шаговых приводов. Может кто помочь?
Raspberry Pi и Camera Board, Обсуждение по управлению камерой
 
Добрый день, форумчане.
Приобрел камеру Raspberry Pi Camera и приступил к изучению возможностей. Сразу скажу, что качество картинки отличное и тормозов почти нет.
Но как обычно, при обращении к участникам форума, появились вопросы без решения которых обойтись нельзя.
Подскажите, каким образом можно осуществить трансляцию видео по сети через web-сайт, поднятый на Raspberry средствами Apache.

Скажу сразу. С камерой, подключенной по USB, проблем не было, т.к. устройство присутствует в девайсах.

Подключение к потоку камеры из PHP было вот таким:

echo '

';
Сервоприводы. Какой лучше?
 
Вопрос по сервоприводам.

Конструкция для корректировки.

Собираю конструкцию общим весом около 2.4 кг (приблизительно) на цифровых сервоприводах в кол-ве 18 штук (шестиног). Проблема в корректировке плеч.
Если предположить вес каждого сервопривода в 50 грамм и вес всех составляющих ног в 250 грамм, а так же вес платформы без полезной нагрузки в 250 грамм, то вес всей платформы без полезной нагрузки будет 1400 грамм. Полезную нагрузку примем за 1000 грамм.

Тогда вопрос. Какие сервоприводы с какой нагрузкой могут подойти?

Если делать первое и второе плечо в 6 см, то как считать? По идее отсчёт исходит из полезной нагрузки, а не из общей?
Если так, то нам надо вести отсчёт от 1600 грамм на 6 см, или от усилия 1600 х 6 = 9600 грамм. Тогда оптимальные приводы должны быть с усилием от 10 кг/см.

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

Подскажите, правильны ли мои суждения?
Сервоприводы. Какой лучше?
 
И второй вопрос.
На контроллере Pololu все выводы работают как ШИМ (могут передавать широтно-импульсный сигнал)?
Если да, то какая максимальная частота?
Можно ли выводы использовать для управления бесколлекторными двигателями (естесственно через специальный драйвер) по каналу ШИМ?
Сервоприводы. Какой лучше?
 
Тут появилась одна задумка. Может кто уже такое реализовывал? Хочу узнать результаты.
Идея такая.
Имеется восемь ног по три привода в ноге и плату управления Pololu на 24 выхода.

При подключении используем разводку с одного провода на четыре согласно рисунку.





Делим все ноги на две части по четыре ноги - получается 12 приводов в одной части. Будет использовано всего 6 каналов из 24-х.

Интересно, будет ли такая система работать? Питание ведь так и осталось одним на все приводы.

Что скажите? Не будет ли торможение в скорости обработки каждым приводом одинаковой команды?
Сервоприводы. Какой лучше?
 
Добрый вечер.
У меня появилась загвоздка.

Код
DEVICE="/dev/ttyACM2"

N_TARGET=$1 # Количество одновременно управляемых каналов

N_CHANNEL1=$2 # Номер первого канала в цепочке

TARGET11=$3 # Угол поворота 
TARGET12=$4 # Угол поворота 
TARGET13=$5 # Угол поворота 

N_CHANNEL2=$6 # Номер второго канала в цепочке

TARGET21=$7 # Угол поворота
TARGET22=$8 # Угол поворота
TARGET23=$9 # Угол поворота

N_CHANNEL3=$10 # Номер третьего канала в цепочке

TARGET31=$11 # Угол поворота
TARGET32=$12 # Угол поворота
TARGET33=$13 # Угол поворота

N_CHANNEL4=$14 # Номер четвертого канала в цепочке

TARGET41=$15 # Угол поворота
TARGET42=$16 # Угол поворота
TARGET43=$17 # Угол поворота

byte() {
printf "\\x$(printf "%x" $1)"
}


{
byte 0xAA                    #Start Byte
byte 0x0C                    #Device ID = 12
byte 0x1F                    #Command = Set Multiple Targets # Команда управления несколькими сервами
byte $N_TARGET               #0x02 #Number of targets = 2 # Количество управляемых каналов одновременно
byte $N_CHANNEL1             #0x00 #First channel number = 0 # Номер первого канала в цепочке
byte $(((TARGET11*36+2048) & 0x7F))      #0x70 #First target low bits <- First SERVO
byte $(((TARGET11*36+2048) >> 7 & 0x7F)) #0x4E #First target high bits
byte $(((TARGET12*36+2048) & 0x7F))      #Second target low bits <- Second SERVO
byte $(((TARGET12*36+2048) >> 7 & 0x7F)) #Second target high bits
byte $(((TARGET13*36+2048) & 0x7F))      #Thread target low bits <- Second SERVO
byte $(((TARGET13*36+2048) >> 7 & 0x7F)) #Thread target high bits

} > $DEVICE

sleep 0.3

{
byte 0xAA                    #Start Byte
byte 0x0C                    #Device ID = 12
byte 0x1F                    #Command = Set Multiple Targets # Команда управления несколькими сервами
byte $N_TARGET               #0x02 #Number of targets = 2 # Количество управляемых каналов одновременно
byte $N_CHANNEL2             #0x00 #First channel number = 0 # Номер первого канала в цепочке
byte $(((TARGET21*36+2048) & 0x7F))      #0x70 #First target low bits <- First SERVO
byte $(((TARGET21*36+2048) >> 7 & 0x7F)) #0x4E #First target high bits
byte $(((TARGET22*36+2048) & 0x7F))      #Second target low bits <- Second SERVO
byte $(((TARGET22*36+2048) >> 7 & 0x7F)) #Second target high bits
byte $(((TARGET23*36+2048) & 0x7F))      #Thread target low bits <- Second SERVO
byte $(((TARGET23*36+2048) >> 7 & 0x7F)) #Thread target high bits

} > $DEVICE

sleep 0.3

{
byte 0xAA                    #Start Byte
byte 0x0C                    #Device ID = 12
byte 0x1F                    #Command = Set Multiple Targets # Команда управления несколькими сервами
byte $N_TARGET               #0x02 #Number of targets = 2 # Количество управляемых каналов одновременно
byte $N_CHANNEL3             #0x00 #First channel number = 0 # Номер первого канала в цепочке
byte $(((TARGET31*36+2048) & 0x7F))      #0x70 #First target low bits <- First SERVO
byte $(((TARGET31*36+2048) >> 7 & 0x7F)) #0x4E #First target high bits
byte $(((TARGET32*36+2048) & 0x7F))      #Second target low bits <- Second SERVO
byte $(((TARGET32*36+2048) >> 7 & 0x7F)) #Second target high bits
byte $(((TARGET33*36+2048) & 0x7F))      #Thread target low bits <- Second SERVO
byte $(((TARGET33*36+2048) >> 7 & 0x7F)) #Thread target high bits

} > $DEVICE

sleep 0.3

{
byte 0xAA                    #Start Byte
byte 0x0C                    #Device ID = 12
byte 0x1F                    #Command = Set Multiple Targets # Команда управления несколькими сервами
byte $N_TARGET               #0x02 #Number of targets = 2 # Количество управляемых каналов одновременно
byte $N_CHANNEL4             #0x00 #First channel number = 0 # Номер первого канала в цепочке
byte $(((TARGET41*36+2048) & 0x7F))      #0x70 #First target low bits <- First SERVO
byte $(((TARGET41*36+2048) >> 7 & 0x7F)) #0x4E #First target high bits
byte $(((TARGET42*36+2048) & 0x7F))      #Second target low bits <- Second SERVO
byte $(((TARGET42*36+2048) >> 7 & 0x7F)) #Second target high bits
byte $(((TARGET43*36+2048) & 0x7F))      #Thread target low bits <- Second SERVO
byte $(((TARGET43*36+2048) >> 7 & 0x7F)) #Thread target high bits

} > $DEVICE

# Пауза перед завершением операций для отработки всех переданных команд управления

sleep 0.3
 
Почему не отрабатываются все команды, а только первые две?
После отработки даже двух первых команд, нагрузка по питанию пропадает и все приводы переходят в отключенное состояние.
Сначала думал - это нехватка питания, однако, при отправке команд на приводы вот так:

Код
// Поднятие первой группы
system ("bash web2.sh 3 0  110 135 45");
system ("bash web2.sh 3 6  154 135 45");
system ("bash web2.sh 3 12  25 45 135");
system ("bash web2.sh 3 18  25 45 135");

// Опускание второй группы
system ("bash web2.sh 3 3  134 90 90");
system ("bash web2.sh 3 9  134 90 90");
system ("bash web2.sh 3 15  45 90 90");
system ("bash web2.sh 3 21 90 90 90");
Сам файл web2.sh:

Код
DEVICE="/dev/ttyACM2"

N_TARGET=$1 # Количество одновременно управляемых каналов. По умолчанию = 3 (21, 22, 23).
N_CHANNEL=$2 # Номер первого канала в цепочке. По умолчанию = 21.
TARGET1=$3 # Угол поворота плеча
TARGET2=$4 # Угол поворота локтя
TARGET3=$5 # Угол поворота кисти

byte() {
printf "\\x$(printf "%x" $1)"
}

{
byte 0xAA                    #Start Byte
byte 0x0C                    #Device ID = 12
byte 0x1F                    #Command = Set Multiple Targets # Команда управления несколькими сервами
byte $N_TARGET               #0x02 #Number of targets = 2 # Количество управляемых каналов одновременно
byte $N_CHANNEL              #0x00 #First channel number = 0 # Номер первого канала в цепочке
byte $(((TARGET1*36+2048) & 0x7F))      #0x70 #First target low bits <- First SERVO
byte $(((TARGET1*36+2048) >> 7 & 0x7F)) #0x4E #First target high bits
byte $(((TARGET2*36+2048) & 0x7F))      #Second target low bits <- Second SERVO
byte $(((TARGET2*36+2048) >> 7 & 0x7F)) #Second target high bits
byte $(((TARGET3*36+2048) & 0x7F))      #Thread target low bits <- Second SERVO
byte $(((TARGET3*36+2048) >> 7 & 0x7F)) #Thread target high bits
} > $DEVICE

sleep 0.2
 
Всё проходит нормально и все приводы держат стабильно.
Почему так происходит - не знаю.

В идеале хочу получить управление 12-ю приводами (большего мне не надо) из одного файла и одной командой:

Код
bash 4nogi.sh 3 0 110 135 45 6 154 135 45 12 25 45 135 18 25 45 135
Сервоприводы. Какой лучше?
 
Ну так как лучше поступить?
Поменять все приводы на HK15298B (http://rcsearch.ru/hobbyking/i16272/)
или на HS-645MG (http://planetahobby.ru/catalog/servo/analogovye-servo/hs-645mg-standartnaya.html)?

Есть ли какая-нибудь программа по расчёту нагрузки на приводы?
Сервоприводы. Какой лучше?
 
Аккумулятор GS 12-6 (свинцово-кислотный). Это пока временно.
Ваша ссылка на тягу - фотка очень маленькая ... плохо видно.

Цитата
Сергей Скляров пишет:
У них тяга колеблется от 6-8кг*см, десяти там не будет.
Да мне лишь бы поднять и перемещать. Единовременный контакт с поверхностью - три-четыре ноги. Нагрузка на каждую 3-4 кг (в планах).
Сервоприводы. Какой лучше?
 
По энергопитанию.
Все приводы запитаны от одного аккумулятора 6 вольт 12 ампер. В планах перейти на Li-Po (http://www.ebay.com/itm/310726872076?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649)

Материал соединений - текстолит толщиной 2 мм (это верхняя и нижняя планки в самом плече). Соединены с помощью латунных стоек для плат. Материал двух суставов - дюралюминий 0,8 мм.
Сама конструкция ноги - примерно такая, как на рисунке (http://habrastorage.org/storage2/8fa/345/91e/8fa34591ea132609ed2d2a83f4bf64c6.jpg), но без эстетического вида.

Корпус платформы - две плоскости текстолита. К верхней плоскости смонтированы приводы, в нижней части фиксация через подшипники.

Вся конструкция получилась прочной, но легкой. Общий вес приводов - 1440 грамм (60 гр / привод), остальное - конструкция (детали ног - 60х8=480 + коробка - 300 гр). Сверху всего установлен ПК (200 гр) и камера (100 гр).

Получившийся размер платформы - 25 см в ширину и 30 см в длину (без ног). Размах ноги - 15 см.
В общем, вес где-то 2600 - 3000 грамм без аккумулятора.
Сервоприводы. Какой лучше?
 
Добрый день, форумчане.
Уже почти полностью собрал робота-паучка с 8-ю ногами. Осталась реализовать программную часть, но вопрос не об этом.
После месяца поисков, еше в самом начале своего проекта, увидел в продаже сервоприводы MG995.
Почитав несколько обзоров, решил их приобрести.
Сначала всё шло замечательно. Снял все размеры с приводов, сконструировал и собрал корпус, прикрутил все приводы.
Масса готового устройства составила чуть больше 3 кг (приблизительно 3300 гр без аккумулятора (Li-Po 10000 mA 7,2V - 500 грамм)) и тут пошлю траблы.
Один из приводов перестал держать уровень, вернее держит, но очень слабо, прокручивается при небольшом усилии (около 500 грамм).
Остальные - пока держат, но чувствую что не долго будут держать.
Покупал за 225 рэ за штуку.
К Новому году скорее всего буду искать замену.
Подскажите, какие посоветуете поставить приводы со стабильной тягой в течении продолжительного периода. По тяге - желательно 10 кг в стабильном режиме. И естесственно - не дорогие, можно даже на ebay.com.
Как один из вариантов hs-645mg, но цена пока кусается немного.
Или HK-15298 (15 кг) (http://rcsearch.ru/hobbyking/i16271/)
Подключение Pololu Mini Maestro
 
Спасибо.
При долгом размышлении пришел к такому же выводу.
Подключение Pololu Mini Maestro
 
да, об этом
Подключение Pololu Mini Maestro
 
Цитата
Сергей Скляров пишет:
Цитата
Максим Фиронов пишет:
Подключен контроллер по usb к ПК под линуксом (/dev/ttyACM0). Прога на С++.
Так кто считает по 6-8 секунд?
В смысле?
Я не считаю по 6-8 секунд. Время привел для примера. Я говорю что скорость одного привода 0,16с/60гр. Исходя из этого, при одновременной работе трёх приводов, все приводы на ту же операцию будут тратить 0,16 сек (примерно). Так и получается, но задача ставилась на мультиуправлении не одной линией приводов (порты 0,1,2,3,4,5), а несколькими линиями с промежутком между ними (порты 0,1 и 4,5). Если бы такое было возможным, то повысилась бы скорость обработки конечных автоматов (приводов).
Подключение Pololu Mini Maestro
 
Цитата
Сергей Скляров пишет:
Что то я не понял вы их руками что ли записываете?
Ну как руками? Подключен контроллер по usb к ПК под линуксом (/dev/ttyACM0). Прога на С++. Сначала идёт установка в среднее положение всех приводов, а затем через пересчёт углов подаются команды пока сразу на все приводы и там, где угол изменился - производится поворот привода. Временная оценка - по снятым видео кадрам (надо было начальству показать). У приводов 0,16 сек / 60 гр.
Изменено: Максим Фиронов - 12.09.2013 06:41:42
Подключение Pololu Mini Maestro
 
Цитата
Сергей Скляров пишет:
Не получится. Не понимаю что вам мешает подавать команды по очереди? Скорость реакции совсем не страдает.
По очереди - как раз страдает скорость. Последовательный перебор всех восьми частей по три привода в каждой части, по времени уходит от 6 до 8 секунд. А если будет одновременно, тогда перебор длится от 1,5 до 3 секунд. И ещё, если передавать по очереди, то в движении появятся пробелы, т.е. движение станет менее плавным.
Цитата
Сергей Скляров пишет:
Первая программа у меня так и работала, но пришел к выводу что подавать на UART проще, скрипт маэстры очень неудобный.
Подаю команды прямо по USB примерно так:

{
byte 0xAA #Start Byte
byte 0x0C #Device ID = 12
byte 0x1F #Command = Set Multiple Targets
byte 0x03 #Number of targets = 3
byte 0x00 #First channel number = 0
byte 0x00 #First target low bits <- First SERVO
byte 0x04 #First target high bits
byte 0x00 #Second target low bits <- Second SERVO
byte 0x04 #Second target high bits
byte 0x00 #Thread target low bits <- Thread SERVO
byte 0x04 #Thread target high bits
} > $DEVICE

Но здесь три привода, а я переделал под 24 привода и вынес весь скрипт в отдельный bash, который вызывается с нужными параметрами (углами поворота) для каждого из приводов через изменяемые переменные. Строка получилась немного длинной. Как использовать UART - пока не знаю. Не поделитесь примером?
Подключение Pololu Mini Maestro
 
Вроде бы всё нормально работает, но появилась небольшая проблема, которую решить не получается.
Использую контроллер на 24 порта.
Приводы подключены по такой схеме:
- первая конечность - приводы A, B и C. Подключены к портам контроллера 00, 01 и 02.
- вторая конечность - приводы A, B и C. Подключены к портам контроллера 03, 04 и 05.
и т.п.
При обращении к любому приводу, используется аббревиатура 01A (первая конечность - первый привод), 02С (вторая конечность - третий привод) и так далее.
======
Одновременным управлением одной любой конечностью у меня получилось по схеме выше этого поста.
А теперь вопрос.
Каким образом можно выставить одновременное управление, допустим, двумя приводами, расположенными не на одной прямой?
Например, мне нужно одновременно включить приводы 01B и 02A (порты контроллера 01 и 03).
Или так не получится в принципе из-за конструкции самого контроллера?
=====
А может проще пойти немного другим путём (программным?).
Соорудить скрипт одновременного управления всеми приводами (а их 24 штуки) с их переменными, в которых хранятся данные об угле поворота каждого привода, и меняя угол на нужных приводах, запускать этот скрипт? Получится что-то в виде программно-математической модели управления положением робота в пространстве.
Подключение Pololu Mini Maestro
 
Спасибо, получилось.
А для трёх делать так?

{
byte 0xAA #Start Byte
byte 0x0C #Device ID = 12
byte 0x1F #Command = Set Multiple Targets
byte 0x03 #Number of targets = 3
byte 0x00 #First channel number = 0
byte 0x00 #First target low bits <- First SERVO
byte 0x04 #First target high bits
byte 0x00 #Second target low bits <- Second SERVO
byte 0x04 #Second target high bits
byte 0x00 #Thread target low bits <- Thread SERVO
byte 0x04 #Thread target high bits
} > $DEVICE

И далее в такой же последовательности?
Изменено: Максим Фиронов - 11.06.2013 00:12:54
Подключение Pololu Mini Maestro
 
Делаю вот так:

# В одну сторону
{
byte 0xAA #Start Byte
byte 0x0C #Device ID = 12
byte 0x1F #Command = Set Multiple Targets
byte 0x02 #Number of targets = 2
byte 0x00 #First channel number = 0
byte 0x00 #First target low bits
byte 0x00 #First target high bits
byte 0x70 #Second target low bits
byte 0x4E #Second target high bits
} > $DEVICE

sleep 2

# В другую сторону
{
byte 0xAA #Start Byte
byte 0x0C #Device ID = 12
byte 0x1F #Command = Set Multiple Targets
byte 0x02 #Number of targets = 2
byte 0x00 #First channel number = 0
byte 0x00 #First target low bits
byte 0x00 #First target high bits
byte 0x00 #Second target low bits
byte 0x04 #Second target high bits
} > $DEVICE

Всё работает, но, отработка происходит только на одном канале, в данном случае - на первом (0x01)
Второй канал молчит и не пытается что-либо сделать.
Страницы: 1 2 След.