roboforum.ru

Технический форум по робототехнике.
Текущее время: 20 май 2025, 19:27

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




Начать новую тему Ответить на тему  [ Сообщений: 227 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 16  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2006, 23:40 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Lirzman писал(а):
я вот никогда бы не подумал что бит i в регистре SREG отвечает за прерывания всех таймеров при переполнении:shock:  :shock:  :shock:,

а в курсе этого не написано.


ВРАТЬ ТО ЗАЧЕМ ???

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

но если не читали ВНИМАТЕЛЬНО

то

НЕ ВРИТЕ !!!  :twisted:   что там этого НЕТ !

\\\\\\\\\

http://avr123.nm.ru/03.htm

в верху КРУПНО написано:

"Прерывания в AVR

Подробно описаны ниже на этой странице."

читая страницу идем ниже ...

и опять КРУПНО :

"В регистре SREG есть бит7 называется он " I "

Если этот бит равен "1" (установлен) то ГЛОБАЛЬНО разрешены прерывания - значит могут возникать разрешенные индивидуально прерывания.  

Если этот бит равен "0" (бит сброшен, очищен) то ГЛОБАЛЬНО запрещены прерывания  - значит любые события не вызывают прерывания программы.  "

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

==========

ЗАЧЕМ  ВРАТЬ !!!

не хотите не читайте.

НО НЕ ВРИТЕ ПОЖАЛУЙСТА !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2006, 23:49 
Не в сети
Аватара пользователя

Зарегистрирован: 22 мар 2005, 03:59
Сообщения: 257
Откуда: Питер
avr123.nm.ru писал(а):
если не читали ВНИМАТЕЛЬНО

то

НЕ ВРИТЕ !!!  :twisted:  что там этого НЕТ

Извините, я вовсе не хотел вас так задеть, просто просмотрел,виноват.

ЗЫ Никогда не думал что простым постом ТАК можно разозлить человека   :shock: :shock: :shock:

Незря говорят "Словом можно убить"(себя) :D  :D  :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 авг 2006, 23:53 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Я не разозлился я просто призываю к коректности.

Легко ведь сказать "а, там этого нет ..."  вместо " я там этого не нашел"

ни кто ВОВСЕ не обязан читать скурпулезно курс, ну не нашли и ладно.

А когда говорят "там этого нет" - то мне конечно обидно, потому что не сказать о прерываниях в МК в курсе для начинающих это нонсенс.

Потом в интернете скажут "а я читал на одном форуме что в том курсе даже про прерывания не расказано !"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 00:05 
Не в сети
Аватара пользователя

Зарегистрирован: 22 мар 2005, 03:59
Сообщения: 257
Откуда: Питер
avr123.nm.ru писал(а):
не читали внимательно не стоит говорить что там чего-то нет.

Больше не буду :wink:

Ещё пара вопросов:
1.Что делать если отдав таймеру команду считать,в ходе выполнения программы потребуется еще раз отсчитать время с помощью этого таймера?
Использовать еще один???  :shock:  :shock:  :shock:

2.Возможно ли что-бы процедура обработки прерывания принимала параметры??


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 00:54 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Lirzman писал(а):
2.Возможно ли что-бы процедура обработки прерывания принимала параметры??


по моему нет, но в ней доступны глобальные переменные.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 01:01 
Не в сети
Аватара пользователя

Зарегистрирован: 22 мар 2005, 03:59
Сообщения: 257
Откуда: Питер
avr123.nm.ru писал(а):
но в ней доступны глобальные переменные.

Сенкс

Не подскажете диапазон управляющего импульса для сервы,
знаю что среднее положение = 1.5мс, а чему равны +90гр и -90гр.
Подзабыл :RTFM:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 02:02 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 02:06 
Не в сети
Аватара пользователя

Зарегистрирован: 22 мар 2005, 03:59
Сообщения: 257
Откуда: Питер
HEEEEEEEELP:!::!::!::!::!:

Возникла ОГРОМНАЯ ПРОБЛЕМА

При использовании таймера КОЛОССАЛЬНО упала точность позиционирования.

Я высчитал что 1.5мс это 666Hz (1000/1.5=666.6666)

Но в симуляторе ОПЫТНЫМ ПУТЕМ привести серву в среднее положение удалось только импульсом в 2710.5(!!!С ПОЛОВИНОЙ!!!)Hz

При этих параметрах коэффициент деления частоты системного таймера равняется  :!::!:8:!::!:(TCCR=3)(TCNT0 = 170;)

Как такое возможно:?::?::?:

При этом серву ЗВЕРСКИ КОБАСИТ в промежутке от -1.0 до +1.8 градусов.

:!::!::!:ПОМОГИИИИТЕ:!::!::!:

ЗЫ Может это глюки у PROTEUSа???

Вот код:
Код:
//****************ИНИЦИАЛИЗАЦИЯ ТАЙМЕРА***************************

void timer0_init(void)
{
TCCR0 = 0x00; //stop timer
TCNT0 = 170; //записать в регистр таймера число 3686400/8/170(x)
PORTD SET_B(7);
TIMSK SET_B(TOIE0);//Разрешение прерывания по переполнению таймера 0
SREG SET_B(7);//Бит i в регистре SREG включен(разрешить глобальные прерывания)
TCCR0 =0x03; //Старт таймера при делителе = 8
//Биты CS00 CS01 CS02
}
//**************ПРОЦЕДУРА ПЕРЕПОЛНЕНИЯ ТАЙМЕРА***********************
SIGNAL(SIG_OVERFLOW0)
{
PORTB CLR_B(gservo);//В ПРОТЕУСЕ загорелся соответствующий пин!!!!

}

//************ПРОЦЕДУРА ПОЗИЦИОНИРОВАНИЯ СЕРВЫ********************
void Pos(char servo,int angle)
{
N=angle;
PORTB SET_B(servo);
gservo=servo;
timer0_init();
//delaysa(N);
//PORTB CLR_B(servo);
delaysa(period);

}


Последний раз редактировалось Lirzman 14 авг 2006, 02:12, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 02:08 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 02:10 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Ты так делал? сначала импульс от 0.7мс до 2.3мс потом задержка 20мс. Просто када значение задержки меньше 20мс бывает колбасит, знаю)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 02:19 
Не в сети
Аватара пользователя

