roboforum.ru

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

Плавное движение сервы

Re: Плавное движение сервы

=DeaD= » 21 сен 2009, 16:55

space писал(а):Что то я тебя не совсем понял :unknown:

Ну на серву МК передает информацию раз в 20мс. Поэтому то что ты меняешь ему, что передавать на серву каждые 12мс - выглядит странно. Представь, что ты капитан корабля и твои команды машинное отделение выполняет раз в 15 минут, а между выполнением только в домино играет, да записывает последнюю команду, которую ты им отдал, чтобы при очередном подходе её выполнить - какой смысл каждые 5 минут ему отдавать новые команды? :)

Re: Плавное движение сервы

space » 21 сен 2009, 17:08

Ни какого. Вообщем тебе эта задержка не нравится. Но если её убрать совсем, то такого плавного движения уже не будет. будет быстрое вращение. Да и так же в хелпе написано.
Код: Выделить всёРазвернуть
$regfile = "2313def.dat"                                    ' specify the used micro

$crystal = 4000000                                          ' used crystal frequency

$baud = 19200                                               ' use baud rate

$hwstack = 32                                               ' default use 32 for the hardware stack

$swstack = 10                                               ' default use 10 for the SW stack

$framesize = 40                                             ' default use 40 for the frame space



'Servo's need a pulse in order to operate

'with the config statement CONFIG SERVOS we can specify how many servo's we

'will use and which port pins are used

'A maximum of 14 servos might be used

'The SERVO statements use one byte for an interrupt counter and the TIMER0

'This means that you can not use TIMER0 anymore

'The reload value specifies the interval of the timer in uS

'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10



Config Servos = 1 , Servo1 = Portb.0 , Reload = 10

'as an option you can use TIMER1

'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 , Timer = Timer1



'we use 2 servos with 10 uS resolution(steps)



'we must configure the port pins used to act as output

Config Portb = Output



'finally we must turn on the global interrupt

Enable Interrupts



'the servo() array is created automatic. You can used it to set the

'time the servo must be on

Servo(1) = 10                                               '10 times 10 = 100 uS on

'Servo(2) = 20                                               '20 times 10 = 200 uS on

Do

Loop



Dim I As Byte

Do

For I = 0 To 100

  Servo(1) = I

  Waitms 1000

Next



For I = 100 To 0 Step -1

'  Servo(1) = I

  Waitms 1000

Next

Loop

End

Re: Плавное движение сервы

=DeaD= » 21 сен 2009, 17:12

Мне не нравится, что эта задержка меньше 20мс :)

Хотя оно конечно почти пофиг :)

Re: Плавное движение сервы

space » 21 сен 2009, 17:18

Вот так и надо было сказать, а то блин шарады какие то прям, команда, капитан хе.... :wink:
Так работает и не дёргается :)

Re: Плавное движение сервы

Ворон » 23 сен 2009, 19:07

на видео точно нет каково нибудь редуктора до камеры?)он плавность бы дал существенную..


Rambler\'s Top100 Mail.ru counter