Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2019, 20:49

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: STM32 и энкодер оптический
СообщениеДобавлено: 21 апр 2014, 15:13 
Старожил

Зарегистрирован: 10 апр 2014, 10:58
Сообщения: 229
Здравствуйте.
Пытаюсь с меги на стм перенести управление мотором с энкодером то еть PID контроллер. С одной стороны все классно, таймер обсчитывает энкодер, проц занимается рассчетами периодически опрашивая значение таймера, но тут меня постигла одна неприятность, таймер переходит через ноль и это надо учитывать да еще двигатель вращается туда сюда и нужно не потерять ни один импульс. Пока что мой алгоритм судя по всему не учитывает все возможные варианты и может пропускать импульсы при смене направления вращения. Была мысль сбрасывать значение таймера после его опроса, но боюсь это точно приведет к потере шагов. Может быть подкинете идею какого то изящного решения?
Спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 и энкодер оптический
СообщениеДобавлено: 21 апр 2014, 15:59 
Старожил

Зарегистрирован: 12 апр 2013, 12:31
Сообщения: 315
Откуда: Херсон
А на Меге что? вечный таймер был? не сбрасывался ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 и энкодер оптический
СообщениеДобавлено: 21 апр 2014, 16:31 
Старожил

Зарегистрирован: 10 апр 2014, 10:58
Сообщения: 229
Нет, на меге была общая переменная которая изменялась в обработчике прерывания обслуживавшего энкодер и в прерывании которое реагировала на сигнал управления, переменная была знаковая, большой размерности, и с учетом сервоцикла 1мс, переменная переполиться не успевала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 и энкодер оптический
СообщениеДобавлено: 21 апр 2014, 21:14 
Старожил

Зарегистрирован: 12 апр 2013, 12:31
Сообщения: 315
Откуда: Херсон
Что мешает сделать и тут так ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 и энкодер оптический
СообщениеДобавлено: 21 апр 2014, 21:18 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 5423
Откуда: Москва
Сделайте прерывание по обнулению и переполнению счетчика, и в нем учитывайте все, что вам надо. Вообще-то таймеры в STM32 могут быть 32-разрядными, но я не помню, можно ли сделать это с энкодером. Посмотрите даташит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 и энкодер оптический
СообщениеДобавлено: 23 апр 2014, 20:41 
Старожил

Зарегистрирован: 17 апр 2010, 14:30
Сообщения: 444
Откуда: УКРАИНА
akatenev писал(а):
Сделайте прерывание по обнулению и переполнению счетчика, и в нем учитывайте все, что вам надо. Вообще-то таймеры в STM32 могут быть 32-разрядными, но я не помню, можно ли сделать это с энкодером. Посмотрите даташит.

на STM32F407V(F4DISCOVERY) можно сделать аж 2 32-разрядных декодера( Supports incremental (quadrature) encoder and hall-sensor circuitry for positioning purposes).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 и энкодер оптический
СообщениеДобавлено: 16 сен 2015, 09:55 
Старожил

Зарегистрирован: 10 апр 2014, 10:58
Сообщения: 229
на STM32F407V может и можно, но у меня камень попроще, и как я понял таймер в режиме slave считает только в одну сторону. Stm32f103 у меня.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

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


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

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


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB