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

Форум

Страницы: Пред. 1 2
6-ти лапый ходунок "Арахнид", Hexapod - проект Сергея Склярова
 
Привет. Если не затруднительно не подскажешь расчеты на него? Нагрузки, как подобрать сервы, делаю целиком из металла- В95, масса 3500 гр.
 
Для надежности лучше использовать SM-S8330M 30kg на плечи, для сустава и стопы хватит и 10кг. А рассчитывать очень просто: берём длину плеча "П", массу робота "М" и минимальное количество ног Н. Тяга одного серва на плече Т = (П*(М/Н))*2. Например ((7см) * (3.500кг / 3шт)) * 2 = 16.3кг*см. Получается что если у вашего робота массой 3500гр плечо длинной 7см, то минимальная тяга серва 16.3кг*см. Массу лучше рассчитывать с максимальной нагрузкой (с аккумуляторами и полезной нагрузкой). На два умножаем чтобы серва не перегрелась и не сгорела! Расчет плеча адекватен при условии что стопа всегда перпендикулярна земле. Обязательно придется использовать аккумуляторы "LiPo 2S" 2 штуки хотябы по 5000mA, так же понадобятся преобразователи 3шт. (1шт. на 6 сервов) такие в них желательно перепаять резисторы для 6V, но 5V должно хватить. Думаю для начала данных хватит!
 
Какой контроллер лучше использовать?
 
Идеальный вариант Контроллер DFRduio Arduino Mega (Atmega 2560), а так вообще подойдет любой не меньше чем 24 сервопривода. Конечно всё зависит от того как будите им управлять (авто или дистанционно), и от вашего уровня знаний программирования. В худшем случае новичок осваивает оборудование и программирование за пол года, если не бросит этим заниматься!
 
Можешь написать всю электронику в месте с управлением? я вообще запутался. какие еще платы нужны для управления, мне надо сделать на дистанционном. какие видео камеры можно поставить?
 
Цитата
Сергей Степанов пишет:
я вообще запутался
Всё не так просто как кажется! 20% времени работа над механикой, 80% времени программирование. Вы уверены что справитесь?

Цитата
Сергей Степанов пишет:
Можешь написать всю электронику в месте с управлением?
Любой контроллер с минимум 24 I/O каналами (желательно Atmega 2560 или Atmega 1280), беспроводной модуль (Bluetooth или APC220), сервоприводы 18 шт. Ну и питание для логики и сервов отдельно (для тяжелого робота нужны LiPo аккумуляторы + преобразователи, либо сервы должны быть высоковольтными). Сервы желательны цифровые не менее 15 кг*см.

Цитата
Сергей Степанов пишет:
какие видео камеры можно поставить?
Те от которых сможете принять удаленный сигнал. Например какую нибудь IP-камеру с WiFi.

Цитата
Сергей Степанов пишет:
мне надо сделать на дистанционном
На пульте или с ПК?
 
на пульте
 
Цитата
Сергей Степанов пишет:
на пульте
Тогда "Пульт ДУ для Arduino" для начала хватит. А вообще можно использовать любой пульт с инфракрасным приемником.
 
есть два модуля APC220 и сервоконтроллер Pololu Mini Maestro 24 , как с ПК отправить команду на сервоконтроллер, перерыл весь инет но так и не могу понять как на ком порт отправить
 
Для начала, хотелось бы узнать на каком моменте вы остановились:?:
 
с помощью проги настроил оба модуля, установил драйвера, с помощью секвенсера написал команду и сохранил в текстовом формате, возникает вопрос как теперь ее переслать с ПК на сервоконтроллер
 
Команды из "секвенсера" передать не получится.
У вас только два варианта:
1) Напрямую управлять каждым сервоприводом;
2) Записать команды в скрипт и вызывать их оттуда.
Так же нужно будет написать прогу для ПК в которой должна быть функция подключения к COM порту и передачи данных:
(Пример C++)
Код
void* SerialHandle;

bool Connect(wchar_t* I_Port) 
{
    SerialHandle=CreateFileW(I_Port, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
    //---
    if(SerialHandle==INVALID_HANDLE_VALUE) return false;
    //---
    DCB f_dcb;
    memset(&f_dcb, 0, sizeof(DCB));
    f_dcb.DCBlength=sizeof(DCB);
    GetCommState(SerialHandle, &f_dcb);
    //---
    f_dcb.BaudRate=115200; // Скорость порта
    f_dcb.ByteSize=8;
    f_dcb.Parity=NOPARITY;
    f_dcb.StopBits=ONESTOPBIT;
    //---
    SetCommState(SerialHandle, &f_dcb);
    //---
    return true;
}
 

Код
void Send(unsigned char I_Servo, unsigned short I_Pos)
{
    unsigned char f_data[6]={0xAA, 0xC, 0x04, I_Servo, I_Pos & 0x7F, (I_Pos>>7) & 0x7F};
    //---
    unsigned long f_size;
    WriteFile(SerialHandle, f_data, 6, &f_size, 0);
}
 

В настройках "Маэстры" не забудь указать "UART, detect baud rate".
Если электроника подключена правильно, то сервопривод начнет двигаться.
Пример(С++):

Код
#include <windows.h>

int main()
{
    Connect(L"\\\\.\\COM5");
    while(1)
    {
        Send(0, 4000);
        Sl eep(1000);
        Send(0, 7000);
        Sl eep(1000);
    }
}
 
Обязательно прочитайте инструкцию для "Маэстры", там ещё описаны команды для изменения скоростей и ускорений здесь.
Страницы: Пред. 1 2