Управление сервомотором с помощью ШИМ

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Управление сервомотором с помощью ШИМ

Сообщение Maycal » 30 янв 2010, 20:46

Доброе время суток. Я знаю что наверняка уже не мало тем поднималось по этому вопросу, но искал в гугле - не нашел, и на этом форуме искал, то же не нашел, нашел только тему, где рассказывается про программное управление, а мне нужно аппаратное, потому-что кроме того как управлять сервомотором, контроллер еще много чего должен делать. Еще нашел что (Импульс повторяетсья с частотой 50 гц от длины импульса зависит как повернется серва если длина импкльса 1.5 мк то по центру если 0.9 то в левом крайнем положении, если 2.1 то в правом крайнем положении, нам нужно генерировать этот сигнал.) но этого не достаточно. Может быть вы дадите ссылку на похожую тему, так что прошу прощения если создаю очередную клон-тему.
Суть вопроса:
имеется Tiny2313 и сервомотор. Нужно что бы можно было управлять сервомотором, я слышал что это можно сделать с помощью ШИМ. Скажите пожалуйста, как в CodeVsionAVR так делать?
Читал вот это http://avr123.nm.ru/z8.htm и получил общие знания про ШИМ, а вот конкретно какие параметры ставить, то есть что на что делить, какой именно ШИМ нужен для работы сервомотора (вперед, назад и центр) не знаю, пожалуйста помогите, частота тактирования 8 MHz
Maycal
 
Сообщения: 25
Зарегистрирован: 28 ноя 2009, 23:18
Откуда: Подольск

Re: Управление сервомотором с помощью ШИМ

Сообщение avr123.nm.ru » 30 янв 2010, 20:49

Управление сервами servo это задача-упражнение 13 - http://avr123.nm.ru/z13.htm

Сервомотор - это обычно более сложная субстанция чем модельные servo рулевые машинки и обычно дорогая.

=====
Вложения
servo.png
сервоконтроллер управление servo http://avr123.nm.ru/z13.htm
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Управление сервомотором с помощью ШИМ

Сообщение Maycal » 30 янв 2010, 20:56

т.е сервомотор не есть сервопривод?
У меня такой вопрос: я слышал что от сервопривода должно отходить 3 провода, а у меня в машинке, которую я разобрал, на рулевом управлении от моторчика отходит только два провода. Почему?
Maycal
 
Сообщения: 25
Зарегистрирован: 28 ноя 2009, 23:18
Откуда: Подольск

Re: Управление сервомотором с помощью ШИМ

Сообщение =DeaD= » 30 янв 2010, 20:57

Потому что это моторчик, а то модельный сервопривод :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Управление сервомотором с помощью ШИМ

Сообщение avr123.nm.ru » 30 янв 2010, 21:06

Чтоб он стал сервоприводом или сервой к нему нужно добавить обратную связь - например переменный резистор и схему управления, например как на http://openservo.org - но проще и ИМХО правильней купить дешовую серву модельную которая управляется как написано в задаче 13.

Магазин в шапке форума.

Добавлено спустя 1 минуту 39 секунд:
Maycal писал(а): от моторчика отходит только два провода.
Вашим моторчиком можно плавно управлять как раз так как вы читали в задаче 8 - http://avr123.nm.ru/z8.htm

Т.е. читали вы то что нужно :D

Для реверса можно добавить Н-мост о котором есть топик на форуме.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Управление сервомотором с помощью ШИМ

Сообщение Maycal » 30 янв 2010, 21:12

А можно ведь для реверса использовать драйвер двигателя?
А какие же параметры нужно устанавливать для того, что бы плавно управлять моим моторчиков? Те, что приводятся в задаче 8 подойдут?
Maycal
 
Сообщения: 25
Зарегистрирован: 28 ноя 2009, 23:18
Откуда: Подольск

Re: Управление сервомотором с помощью ШИМ

Сообщение avr123.nm.ru » 30 янв 2010, 21:13

устанваливать - регулировать - величину ШИМ.

