Страница 1 из 1

правильный PPM & SERVO

Добавлено: Пт янв 25, 2013 08:42:44
CS16AMX
задался давным давно сборкой квадрокоптера, всё почти закуплено давно валяется, но проблема в сигнале серво.
читал ,гуглил все пишут как один сигнал должен быть 1-2мс частота 400гц.
врубил шим,настоил на 1.5мс ну вроде попал близко по периуду,но не по частоте .
далее в сети напоролся на тестер серво ,мега 16
там частота низкая и на весь порт д ,тоесть уже понятно что програмный
может кто подсказать как в cvavr серво сигнал получить?

Re: правильный PPM & SERVO

Добавлено: Пт янв 25, 2013 10:36:59
GRAF
http://cdxp.zx6.ru/archives/355 - Управление сервомашинкой при помощи аппаратного ШИМ
http://my-avr.at.ua/publ/1-1-0-23 - аппаратный ШИМ

Re: правильный PPM & SERVO

Добавлено: Пт янв 25, 2013 11:40:31
m.ix
Сам сейчас давнособранный тестер юзаю.
http://www.youtube.com/watch?v=et8vpnKXlKc проверка серво машинки
http://www.youtube.com/watch?v=iHGfgSQHZEg проверка оборотов

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

Там ещё есть функции которые не пробовал кроме вольтметра.
Сигналы идущие с сервомашинок.

Re: правильный PPM & SERVO

Добавлено: Пт янв 25, 2013 16:56:12
CS16AMX
первая ссылка супер но почемуто не вкурю,почему юарт не пашет и переменная не меняет периуд

Re: правильный PPM & SERVO

Добавлено: Пт янв 25, 2013 17:19:22
CS16AMX
по сути вот это чудовище ,непойму ,почему цыкл стоит?
[*
#include<mega16.h>
#define TOP 10000
#include <stdio.h>
#include <delay.h>
#define servo1(a) OCR1B=a/2
#define servo2(b) OCR1A=b/2
void servo1_position(int pos)
{
OCR1A = pos/2;
}

void servo2_position(int pos)
{
OCR1B = pos/2;
}
char i;



void main(void)
{
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;
//настраиваем Timer1
TCCR1A=0xA0;
TCCR1B=0x12;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=TOP>>8;
ICR1L=TOP; //максимальное значение таймера
OCR1B=0x00;
OCR1A=0x00;

DDRD=0x30; //PORTD4 & PORTD5 сконфигурированы на выход
servo1_position(1000+i);
servo2_position(1300); //на PD4 аналогично, но длительность импульса уже 1300 мксек
printf("%u",OCR1B);
while(1); { printf("%u",i);

OCR1B++;}
}
]

Re: правильный PPM & SERVO

Добавлено: Пн янв 28, 2013 22:05:01
olegtur77
Под коптер есть прошивки 400Гц на регуляторы Turnigy серия PLUSH, или уже готовые ,с прошивками для коптера на RCtimer. Первые делали самодельные с управлением по I2C, но сейчас мало кто занимается, в основном перешли на готовые регули.