roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 06:30

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: SERVO - 12 програмных ШИМ в WinAVR
СообщениеДобавлено: 31 окт 2008, 20:02 
Не в сети
Аватара пользователя

Зарегистрирован: 14 дек 2007, 21:19
Сообщения: 59
Откуда: Курган
прог. языки: С++
Не пинайте пожалуйста ногами... Просто я начал уже учиться под avr-gcc писать, а везде примеры или только под CVAVR или управление серво при помощи аппаратного ШИМа... Я себе поставил цель управлять 12-ю сервами при помощи программного шима на AtMega16. Как я понял ШИМ можно генерировать в данной ситуации при помощи прерываний по одному таймеру, но как это сделать мне до сих пор не ясно... Может кто программирует под WinAVR и во всех мельчайших подробностях объяснит...или хотя-бы даст дельные советы... Сразу говорю - все курсы я уже перечитал, и прогуглил, и ресурс winavr.scienceprog.com тоже прочитал. Однако неясность осталась, надеюсь на понимание и помощь!

===========
SERVO Серво - рулевая машинка - вопросы и ответы
viewtopic.php?f=4&t=3723

_________________
Не судите строго, я начинающий, но у меня всё получится!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO & WinAVR
СообщениеДобавлено: 31 окт 2008, 20:06 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Granit писал(а):
цель управлять 12-ю сервами при помощи программного шима на AtMega16.
во всех мельчайших подробностях объяснит...или хотя-бы даст дельные советы...


http://avr123.nm.ru/z13.htm - управление 8 servo на одном таймере - разъяснено детально.
Реализация на Си и от компилятора зависят только некоторые строки.

Отличие в объявлении прерываний в WinAVR и IAR там - http://avr123.nm.ru/03.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO & WinAVR
СообщениеДобавлено: 31 окт 2008, 20:12 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
На форуме есть мой пример как рулить сервами. А скоро закончу мой серво модуль на 8 серв, так что смогу помочь с прошивкой


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO & WinAVR
СообщениеДобавлено: 31 окт 2008, 20:15 
Не в сети
Аватара пользователя

Зарегистрирован: 14 дек 2007, 21:19
Сообщения: 59
Откуда: Курган
прог. языки: С++
Извините, но у вас там всё перемешано... Там вместе с передачей данных... мне отдельно нужно, неясность даже наверное в том, как формируется сигнал ШИМ(

_________________
Не судите строго, я начинающий, но у меня всё получится!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO & WinAVR
СообщениеДобавлено: 31 окт 2008, 20:27 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Granit писал(а):
как формируется сигнал ШИМ(

ШИМ аппаратный делают вот так - http://avr123.nm.ru/z8.htm
А при програмном ШИМ просто управляют таймеровм как в задаче 6 - http://avr123.nm.ru/z6.htm - каждый раз вписывают с какого числа считать до переполнения и соотв. прерывания, или таймер всегда с нуля считает а вписывают число при насчете которого сделать прерывание. В прерывании уже "дергают ножками" МК.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO & WinAVR
СообщениеДобавлено: 01 ноя 2008, 02:30 
Не в сети
Аватара пользователя

Зарегистрирован: 24 ноя 2004, 12:36
Сообщения: 195
Откуда: Харьков
Granit писал(а):
Сразу говорю - все курсы я уже перечитал, и прогуглил, и ресурс winavr.scienceprog.com тоже прочитал. Однако неясность осталась, надеюсь на понимание и помощь!


Значит заканчивай читать и начинай ДУМАТЬ.
Конкретнее в чем неясность у тебя осталась?

Granit писал(а):
Как формируется ШИМ


ШИМ 100% - постоянное напряжение 100% времени "1"
ШИМ 50% - меандр - 50% времени "1" 50% времени "0"
ШИМ 0% - нет импульсов 100% времени "0"
Остальное вариации :о)

Напишт подробнее Что ты хочешь для одной ноги - что не понятно? Рассмотрим А на "N" ног уже сделаешь по образу и подобию.
Наводящий вопрос - Какая частота тебе нужна?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO & WinAVR
СообщениеДобавлено: 01 ноя 2008, 10:10 
Не в сети
Аватара пользователя

Зарегистрирован: 14 дек 2007, 21:19
Сообщения: 59
Откуда: Курган
прог. языки: С++
Сейчас даташиты снова начал изучать, Сергей навёл на путь истиный))

_________________
Не судите строго, я начинающий, но у меня всё получится!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO - 12 програмных ШИМ в WinAVR
СообщениеДобавлено: 01 ноя 2008, 21:02 
Не в сети
Аватара пользователя

Зарегистрирован: 14 дек 2007, 21:19
Сообщения: 59
Откуда: Курган
прог. языки: С++
Сегодня наконец-то получилось МК прошить, правда сделано всё было на соплях, но вобщем-то я нашёл http://winavr.scienceprog.com/example-a ... g-avr.html - быстренько забил в редактор и прошил, и серва у меня почему-то просто дёргалась, причём вал не поворачивался, а было слышно только "чиканье". МК Atmega8L, серва Mg9995, питал всё от мезинчиковых батареек 1.5, подключённых последовательно, т.е. 4.5В

_________________
Не судите строго, я начинающий, но у меня всё получится!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO - 12 програмных ШИМ в WinAVR
СообщениеДобавлено: 01 ноя 2008, 21:41 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Granit писал(а):
серва у меня почему-то просто дёргалась

посмотрите в PROTEUS что за сигнал на выходе. Может серва у вас питание просаживала и МК рестартился.
Выложите вашу папку проекта в архиве.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO - 12 програмных ШИМ в WinAVR
СообщениеДобавлено: 02 ноя 2008, 10:16 
Не в сети
Аватара пользователя

Зарегистрирован: 14 дек 2007, 21:19
Сообщения: 59
Откуда: Курган
прог. языки: С++
Чё-та я теперь окончательно запутался даже с аппаратным шимом о_О. Файлы выложил

Добавлено спустя 24 минуты 32 секунды:
Кстати вот по поводу питания - я всё собрал на коленке, проводами от витой пары)))) вся схема у меня была "на соплях", просто хотелось проверить что всё работает. МК прошился, но раза со стопицотого, т.к. я ножки от программатора перепутал, поэтому программатор писал что-то вроде 0x12 != 0xff. Я в принципе-то хочу паучка сделать, есть 12 сер мощных, простор для творчества))) Запитать сервы от отдельного питания на аккумуляторах по 1.5В, последовательно подключённых в кол-ве 4-х штук, т.е. получим 6В, а МК от 3-х отдельных тоже последовательно подключённых, т.е. 4.6В. Я понял что при таком питании не стоит заморачиваться различными стабилизаторами, поскольку питание МК никак проседать не будет=)


Вложения:
Комментарий к файлу: Файлы прошивки с исходником и протеусовский
Simple.zip [43.67 КиБ]
Скачиваний: 60

_________________
Не судите строго, я начинающий, но у меня всё получится!!!
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SERVO - 12 програмных ШИМ в WinAVR
СообщениеДобавлено: 02 ноя 2008, 10:38 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Granit писал(а):
Чё-та я теперь окончательно запутался даже с аппаратным шимом о_О.

Прочитай НЕ СПЕША и ДУМАЯ - http://avr123.nm.ru/z8.htm для распутывания.

Спешка твой враг - по твоим же словам.

А потом про управление SERVO - http://avr123.nm.ru/z13.htm НЕ СПЕША и ДУМАЯ

Добавлено спустя 15 минут 14 секунд:
Ваш пример работает нормально в PROTEUS


Вложения:
SERVO_WinAVR_PROTEUS.7z [55.46 КиБ]
Скачиваний: 80
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO