Форум программистов, компьютерный форум, киберфорум
Электродвигатели
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.52/54: Рейтинг темы: голосов - 54, средняя оценка - 4.52
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
1

Управление сервоприводом

01.01.2013, 08:19. Просмотров 11098. Ответов 24
Метки нет (Все метки)

есть сервомашинка переделанная под постоянное вращение(убран реостат и ограничитель хода)..
Поскольку с ними я сталкиваюсь первый раз,у меня возникли вопросы как ею управлять?
что бы управлять простой сервомашинкой(с реостатом и бла бла бла) я нашел принцип работы и примеры..
А вот на такую как у меня нешиша я не нашел.
Меня интересует как заставить её крутится в одну сторону,и в другую сторону,можно заставить её делать это с разными скоростями?
если можно то примеры на С,так как я под это всё дело буду писать программку,и зашивать её в тини2313..
З.Ы. машинка шла в наборе Mr. General.
0
Миниатюры
Управление сервоприводом  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.01.2013, 08:19
Ответы с готовыми решениями:

Управление сервоприводом
Здравствуйте. Есть сервопривод Servomotor 90ST-M03520. С ним идёт блок управления...

Управление сервоприводом
Снова нужна помощь сообщества :) Пытаюсь прикрутить к коду, представленному ниже, управление ШИМом,...

Управление сервоприводом по Wi-Fi
Всем привет! Вопрос вот в чем: Есть wi-fi модуль, микроконтроллер и дальше сервопривод. Как послать...

управление сервоприводом кнопкой
Доброго времени суток ув.Форумчане! В электротехнике не силен, но вот тут пришлось столкнуться с...

24
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
01.01.2013, 11:33 2
Коротко об управлении сервоприводами
1
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
01.01.2013, 18:17  [ТС] 3
Спасибо!
заставил его крутиться в разные стороны с помощью такого быдло кода
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <tiny2313.h>
#include <delay.h>
void main(void)
{ 
    DDRD = 0xFF;
 
    while (1) {
    if(PIND.1==1){
    PORTD.0=1;
    delay_ms(1);
    PORTD.0=0;
    delay_ms(20);
    }
    if(PIND.2==1)
    {
    PORTD.0=1;
    delay_ms(2);
    PORTD.0=0;
    delay_ms(20);
    }
    };
}
0
97 / 92 / 0
Регистрация: 24.04.2010
Сообщений: 275
01.01.2013, 19:53 4
Получается от PIND.2==1 крутится в два раза быстрее?
Т.к период заполнения импульсов 2 к 20 , а у PIND.1==1 период заполнения 1 к 20.
А что в качестве драйвера? или подключено напрямую к контроллеру?

А при нажатии и удержании двух кнопок как работает? Думаю должен медленно крутится.
0
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
01.01.2013, 20:33  [ТС] 5
Цитата Сообщение от russo turisto Посмотреть сообщение
А при нажатии и удержании двух кнопок как работает? Думаю должен медленно крутится.
неопределенное состояние у него будет.

Цитата Сообщение от russo turisto Посмотреть сообщение
Получается от PIND.2==1 крутится в два раза быстрее?
Т.к период заполнения импульсов 2 к 20 , а у PIND.1==1 период заполнения 1 к 20.
нет,от этого заввисит только то в какую сторону крутится,так как 1 к 20 это поворот -75 градусов,а 2\20 это поворот 75 градусов.

Цитата Сообщение от russo turisto Посмотреть сообщение
А что в качестве драйвера? или подключено напрямую к контроллеру?
у них сервомашинок все внутри(лично у моей так),главное то что приходит на управлющий провод(он белый),поэтому белый провод через резистор ~250 ом к ноге мк и всё.
________________________________
Как я думаю при заполнении 1.5\20 будет стоять на месте,угол поворота 0.
при при заполнении меньше 1.5\20 крутится "назад",со сокоростью тем выше чем ниже заполнение,но оно не должно быть меньше 1\20.

З.Ы. Это все мои познания и моя практика за сегодняшний день,завтра буду монтировать это все дело на эволюционной платформе,писать нормальную программу(сразу как вспомню функции).
З.Ы.Ы. у кого какие замечания по делу,буду только рад исправится!))))

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от raxp Посмотреть сообщение
Коротко об управлении сервоприводами
хоть и коротко а полезно)))

