MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

Разработка нового контроллера

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

Сообщение Segriv » 11 май 2012, 09:49

Ale писал(а):Ну и еще, в пользу твоей архитектуре, прошивка в контроллере может быть совершенно простой, и основная работа ложится на плечи программиста компа, а не контроллера


в этом и гибкость ) не нужен программатор Изображение . быстрее процесс происходит.

(Добавление)
Ale писал(а):поскольку движок прямо от нуля начинает крутиться. Если я не прав - поправь.


у меня получается, что от нагрузки зависит

скажем, если нагрузки нет, то крутится начинает от 3 единиц ШИМ, если человек станет ногой, то уже от 50 (цифры ориентировочные)
вЭлкам на rk-stud.ru
Аватара пользователя
Segriv
Парторг
 
Сообщения: 74
Зарегистрирован: 06 окт 2011, 21:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Сообщение Ale » 11 май 2012, 09:58

Segriv писал(а):
у меня получается, что от нагрузки зависит

скажем, если нагрузки нет, то крутится начинает от 3 единиц ШИМ, если человек станет ногой, то уже от 50 (цифры ориентировочные)

Ну, ШИМ даже 50 - это всего 5% от шкалы регулирования, не о чем говорить. А вот 500 - и мотор стоит - это 50%. И с этим надо бороться. Более того, ШИМ 500 получился у CraCk БЕЗ нагрузки...

Я там в предыдущем посте еще пару мыслей добавил, прочти, может что полезное Изображение

Segriv писал(а):в этом и гибкость ) не нужен программатор Изображение . быстрее процесс происходит.

Собственно, для настройки нашей прошивки тоже программатор не нужен. Изображение . Только не подумай, что я пытаюсь тебя переубедить. Ни в коем случае. Как раз, чем больше разных вариантов, тем лучше...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Segriv » 11 май 2012, 10:34

Ale писал(а):Ну, ШИМ даже 50 - это всего 5% от шкалы регулирования, не о чем говорить. А вот 500 - и мотор стоит - это 50%. И с этим надо бороться.


у меня шим не 10 битный, а 8 битный (всего 255 значений)




Ale писал(а):Я там в предыдущем посте еще пару мыслей добавил, прочти, может что полезное

спасибо, прочту




Ale писал(а):Собственно, для настройки нашей прошивки тоже программатор не нужен. . Только не подумай, что я пытаюсь тебя переубедить. Ни в коем случае. Как раз, чем больше разных вариантов, тем лучше...

программатор имел в виду нужен, если прошивка принципиально новая будет.

чем больше решений тем лучше. кому как удобнее Изображение

(Добавление)
Ale писал(а): А у тебя? Ты прикидывал? Передача данных от АЦП на комп, обработка данных компом (это можно не учитывать) и передача управляющей команды обратно контроллеру... При интенсивных управляющих сигналах из-за задержек система просто будет пролетать мимо цели...


ну тут не только зависит от передачи к компу и обратно, а от инерционности ротора, и чатсоты обработки данных ( у меня сейчас 200 Гц, можно и до 1кгц сделать, но разницы нет, более того, разница начинается "проявляться" только на 50 Гц)

передача и приём со скоростью 7,2 кбайт в сек, передаю и принимаю я не более 35 байт (это вааще максимум) а это не менее 205 раз в сек.

джитттер был, т.к. у меня не было мёртвой зоны. её поставил - стало норм.


Segriv писал(а):тогда может появится дрожание (джиттер)
сча с ним тоже борюсь )


не с ним борюсь, блин, написал не то.

борьба сейчас с плавностью
вЭлкам на rk-stud.ru
Аватара пользователя
Segriv
Парторг
 
Сообщения: 74
Зарегистрирован: 06 окт 2011, 21:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Сообщение Ale » 11 май 2012, 13:49

Segriv писал(а):
борьба сейчас с плавностью

А чего с ней бороться?
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Segriv » 11 май 2012, 14:27

