roboforum.ru

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

мой первый лайн трейсер ''БОБ''

Re: мой первый лайн трейсер ''БОБ''

Yuraskas » 24 окт 2009, 09:49

Здаёцца мне что дело тут не в электронике...
Himik, забей пока на датчики, напиши прогу чтобы он тупо ехал по прямой какое-то время, без опроса датчиков, а потом чтобы один из двигателей отключался. Т.к. у тебя enable жосско посажен на + питания то остановить один движок можно подав 1 или 0 на оба вывода двигателя, тогда мы увидим, может он поворачивать, или нет. :)
yak-40 писал(а):что-бы такая тележка разворачивалась на месте, или хотя-бы приемлимо поворачивала вообще, нужен полный привод, или поворачивающиеся передние колёса.

У неё и так полный привод - левый двигатель крутит левые колёса, правый - правые. А поворачивает она ооочень приемлимо, только трясёт её при этом... :)

Re: мой первый лайн трейсер ''БОБ''

danger » 24 окт 2009, 13:23

раз два датчика то подрисуй их на этой схеме Изображение да я хочу того сделать тока по другой програме ПРИМЕР 4 :: ПРОСТЕЙШИЙ АЛГОРИТМ СЛЕДОВАНИЯ ПО ЛИНИИ :: MYROBOT.RU

Re: мой первый лайн трейсер ''БОБ''

himik » 24 окт 2009, 13:58

вот написал програмульку
Код: Выделить всёРазвернуть
/***************************************************
ПРИМЕР 2 :: ДВИЖЕНИЕ ПРЯМО С ПОВОРОТОМ :: MYROBOT.RU
****************************************************/

#include <avr/io.h>


/***************** Функция задержки ****************/
void delay(unsigned short ms) // Минимальная задержка с кварцем 8 МГц - 1 мс
{
   unsigned short i, j, k; // объявляем переменные
      
              for (i=0; i<ms; i++) // главный цикл формирования задержки
                     for (j=0; j<185; j++) // вложенный цикл формирования задержки
                              k++; // произвольное действие
}
/****************************************************/


int main(void) // начало основной программы
{
   
   DDRC = 0xff; // все выводы порта C сконфигурировать как выходы

        while (1) {  // Бесконечный цикл

            // ---------- вращаем моторы вперед 1 сек ------------

            PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
            PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
            PORTC &= ~_BV(PC3); // установить "0" на линии 3 порта C
            PORTC |= _BV(PC4); // установить "1" на линии 4 порта C

            delay(100); // ждем 1 сек.
            // ----------------------------------------------------


                        // ---------- останавливаем мотор M2 на 0,5 сек ------

            PORTC &= ~_BV(PC1); // установить "1" на линии 1 порта C
            PORTC |= _BV(PC2); // установить "0" на линии 2 порта C
            PORTC |= _BV(PC3); // установить "0" на линии 3 порта C
            PORTC &= ~_BV(PC4); // установить "1" на линии 4 порта C


                        delay(100); // ждем 0,5 сек.
                        // ----------------------------------------------------


                   } // закрывающая скобка бесконечного цикла

} // закрывающая скобка основной программы


поидее робот должен крутится туда сюда а вот что на деле покажет видео
http://www.youtube.com/watch?v=g5X36GLRKeQ

Re: мой первый лайн трейсер ''БОБ''

osc » 24 окт 2009, 14:26

himik, а порпобуй убрать всю электронику с робота и просто подключить двигатели к блоку питания, может слишком тяжелый груз для него аккум?

Re: мой первый лайн трейсер ''БОБ''

himik » 24 окт 2009, 14:29

а он не от акума питается бп вот мой ответ акумуляторам

Re: мой первый лайн трейсер ''БОБ''

danger » 24 окт 2009, 14:37

подрисуеш или нет в эту схему куда ещё фотодиод встовлять

Re: мой первый лайн трейсер ''БОБ''

Yuraskas » 24 окт 2009, 14:40

А на деле у тебя косяк в программе, я в Си полный ноль, поэтому только алгоритм, код напишешь сам.

начало цикла
1й двигатель вперед
2й двигатель вперед
задержка 10 сек.
2й двигатель стоп
задержка 3 сек.
2й двигатель вперед
конец цикла

стоп осуществляется установкой в 0 обоих выводов двигателя, т.е. PC3 = 0 и PC4 = 0.
И погодите ему с диодами, пусть он сперва поворачивать научится.

Re: мой первый лайн трейсер ''БОБ''

himik » 24 окт 2009, 14:54

написал стал ездить и поворачивать по часовой стрелки :)

Re: мой первый лайн трейсер ''БОБ''

Yuraskas » 24 окт 2009, 15:07

Ну вот, а говорили что поворачивать не умеет... :D
Теперь можешь вставлять в прогу обработку датчиков, поворот по такому же принципу - остановкой одного двигателя...

Re: мой первый лайн трейсер ''БОБ''

himik » 24 окт 2009, 15:31

ааа блин неполучается

Re: мой первый лайн трейсер ''БОБ''

Yuraskas » 24 окт 2009, 15:57

Что именно не получается? А еще такой вопрос: он у тебя только от блока питания питается? а что за блок питания, на сколько вольт, на какой ток?

Re: мой первый лайн трейсер ''БОБ''

himik » 24 окт 2009, 16:16

ток не знаю 6 вольт ,неполучается сделать остановку двигателей

Re: мой первый лайн трейсер ''БОБ''

Yuraskas » 24 окт 2009, 16:22

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

Re: мой первый лайн трейсер ''БОБ''

himik » 24 окт 2009, 16:32

а все посмотрел 500 милиампер

Re: мой первый лайн трейсер ''БОБ''

osc » 24 окт 2009, 17:42

Маловато будет :roll:


Rambler\'s Top100 Mail.ru counter