Вроде четко все расписано и даже картинка есть Неужели не понятно что нужно изменять ??????????

==
Вложения
pwm.png
ШИМ регулирование на AVR pwm сигнал как сделать http://avr123.nm.ru/z8.htm
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Управление сервомотором с помощью ШИМ

Сообщение Maycal » 31 янв 2010, 20:01

Спасибо за вчерашние подсказки, вчера сделал ШИМ для Atmega 16, смоделировал, получил четкий график, потом переделал для Tiny2313, но Tiny2313 смоделировать не смог - в VMLAB tiny2313 вообще нет, а в PROTEUS он почему-то не работает.
Зашил Tiny 2313. Использовал
Код: Выделить всё
// вывести ШИМ около 25% на PD4
OCR1BH = 0x00;
OCR1BL = 0xFF; // PWM(PD4) 255/10.24 = 24.9(%)
и на выходе ножки PB4 (вывод ШИМ) получилось напряжение питания стабильно 1.22 вольта. Правильно ли это при ШИМ? Стабильно т.е как тестер показывает цифровой.
Maycal
 
Сообщения: 25
Зарегистрирован: 28 ноя 2009, 23:18
Откуда: Подольск

Re: Управление сервомотором с помощью ШИМ

Сообщение MiBBiM » 31 янв 2010, 20:49

в комментариях же написан процент ШИМ, соотвественно Vcc*0,25 = напряжение на ножке (очень примерно)
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Управление сервомотором с помощью ШИМ

Сообщение Maycal » 31 янв 2010, 21:16

То-есть если напряжение Vcc = 4.5, из расчета Vcc*0,25, т.е 4.5*0.25=1,125,
значит у меня правильно получилось?
Maycal
 
Сообщения: 25
Зарегистрирован: 28 ноя 2009, 23:18
Откуда: Подольск

Re: Управление сервомотором с помощью ШИМ

Сообщение avr123.nm.ru » 31 янв 2010, 21:40

Низкочастотный ШИМ можно через резистор 30-100 кОм подавать на вход звуковой карты и смотреть сигнал в звуковом редакторе как в осциллографе
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Управление сервомотором с помощью ШИМ

Сообщение MiBBiM » 31 янв 2010, 22:00

подать на ножку с прерыванием и замерять время =)
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Управление сервомотором с помощью ШИМ

Сообщение Maycal » 31 янв 2010, 23:29

Имеется драйвер L293D. И вроде бы все прекрасно работает, контроллер подает сигнал на один вход крутиться в одну сторону, подает на другой вход - в другую. Если бы не одно НО. Нужен ШИМ. Я слышал что вывод контроллера с ШИМ нужно подключать к входу ENABLE на драйвере. И слышал что пока на ENABLE ток не подашь, независимо от того подается ли сигнал на INPUT 1 или INPUT 2, мотор крутиться не будет. Однако идет ли сигнал на ENABLE или не идет, мотор все равно крутиться, все равно ток идет на OUTPUT. В чем же дело?
Maycal
 
Сообщения: 25
Зарегистрирован: 28 ноя 2009, 23:18
Откуда: Подольск

Re: Управление сервомотором с помощью ШИМ

Сообщение avr123.nm.ru » 31 янв 2010, 23:33

Наверно ошибка у вас в схеме или в сигналах.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Управление сервомотором с помощью ШИМ

Сообщение Maycal » 07 фев 2010, 17:23

Вы говорите что моторчиком можно плавно управлять. Т.е вы хотите сказать что можно сделать так что бы колеса машинки не резко в право влево, а медленно поворачивались? Если так, то скажите пожалуйста, какая примерно нужна для этого величина ШИМ, или же нужно что бы величина ШИМ менялась? Т.е возможно при старте чтоб сдвинуть мотор с места нужно ШИМ 100%, а потом резко уменьшить допустим до 20% что бы колеса медленно крутились?
Maycal
 
Сообщения: 25
Зарегистрирован: 28 ноя 2009, 23:18
Откуда: Подольск

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 28