Управление сервоприводом черех ШИМ
- Войдите на сайт для отправки комментариев
Вс, 02/07/2017 - 23:21
Доброго времени суток! Помогите разобраться в чём ошибка, отправляю на серву сигнал 1600 микросекунд, с частотой 50гц(20мс), использую ардуино уно. В итоге сервы дергаются, смотрел через осцилограф, вроде все верно, питание подглючено всё правильно - проверял, импульс подавал через генератор, всё гуд. Вот код:
int outPin1 = 7; // microseconds int test_impulse = 1600; int cycle = 20000; // 50Hz void setup() { pinMode(outPin1, OUTPUT); } void loop() { digitalWrite(outPin1, HIGH); delayMicroseconds(test_impulse); // 1600 digitalWrite(outPin1, LOW); delayMicroseconds(cycle - test_impulse); // 20000 - 1600 }
Доброго времени суток! Помогите разобраться в чём ошибка, отправляю на серву сигнал 1600 микросекунд, с частотой 50гц(20мс), использую ардуино уно. В итоге сервы дергаются, смотрел через осцилограф, вроде все верно, питание подглючено всё правильно - проверял, импульс подавал через генератор, всё гуд. Вот код:
У вас джиттер - дрожжат фронты
А можете поподробнее? Ведь через генератор сигнала ничего не дрожит! Я думал в коде проблема.
А можете поподробнее? Ведь через генератор сигнала ничего не дрожит! Я думал в коде проблема.
Достаточно джиттера 5-10мкс - и серво будет ощутимо жжужать. Посмотрите осциллографом.
Ардуино гавно или нужно программировать таймеры через регистры?
Ардуино гавно или нужно программировать таймеры через регистры?
А в чем Вы видите разницу?
программируйте через регистры и не забывайте сбрасывать предделитель. вот он-то и дрожит.
Доброго времени суток! Помогите разобраться в чём ошибка, отправляю на серву сигнал 1600 микросекунд, с частотой 50гц(20мс), использую ардуино уно. В итоге сервы дергаются, смотрел через осцилограф, вроде все верно, питание подглючено всё правильно - проверял, импульс подавал через генератор, всё гуд. Вот код:
А для чего delayMicroseconds(cycle - test_impulse); ?
Вполне достаточно delayMicroseconds(cycle);
Частота следования канального импулься для стандартных серво - 50Hz. Небольшие девиации частоты следования этого импульса не влияют на положение вала серво.
Сегодня ещё раз проверил осцилографом, частота 49,63 Гц, импульс гуляет от 1613-1620 мкс. 7мкс может вызывать смещение вала?
Сегодня ещё раз проверил осцилографом, частота 49,63 Гц, импульс гуляет от 1613-1620 мкс. 7мкс может вызывать смещение вала?
3-4 ° плюс минус погрешность сервы.
Сегодня ещё раз проверил осцилографом, частота 49,63 Гц, импульс гуляет от 1613-1620 мкс. 7мкс может вызывать смещение вала?
У хороших серв мертавая зона 1-2uS
Сегодня ещё раз проверил осцилографом, частота 49,63 Гц, импульс гуляет от 1613-1620 мкс. 7мкс может вызывать смещение вала?
3-4 ° плюс минус погрешность сервы.
1,5uS+-0,5uS стандарт. 0,5uS дает отклонение выходного вала на 45 град
1,5uS+-0,5uS стандарт. 0,5uS дает отклонение выходного вала на 45 град
u - это микро. m- милли.
1,5uS+-0,5uS стандарт. 0,5uS дает отклонение выходного вала на 45 град
u - это микро. m- милли.
Дааа - пардон муа - это mS