реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Совсем ламерский вопрос, Как программировать шаттл
inventor
сообщение Dec 25 2008, 18:00
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



На работе посадили программировать Атмегу128, я ни с ней ни с
какими другими подобными контроллерами дел не имел.
Так что опыт у меня в этом всего 2 недели.
Я имел дело только с процами Техаса, 32016 и 32054 ,
ну совсем немного Аналога ну и 51-м очень давно.
Вобщем проблема такая.
Шатл, или как он называется-оптический энкодер .
Подключен к ногам Атмеги128 порты DE6 и DE7.
Эти же порты являются входами таймера TIMER3.
Как я понимаю, нужно считать импульсы, приходящиен от шаттла.
Нигде не нашел примера, как программировать этот счетчик, чтоб он считал импульсы.
И еще не понятно, как определять направление вращения этого шаттла,
там нет других выводов кроме двух A и B.
C остальной периферией типа USART и Таймеров разобрался.
Ну еще будут некоторые вопросы.
Но вот этот сейчас главный.
Буду очень признателен за примеры, если такие у кого нибудь будут.
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Dec 25 2008, 18:12
Сообщение #2


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(inventor @ Dec 25 2008, 20:00) *
Вобщем проблема такая.
Шатл, или как он называется-оптический энкодер .
Подключен к ногам Атмеги128 порты DE6 и DE7.
Эти же порты являются входами таймера TIMER3.
Как я понимаю, нужно считать импульсы, приходящиен от шаттла.
Нигде не нашел примера, как программировать этот счетчик, чтоб он считал импульсы.

Не знаю, что это там у Вас за порты такие в Меге 128, но нужно в прерывании по изменению уровня наращивать счетчик любой(программный, аппаратный). Можно конечно и не так - если все внешние линии прерывания заняты, то можно программно прерывать или периодически сканировать - но это больше ресурсов сожрет.
Цитата(inventor @ Dec 25 2008, 20:00) *
И еще не понятно, как определять направление вращения этого шаттла,
там нет других выводов кроме двух A и B.

По разности фаз...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
evgeny_ch
сообщение Dec 25 2008, 18:47
Сообщение #3


чукчхэшаражогрмонтажник
*****

Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094



Цитата(inventor @ Dec 25 2008, 22:00) *
...
Буду очень признателен за примеры, если такие у кого нибудь будут.

Поиск по словам энкодер оптический, магнитный, индуктивный.

Сообщение отредактировал evgeny_ch - Dec 25 2008, 19:10


--------------------
Quo vadis?
Go to the top of the page
 
+Quote Post
inventor
сообщение Dec 26 2008, 14:49
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Цитата(DRUID3 @ Dec 25 2008, 21:12) *
Не знаю, что это там у Вас за порты такие в Меге 128, но нужно в прерывании по изменению уровня наращивать счетчик любой(программный, аппаратный). Можно конечно и не так - если все внешние линии прерывания заняты, то можно программно прерывать или периодически сканировать - но это больше ресурсов сожрет.

По разности фаз...


Неправильно написал, порты естественно PE.
Единственное, не нашел примеров программирования счетчика на вход.
Буду искать.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 26 2008, 14:58
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(inventor @ Dec 26 2008, 19:49) *
Единственное, не нашел примеров программирования счетчика на вход.
Аппаратный реверсивный счетчик на любом из таймеров ATMega128 вы не сделаете. Вы лишь можете использовать таймер в режиме захвата (capture) и/или использовать входы захвата как источники прерываний при событиях смены состояний уровней на этих входах. Реверсивный счетчик для вычисления положения энкодера вам придется делать программно.
Go to the top of the page
 
+Quote Post
inventor
сообщение Dec 26 2008, 17:54
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Цитата(rezident @ Dec 26 2008, 17:58) *
Аппаратный реверсивный счетчик на любом из таймеров ATMega128 вы не сделаете. Вы лишь можете использовать таймер в режиме захвата (capture) и/или использовать входы захвата как источники прерываний при событиях смены состояний уровней на этих входах. Реверсивный счетчик для вычисления положения энкодера вам придется делать программно.


Мне и нужен такой счетчик.
У меня есть даташит и книжка по атмелам.
Я все варианты там описанные попробовал.
Все работает,
но вот такой счетчик работающий по захвату
нигде не могу найти.
Описаны только выводы.
А принципа работы нет.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 26 2008, 19:00
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(inventor @ Dec 26 2008, 22:54) *
А принципа работы нет.
Принцип работы описал DRUID3 еще в сообщении #2. Используйте пины МК к которым подключен энкодер как входы внешних прерываний (INT6 и INT7). Об использовании их см. раздел External Interruprs в datasheet ATMega128.
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Dec 26 2008, 19:54
Сообщение #8


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(inventor @ Dec 26 2008, 20:54) *
Описаны только выводы.
А принципа работы нет.

А почему бы не взять вместо Meg-и, что-нибудь более подходящее. dsPIC33FJ12MC201/202, например? Там обработчик сигналов инкрементального энкодера аппаратный, со встроенным аппаратным же фильтром. Ничего программно делать не надо. Да и документация весьма доходчива.
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 26 2008, 20:16
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Прохожий @ Dec 27 2008, 00:54) *
А почему бы не взять вместо Meg-и, что-нибудь более подходящее. dsPIC33FJ12MC201/202, например?

Видимо потому, что
Цитата(inventor)
На работе посадили программировать Атмегу128
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Dec 26 2008, 21:01
Сообщение #10


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(rezident @ Dec 26 2008, 23:16) *
Видимо потому, что

Если бы кто-то из нас просто и "тупо" выполнял порученное дело, его давно бы выгнали. Да и самому как-то неинтересно тратить время на то, что уже давно переварено. Простите за bb-offtopic.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 26 2008, 21:24
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Прохожий @ Dec 27 2008, 02:01) *
Если бы кто-то из нас просто и "тупо" выполнял порученное дело, его давно бы выгнали.
А если бы каждый исполнитель вносил свои собственные несогласованные изменения в кем-то придуманный план, но план бы никогда не был реализован smile.gif
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Dec 26 2008, 21:50
Сообщение #12


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(rezident @ Dec 27 2008, 00:24) *
А если бы каждый исполнитель вносил свои собственные несогласованные изменения в кем-то придуманный план, но план бы никогда не был реализован smile.gif

Поэтому лучше, когда "золотая середина". Доложил свое мнение, а дальше делаешь, что сказало руководство. Ему виднее. Но доложить-то надо...
Go to the top of the page
 
+Quote Post
inventor
сообщение Dec 27 2008, 20:39
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Цитата(Прохожий @ Dec 27 2008, 00:50) *
Поэтому лучше, когда "золотая середина". Доложил свое мнение, а дальше делаешь, что сказало руководство. Ему виднее. Но доложить-то надо...


Ну, если бы мне дали возможность спроектировать эту плату,
то я бы не использовал Мегу, так как там и алгоритмы для такого кристала
сложноваты, да еще и памать дополнительная на борту.
Что по моему мнению уже косяк.
Сделал бы на каком-нибудь Тэмээсе.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01444 секунд с 7
ELECTRONIX ©2004-2016