roboforum.ru

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

Первый робот от Kapkan

Re: Первый робот от Kapkan

Kapkan » 12 сен 2011, 16:47

NeON79, HarryStar, спасибо.

>А зачем такой большой радиатор, что реально так сильно греется?<
Не , просто другого нету. Нашел самый маленький и поставил. :)

Диэлектрик

Вот тут http://cdxp.zx6.ru/archives/355 есть формула для расчета значений в регистре OCRnx и пример кода как управлять сервой.
А вот мой код для двух серв (mikropascal)

//////////////////ATMega32 16MHz//////////////////////
TCCR1A:=0xA0; // настраиваем МК
TCCR1B:=0x12;
TCNT1H:=0x00;
TCNT1L:=0x00; // настроили
ICR1H:=0x4E; //TOP равно 20000
ICR1L:=0x20;
OCR1AH:= 0x05; //Поворачиваем серву 1
OCR1AL:= 0xDC; // на 90 градусов (нейтральное положение)
OCR1BH:= 0x05; //тоже самое с сервой 2
OCR1BL:= 0xDC;

С помощью расчетов (формулы по ссылке) узнаем , что для крайнего левого положения сервы в регистры OCR1AH и OCR1AL нужно записать число 500 , а для крайнего правого 2500 . Сразу в 2 регистра его записать нельзя (в микропаскале не поддерживается), поэтому нужно "разбить" это число и по кускам записать в два регистра . Чтоб было проще , пишем процедуру которая будет этим заниматься.

Procedure ServoControl (Value: integer); //min 500 , max 2500 ,
Begin
OCR1AH:= Value shr 8;
OCR1AL:= Char(Value);
End;

Для второй сервы тоже самое , только регистры будут OCR1BH и OCR1BL

Re: Первый робот от Kapkan

Диэлектрик » 12 сен 2011, 17:16

Kapkan, спасибо.
Но мне до программирования микроконтроллеров очень далеко.
Я понял так:
Подаём 1 импульс 100мс серва из любого положения возвращается в 0 град.
Подаём 1 импульс 1250мс серва из любого положения встаёт в 45 град.
Подаём 1 импульс 2000мс серва из любого положения встаёт в 180 град.
Так?

Re: Первый робот от Kapkan

Kapkan » 12 сен 2011, 17:23

Нет , одного импульса мало. Их нужно постоянно генерировать, чтоб серва оставалась в том же положении.
0 град. - 1000 мкс
45 град. - 1250 мкс
180 град. - 2000 мкс

Re: Первый робот от Kapkan

=DeaD= » 12 сен 2011, 17:51

При этом постоянно == с частотой 50Гц ;)

Re: Первый робот от Kapkan

Диэлектрик » 12 сен 2011, 17:53

Если подача импульсов прекращается серва возврашается на 0 градусов?

Re: Первый робот от Kapkan

semak » 12 сен 2011, 18:43

Нет. При подаче импульсов серва находится в режиме удержания; если прекратить подавать импульсы - она "отпускает", как будто ее обесточили

Re: Первый робот от Kapkan

Диэлектрик » 12 сен 2011, 18:57

Всем огромное спасибо :)

Re: Первый робот от Kapkan

Kapkan » 26 сен 2011, 21:41

Проект сейчас продвигается медленно , не хватает времени заниматься роботом.
И так , питаться робот будет от литиевого аккумулятора 3,7 вольт. Прошивка написана полностью , контроллер прошит , все работает :Yahoo!: . Только взял фотик , как на роботе сразу сдох аккумулятор :crazy: . Сейчас заряжу его полностью и выложу видео и фото. Проект пока завершен на 85%. 8)

Добавлено спустя 1 час 17 минут 11 секунд:
Вот видео. Нужно будет слегка поправить прошивку.
Вложения
IMG_0132.JPG

Re: Первый робот от Kapkan

space » 26 сен 2011, 22:02

а что так шумит та здорово??

Re: Первый робот от Kapkan

Kapkan » 26 сен 2011, 22:05

Это двигатели такие. Надо будет положить кусок резины между двигателями и текстолитом. Может поменьше шума будет.

Re: Первый робот от Kapkan

OzZy » 25 окт 2011, 11:19

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

Re: Первый робот от Kapkan

=DeaD= » 25 окт 2011, 11:22

Радиатор сзади видимо специально, чтобы при резком старте машинка на дыбы вставала :)

Re: Первый робот от Kapkan

cudi » 28 окт 2011, 19:30

молодец... что ещё будешь в дальнейшем делать?)

Re: Первый робот от Kapkan

Kapkan » 28 окт 2011, 21:15

Этим роботом уже вряд ли буду ещё заниматься. Хочу сделать другого робота на основе MiniITX.
=DeaD= писал(а):Радиатор сзади видимо специально, чтобы при резком старте машинка на дыбы вставала :)


:D :crazy:

Re: Первый робот от Kapkan

cudi » 29 окт 2011, 13:44

Смысл было столько напрягаться?:) Если продолжать не будешь...


cron
Rambler\'s Top100 Mail.ru counter