Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Алгоритм позиционирования, нужны советы

Непрочитано 10.03.2018, 11:26  
xoxa
Временная регистрация
 
Регистрация: 19.03.2006
Сообщений: 63
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
xoxa на пути к лучшему
По умолчанию Алгоритм позиционирования, нужны советы

Коллеги помогите с решением. Алгоритм нужен.
Позиционированием первый раз занялся.

Вообщем есть stm32f4discovery. К ней подключен привод, которому могу говорить вперед-назад-стоп. Сейчас привод построен на электромагните с сердечником из постоянного магнита, его управляю шимом. Ездит в зад и вперед. В конечном устройстве это будет пневмоцилиндр с клапаном, клапан понимает шим.

Привод сейчас соединен с кареткой. На каретке установлен энкодер инкриментальный. Энкодер подключен к discovery. При движении вперед назад позиция по энкодеру от 0 до 800 изменяется.

Поигрался этим всем. Сейчас надо написать софт. По RS485 будет отдаваться нужная позиция и надо максимально быстро на нее вставать.
Привод будет управлять дозатором жидкости. Управлять надо максимально быстро.

Первый вопрос.
При включении устройства надо отъехать в позицию 0 назад до упора и обнулить позицию энкодера в мозгах. С этим разбрался. Включаю шим на 50% назад, жду 1500 мс и считаю что каретка приехала в ноль. Может так не правильно ? Нужен совет.

Второй вопрос.
При включении устройства надо выяснить при какой минимальный шим нужен, чтобы каретка сдвинулась. Тут предпологаю надо с минимальным шимом пытаться двигать, пока по энкодеру не словлю прерывание. Верно ?

Задача в глобальном масштабе такая. Надо с максимальной скоростью двигать кареткой в нужную позицию, но не перелетать эту позицию. Останавливаться в ней и держать ее, ожидая следующей команды. Подскажите подход к решению. Пид использовать ?
Реклама:
xoxa вне форума  
Сказали "Спасибо" xoxa
alvadep (11.03.2018)
Непрочитано 10.03.2018, 17:59  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

Сообщение от xoxa Посмотреть сообщение
На каретке установлен энкодер инкриментальный. Энкодер подключен к discovery. При движении вперед назад позиция по энкодеру от 0 до 800 изменяется
Сообщение от xoxa Посмотреть сообщение
Включаю шим на 50% назад, жду 1500 мс и считаю что каретка приехала в ноль
нахрена ждать, если есть энкодер?
Сообщение от xoxa Посмотреть сообщение
Надо с максимальной скоростью двигать кареткой в нужную позицию
принцип "разгон-движение-торможение" известен? графически - трапеция. практически определить максимальную скорость перемещения без потери управления, от нее и плясать. определить максимально возможное время разгона и торможения. зная наклон прямых, вычислять пропорциональный разгон-движение-торможение в зависимости от заданного пути, возможно с пропорциональным снижением макс. скорости
jump вне форума  
Непрочитано 10.03.2018, 18:42  
pasha_zv
Прописка
 
Аватар для pasha_zv
 
Регистрация: 14.12.2006
Адрес: Ставрополь - Донское
Сообщений: 266
Сказал спасибо: 118
Сказали Спасибо 197 раз(а) в 81 сообщении(ях)
pasha_zv на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

для инерционных систем ПИД-регулирование
самое оптимальное.
коэффициенты правда надо подбирать.

есть и алгоритм ПИД-регулировки с автокоррекцией/самонастройкой,
но там черт ноги сломает. и я сломал.
в качестве примера: терморегуляторы "Овен.
pasha_zv вне форума  
Непрочитано 10.03.2018, 19:56  
Someone
Гражданин KAZUS.RUN
 
Регистрация: 16.06.2005
Сообщений: 942
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

Сообщение от xoxa Посмотреть сообщение
Включаю шим на 50% назад, жду 1500 мс и считаю что каретка приехала в ноль. Может так не правильно ?
Совершенно не правильно только по времени. Нужны концевые датчики на крайних положениях. А если сработки концевика нет в течении определённого, так сказать, предельно допустимого времени, останавливать всё и выдавать аварию.

Сообщение от jump Посмотреть сообщение
нахрена ждать, если есть энкодер?
Сразу видно, что нет опыта в управлении приводАми. А кто сказал, что он даёт верные показания? Что если было проскальзывание или залипание энкодера?
Someone вне форума  
Сказали "Спасибо" Someone
7evgen7 (11.03.2018)
Непрочитано 10.03.2018, 20:22  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

Сообщение от Someone Посмотреть сообщение
Сразу видно, что нет опыта в управлении приводАми
12 лет с ними, гадами, воевал - от ШД до серво.
Сообщение от Someone Посмотреть сообщение
кто сказал, что он даёт верные показания? Что если было проскальзывание или залипание энкодера?
нафига такой энкодер нужен, если залипает? мы же говорим о заведомо исправной, безошибочно работающей системе? ошибки надо рассматривать отдельно
Сообщение от Someone Посмотреть сообщение
не правильно только по времени. Нужны концевые датчики на крайних положениях
вашими ж словами - а если концевые датчики залипли и дают сразу привязку - что дальше? практически с этим сталкивался, опыт работы с ЧПУ большой
jump вне форума  
Непрочитано 10.03.2018, 23:07  
Someone
Гражданин KAZUS.RUN
 
Регистрация: 16.06.2005
Сообщений: 942
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

Сообщение от jump Посмотреть сообщение
12 лет с ними, гадами, воевал - от ШД до серво.
Эксплуатация или разработка?

