roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 04:38

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 298 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12 ... 20  След.
Автор Сообщение
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 06 июн 2015, 15:09 
Не в сети

Зарегистрирован: 12 июн 2010, 15:34
Сообщения: 279
Вчера вчерне завершил работу над Амфибией. Сегодня провел водные испытания. Протечка за 5 минут составила несколько капель, придется подконопатить. Ватерлиния проходит чуть ниже половины корпуса.
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 16 июн 2015, 20:22 
Не в сети

Зарегистрирован: 12 июн 2010, 15:34
Сообщения: 279
Несколько дней назад провели небольшие испытания Амфибии. Смастерили эстакаду из того, что под руки попало.
Вот видеоролик.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 17 июн 2015, 10:44 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
да, с поворотом у неё проблема


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 17 июн 2015, 10:57 
Не в сети
Аватара пользователя

Зарегистрирован: 20 апр 2015, 22:02
Сообщения: 562
Откуда: Москва
Skype: sergelola
ФИО: Сергей
на мой взгляд стоит сделать другой угол наклона ленты гусеницы от верхнего до нижнего внутреннего катка, при проезде выступающих препятствий например ветки она окажется между гусеницами и робот потеряет связь с поверхностью, при поворатах происходит зацепление гусениц тележек, видимо стоит сделать более протяжённый центральный шарнир, на плоской гладкой поверхности поворачивать легко, на местности будут проблемы, тем более вес тележек увеличится и жёсткости шарнира будет не хватать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 17 июн 2015, 18:44 
Не в сети

Зарегистрирован: 12 июн 2010, 15:34
Сообщения: 279
Вы правы, нужно будет уменьшить количество траков у гусениц и "спрятать" их за корпуса, тогда они (гусеницы) не будут цеплять друг друга при поворотах. И не надо будет ставить ограничители как я собирался.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 17 июн 2015, 22:32 
Не в сети

Зарегистрирован: 08 апр 2013, 08:09
Сообщения: 303
Откуда: Екатеринбург
ФИО: Сергей
Прикольно,но мне нравится больше колесный вариант даже ваша предыдущая версия предпочтительней гусеничной,приведенный же здесь многоколесный вариант вообще вне конкуренции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 18 июн 2015, 23:42 
Не в сети

Зарегистрирован: 12 июн 2010, 15:34
Сообщения: 279
Собираюсь начать колесную Амфибию. Собираю детали. Приобрел мотор-редукторы 77 об/мин. Я их называю элитнными. Почти не оказывают влияния на радиоуправление, стальной корпус. Колеса сниму со старых роботов, 125 мм в диаметре. Проклею силиконовым герметиком, чтобы в шины не набиралась вода. Достал сальники.
Опять применю ЦПУ, мне он нравится. Заменяет все рессоры, и работает нормально. Остается решить вопрос - сколько делать осей. Склоняюсь к трех корпусной конструкции, с двумя ЦПУ. Хочу попробовать сделать предельно легкой переднюю часть, чтобы ее, когда нужно будет, поднимать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 19 июн 2015, 10:55 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2014, 19:29
Сообщения: 645
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)
думаю колесная будет более проходимой чем гусеничный....

поделитесь пожалуйста скетчами для ардуин, они у вас в связке 2 шт?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 19 июн 2015, 19:34 
Не в сети

Зарегистрирован: 12 июн 2010, 15:34
Сообщения: 279
Нашел вот скетч для нашего Разведчика (однодвижительного с УЗ сенсором)
Скетч 01 От Михаила Шевченко
#include <AFMotor.h>

#include <Servo.h>



AF_DCMotor motor(1);

Servo servo1;



int inputPin=13; // Echo

int outputPin=7; // Trig



int count = 0;



void setup()

{

Serial.begin(9600);

Serial.println("Motor test!");



pinMode(inputPin, INPUT);

pinMode(outputPin, OUTPUT);



servo1.attach(9);

motor.setSpeed(255);



servo1.write(90);

motor.run(RELEASE);



delay(2000);

}



void loop()

{

digitalWrite(outputPin, LOW);

delayMicroseconds(2);

digitalWrite(outputPin, HIGH);

delayMicroseconds(10);

digitalWrite(outputPin, LOW);

int distance = pulseIn(inputPin, HIGH);

distance = distance / 58;

Serial.println(distance);



if (distance == 0 || distance > 50)

{

int e = servo1.read();

if (e < 90) servo1.write(e+10);

if (e > 90) servo1.write(e-10);

}

else // препятствие

{

if ( count == 2 ) servo1.write(170); // вправо

else servo1.write(10); // влево



count += 1;

if ( count == 3 ) count = 0;

}



motor.run(FORWARD);

delay(100);

}

Добавлено спустя 3 минуты 8 секунд:
Попробую найти скетч для двухплатного на Pro mini.
Писать сейчас просто лень.

Добавлено спустя 3 минуты 31 секунду:
Мои студенты пишут что-то вроде таких:
Скетч движения робота до мины и возвращение на «Старт»

int IN1 = 2;
int IN2 = 3;
int IN3 = 4;
int IN4 = 5;
void setup()
{
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(3000); // Это условие выполняется 3 секунд.
}
void loop()

{

digitalWrite(IN1,HIGH); // Двигатель А вперед ДА - HIGH
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(2000); // 2 секунд движения вперед.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(1000); // Остановка на 1 секунду.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,HIGH); // Двигатель А назад ДА - HIGH
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(100); // Поворот влево 0,1 секунды.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(200); // Остановка на 0.2 секунду.

digitalWrite(IN1,HIGH); // Двигатель А вперед ДА - HIGH
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ – LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,HIGH); // Двигатель Б назад ДА - HIGH
delay(200); // Поворот вправо 0.2 секунда.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(1000); // Остановка на 1 секунду.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,HIGH); // Двигатель А назад ДА - HIGH
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(100); // Поворот влево 0,1 секунды.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(1000); // Остановка на 1 секунду.


digitalWrite(IN1,HIGH); // Двигатель А вперед ДА - HIGH
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(2000); // 2 секунд движения вперед.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(1000); // Остановка на 1 секунду.

digitalWrite(IN1,HIGH); // Двигатель А вперед ДА - HIGH
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,HIGH); // Двигатель Б назад ДА - HIGH
delay(200); // Поворот влево 0.2 секунду.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(1000); // Остановка на 1 секунду.

digitalWrite(IN1,HIGH); // Двигатель А вперед ДА - HIGH
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(2000); // 2 секунд движения вперед.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(2000); // Остановка на 2 секунды.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,HIGH); // Двигатель А назад ДА - HIGH
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(500); // Поворот вправо 0.5 секунды (разворот).

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(1000); // Остановка на 1 секунду.

digitalWrite(IN1,HIGH); // Двигатель А вперед ДА - HIGH
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(2000); // 2 секунд движения вперед.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ – LOW
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - HIGH
delay(200); // Поворот вправо 0.2 секунда.

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(1000); // Остановка на 1 секунду, после чего идет следующее условие ниже.

digitalWrite(IN1,HIGH); // Двигатель А вперед ДА - HIGH
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,HIGH); // Двигатель Б вперед ДА - HIGH
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(3000); // 3 секунд движения вперед (возвращение на исходную позицию).

digitalWrite(IN1,LOW); // Двигатель А вперед НЕТ - LOW
digitalWrite(IN2,LOW); // Двигатель А назад НЕТ - LOW
digitalWrite(IN3,LOW); // Двигатель Б вперед НЕТ - LOW
digitalWrite(IN4,LOW); // Двигатель Б назад НЕТ - LOW
delay(2000); // Остановка на 20 секунд.
}

Добавлено спустя 14 минут 44 секунды:
Нашел что-то похожее. Скетчи для прохождения маршрута "Квадрат" при управлении бортами.
Для левого борта:

#include <Stepper.h>

const int stepsPerRevolution = 300; // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 2 through 5:
Stepper myStepper(stepsPerRevolution, 2,3,4,5);

void setup() {
// set the speed at60 rpm:
myStepper.setSpeed(60);
// initialize the serial port:
Serial.begin(9600);
}

void loop() {

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(3500);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(350);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(4000);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(350);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(4000);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(350);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(4000);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(350);
delay(500);

// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(0);
delay(5000);
}

А это для правого:

Добавлено спустя 1 минуту 2 секунды:
#include <Stepper.h>

const int stepsPerRevolution = 300; // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 2 through 5:
Stepper myStepper(stepsPerRevolution, 2,3,4,5);

void setup() {
// set the speed at60 rpm:
myStepper.setSpeed(60);
// initialize the serial port:
Serial.begin(9600);
}

void loop() {

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(3500);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(0);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(3000);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(0);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(3000);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(0);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(3000);
delay(500);

// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(-350);
delay(500);

// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(0);
delay(5000);
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 21 июн 2015, 17:18 
Не в сети

Зарегистрирован: 12 июн 2010, 15:34
Сообщения: 279
Начал проект "Колесная Амфибия 02" Сделал эскиз.
Как выставить - не знаю. Попробую по-старинке.

Добавлено спустя 4 минуты 6 секунд:
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 24 июл 2015, 20:09 
Не в сети

Зарегистрирован: 12 июн 2010, 15:34
Сообщения: 279
Сделал платформу Амфибии колесной.
Изображение

Добавлено спустя 3 минуты 1 секунду:
А вот некоторые ее возможности. Осуществление поворота.
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 25 июл 2015, 00:02 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2014, 19:29
Сообщения: 645
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)
это уже гусеница! интересно как оно в деле...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 25 июл 2015, 00:45 
Не в сети

Зарегистрирован: 12 июн 2010, 15:34
Сообщения: 279
В ближайшем будущем собираюсь по верхней кромке закрепить штапики ниже верха на 5 мм. Это будут буртики для крышек. Так называемая, верхняя герметизация. Ну а затем, размещение Ардуины UNO, Драйверов 2А и аккумуляторов.
Пока не решил, как делать повороты. Танковая система вряд ли подойдет! Соотношение длина/ширина не в пользу ширины. А сила трения у таких колес - приличная! Наверно придется ставить систему поворота по принципу возжжей. Чувствую, смотреться будет архаично.
Недеюсь, что кто-нибудь какую-либо ценную идею подкинет!
Может быть попробовать применить ШИМ по бортам, тем самым значительно уменьшив силлу трения, тормозящего борта?
Что скажете, творческий народ!?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 25 июл 2015, 01:57 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
думается мне, что танковая пойдет лучше чем в танке, но радиус поворота будет определяться макс углом загиба конструкцими и разворот на месте будет недоступен


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мой робот!
СообщениеДобавлено: 25 июл 2015, 02:08 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
под танковым разворотом вы подразумеваете вариант, когда одна гусеница неподвижна, а другая вращается? так у вас же есть возможность вращать в разные стороны. те же бтр на месте вполне нормально поворачивают

остаётся только проверить.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 298 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12 ... 20  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO