Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Атмега 8 PWM и сервы mg995Tower Pro

Непрочитано 24.05.2011, 10:01  
deeman30rus
Частый гость
 
Регистрация: 02.04.2009
Сообщений: 42
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
deeman30rus на пути к лучшему
По умолчанию Атмега 8 PWM и сервы mg995Tower Pro

для управления mg995 Tower Pro требуется частота в 50 Гц, как смодулировать выходной сигнал с ножки контроллера частотой в 50 Гц ?? можно ли это сделать только программно с помощью выставления регистров ?? я пытался это сделать в режиме fast PWM но добился только частоты в 62 Гц ... на ней серва не работала =( подскажите решение, спасибо !
Реклама:
deeman30rus вне форума  
Непрочитано 24.05.2011, 10:05  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: Атмега 8 PWM и сервы mg995Tower Pro

можно изменять состояние ножки по тикам таймера в прерывании. если нужна экономия по процессам и малая длительность импульса, то можно изменятть регистр счета в прерывании.
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 24.05.2011, 16:31  
Alecsej
Вид на жительство
 
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
Alecsej на пути к лучшему
По умолчанию Re: Атмега 8 PWM и сервы mg995Tower Pro

Частота большой роли не играет, длительность импульса должна быть в пределах 1-2 мс.
Alecsej вне форума  
Непрочитано 24.05.2011, 18:40  
deeman30rus
Частый гость
 
Регистрация: 02.04.2009
Сообщений: 42
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
deeman30rus на пути к лучшему
По умолчанию Re: Атмега 8 PWM и сервы mg995Tower Pro

ну проблема решилась по другому ))

с помощью этого кода :

Код:
int main(){
       // set up 2 PWM channels on PB1 and PB2 using Timer1

	TCCR1A = 0;     // disable all PWM on Timer1 whilst we set it up
	ICR1 = 19999;   // frequency is every 20ms


	// Configure timer 1 for Fast PWM mode via ICR1, with no prescaling
	TCCR1A = (1 ‹‹ WGM11)
	TCCR1B = (1 ‹‹ WGM13) | (1‹‹WGM12) | (1 ‹‹ CS10);

	// Set PB1 and PB2 as outputs
	DDRB |= _BV(1) |  _BV(2);
	TCCR1A |= 2 ‹‹  6;  // enable PWM on port B1 in non-inverted compare mode 2
 	TCCR1A |= 2 ‹‹  4;  // enable PWM on port B2 in non-inverted compare mode 2

	OCR1A = ICR1 * 2 /20; // 2ms pulse to left motor on PB1
	OCR1B = ICR1 * 2 /20; // 2ms pulse to right motor on PB2


	while(1){



		// do nothing - the hardware is pumping out 2ms pulses every 20ms to the servos on PB1 and PB2



		// for a differential drive robot the motors are on each side of the robot so the robot should be spinning around its midpoint
   	}




return 0;

}
теперь у меня такие вопросы к знатокам кода
Объясните пожалуста 2 следующие строчки ... интуитивно я понимаю что так выставляются биты в регистрах ... но не могу понять смысл самих операций ...

TCCR1A = (1 ‹‹ WGM11)
TCCR1B = (1 ‹‹ WGM13) | (1‹‹WGM12) | (1 ‹‹ CS10);
deeman30rus вне форума  
Непрочитано 24.05.2011, 18:52  
EugenyAM
Временная регистрация
 
Регистрация: 24.09.2010
Сообщений: 97
Сказал спасибо: 9
Сказали Спасибо 41 раз(а) в 31 сообщении(ях)
EugenyAM на пути к лучшему
По умолчанию Re: Атмега 8 PWM и сервы mg995Tower Pro

Сообщение от deeman30rus Посмотреть сообщение

TCCR1A = (1 ‹‹ WGM11)
TCCR1B = (1 ‹‹ WGM13) | (1‹‹WGM12) | (1 ‹‹ CS10);
| - битовое логическое ИЛИ
‹‹ - битовый сдвиг влево (в сторону старшего бита)

WGMxx, CS10 - номера битов в регистрах (нумерация с 0) определены в файле ioavr.h (точное имя зависит от компилятора) с помощью #define
Смысл операции - запись единиц в разряды регистра, соответствующие заданным номерам битов.
EugenyAM вне форума  
Сказали "Спасибо" EugenyAM
deeman30rus (26.05.2011)
Непрочитано 26.05.2011, 10:08  
deeman30rus
Частый гость
 
Регистрация: 02.04.2009
Сообщений: 42
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
deeman30rus на пути к лучшему
По умолчанию Re: Атмега 8 PWM и сервы mg995Tower Pro

импульсы научился генерировать! теперь такая проблема возникла,

в while пишу следующие строчки

OCR1A = ICR1 * 3 /40;
OCR1B = ICR1 * 3 /40;

чтобы получить импульс в 1.5 мс и выставить сервы в центральное положение, но ... ! получается следующее ! если включена одна серва ... то всё работает зашибись, как только включаю 2 сразу у меня та что висит на OCR1A выворачивается в крайнее положение а вторая в центр ... в чём прикол ?? тыкал осцилографом ноги контроллера импульсы именно такие какие должны быть, менял код на

OCR1A = ICR1 * 1 /20;
OCR1B = ICR1 * 2 /20;

и снова проверял осцилографом ... импульсы выдаются разной длительности как и должно быть, а сервы совместно не рулятся так как надо !
deeman30rus вне форума  
Непрочитано 26.05.2011, 12:37  
deeman30rus
Частый гость
 
Регистрация: 02.04.2009
Сообщений: 42
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
deeman30rus на пути к лучшему
По умолчанию Re: Атмега 8 PWM и сервы mg995Tower Pro

есть солюшн )) проблема была в том что саморез на который была прикручена серва контакитровал с какой-то металической хренью внутри и в итоге получались помехи ! ... матерился долго !
deeman30rus вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PWM НА PIC16F877A sprew Микроконтроллеры, АЦП, память и т.д 13 11.02.2011 09:48


Часовой пояс GMT +4, время: 18:39.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.