ну у меня сейчас получается, что она отсутствует (

при рассогласовании заданного положения и фактического примерно до 10 единиц вообще никакого , а потом происходит скачок до заданной величины


примерно так получается
заданное положение фактическое
0 0
5 0
10 0
15 15
20 15
25 25
30 25
35 25

отчасти это связано с механикой. т.к. масло в редукторы залито плохое (не смазывает нифига). сегодня менять его буду


бороться буду софтово, но сначала с механикой разберусь
вЭлкам на rk-stud.ru
Аватара пользователя
Segriv
Парторг
 
Сообщения: 74
Зарегистрирован: 06 окт 2011, 21:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Сообщение Ale » 11 май 2012, 21:26

Segriv писал(а):
при рассогласовании заданного положения и фактического примерно до 10 единиц вообще никакого , а потом происходит скачок до заданной величины

А по какому закону ты регулирование производишь? И какую мертвую зону установил?
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Segriv » 12 май 2012, 07:16

Ale писал(а):
Segriv писал(а):
при рассогласовании заданного положения и фактического примерно до 10 единиц вообще никакого , а потом происходит скачок до заданной величины

А по какому закону ты регулирование производишь? И какую мертвую зону установил?


пока пропорциональный, но он как оказалось, не совсем подходит Изображение

у меня потенцитометр на 270 град - 1024 значения.
использую 180 град - примерно 680 значний
мёртвая зона установлена чтобы дребезга не было - порядка 4-5 единиц
вЭлкам на rk-stud.ru
Аватара пользователя
Segriv
Парторг
 
Сообщения: 74
Зарегистрирован: 06 окт 2011, 21:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Сообщение CraCk » 18 май 2012, 22:19

Ale писал(а):ЗЫ: Кстати, а ты не пробовал РАЗНЫЕ Kp устанавливать? На видео видно, что есть явная перерегулировка при Kp = 80. А что будет, если Kp1Lo оставить 80, а Kp1Hi сделать, к примеру, 20?

Вот http://youtu.be/yTpRG2q_BjU
При малых передвижениях работает хорошо, а вот при задание большого шага видно перерегулировку.
Ale Как дела с обновлением прошивки????
Кстати kubing использует фильтр Кальмана в своей прошивке.
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 19 май 2012, 06:25

CraCk писал(а):
Вот http://youtu.be/yTpRG2q_BjU
При малых передвижениях работает хорошо, а вот при задание большого шага видно перерегулировку.

При каких настройках снято это видео? Меня интересует значение параметров KpLo, KpHi и KpTh. Может просто стоит уменьшить KpHi, тогда не будет перелетов при больших перемещениях...
CraCk писал(а):
Ale Как дела с обновлением прошивки????

Ввиду почти полного отсутствия обратной связи от тестеров, работа над прошивкой приостановлена. Я просто не знаю, в какую сторону двигаться. Почти все, что можно было придумать и обкатать без железа сделано. Я, правда, обещал некую программу для компьютера вместо терминала... Но она тоже пока стоит. В общем, начал я потихоньку свой сим строить. Pavel155 тоже собирается, вроде. Если активность тестирования останется на прежнем уровне, обновления появятся уже после собственной обкатки прошивки на железе.

CraCk писал(а):Кстати kubing использует фильтр Кальмана в своей прошивке.

Пока не знаком с его творчеством. Спасибо за наводку, посмотрим.


(Добавление)
Вот вычитал в WIKI.
Наглядный пример возможностей фильтра — получение точных, непрерывно обновляемых оценок положения и скорости некоторого объекта по результатам временного ряда неточных измерений его местоположения. Например, в радиолокации стоит задача сопровождения цели, определения её местоположения, скорости и ускорения, при этом результаты измерений поступают постепенно и сильно зашумлены. Фильтр Калмана использует вероятностную модель динамики цели, задающую тип вероятного движения объекта, что позволяет снизить воздействие шума и получить хорошие оценки положения объекта в настоящий, будущий или прошедший момент времени.

На мой взгляд - для сима такой фильтр избыточен. Не так сильно шум и ошибки определения позиции влияют на ощущения, что бы бороться с ними таким фильтром.
А вот то, что kubing полный PID использует, это уже интересней. В принципе, реализовать его в прошивке совсем не сложно. Гораздо сложней его настраивать, и тут без дополнительных программ не обойтись. Но опять же, пока не ясно, есть ли смысл?
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение CraCk » 19 май 2012, 11:19

Ale писал(а):Меня интересует значение параметров KpLo, KpHi и KpTh.

KpLo=80 KpHi=40 KpTh=5 наверно еще придется увеличивать мертвую зону при таких Кр так как двигатель не отключается когда стоит на месте (трескочет). Возможно и в обще придется ставить низкие Кр настройки до 40 потому что двигатель стает очень чувствителен к изменению положения а это сильно влияет на температуру самого мотора и Н-моста.
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 19 май 2012, 11:49

CraCk писал(а):
KpLo=80 KpHi=40 KpTh=5 наверно еще придется увеличивать мертвую зону при таких Кр так как двигатель не отключается когда стоит на месте (трескочет). Возможно и в обще придется ставить низкие Кр настройки до 40 потому что двигатель стает очень чувствителен к изменению положения а это сильно влияет на температуру самого мотора и Н-моста.

Спасибо за информацию. Попробую слегка модифицировать прошивку. Появились кое какие идеи.
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Segriv » 19 май 2012, 16:42

Ale писал(а):А вот то, что kubing полный PID использует, это уже интересней. В принципе, реализовать его в прошивке совсем не сложно. Гораздо сложней его настраивать, и тут без дополнительных программ не обойтись. Но опять же, пока не ясно, есть ли смысл?


я как раз завтра буду его пытать на своём приводе. завтра отпишусь
вЭлкам на rk-stud.ru
Аватара пользователя
Segriv
Парторг
 
Сообщения: 74
Зарегистрирован: 06 окт 2011, 21:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Сообщение Ale » 20 май 2012, 14:36

CraCk писал(а):KpLo=80 KpHi=40 KpTh=5 наверно еще придется увеличивать мертвую зону при таких Кр так как двигатель не отключается когда стоит на месте (трескочет)

Попробуй увеличить KpTh до 30, а KpHi уменьшить до 20. Кстати, и KpLo тоже можно сделать порядка 60. Если вдруг на больших амплитудах будут перерегулировки, можно еще уменьшить KpHi...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Segriv » 23 май 2012, 14:16

Segriv писал(а):я как раз завтра буду его пытать на своём приводе. завтра отпишусь


клёво, понравилось. настраивать только долго приходится (

Ale писал(а):3 - Введен новый параметр управления ШИМ - MinPWM (один на оба канала). Теперь величина ШИМ вычисляется по следующей формуле:

PWM = minPWM + Kp* (текущая_позиция - заданная_позиция)


а если разница будет мала, то вращение начнётся. как ищете ту золотую середину Kp, когда движение начинается при небольшом рассогласовании и нет дрожания ?

вЭлкам на rk-stud.ru
Аватара пользователя
Segriv
Парторг
 
Сообщения: 74
Зарегистрирован: 06 окт 2011, 21:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Сообщение Ale » 23 май 2012, 15:12

Segriv писал(а):клёво, понравилось. настраивать только долго приходится (

Как бы помягче выразиться... Несколько не информативно Изображение . С удовольствием почитал бы более подробный отчет - функция шим, настройка, результат...

Segriv писал(а):а если разница будет мала, то вращение начнётся. как ищете ту золотую середину Kp, когда движение начинается при небольшом рассогласовании и нет дрожания ?

Пока никак не ищу. Я тут пока в ранге теоретикаИзображение , чего нить напридумываю, а проверяют другие. Увы мне...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Пред.След.

Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

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

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

cron
x

#{title}

#{text}