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

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

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

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

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

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


 
Опции темы
Непрочитано 24.02.2015, 18:00  
AlmazRa
Частый гость
 
Регистрация: 24.02.2015
Сообщений: 11
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
AlmazRa на пути к лучшему
По умолчанию STM32F100 + Two Timer + Encoder

Всем привет. А кто-нибудь пробовал соединять последовательно таймеры в режиме Encoder, чтобы повысить разрядность до 32 bit? Если соединять как написано в примерах, то один работает нормально как энкодер, т.е. младший TIM (Master) и up, и down; а вот старший TIM (Slave) только up при каждом проходе через 0. Или возможно ли как-нибудь сделать, чтобы Slave Timer был двунаправленным. При Overflow — был up, а при Underflow — down? Думаю многие не раз сталкивались, но поиск не помог. Находил подобные вопросы, но решение нигде не предлагалось.
Реклама:
AlmazRa вне форума  
Непрочитано 25.02.2015, 07:59  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Нельзя сделать т.к. выход только один
niXto вне форума  
Непрочитано 25.02.2015, 14:20  
AlmazRa
Частый гость
 
Регистрация: 24.02.2015
Сообщений: 11
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
AlmazRa на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Ну может другие какие-нибудь идеи. У меня только 4 пока:
1) сделать прерывание по переходу через ноль и вручную проверять overflow или underflow, НО контроллер теоретически будет подвисать (постоянно уходить в прерывание) в случае дребезга в районе перехода через 0, вероятность мала, но всё же есть
2) задействовать два физических Output у этого же таймера и подключить ко входу другого, НО это потерять 4 дополнительных ноги контроллера, что особенно в маленьких корпусах очень неудобно, у меня нет столько свободных портов
3) каждый цикл программы допустим N мс корректировать счётчик, чтобы не доходил до краев, при этом даже не надо второй таймер, НО есть шанс потерять данные, при очень высокой скорости энкодера, то есть за N мс не должно быть более половины разрешения счётчика отсчётов
4) программный энкодер, НО контроллер выполняет кучу других операций и этот вариант никак не подходит
Мне более всего нравится 3й вариант, НО может у кого еще есть идеи?
AlmazRa вне форума  
Непрочитано 25.02.2015, 14:43  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Не забываем про чтение-модификация-запись
niXto вне форума  
Непрочитано 25.02.2015, 14:46  
AlmazRa
Частый гость
 
Регистрация: 24.02.2015
Сообщений: 11
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
AlmazRa на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Это как? Конкретнее? пожалуйста
AlmazRa вне форума  
Непрочитано 25.02.2015, 22:23  
Djakovskij
Вид на жительство
 
Регистрация: 14.06.2009
Адрес: Україна Київська обл. м.Буча
Сообщений: 327
Сказал спасибо: 104
Сказали Спасибо 105 раз(а) в 69 сообщении(ях)
Djakovskij на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Я делал так:
Код:
new_position =  (&TCD0)-›CNT;
		position_carriage+= (new_position - old_position_carriage);
Это код для иксмеги.
Djakovskij вне форума  
Сказали "Спасибо" Djakovskij
AlmazRa (26.02.2015)
Непрочитано 25.02.2015, 22:34  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Может попробовать взять STM32105, там 32 битный таймер есть, и все будет проще?
Boba_spb вне форума  
Сказали "Спасибо" Boba_spb
AlmazRa (26.02.2015)
Непрочитано 26.02.2015, 06:55  
AlmazRa
Частый гость
 
Регистрация: 24.02.2015
Сообщений: 11
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
AlmazRa на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Сообщение от Djakovskij Посмотреть сообщение
Я делал так:
Код:
new_position =  (&TCD0)-›CNT;
		position_carriage+= (new_position - old_position_carriage);
Это код для иксмеги.
Ну это почти третий вариант. Спасибо. Думаю так и буду делать.
AlmazRa вне форума  
Непрочитано 26.02.2015, 06:57  
AlmazRa
Частый гость
 
Регистрация: 24.02.2015
Сообщений: 11
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
AlmazRa на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Сообщение от Boba_spb Посмотреть сообщение
Может попробовать взять STM32105, там 32 битный таймер есть, и все будет проще?
Ну у меня в наличии только STM32F100 и плата готова, а так спасибо, на будущее учту. Просто я энкодер поменял на более точный и перемещения стали больше, что не позволяет уложиться в стандартные 16 bit
AlmazRa вне форума  
Непрочитано 26.02.2015, 10:19  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: STM32F100 + Two Timer + Encoder

Озвучили б параметры - скоко импульсов на оборот и какая скорость вращения будет.
Boba_spb вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proteus Timer 0 Over.. and Compare Max966 Proteus 0 13.08.2012 01:42
Stellaris timer kadrilo Микроконтроллеры, АЦП, память и т.д 0 26.10.2011 16:14
Прерывания по таймеру ADSP 21065l sergurets Цифровые сигнальные процессоры 7 23.03.2011 00:49
[Решено] помогите определить ENCODER lightworld Информация по радиокомпонентам 0 11.01.2010 18:44
Timer 0 в AVR 8515 martyr Микроконтроллеры, АЦП, память и т.д 0 12.10.2005 16:27


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


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