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

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


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

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



Цитата
Процентов триста..пятьсот.


Тысячу, две.... Чукча не читатель, чукча писатель? Нарисовали же на предыдущей страничке 22 такта на энкодер. Ну на два будет тактов где-то 32 навскидку.


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


Гуру
******

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



Цитата(Rst7 @ Mar 17 2009, 15:11) *
Тысячу, две.... Чукча не читатель, чукча писатель? Нарисовали же на предыдущей страничке 22 такта на энкодер. Ну на два будет тактов где-то 32 навскидку.

Блииин. Дано 100 тактов. Пусть загрузка прерывания будет 50%, т.е. 50 тактов на прерывание и 50 тактов на основную программу. 30 * 1.5 == 90% вы уже заняли по первому варианту, и 64% по второму. И это _только_ энкодер. Что тут полезного еще можно добавить в 5..15 тактов ? И о каких чукчах вы говорите ? О тех, которые с бубном ?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 18 2009, 03:11
Сообщение #4


;
******

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



Цитата(Огурцов @ Mar 18 2009, 02:21) *
Пусть загрузка прерывания будет 50%, т.е. 50 тактов на прерывание и 50 тактов на основную программу.

Хотите посчитать загрузку - делайте это правильно, как сумму отношений числа тактов на прерывание к числу тактов, укладывающихся в период генерации прерывания. Там чтобы 50% загрузки достичь - это не сервак а андроид какой-то буит шибко умный.

Для синхронизации сервоцикла используется 1 прерывание, и то с коррекцией стека, послед.порт - там обычно буферизация, АЦП - 1 или 2 или 0 каналов, дело вкуса, компаратор на максимально-токовую защиту (срабатывает как Ф1-один раз). Хотя, конечно, можно программу и неправильно организовать, тогда  smile3046.gif оно не подымется никогда.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Mar 18 2009, 08:38
Сообщение #5


Гуру
******

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



Ребят, ну вы смешные. 50% от 100 тактов - это 50 тактов, как ни считай. Ну или объясните тогда, как считать "правильно".

Ок, аналогичная задача. Тактовая 16мгц, цикл 50кгц, два уарта на 1мбит, энкодеры плюс кое-что еще. Какие шансы, что такое будет работать ? А без бубна ?

А вот, кстати, пример. Пока раскладка такая: всего 320 тактов, скажем, 240 можно отдать на прерывание. 38 - вход, 37 - выход, 17 * 2 * 2 - прием, 23 * 2 * 2 - передача, 150 - энкодеры, т.е. всего (примерно) 385. Упс. Теперь понятно, что и почему не работает. Если осетра немного урезать, до 500кбит, получается 305 тактов и оно хреново, но живет. Так что, брать в руки бубен ? Или осетра резать ?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 18 2009, 09:04
Сообщение #6


;
******

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



Цитата(Огурцов @ Mar 18 2009, 11:38) *
Ребят, ну вы смешные.

Не-е это Вы смешные. Вроде бы все правильно пишете, но выходит пугающе. Объясните, какой цикл 50кГц имеется ввиду? Если это цикл обработки событий - то я буду смеяться. Если же это сервоцикл - то тут не осетр, а птеродактиль нужен. Да и 1Мбит поток - тяжеловато для несчастной меги - это уж трудно оспорить.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Mar 18 2009, 09:33
Сообщение #7


Гуру
******

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



Цикл общий, прерывание одно. ШИМ, УАРТы, концевики, энкодеры. Математики, конечно, в нем нет, только самое необходимое, остальное вынесено в программу.
Прикинул, 75 тактов (от энкодеров) можно ужать за счет таблицы во флеши.

Сообщение отредактировал Огурцов - Mar 18 2009, 09:34
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 18 2009, 09:54
Сообщение #8


;
******

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



Цитата(Огурцов @ Mar 18 2009, 12:33) *
Цикл общий, прерывание одно.

А-а-а! Так это место называется по-разному: грабляндия, бубенленд, ж*па. Не надо так делать. Говорил, что буду смеяться. Не буду, лучше посочувствовать. На вполне ожидаемый вопрос: а как, собсно, надо? - отвечу примером, но он еще не готов, а так - букаф много.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Mar 18 2009, 10:20
Сообщение #9


Гуру
******

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



Цитата(_Pasha @ Mar 18 2009, 09:54) *
Не надо так делать. Говорил, что буду смеяться.

А как надо ? Может посчитаем, что выгоднее, одно прерывание обрабатывать или четыре ? Я уж не говорю о нестабильности входа в прерывания, если о вообще возможности во время обрабатывать несколько прерываний.


Цитата(Rst7 @ Mar 18 2009, 09:59) *
Ну показывайте Ваш мегакод процедуры прерывания. Посмотрим.

Не, я тоже, как _Pasha, постою в сторонке, пока код не готов.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 18 2009, 10:34
Сообщение #10


;
******

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



Цитата(Огурцов @ Mar 18 2009, 13:20) *
Я уж не говорю о нестабильности входа в прерывания, если о вообще возможности во время обрабатывать несколько прерываний.

При такой постановке вопроса, как у Вас, оверхед получается больше за счет большей частоты проверок условий. А несколько прерываний обрабатывать вроде как и не надо. Сканирование линий -блокирующее прерывание, остальные - неблокирующие, и на это обязательно найдется причина: там двойной буфер, там однократное срабатывание, там АЦП - медленно по сравнению со сканом. 
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Mar 18 2009, 12:07
Сообщение #11


Гуру
******

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



Ок, простой вопрос. Сколько у вас тактов занимает обработка "прерываний" уарта (с буферизацией) ?
По поводу оверхеда. 1 мегабит нужно обрабатывать с частотой 100 кгц. При цикле в 50кгц это два чтения и две записи. На два уарта - в два раза больше, Скажите, какой оверхед будет по вызову восьми прерываний ? При поллинге это всего лишь 20 тактов.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 18 2009, 12:16
Сообщение #12


Гуру
******

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



Я читаю это все и фигею. Люди эти подсчеты тактов в данном случае вообще имеют смысл ли нет? Привод-то в любом случае будет значительно дороже. Ставте TMS320, и у вам будет не только аппаратные энкодеры, а даже блок работы с плавающей точкой, на котором вы сможете очень легко отладить алгоритм, законы регулирования, коэффициенты, все соптимизировать, перевести на плавающую точку итд.

Или я что-то в жизни не понимаю?
Go to the top of the page
 
+Quote Post
PhX
сообщение Mar 18 2009, 12:29
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249



Цитата(Methane @ Mar 18 2009, 16:16) *
Я читаю это все и фигею. Люди эти подсчеты тактов в данном случае вообще имеют смысл ли нет? Привод-то в любом случае будет значительно дороже. Ставте TMS320, и у вам будет не только аппаратные энкодеры, а даже блок работы с плавающей точкой, на котором вы сможете очень легко отладить алгоритм, законы регулирования, коэффициенты, все соптимизировать, перевести на плавающую точку итд.

Или я что-то в жизни не понимаю?

Ну плавающая точка это пока дороговато. Я думаю 2806 с двумя аппаратными обработчиками энкодеров в самый раз. А асмовые развлечения... это так серыми мускулами поиграть. biggrin.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
- - Огурцов   Цитата(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
|- - 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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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