0
Модератор
8198 / 6069 / 810
Регистрация: 14.02.2011
Сообщений: 21,049
01.01.2013, 20:44 6
у простейших сервомашинках ( регулятор уровня фар в автомобилях)
схема примерно такая
внутри коробочки стоит двигатель который связан с потенциометром
на вход коробочки три проводка плюс минус и управляемый
управляемый приходит на один вход операционного усилителя на другой вход средний вывод потенциометра
выход через усилитель( драйвер) на двигатель
пока есть разность напряжений движек крутится крутит потенциометр на средней ножке меняется напряжение
и когда оно станет равно управляющему то на операционнике 0 двигатель останавливается

поскольку у тебя
Цитата Сообщение от leoned Посмотреть сообщение
убран реостат и ограничитель хода
доберись до операционника и попробуй менять напряжения на входах
0
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
02.01.2013, 09:00  [ТС] 7
Цитата Сообщение от ValeryS Посмотреть сообщение
доберись до операционника и попробуй менять напряжения на входах
да оно мне пока не нужно)
тем более разобрал я одну,увидев какой величины там микруха и какие у неё маааааааааленькие ножки,собрал всё обратно
И мне пока хватает моего алгоритма,который спокойной выполняет свою задачу)
0
Тутошний я
1847 / 994 / 182
Регистрация: 03.11.2009
Сообщений: 3,319
Записей в блоге: 2
02.01.2013, 20:54 8
leoned, по мойму так правильней
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while (1) {
if(PIND.1==1){
 PORTD.0=1;
 delay_ms(1);
 PORTD.0=0;
delay_ms(19);//здесь
 }
 if(PIND.2==1)
{
PORTD.0=1;
 delay_ms(2);
 PORTD.0=0;
 delay_ms(18);//и здесь
}
 };
Добавлено через 19 минут
Мне здесь описание понравилось Создаем сервотестер на базе микроконтроллера ATMega
И насколько знаю скорость вращения у сервомашинок не меняется.
1
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
03.01.2013, 19:54  [ТС] 9
Цитата Сообщение от Grey Посмотреть сообщение
leoned, по мойму так правильней
хотя да...)
Так гораздо правильне)
Спасибо)

Цитата Сообщение от Grey Посмотреть сообщение
И насколько знаю скорость вращения у сервомашинок не меняется.
почитав статью понял почему.
еще раз спасибо.

Добавлено через 4 часа 4 минуты
Цитата Сообщение от Grey Посмотреть сообщение
leoned, по мойму так правильней
а вот только хуже заработало!
В моём варианте работало ровно без рывков,в таком варианте крутится только в одну сторону с рывками.
0
Тутошний я
1847 / 994 / 182
Регистрация: 03.11.2009
Сообщений: 3,319
Записей в блоге: 2
03.01.2013, 22:18 10
Цитата Сообщение от leoned Посмотреть сообщение
а вот только хуже заработало!
В моём варианте работало ровно без рывков,в таком варианте крутится только в одну сторону с рывками.
Возможно из за того что весь порт включен ны выход. Замените на
C
1
DDRD = 0xF9;
Добавлено через 2 часа 11 минут
Знаешь чего ещё не хватает?
Когда жмём 1 кнопку, двигатель вращается в одну сторону. Жмём 2, вращается в другую.
А что он делает когда все кнопки отпущены?
0
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
04.01.2013, 10:35  [ТС] 11
Цитата Сообщение от Grey Посмотреть сообщение
А что он делает когда все кнопки отпущены?
стоит!)))))
проверял)
Цитата Сообщение от Grey Посмотреть сообщение
Возможно из за того что весь порт включен ны выход. Замените на
уже заменил)
0
4193 / 1786 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
04.01.2013, 10:57 12
Цитата Сообщение от leoned Посмотреть сообщение
Меня интересует как заставить её крутится в одну сторону,и в другую сторону,можно заставить её делать это с разными скоростями?
Полярностью.
Цитата Сообщение от leoned Посмотреть сообщение
другую сторону,можно заставить её делать это с разными скоростями?
напряжение меняй, или время включения.

Цитата Сообщение от leoned Посмотреть сообщение
если можно то примеры на С,так как я под это всё дело буду писать программку,и зашивать её в тини2313..
А мало ли какое усо будет юзаться для сопряжения компа с движком.
0
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
04.01.2013, 13:15  [ТС] 13
Цитата Сообщение от taras atavin Посмотреть сообщение
Полярностью.
вообще то все регулируется только временем импульсов.
не несите бред)
0
Тутошний я
1847 / 994 / 182
Регистрация: 03.11.2009
Сообщений: 3,319
Записей в блоге: 2
04.01.2013, 21:06 14
Пробовал сейчас. Серва не переделанная. Управлялась программной ШИМ, созданой на таймере.
Серва иногда начинает в обратную сторону вращатся.

leoned, попробуй аппаратный ШИМ импользовать.
0
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
05.01.2013, 15:57  [ТС] 15
Цитата Сообщение от Grey Посмотреть сообщение
Пробовал сейчас. Серва не переделанная. Управлялась программной ШИМ, созданой на таймере.
Серва иногда начинает в обратную сторону вращатся.
не как не смогу опробывать...
позавчера по сонности сбил мк все фьюзы...
мышей не туда даванул,как оживлю мк буду пробывать)
0
Модератор
8198 / 6069 / 810
Регистрация: 14.02.2011
Сообщений: 21,049
05.01.2013, 22:30 16
Цитата Сообщение от Grey Посмотреть сообщение
Серва иногда начинает в обратную сторону вращатся.
я же вам говорил
в сервомашинке стоит потенциометр обратной связи ( для позиционирования) у leoned, он отключен, или вообще выброшен, но на логику работы это не влияет
на одну ногу операционника приходит напряжение от потенциометра, но поскольку он отключен то там скорее всего какое то напряжение, допустим 2.5 Вольта
тогда если подашь на управляющий провод меньше чем 2.5 то будет крутится в одну сторону, если больше то в другую. если ровно то встанет
чем меньше разность напряжений тем меньше скорость, но эта зависимость у каждой машинки своя

почему я и предлагал разобрать машинку и вывести оба провода с операционника тогда подключив их к разным выходам МК можно было без заморочек управлять направлением вращения
1 1 стоим
1 0 крутим в одну сторону
0 1 крутим в другую
0 0 стоим

Добавлено через 3 минуты
Цитата Сообщение от Grey Посмотреть сообщение
Серва не переделанная.
а здесь может быть такой вариант 0 одно положение 5в другое положение
дал 0 вольт отработала в одно положение
дал 5 отработала в другое
дал опять 0 вернулась в первое
все время крутит в разные стороны
и чтобы моторчик туда сюда не дергался надо частоту ШИМ побольше и на выходе поставить сглаживающий конденсатор
0
Тутошний я
1847 / 994 / 182
Регистрация: 03.11.2009
Сообщений: 3,319
Записей в блоге: 2
05.01.2013, 23:35 17
Цитата Сообщение от ValeryS Посмотреть сообщение
а здесь может быть такой вариант 0 одно положение 5в другое положение
дал 0 вольт отработала в одно положение
дал 5 отработала в другое
дал опять 0 вернулась в первое
все время крутит в разные стороны
и чтобы моторчик туда сюда не дергался надо частоту ШИМ побольше и на выходе поставить сглаживающий конденсатор
ValeryS, ты принцип работы сервы знаешь?
У сервы три провода. На два провода подается питание. На третий ШИМ сигнал, для управления. Именно ШИМ, без сглаживания.
0
Модератор
8198 / 6069 / 810
Регистрация: 14.02.2011
Сообщений: 21,049
06.01.2013, 00:28 18
Цитата Сообщение от Grey Посмотреть сообщение
На третий ШИМ сигнал, для управления. Именно ШИМ, без сглаживания.
Сервы бывают разные
та с чем я сталкивался по управления нужно было давать постоянку
хотя вспомнил там на входе кондер стоял ( может сглаживание он и производил)
0
30 / 30 / 0
Регистрация: 30.06.2011
Сообщений: 467
06.01.2013, 10:18  [ТС] 19
считаю что дальше не имеет смысла спорить у меня уже есть алгоритм управления)
здесь все просто и понятно:
http://easyelectronics.ru/upra... hinok.html
0
raxp
06.01.2013, 12:36     Управление сервоприводом
  #20

Не по теме:

...оттуда:

Хотя на кой черт там ПЛИСка, когда с рулением даже трех десятков сервоприводов справится самый рядовой микроконтроллер, затребовав под это дело всего один таймер.
c тем же успехом можно перефразировать: "на кой там МК, когда с этим справится любая рядовая ПЛИС-ина" :)

0
06.01.2013, 12:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2013, 12:36
Привет! Вот еще темы с ответами:

Аналоговое управление сервоприводом
Здравствуйте, электроникой занимаюсь совсем недавно. Только на днях собрал свою первую плату....

Управление сервоприводом (мой вариант)
Уважаемые форумчане - нужна Ваша помощь! Помогите решить такую задачу 1. Имеется сервомашинка...

работа сервоприводом
есть сервопривод нужно сделать так чтобы он поворачивался на 10 градусов,остановился,потом опять...

Проблема с сервоприводом Arduino
У меня возникли некие проблемы из-за сервопривода. Я хотел сделать чтобы на меньшую температуру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.