Зарегистрирован: 22 мар 2005, 03:59
Сообщения: 257
Откуда: Питер
Фууууу :D
Ложная тревога :D
2Сергей ты меня выручил.
Забыл задержку в 20мс добавить:oops:
Че-то у меня уже мозги набекрень  :shock:
Пойду спать :arrow:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 02:25 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Lirzman писал(а):
Не подскажете диапазон управляющего импульса для сервы,

знаю что среднее положение = 1.5мс, а чему равны +90гр и -90гр.


я думаю от 800 до 2100 для серы "хитек"  а для большинства от 700 - 2200 мкС

нужно смотреть спецификацию у производителей (RTFM),
а лучше живьем вертеть.  

Можно кстати в PROTEUS посмотреть сколько мкС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 02:26 
Не в сети
отсылающий читать курс
Аватара пользователя

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


не симметрично относительно 1.5


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 02:28 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
avr123.nm.ru писал(а):
Сергей писал(а):
Примерно от 0.7мс до 2.3мс


не симметрично относительно 1.5
Почему не симметрично? +- 0.8мс от центра.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 авг 2006, 03:26 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
вот в любимлм google.com (его панель у меня в браузер добавлена - это удобно!) набрал естетсвенно:  servo faq

и получил результат::
http://www.google.ru/search?sourceid=na ... =servo+faq

где 1-я сылка отличный FAQ по SERVO  "Генеральский"  :D
http://www.hitecrcd.com/Support/Faqs/Faq_Genservo_.htm
сигналы с диаграммами.

==========

решил еще поискать, набрал:  servo winavr source

и по первому линку нашел прекрасного 6 ногого робота на 14 сервах из фанеры !

The AutonomousRC crawling 6 legged robot with 14 RC servo
http://www.webx.dk/robot-crawler/robot-crawler.htm

Очень подробная конструкция.  + прекрасное VIDEO

исходников пока не нашел, где то на сайте наверно ...

но зато нашел хак "Sony Playstation" джойстик с исходником для WinAVR !

====

ну ладно, запрошу-ка так:   control servo winavr

http://www.google.ru/search?hl=ru&rls=G ... %D0%BA&lr=

смотрю ... 5-й результат:

Robot Store (HK) -- MIT Handyboard system, OOPIC, Dr Robot kits ...RS-Servo8 is a small pre-assembled R/C(Radio Control) servo controller, which has 16 R/C ... How to use WinAVR for Microrobot AVR Products(Eng).pdf(73KB) ...
http://www.robotstorehk.com/avr/avr-RS-SERVO8.html - 21k - Сохранено в кэше - Похожие страницы

открываю и нахожу контроллер на 16 servo и не смотря что это магазин - вижу в низу исходники для WinAVR ! одним файлом на многие их продукты - они перечислены слева.

Еще инструкция как быстро запустить WinAVR !

ИМХО через VMLAB всеравно удобней.

=======

вот вам и GOOGLE.com


Последний раз редактировалось avr123.nm.ru 14 авг 2006, 03:32, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 227 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 16  След.

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


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

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


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

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