Сообщение от jump Посмотреть сообщение
мы же говорим о заведомо исправной, безошибочно работающей системе? ошибки надо рассматривать отдельно
Ошибки не надо рассматривать, их надо предусмотреть, и прописать реакцию на них. "Идеальная" система конечно хороша, но только не в реальной жизни. В реале, любая система достаточно быстро под воздействием внешних факторов уходит от идеального состояния.

Сообщение от jump Посмотреть сообщение
а если концевые датчики залипли и дают сразу привязку - что дальше? практически с этим сталкивался, опыт работы с ЧПУ большой
Естественно сообщение о неисправности, предположительно концевого датчика . Энкодер-то крутится. Двигатель ток потребляет (ещё один очень желательный канал контроля состояния), а состояние концевика не меняется. Я ведь не говорю, что энкодер не нужен. Я говорю про то, что одного энкодера мало. И опираться ТОЛЬКО на его показания - не есть хорошее решение.
Someone вне форума  
Сказали "Спасибо" Someone
7evgen7 (11.03.2018)
Непрочитано 11.03.2018, 01:27  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

Сообщение от Someone Посмотреть сообщение
Эксплуатация или разработка?
Эксплуатация
Сообщение от Someone Посмотреть сообщение
Ошибки не надо рассматривать, их надо предусмотреть, и прописать реакцию на них
дай бог, чтоб ТС хоть с места сдвинул свой чудосвинтопрульный агрегат
Сообщение от Someone Посмотреть сообщение
Естественно сообщение о неисправности
рассмотрим два варианта неисправности:
- залипание концевика постоянное, тогда система при попытке выйти в "0" бодренько опросит концевик и отрапортует о выходе в исходную точку. аллес - ошибка, сбой, но не определяется однозначно системой.
- концевик "дребезжит" или залип во время движения - последствия см. выше
при эксплуатации встречалось - из-за разгерметизации в блок концевиков попадали масло, сож, стружка и станок бодренько так проскакивал исходное положение либо полз на малом ходу до аварийных концевиков, либо см. выше
можете мне возразить, что, мол, необходимо учитывать состояние энкодера (0-метка) - соглашусь, но ТС упорно скрывает фото, конструкцию и схемы, увы
Сообщение от pasha_zv Посмотреть сообщение
в качестве примера: терморегуляторы "Овен
науй это гавно, науй
jump вне форума  
Сказали "Спасибо" jump
mike-y-k (11.03.2018)
Непрочитано 11.03.2018, 03:32  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,293
Сказал спасибо: 11,863
Сказали Спасибо 4,162 раз(а) в 3,180 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

xoxa, таки для начала стоит все потребные параметры, вместе с имеющимися в цифру облечь.
Возможности планируемых исполнителей по скорости реакции, ускорению, торможению.
Кривые ускорения и торможения для достижения требуемой точности.
Необходимые параметры исполнителей из условий применения.
Определиться с типом планируемого энкодера. В данной задаче многое упроститься если он будет абсолютным. Тут вполне можно индуктивный применить.
С параметрами диапазонов управления таки лучше разобраться калибровкой привода один раз, чем пытаться ее каждый раз проводить, в крайнем случае это должна быть отдельная процедура.
В планируемом пневмоцилиндре ещё придётся учесть инерционность самого привода, его конструкцию,…
Сильно больше вопросов - нужны ответы, да и моделирование алгоритма на не совсем годных исходных может потом при реальном приводе ещё головной боли подкинуть с переписыванием и адаптацией алгоритма.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 11.03.2018, 04:39  
OakRidge
Заблокирован
 
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,464
Сказал спасибо: 287
Сказали Спасибо 1,122 раз(а) в 540 сообщении(ях)
OakRidge на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

Здесь писал о своих муках дверью лифта управлять.
С ПИДом разобрался По моему скромному исключительно застойное решение. Тремя параметрами описать весь букет движения невозможно Разве что для вентилятора или обогревателя. Не более
OakRidge вне форума  
Сказали "Спасибо" OakRidge
mike-y-k (11.03.2018)
Непрочитано 11.03.2018, 11:36  
ampy
Гражданин KAZUS.RUN
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 996
Сказал спасибо: 448
Сказали Спасибо 388 раз(а) в 202 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: Алгоритм позиционирования, нужны советы

Имел довольно долгую, но интересную возню с разгоном и торможением на шаговиках. Стал думать, что электродвигатель+энкодер проще, т.к. тогда не нужно моделировать законы физики, а только "контролировать их исполнение". Как нить хочу попробовать.
Тут вот списочек литературы в конце ветки. М.б. почитать?
И я бы не возился с ПИДом там где можно применить обычную школьную физику, точнее механику за 6 класс. Чтобы описать "букет" движения нужно всего ничего параметров.
ampy вне форума  
Сказали "Спасибо" ampy
mike-y-k (11.03.2018)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импульсный вольтметр на МК: нужны советы tim1960 Микроконтроллеры, АЦП, память и т.д 29 29.03.2013 11:25
Усилитель делаю. Нужны советы Easyrider83 Аудиотехника 81 11.03.2011 19:36
Нужны советы по ремонту ИБП APC Back-UPS CS 500 lehers Источники питания и свет 3 27.12.2010 00:12
Нужны советы по усилителю мастеркит Timosha15 Аудиотехника 16 26.07.2010 17:49
Нужны идеи, советы, по светодиодному матричному дисплею vadd Микроконтроллеры, АЦП, память и т.д 67 13.01.2008 12:15


Часовой пояс GMT +4, время: 12:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.