roboforum.ru

Технический форум по робототехнике.

 

Мой первый робот - НУЖНА ПОМОЩЬ

Обсуждаем рождающиеся мысли и результаты экспериментов.

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение =DeaD= » 18 июл 2008, 16:30

Правильное решение - поставить переменный резистор и получить практически серву. Такое ощущение, что мы скоро траффика на обсуждение темы потратим больше, чем стоимость сервы :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24053
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: Pascal / C++ / PHP / 1C
ФИО: Антон Ботов

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение Lema100 » 18 июл 2008, 16:42

Понятное дело прилепить пружины намного легче, но в этой конструкции они не помогут, опишу ситуацию: при остановленном двигателе, я поворачиваю колёса руками (пытаюсь вернуть в среднее положн) и в редукторе шестерни не крутятся а начинают проскакивать (редуктор червячный) т.е. если в эту конструкцию поставлю пружини такой силы, колёса просто не будут поворачиватся.

Сегодня вечером попробую немного пошаманить с редуктор может и обойдётся пружинами.
Последний раз редактировалось Lema100 18 июл 2008, 16:51, всего редактировалось 1 раз.
Lema100
 
Сообщения: 17
Зарегистрирован: 16 июл 2008, 20:16
Откуда: Донецк, Украина
прог. языки: Немного Pascal

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение MiBBiM » 18 июл 2008, 16:47

Это хорошая новость. С червячным редуктором отклонения прст не будет (т.к. придется приложить немалую силу чтобы сдвинуть колеса).
Позже напишу маленький кусочек, который управляет поворотом.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение Lema100 » 18 июл 2008, 16:50

Так, что мне ломать редуктор, чтоб поставить пружины или лучше будет поставить датчик или датчики ?
Lema100
 
Сообщения: 17
Зарегистрирован: 16 июл 2008, 20:16
Откуда: Донецк, Украина
прог. языки: Немного Pascal

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение Myp » 18 июл 2008, 16:53

блиииин

ну слоф нету просто
210 рублей стоит серва самая простая
это для студента 2 раза пива попить с кальмарами

так нет же будут сидеть на форуме вторую страницу обсуждений вести как бы выкрутится


во вторых есть такие 2х позиционные выключатели
в сидируме используется обычно
есть 3 состояния
1. движок по середине сигнала нету
2. лоток поехал в одну сторону, движок наклонён в сторону, сигнал на одной ноге
3. лоток поехал в другую сторону, движок наклонён в другую сторону, сигнал на второй ноге

либо тупо ставим 2 микрика склеенных друг с другом ровно по центру
когда руль прямо ни один не работает когда руль вправо или влево работает один из двух микриков

на самом деле нам не надо 2 микрика достаточно одного
мы же знаем вправо или влево руль выкручен
значит и знаем в какую сторону крутить чтоб в ноль встать
а если допустим питание сбросилось и руль повернули насильно то просто рыскаем вправо влево пока не сработает микрик
калибруемся так сказать на центральной точке
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 15918
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение MiBBiM » 18 июл 2008, 17:07

Myp писал(а):на самом деле нам не надо 2 микрика достаточно одногомы же знаем вправо или влево руль выкручен

Откуда вы это знаете?
Ломать не надо. Лишь один датчик по центру.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение Myp » 18 июл 2008, 17:11

а, ну да, мы же используем МК который болеет склерозом и не можем запомнить на какую ногу какой подавали сигнал в последний раз...

тока что рулили вправо и через секунду забыли что рулили вправо...
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 15918
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение MiBBiM » 18 июл 2008, 17:39

Простите, Мур, но обсуждение велось по поводу того, что при движении руль могло сдвинуть, но теперь, когда известно про червячный редуктор, эта возможность отпадает.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение Myp » 18 июл 2008, 17:42

вот уж нет
изначально было сказано что даже сильная пружинка не может редуктор провернуть обратно в ноль
а значит при движении тем более колёса самопроизвольно не повернуться
и неважно червячный или нет там редуктор =)
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 15918
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение MiBBiM » 18 июл 2008, 19:12

Хм. Вы правы. Не заметил.

Добавлено спустя 1 час 21 минуту 51 секунду:
Заранее прошу прощения за то, что всю ветку жестко тупил (прст когда-то делал такую же, только там необходимо было удерживать руль поворота двигателем).
Итак, алгоритм.
Машинка запоминает текущее положение руля. При команде свыше, она сдвигает рулевую ось.
Дабы избежать использования концевых датчиков, используется задержка по времени. Т.е. считается, что двигатель сдвинет рулевую ось из центрального, допустим, положения, в любое из крайних за 300мс (используется максимально возможное).
Тогда:
Заголовок:
This program was produced by the
CodeWizardAVR V1.24.8d Professional
Automatic Program Generator
© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : Turn machine
Version : 0.1
Date : 18.07.2008
Author : MiBBiM
Company : MiBBiM,inc
Comments:

