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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 24.05.2011, 10:01   #1
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   #2
serb-radio
Гражданин KAZUS.RU
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: Атмега 8 PWM и сервы mg995Tower Pro

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

Частота большой роли не играет, длительность импульса должна быть в пределах 1-2 мс.
Alecsej вне форума  
Непрочитано 24.05.2011, 18:40   #4
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   #5
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   #6
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   #7
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, время: 12:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot