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

 
 
> Микроконтроллер для сервопривода подскажите, Два аппаратных енкодера нужно.
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
Ответов
Огурцов
сообщение Mar 16 2009, 22:15
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(khach @ Mar 16 2009, 14:15) *
Прошу совета по выбору типа микроконтроллера с аппаратными счетчиками енкодеров

На меге > 86кгц*2 получить не реально, если только не ставить отдельную мегу на энкодеры. Кстати, в вашем случае я бы так и сделал для минимальных переделок. Прерывание при этом должно быть _одно_ либо опрос вообще без прерываний. Как вариант - поставить иксмегу с аппаратными счетчиками квадратурных энкодеров.
Остальные варианты, как вы понимаете, потребуют гораздо больших переделок.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 17 2009, 07:10
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Огурцов @ Mar 17 2009, 02:15) *
На меге > 86кгц*2 получить не реально,


Извините, но это аццкий отжых. Иначе, отчего у меня Энкодер(правда, 1) + STEP разгоняются до 100кГц пока без напрягов для основной задачи? Приведенным выше макаком, ессно. На 18.432 МГц

Цитата(Rst7 @ Mar 17 2009, 01:44) *
Я именно про квадратуру. Итого 20 тактов на 10тибитный счетчик со всеми входами/выходами. Отнять надо пару регистров для счетчика и регистр для сохранения SREG.
Потом, конечно, надо немного поколдовать над конвертированием.

Огласите весь список, пжалста! smile.gif Не пойму, как мы без ловли фронтов отловим событие, по которому изменится регистр положения
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 17 2009, 08:01
Сообщение #4


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата(_Pasha @ Mar 17 2009, 09:10) *
Огласите весь список, пжалста! smile.gif Не пойму, как мы без ловли фронтов отловим событие, по которому изменится регистр положения


Ну фронты ловить надо, спору нет. По ним обновляются младшие 2 бита положения - они же банальные сигналы квадратуры. Только вот обрабатывать достаточно только перенос, а не каждый фронт. Ну должно быть типа такого
Код
#define    SREG_SAVE R13
#define ENC_POS R14
#define STATE R15

#define PIN_ENCODERS PINC
#define BIT_A 1
#define BIT_B 4

ENC_HANDLE:
    SBRC    STATE,BIT_A
    RJMP    ENC_HANDLE_EXIT
    BST    STATE,BIT_B
    IN    STATE,PIN_ENCODERS
    SBRC    STATE,BIT_A
    RETI
    BRTS    ENC_HANDLE_DEC
    IN    SREG_SAVE,SREG
    SBRC    STATE,BIT_B
    INC    ENC_POS
    OUT    SREG,SREG_SAVE
    RETI
ENC_HANDLE_DEC:
    IN    SREG_SAVE,SREG
    SBRS    STATE,BIT_B
    DEC    ENC_POS
    OUT    SREG,SREG_SAVE
    RETI
ENC_HANDLE_EXIT:
    IN    STATE,PIN_ENCODERS
    RETI


Пардон, прошлый раз считал в уме, немного ошибся. Общее время 4(вход в прерывание)+2(RJMP с вектора)+16(худший случай)=22 такта.

Соответственно, ENC_POS - старшие 8 бит положения, STATE.A и STATE.B - младшие 2 бита положения в коде Грея. Оба регистра атомарно эксгумируются при помощи MOVW (поэтому и лежат рядом).

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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 17 2009, 08:32
Сообщение #5


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Rst7 @ Mar 17 2009, 12:01) *
Общее время ...+16(худший случай).
Похоже, что лучше будет некуда. Именно благодаря наличию худших/лучших случаев проц особо не надуется.




Цитата(Oldring @ Mar 17 2009, 00:20) *
Если будет на поллинг по таймеру потрачено 50% времени - уже замечательно.

Скока-скока? wink.gif
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
- - _Sam_   Цитата(khach @ Mar 16 2009, 18:16) Очень ...   Mar 16 2009, 19:01
|- - Iptash   Обработка энкодера все же должна быть аппаратной (...   Mar 16 2009, 19:27
|- - Oldring   Да и у микрочипа есть однокристалки с аппаратными ...   Mar 16 2009, 19:36
||- - Methane   Цитата(Oldring @ Mar 16 2009, 21:36) Да и...   Mar 16 2009, 19:54
||- - Oldring   Цитата(Methane @ Mar 16 2009, 22:54) Но у...   Mar 16 2009, 20:02
||- - Methane   Цитата(Oldring @ Mar 16 2009, 22:02) Вот ...   Mar 16 2009, 20:09
|||- - Oldring   Цитата(Methane @ Mar 16 2009, 23:09) Я не...   Mar 16 2009, 20:20
||- - 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
|- - PhX   Цитата(_Pasha @ Mar 17 2009, 10:58) Извин...   Mar 17 2009, 07:10
||- - _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 Текстовая версия Сейчас: 22nd June 2025 - 19:33
Рейтинг@Mail.ru


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