Chip type : ATtiny2313
Clock frequency : 4,000000 MHz
Memory model : Tiny
External SRAM size : 0
Data Stack size : 32

Часть обявлений+функция поворота:
Код: Выделить всёРазвернуть
#define M_F  PORTB.7   //обозначения
#define M_B  PORTB.6   //принятые для удобства восприятия
#define T_R  PORTB.5   //компилятор вместо первого слова поставит второе
#define T_L  PORTB.4   //т.е. вместо T_L будет PORTB.4
#define C_D  PIND.6

// Declare your global variables here
unsigned char this_move; //запоминаем текущее движение
enum {L,R,C};                  //массив видов движений

void turn(unsigned char direction) //объявляем ф-ю поворота
{
switch (direction) //выбор из вариантов ниже
{
case L: //первый вариант
    T_L=1; //запускаем поворотные двигатели
    T_R=0;
    if (this_move==R){delay_ms(300);};  //ждем некоторое время(измеряется опытным путем)
    if (this_move==C){delay_ms(150);};
    T_L=0;  //останавливаем двигатели
    T_R=0;
    this_move=L;  //теперь мы на левой позиции
    break;
case R: //второй вариант
    T_L=0; //аналогично
    T_R=1;
    if (this_move==L){delay_ms(300);};
    if (this_move==C){delay_ms(150);};
    T_L=0;
    T_R=0;
    this_move=R;
    break;
case C: //третий вариат
    switch (this_move) //выбираем где мы находимся
     {
     case L: //если слева, то
        T_L=0; //запускаем поворот вправо
        T_R=1;
        while (C_D){}; //ждем пока датчик не пискнет о том, что достигли центра
        T_L=0;T_R=0; //останавливаем двигатель
        this_move=C; //теперь мы на центре
        break;
     case R:
        T_L=1;
        T_R=0;
        while (C_D){};
        this_move=C;
        break;
     }
    break;
}
}

Функция инициализации:
Код: Выделить всёРазвернуть
void init(void)
{
T_L=1;T_R=0;   //поворачиваем влево
delay_ms(300); //ждем
T_L=0;T_R=1;  //поворачиваем вправо
while(C_D){};   //до центра
T_L=0;T_R=0;  //и останавливаем движок
this_move=C; //теперь рулевая ось в центре
}

Полный текст во вложении. Сейчас программа - это заглушка, проверяющая принцип поворота. Если тест окажется успешным, то можно будет реализовывать грамотную программу с добавлением таймеров.
P.S. Спойлеры не работают?
Вложения
Meh.rar
(28.46 КиБ) Скачиваний: 23
Последний раз редактировалось MiBBiM 18 июл 2008, 19:15, всего редактировалось 1 раз.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение Lema100 » 18 июл 2008, 19:15

Myp писал(а):блиииин

ну слоф нету просто
210 рублей стоит серва самая простая
это для студента 2 раза пива попить с кальмарами


В этом проблемы особо нету 200р я готов заплатить, но у нас в городе я незнаю, где продают сервы облазив в этот вторник весь радиорынок я таких не видел. А заказывать через интернет магазин - это плюс доставка и неизвестно скока она будет идти (все знают как у нас почта работает).

Myp писал(а):
на самом деле нам не надо 2 микрика достаточно одного
мы же знаем вправо или влево руль выкручен
значит и знаем в какую сторону крутить чтоб в ноль встать
а если допустим питание сбросилось и руль повернули насильно то просто рыскаем вправо влево пока не сработает микрик
калибруемся так сказать на центральной точке



помоему про один датчик я говорил на первой странице, но идею забраковали :( .
MiBBiM СПАСИБО за помощь.
Lema100
 
Сообщения: 17
Зарегистрирован: 16 июл 2008, 20:16
Откуда: Донецк, Украина
прог. языки: Немного Pascal

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение MiBBiM » 18 июл 2008, 19:23

Рано ещё спс говорить :)
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение Lema100 » 18 июл 2008, 19:30

MiBBiM Какой программой вы пользуетесь для написания программ?
Lema100
 
Сообщения: 17
Зарегистрирован: 16 июл 2008, 20:16
Откуда: Донецк, Украина
прог. языки: Немного Pascal

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение MiBBiM » 18 июл 2008, 20:06

MiBBiM писал(а):This program was produced by the
CodeWizardAVR V1.24.8d Professional
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Мой первый робот - НУЖНА ПОМОЩЬ

Сообщение Lema100 » 18 июл 2008, 20:16

MiBBiM писал(а):
MiBBiM писал(а):This program was produced by the
CodeWizardAVR V1.24.8d Professional


Извиняюсь, не заметил.

Свой код дополню вашим, скомпилирую, всё на выходных соберу, отпишусь о результате...
Lema100
 
Сообщения: 17
Зарегистрирован: 16 июл 2008, 20:16
Откуда: Донецк, Украина
прог. языки: Немного Pascal

Пред.След.

Вернуться в Идеи

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

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

Mail.ru counter