Отговори на тема  [ 78 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5, 6  Следваща
Помощ за подбряване на алгоритъм 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Помощ за подбряване на алгоритъм
Не мисля че ще успееш да го докараш перфектно. В такива ситуации аз правя следното - закарвам нещото, което ще се движи, в някакво крайно положение, добре познато и от там се извършва преместването. Така грешката е минимална. Не разбрах защо ПИД е отпаднал? Ти не искаш да добавяш никакъв хардуер, а да използваш само инвертора, може би? Предполагам проблемите са при кратки премествание, когато не е ясно колко инерция е набрал двигателя. Във всички случаи ще имаш някакво отклонение. Ако преместванията са чести съответно отклонението ще нарастне. Може би е добра идея да добавиш още цифрови точки - не само крайно положение. Така ще можеш да коригираш положението на няколко места съответно може да избегнеш честото ходене до крайна позиция за корекция...
Добре е да уточниш дали използваш само това, което ти предоставя инвертор или имаш някаква платка, PLC или др!
Поздрави!

_________________
www.elkran.com


Пон Ное 28, 2016 6:37 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Фев 16, 2014 3:36 pm
Мнения: 953
Мнение Re: Помощ за подбряване на алгоритъм
Ами то каква комбинация ще бъде между буквите P, I и D се определя от инициализиращите параметри. Може да се пробва как ще се държи без интегриране или без диференциране и да си харесат комбинацията от параметри...

Инвертора няма честоти под 20 Hz, така че не би трябвало двигателя да се мъчи около зададената позиция. Единственото което аз бих добавил е следното:

в setOuptut

вместо
Код:
double error=setpoint-actual;


ще сложа
Код:
double error = (Math.abs(setpoint-actual) > THRESHOLD ? setpoint-actual : 0);


Пон Ное 28, 2016 6:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Помощ за подбряване на алгоритъм
Ти да не го търкаляш само през инвертора това ? Ако е така нещата са съвсем различни, тук колегите както и мен предполагат че имаш нещо което управялва инвертора, друго е ако всичко става през самият инвертор, там дори няма идея как се прогрмаира :)


Пон Ное 28, 2016 7:16 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Фев 16, 2014 3:36 pm
Мнения: 953
Мнение Re: Помощ за подбряване на алгоритъм
Нещото което управлява инвертора го пише той.


Пон Ное 28, 2016 7:21 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Помощ за подбряване на алгоритъм
Нещото, което управлява инвертора го пиша аз. Обратната връзка(потенциометър) от изхода на редуктора влиза в моята платка. С такъв подход нямам нужда от начално положение и грешката се коригира при всяко движение, а зависи от началното и крайното положение и честотата. Идеята е да не прекалявам с корекциите на движението, защото не правя 3D принтер и точността не е критична, а само характеристиката на самото движение. Освен това комуникацията е достатъчно бавна, за да не мога да разчитам на голям брой корекции. Прекалено навлизаме в дискусията за самото управление, а то е вече решено и работи добре. Всъщност, дори не става дума за него, а какъв е най-лесният похват, за да имам три параметъра, определящи крайната стойност. На този етап съм "за" тримерен масив с предварително зададени стойности. Други идеи?

_________________
http://www.szrefekt.com


Последна промяна E1 на Пон Ное 28, 2016 7:48 pm, променена общо 1 път



Пон Ное 28, 2016 7:41 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Фев 16, 2014 3:36 pm
Мнения: 953
Мнение Re: Помощ за подбряване на алгоритъм
Таблици се ползват когато не можеш да сметнеш търсеното нещо достатъчно бързо. Ако можеш да го сметнеш - смяташ го - нали за това са направени процесорите - да смятат!


Пон Ное 28, 2016 7:46 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Помощ за подбряване на алгоритъм
Абе вярно. И аз затова малко се чудя, но идея си нямам колко опита трябва да направя, за да извлека формула за отклонението.

_________________
http://www.szrefekt.com


Пон Ное 28, 2016 7:50 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: Помощ за подбряване на алгоритъм
Ами най-лесно е да моторчето да пърпори полека като автобус Чавдар, за да не подминава спирките. Като поусвоиш управлението, може да позасилиш автобуса, като един опитен шофьор който знае къде ще спре точно рейса, ако остане без спирачки. Нещо в този смисъл. Трябва да се поекспериментира според мене, да се види дали винаги спира еднакво бързо по инерция. Ето за това нещо може да се направи табличка. След като го докараш да спира максимално точно, тогава вече ще включиш и корекциите, задната скорост (ако подминаваш спирката). Пък може и задната (обръщането на посоката) да я ползваш като спирачка, ако търсиш голяма скорост.

_________________
https://github.com/slav4ocom/


Пон Ное 28, 2016 9:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Помощ за подбряване на алгоритъм
Според мен дори с най-обикновен пропорционален алгоритъм ще стане, и за да е по бързо и точно може да вкараш таблица с няколко коефициента за пропорционалност в зависимост от грешката, някакво съвсем елементарно фъзи.
Може и с ПИД разбира се, но не знам защо има усещането че точно в този случай с този мотор ПИД-а не е най-добрата опция, ако беше сервомотор ПИД-а безспорно е фаворит. В случая в този диапазон ПИД-а ще регулира щестотата и какво от това, отново ще имаш ON/OFF.


Пон Ное 28, 2016 9:48 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Помощ за подбряване на алгоритъм
п.с. абе колко полюсен е тоя мотор и с каква скорост трябва да изпълниш заданието, примерно врътваш потенциометъра от 0 до 270 градуса, за колко време редуктора трябва да го изпълни ?


Пон Ное 28, 2016 9:50 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Помощ за подбряване на алгоритъм
Тони, нещо такова търся като вариант. Преместването е 0-180 градуса и при 70Hz се осъществява за 1,1s. Таблицата на пропорционалност (или корекция на грешката) за сега ми изглежда най-удачна. Първоначално така тръгнах. Заради грешка в кода, която открих преди малко, не изпълняваше една част от корекциите и ме пообърка.

_________________
http://www.szrefekt.com


Последна промяна E1 на Пон Ное 28, 2016 10:04 pm, променена общо 1 път



Пон Ное 28, 2016 10:00 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Помощ за подбряване на алгоритъм
Ако ускоряващата(съответно и забавящата) крива ти е константа може и с таблица. Направи, колкото измервания решиш, при различни премествания. Докато ти хареса! За междинните стойности използваш някаква интерполация. Ако обаче променяш кривите само с таблица няма да стане работа!

_________________
www.elkran.com


Пон Ное 28, 2016 10:04 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Юли 22, 2007 8:57 pm
Мнения: 607
Местоположение: Белград
Мнение Re: Помощ за подбряване на алгоритъм
Да. И двете криви... всъщност - прави, в конкретния случай, са константи и се задават в настройките на инвертора.

_________________
http://www.szrefekt.com


Пон Ное 28, 2016 10:05 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: Помощ за подбряване на алгоритъм
Демек скоростта при спиране намалява линейно, но и така остава фактора начална скорост. Което пак значи по-дълго спиране, ако пък спира еднакво - още по-лесно. Според мен таблиците само ще пресъздадат някакви формули.

_________________
https://github.com/slav4ocom/


Пон Ное 28, 2016 10:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Помощ за подбряване на алгоритъм
slav4o.com написа:
Демек скоростта при спиране намалява линейно,

Зависи каква крива е задал.
E1, проверявал ли си дали инверторът ти може да вкарва двигателя в режим "електрическа прирачка"?

_________________
www.elkran.com


Пон Ное 28, 2016 10:20 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 78 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5, 6  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни