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

 
 
> Микроконтроллер для сервопривода подскажите, Два аппаратных енкодера нужно.
khach
сообщение Mar 16 2009, 13:15
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Добрый день.
Прошу помощи у опытных в конструировании привода коллег. Уперлись в грабли при отладке сервопривода на базе Атмеги. По ТЗ требовалось обрабатывать сигналы с двух квадратурных энкодеров, один был ведущий, второй - датчик в петле ОС по положению и скорости. Сделали серву на базе атмеги, энкодеры обрабатывали по прерываниям. Но оказалось что за время в несколько часов в сервоприводе набегают ошибки позиционирования, происходят потери прерываний или совпадения фронтов от двух енкодеров. Лазить по граблям и вылизывать кривую программу надоело. Решили менять процессор на аппаратно заточенный под обработку енкодеров.
Прошу совета по выбору типа микроконтроллера с аппаратными счетчиками енкодеров (два канала как минимум). Пока вроде понравился STM32. Но терзают смутные сомнения по поводу помехоустойчивости ядра- слишком уж оно низковольтное. А нам надо контролировать ток в приводе с помощью АЦП контроллера, поэтому полная гальваническая развязка нежелательна.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Sam_
сообщение Mar 16 2009, 19:01
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031



Цитата(khach @ Mar 16 2009, 18:16) *
Очень уж нехочется абсолютный энкодер ставить- по SPI долго, лишних ресурсов на два абсолютника нет, удорожание системы значительное, механически места нет.

Насколько я представляю у вас обычные инкрементные датчики, т.е. у каждого по три вывода A,B,REF. Для двух датчиков получается 6 линий. Самый простой и дешёвый интерфейс для абсолютных датчиков - SSI, на два датчика это 3 линии. 1 параллельный клок и две линии данных.

По поводу скорости опроса. Допустим датчик под 30 разрядов(многооборотный, что вряд ли) можете сами посчитать сколько займёт опрос при частоте клока скажем 1мгц. rolleyes.gif

По цене. Если говорить о магнитных, то отличаются они не сильно, если вообще отличаются, оптические возможно подороже может процентов на 20, 30, хотя может у меня инфа устаревшая. Многооборотные будут действительно подороже.

Цитата(Rst7 @ Mar 16 2009, 18:49) *
Я думаю, до необходимости менять железо там еще как до Луны. Рефакторинг кода в сторону повышения перфоманса - сюда копать надо.

Может и так, а может и нет. Обычно квадратурные датчики по rs422 работают и если это действительно помеха, то исправления кода не помогут.

А контроллеры от TI действительно вещь, но если у вас штучное изделие, то заморачиваться думаю смысла нет, проще действительно CPLD поставить.
Go to the top of the page
 
+Quote Post
Iptash
сообщение Mar 16 2009, 19:27
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



Обработка энкодера все же должна быть аппаратной (это уже много раз проверено). Раньше делал на рассыпухе, сейчас делаю ПЛМ типа EPM3064 (Altera). В нее у меня
влазит учетверитель (детектор направления) , 24 разрядный реверсивный счетчик с 3z буффером и выборка.С меньшим разрядом можно 2 обработчика вместить.
Стоимость EPM3064 ~60р.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Mar 16 2009, 19:36
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Да и у микрочипа есть однокристалки с аппаратными интерфейсами квадратурных энкодеров.

Тем не менее, это все не означает, что эту задачу нельзя решить на уже разработанном железе с AVR программно. Просто программное решение такой задачи - не очень стандартная вещь. И код будет несколько извращенным и неподдерживаемым.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 16 2009, 19:54
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Oldring @ Mar 16 2009, 21:36) *
Да и у микрочипа есть однокристалки с аппаратными интерфейсами квадратурных энкодеров.

Тем не менее, это все не означает, что эту задачу нельзя решить на уже разработанном железе с AVR программно. Просто программное решение такой задачи - не очень стандартная вещь. И код будет несколько извращенным и неподдерживаемым.

Нормальный код будет. Только придется написать документацию, где расписать что и сколько тактов исполняется, почему что-то сделано так а не иначе.

Что будет проще - заново все сделать, или просто переписать прогу для AVR, вопрос сложный. С одной стороны, тем кто только начал разбираться, я бы не стал советовать начинать с DSP. Но с другой стороны, если начинать с чем-то разбираться, то DSP не самый плохой.
Но у avr есть avr студио, где, насколько я помню, можно было неплохо прогнать программу, посчитав все такты.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Mar 16 2009, 20:02
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Methane @ Mar 16 2009, 22:54) *
Но у avr есть avr студио, где, насколько я помню, можно было неплохо прогнать программу, посчитав все такты.


Вот эти "просчеты всех тактов" и есть главное извращение.
Два квадратурных энкодера. 86 килогерц - это полный период, то есть частота опроса должна быть минимум в 4 раза больше? А то и в 8, если учесть точность перекрытия четвертей?
Плюс обработка UART.
Плюс рассчет контура обратной связи.
Неизвестно еще нужно ли менять параметры регулятора и писать в EEPROM.
Опять же, на фоне 400 кГц или 800 кГц опроса энкодеров.
800 кГц опрос - можно и не успеть, если не очень сильно извращаться.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 16 2009, 20:09
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Oldring @ Mar 16 2009, 22:02) *
Вот эти "просчеты всех тактов" и есть главное извращение.
Два квадратурных энкодера. 86 килогерц - это полный период, то есть частота опроса должна быть минимум в 4 раза больше? А то и в 8, если учесть точность перекрытия четвертей?

Нужно смотреть на сколько тактов нужно на вхождение в прерывание итд. 68, это 235 тактов. Если поделить на два, то 117. Сложно. Но можно ужаться. Вопрос только зачем.

Цитата
Плюс обработка UART.

Это уже можно терять байты. Да и какая скорость?

Цитата
Плюс рассчет контура обратной связи.

Это совсем низкий приоритет.

Цитата
Неизвестно еще нужно ли менять параметры регулятора и писать в EEPROM.

ЕЕПРОМ, это вообще очень низкий приоритет.

Цитата
Опять же, на фоне 400 кГц или 800 кГц опроса энкодеров.
800 кГц опрос - можно и не успеть, если не очень сильно извращаться.

Я не понял немного. с какой частотой приходят прерывания от енкодеров?
Go to the top of the page
 
+Quote Post
Oldring
сообщение Mar 16 2009, 20:20
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Methane @ Mar 16 2009, 23:09) *
Я не понял немного. с какой частотой приходят прерывания от енкодеров?


Этого я тоже до конца не понял.
Чтобы понять - нужен даташит на энкодер и максимальная скорость вращения в ТЗ.
Надеюсь, что 86 кГц - это частота четвертей. Реально должно быть выше, так как нужно учитывать точность перекрытия квадратур.

Никаких прерываний по фронтам энкодеров быть не должно. Прерывать нужно по таймеру, организовав поллинг энкодеров. Если будет на поллинг по таймеру потрачено 50% времени - уже замечательно.

Обмен по UART нужно обрабатывать по прерываниям, но в начале прерывания UART нужно запрещать его прерывания и разрешать глобальные прерывания, в конце - наоборот. Тем самым организовав приоритеты прерываний.

Со всем остальным прийдется немного извратиться. Возможно, организовав еще один уровень софтверных прерываний, запускаемых после каждого N-го прерывания поллинга энкодеров. С меньшим приоритетом, чем поллинг и обмен с UART.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- khach   Микроконтроллер для сервопривода подскажите   Mar 16 2009, 13:15
- - Rst7   А Вы уверены, что аппаратный обработчик Вас спасет...   Mar 16 2009, 13:24
- - Methane   Цитата(khach @ Mar 16 2009, 15:15) Прошу ...   Mar 16 2009, 13:38
- - _Pasha   Цитата(khach @ Mar 16 2009, 17:15) происх...   Mar 16 2009, 14:45
|- - khach   Цитата(_Pasha @ Mar 16 2009, 16:45) Кусок...   Mar 16 2009, 15:16
|- - Methane   Цитата(khach @ Mar 16 2009, 17:16) А что ...   Mar 16 2009, 15:24
|- - Oldring   Цитата(khach @ Mar 16 2009, 18:16) А что ...   Mar 16 2009, 15:25
- - Rst7   ЦитатаЧастота максимальная по одному каналу 86 кгц...   Mar 16 2009, 15:49
|- - Oldring   Цитата(Rst7 @ Mar 16 2009, 18:49) Я думаю...   Mar 16 2009, 16:14
- - Rst7   ЦитатаЯ думаю, что железо изначально выбрано не оч...   Mar 16 2009, 17:13
|- - Oldring   Цитата(Rst7 @ Mar 16 2009, 20:13) Мы-то в...   Mar 16 2009, 17:32
|- - PhX   Цитата(Oldring @ Mar 16 2009, 21:32) Так ...   Mar 16 2009, 18:43
- - Tanya   Цитата(khach @ Mar 16 2009, 16:15) По ТЗ ...   Mar 16 2009, 18:59
||- - Iptash   Такие вещи нужно делать аппаратно и ни как иначе. ...   Mar 16 2009, 20:24
|- - dpss   Цитата(Iptash @ Mar 16 2009, 22:27) Обраб...   Mar 17 2009, 05:01
- - Rst7   ЦитатаОбычно квадратурные датчики по rs422 работаю...   Mar 16 2009, 19:26
- - _Pasha   Цитата(khach @ Mar 16 2009, 19:16) при со...   Mar 16 2009, 20:39
- - Rst7   Кстати, вспомнилось. Все ж понимают, что предыдуще...   Mar 16 2009, 21:25
|- - Methane   Цитата(Rst7 @ Mar 16 2009, 23:25) Кстати,...   Mar 16 2009, 21:29
- - Rst7   ЦитатаНасколько я знаю, стандарт это просто квадра...   Mar 16 2009, 21:44
|- - Methane   Цитата(Rst7 @ Mar 16 2009, 23:44) Я именн...   Mar 16 2009, 21:52
- - Rst7   ЦитатаБоюсь, я не понял вашу мысль. Я про програм...   Mar 16 2009, 22:09
- - Огурцов   Цитата(khach @ Mar 16 2009, 14:15) Прошу ...   Mar 16 2009, 22:15
|- - _Pasha   Цитата(Огурцов @ Mar 17 2009, 02:15) На м...   Mar 17 2009, 07:10
|- - PhX   Цитата(_Pasha @ Mar 17 2009, 10:58) Извин...   Mar 17 2009, 07:10
|- - Rst7   Цитата(_Pasha @ Mar 17 2009, 09:10) Оглас...   Mar 17 2009, 08:01
||- - _Pasha   Цитата(Rst7 @ Mar 17 2009, 12:01) Общее в...   Mar 17 2009, 08:32
||- - _Pasha   Цитата(Rst7 @ Mar 17 2009, 11:01) Сэр, у...   Mar 17 2009, 12:50
|- - Огурцов   Цитата(_Pasha @ Mar 17 2009, 07:10) Извин...   Mar 17 2009, 14:05
|- - _Pasha   Цитата(Огурцов @ Mar 17 2009, 17:05) Даже...   Mar 17 2009, 14:22
|- - Огурцов   Цитата(_Pasha @ Mar 17 2009, 14:22) Дык В...   Mar 17 2009, 14:40
|- - haker_fox   Цитата(_Pasha @ Mar 17 2009, 22:22) Тогда...   Mar 17 2009, 14:47
|- - Iptash   Цитата(haker_fox @ Mar 17 2009, 17:47) .....   Mar 17 2009, 15:43
- - _Sam_   ЦитатаЧтобы понять - нужен даташит на энкодер и ма...   Mar 17 2009, 06:17
|- - _Pasha   ЗЫ: вот кстати - история про то, что надо фронты о...   Mar 17 2009, 07:14
|- - PhX   Цитата(_Pasha @ Mar 17 2009, 11:14) Дык з...   Mar 17 2009, 07:17
- - Rst7   ЦитатаИменно благодаря наличию худших/лучших случа...   Mar 17 2009, 08:48
|- - _Pasha   Цитата(Rst7 @ Mar 17 2009, 12:48) Хотя, к...   Mar 17 2009, 08:59
- - Rst7   ЦитатаДык это на всю схему распространяется, помех...   Mar 17 2009, 09:22
|- - _Pasha   Цитата(Rst7 @ Mar 17 2009, 13:22) прилет ...   Mar 17 2009, 09:38
- - haker_fox   Народ, в который раз меня вдохновила подобная бесе...   Mar 17 2009, 13:29
|- - _Pasha   Цитата(haker_fox @ Mar 17 2009, 16:29) И ...   Mar 17 2009, 13:46
||- - haker_fox   Цитата(_Pasha @ Mar 17 2009, 21:46) Там и...   Mar 17 2009, 14:11
|- - Iptash   Цитата(haker_fox @ Mar 17 2009, 16:29) .....   Mar 17 2009, 14:25
|- - dpss   Цитата(haker_fox @ Mar 17 2009, 16:29) На...   Mar 17 2009, 19:01
- - Rst7   ЦитатаСэр, у Вас КОСЯГ: Согласен. ЦитатаПрирода ...   Mar 17 2009, 13:45
- - _Pasha   Цитата(Огурцов @ Mar 17 2009, 17:40) Впро...   Mar 17 2009, 15:00
|- - haker_fox   Цитата(_Pasha @ Mar 17 2009, 23:00) А в о...   Mar 17 2009, 15:39
- - Rst7   ЦитатаПроцентов триста..пятьсот. Тысячу, две.... ...   Mar 17 2009, 15:11
|- - Огурцов   Цитата(Rst7 @ Mar 17 2009, 15:11) Тысячу,...   Mar 17 2009, 23:21
|- - _Pasha   Цитата(Огурцов @ Mar 18 2009, 02:21) Пуст...   Mar 18 2009, 03:11
|- - Огурцов   Ребят, ну вы смешные. 50% от 100 тактов - это 50 т...   Mar 18 2009, 08:38
|- - _Pasha   Цитата(Огурцов @ Mar 18 2009, 11:38) Ребя...   Mar 18 2009, 09:04
|- - Огурцов   Цикл общий, прерывание одно. ШИМ, УАРТы, концевики...   Mar 18 2009, 09:33
|- - _Pasha   Цитата(Огурцов @ Mar 18 2009, 12:33) Цикл...   Mar 18 2009, 09:54
|- - Огурцов   Цитата(_Pasha @ Mar 18 2009, 09:54) Не на...   Mar 18 2009, 10:20
|- - _Pasha   Цитата(Огурцов @ Mar 18 2009, 13:20) Я уж...   Mar 18 2009, 10:34
|- - Огурцов   Ок, простой вопрос. Сколько у вас тактов занимает ...   Mar 18 2009, 12:07
|- - Methane   Я читаю это все и фигею. Люди эти подсчеты тактов ...   Mar 18 2009, 12:16
|- - PhX   Цитата(Methane @ Mar 18 2009, 16:16) Я чи...   Mar 18 2009, 12:29
|- - Methane   Цитата(PhX @ Mar 18 2009, 14:29) Ну плава...   Mar 18 2009, 12:53
|- - dpss   Цитата(Methane @ Mar 18 2009, 15:53) Я им...   Mar 18 2009, 13:51
||- - Methane   Цитата(dpss @ Mar 18 2009, 15:51) На наст...   Mar 18 2009, 14:02
|- - _Pasha   Цитата(Methane @ Mar 18 2009, 15:53) Это ...   Mar 18 2009, 14:28
|- - Огурцов   +1 Мипсы-швипсы. Авр - наше все! Тулзы настрое...   Mar 18 2009, 15:09
|- - _Pasha   Цитата(Огурцов @ Mar 18 2009, 18:09) отст...   Mar 18 2009, 15:19
||- - Огурцов   Цитата(_Pasha @ Mar 18 2009, 15:19) Тольк...   Mar 18 2009, 19:13
|- - dpss   Цитата(Огурцов @ Mar 18 2009, 18:09) +1 М...   Mar 18 2009, 17:39
- - _Sam_   Цитатадля каждого уникального мышинного энкодера п...   Mar 17 2009, 18:07
- - Rst7   ЦитатаШИМ, УАРТы, концевики, энкодеры. Ну показыв...   Mar 18 2009, 09:59
- - Rst7   ЦитатаТолько вот с мегабитным потоком на АВР о 16 ...   Mar 18 2009, 18:53
|- - Огурцов   Цитата(Rst7 @ Mar 18 2009, 18:53) А я все...   Mar 19 2009, 01:08
- - Rst7   ЦитатаИли я что-то в жизни не понимаю? Жизнь - шт...   Mar 18 2009, 19:20
|- - Methane   Цитата(Rst7 @ Mar 18 2009, 21:20) И для м...   Mar 18 2009, 19:29
||- - _Pasha   Цитата(Methane @ Mar 18 2009, 23:29) ГДЕ ...   Mar 18 2009, 19:53
|- - Огурцов   Цитата(Rst7 @ Mar 18 2009, 19:20) тайм ту...   Mar 18 2009, 20:07
|- - Methane   Цитата(Огурцов @ Mar 18 2009, 22:07) А кт...   Mar 18 2009, 20:11
|- - Огурцов   Цитата(Methane @ Mar 18 2009, 20:11) Отку...   Mar 18 2009, 20:37
|- - Methane   Цитата(Огурцов @ Mar 18 2009, 22:14) Так ...   Mar 18 2009, 20:39
||- - Огурцов   Не страшно...в первом приближении.   Mar 18 2009, 20:44
||- - Methane   Цитата(Огурцов @ Mar 18 2009, 22:44) Не с...   Mar 18 2009, 21:01
||- - Огурцов   Цитата(Methane @ Mar 18 2009, 22:01) Може...   Mar 18 2009, 21:24
||- - Methane   Цитата(Огурцов @ Mar 18 2009, 23:24) На Э...   Mar 18 2009, 21:53
||- - Огурцов   Цитата(Methane @ Mar 18 2009, 22:53) Лиса...   Mar 18 2009, 22:42
|- - Methane   Цитата(Огурцов @ Mar 18 2009, 22:37) Так ...   Mar 18 2009, 20:45
|- - Огурцов   Цитата(Methane @ Mar 18 2009, 21:45) Ну в...   Mar 18 2009, 20:53
- - Rst7   ЦитатаГДЕ ВЫ ТАКУЮ РАЗНИЦУ В ЦЕНЕ НАШЛИ? Че, мале...   Mar 18 2009, 19:52
|- - Methane   Цитата(Rst7 @ Mar 18 2009, 21:52) Че, мал...   Mar 18 2009, 20:04
- - Rst7   ЦитатаГде там 200мгц? Эта пестня за пределы криста...   Mar 18 2009, 21:18
|- - Methane   Цитата(Rst7 @ Mar 18 2009, 23:18) Да и вн...   Mar 18 2009, 21:22
- - Rst7   ЦитатаВы хотите найти повод дальше трахаться счита...   Mar 18 2009, 21:39
- - Rst7   ЦитатаТолько непонятно почему только на обсуждение...   Mar 18 2009, 22:44
- - Rst7   ЦитатаДругими словами сжатие примерно на порядок у...   Mar 19 2009, 07:25
2 страниц V   1 2 >


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

 


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


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