Господа, подскажите. Как реализовать следующую проект.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

leshak пишет:

SU-27-16 пишет:

ещё раз про ошибку...

энКод за оборот даёт1440 тиков, ШД для одного оборота нужно 1420 тиков, НАПРИМЕР....

и как вы это учитываете в коде ? 

...нужна коррекция :)

Какая коррекция? О чем вы?
Сделали тысячу шагов шаговиком по часовой стрелке (фиг его знает сколько там оборотов он накрутил).
В процессе этого шагания от энкодера пришло NNN тиков.

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

это проверка ЭК... классно работает !

а при передаче ОДИН в ОДИН 1440 тиков за оборот ЭК - ШД тоже поворачивается на 360 гр ?

....такого испытания НЕ БЫЛО !

тик ЭК = 360 / 1440 = ........ , а ШД для оборота надо, например, 1024 тика.... дык, вот он и не сделает оборот :(

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

а при передаче ОДИН в ОДИН 1440 тиков за оборот ЭК - ШД тоже поворачивается на 360 гр ?

....такого испытания НЕ БЫЛО !

Небыло. Потому что на данный момент оно не имеет смысла.
Прежде чем перечислять все испытания которых еще небыло, ответе на прошлый вопрос. Сколько тиков мы должны получить от энкодера?

SU-27-16 пишет:

тик ЭК = 360 / 1440 = ........ , а ШД для оборота надо, например, 1024 тика.... дык, вот он и не сделает оборот :(


Я вас удивлю. Не делает он оборот по другой причине: никто не ставил такой задачи. Пока она просто не нужна.
Пока нужно добится что-бы на одно и тоже количество шагов получать одно и тоже количество тиков. Вне зависимости от направления.
А сколько там получится "в оборотах", целое или не целое. Сколько тиков энкодера соотвествует одному шагу... это вторично.
Поэтому "Сколько ШД для оборота надо" - нас пока не интересует аж никак. Нам "оборот" - не нужен.
На всякий случай: и сколько тиков энкодера приходится на один оборот - тоже сейчас не важно.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Сколько тиков мы должны получить от энкодера?

ровно столько сколько ему предписано дать ТехДоком

Я вас удивлю. Не делает он оборот по другой причине: никто не ставил такой задачи. 

не удивили... такую задачу поставил ТС... "электронный редуктор с плавающим коэффПередачи" - так ?

может моя залез вперёд ? но моя думает что надо начинать именно с передачи 1 : 1 .... там оборот- здесь оборот.... 

и после этого - k = 0,87.......2,35 юзать....

вы щас ловите тик ЭК в тик ШД, потом от этого отойдёте и всё равно придёте к ПИД-регулятору....

следящий параметр НИКОГДА не догонит параметр отслеживаемый.... 

задающий вал - на нём абсолютный ЭК1, исполнительным валом управляет ШД, на этом же валу такой же ЭК2, как и на задающем....

вот от разницы этих ЭК1 и 2 и надо управлять ШД через ПИД-регулятор.... ( цифровой аналог трёхфазного синхронно-следящего привода )

....посредством тиков - задачу не решить.... 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Поэтому "Сколько ШД для оборота надо" - нас пока не интересует аж никак. Нам "оборот" - не нужен.

На всякий случай: и сколько тиков энкодера приходится на один оборот - тоже сейчас не важно.

 

в этой задаче как раз важно ( при k=1 ) положение вала первичного и вторичного, вернее - их синхронность, а скока тиков сделает ЭК и скока шагов ШД - вот это уже вторично....

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

вал первичный вращается с угловой скоростью 10 оборотов/мин с девиацией +/- 10%.....

тиками энкодера за этим не уследить ! для слежения за положением первичного вала придётся следить за временнОй расстановкой тиков... за временем возникновения КАЖДОГО тика... т.е. - за ускореним, за ускорением ускорения и т.д. - чем больше производных - тем тосчнее.... катаТак....

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

Я вас удивлю. Не делает он оборот по другой причине: никто не ставил такой задачи. 

не удивили... такую задачу поставил ТС... "электронный редуктор с плавающим коэффПередачи" - так ?

Нет. Не так. Перечитывайте тему.
Сейчас решается другая задача:
1. выяснить есть ли шум на энкодоре. убедится в точности измерений
2. выяснить если "пробуксовки" шаговика на старте и "проскакивания" по инерции на стопе.

Поэтому все ваши расчеты "сколько чего на оборот". "Соотношения". к и т.п. - совершенно "ни про то песня".

Прежде чем заниматься соотношенями нужно убедтся что мы "видим реальный мир без искажений" и исполнительное устройство делает ровно то что мы от него требуем.

cactous
Offline
Зарегистрирован: 18.11.2013

  Решил я пока приостановить на пару дней ломать себе и вам голову.  В субботу куплю другой драйвер более серьезный, на TB6560.  Доведу до ума силовую часть. И снова продолжу эксперименты. 

Результаты на данный момент такие. Энкодер считает правильно, контроллер умеет определять направление вращения на максимально необходимых скоростях и даже более того.  НИКАКИХ ошибок нет.  Все четко и красиво. Нужно работать над управлением шаговым двигателем. Ес ть такая мысль, а что если на STEP подавать испульсы постянно одной и той же частоты(определить ее опытным путем, мотор не должен пропускать шаги), а enable использовать для управления.  Проблема только в том как реализовать подсчет пройденых шагов. Может на прерывание повесить и считать когда enable=LOW,  а когда HIGH не считать.  Вопрос не будут ли два внешних прерывания  конфликтовать друг с другом. Не будет ли пропуска шагов и в этом случае, но уже по другой причине.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

и исполнительное устройство делает ровно то что мы от него требуем.

для этого и нужна обратная связь, чтобы видеть проскользнул ШД или нет. 

cactous
Offline
Зарегистрирован: 18.11.2013

 Теряется смысл использования шаговика. Тогда нужно думать над серво.

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

и исполнительное устройство делает ровно то что мы от него требуем.

для этого и нужна обратная связь, чтобы видеть проскользнул ШД или нет. 

Вот этим мы и занимаемся. Пытаемся это определить. Без всяких "полный оборот".
А как с помощью пропорции высчитывать передаточное число, так это еще на первой странице темы обсудили. Смотрии сообщение #19

Но... возникли подозрение на неточность шаговика или шум энкодера. Вот сейчас и выясняем, специальными отдельными тестами (которы "да" - не являются первоначальной задачей) кто же именно "пакостит".
А потом будем решать "что с этим делать". Когда устраним причину - вернемся к первоначальной задаче.

Вообщем давайте, вы все-таки перечитаете ветку последовательно. Войдете "в контекст обсуждения", у аж потом будем про "корректировки", "обратные связи" и применимость шаговика говорить.

leshak
Offline
Зарегистрирован: 29.09.2011

cactous пишет:

Ес ть такая мысль, а что если на STEP подавать испульсы постянно одной и той же частоты(определить ее опытным путем, мотор не должен пропускать шаги),

Не в ту степь. Зачем гадать? Проблема "старта" и "стопа" - это "известный недостаток" шаговиков на более/менее больших скоростях (а с увеличением скорости.... там еще хуже.... "максималка" у них не такая уж и большая. и сбиваться он может начать уже при обычном вращении. кстати прикинте... какая макс. скорость шаговика вам нужна будет).
И имеет "известные решения" (и совсем не в том что вы описали).
Нужно просто убедится что у вас "именно она".
Все-таки, вначале нужно проеверить именно "типичные проблемы", а уж потом искать "экзотические".
Тем более что проверить - не так уж и сложно .
 

cactous
Offline
Зарегистрирован: 18.11.2013

Подскажите что это за "известный решения"?  И как их можно применить в данном случае. Если имееются ввиду плавный разгон и плавное торможение, то в случае заранее известной серии  управляющих импульсов достаточно просто это реализовать. В моем энкодер крутится непредсказуемо(будем считать что это так). т.е. сделал серию шагов, постоял, опять серию. каждая серия разная по кол-ву импульсов и их частоте.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

cactous пишет:

 Теряется смысл использования шаговика. Тогда нужно думать над серво.

да, про это и говорю... в серве уже есть OOC. ШД, ЭК и программная ООС - по сути тоже серва

leshak
Offline
Зарегистрирован: 29.09.2011

cactous пишет:

Подскажите что это за "известный решения"?  И как их можно применить в данном случае.


Вначале нужно убедтися что проблема действительно в этом. (тем более что решение я уже выше говорил)

cactous пишет:

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

Ну и что? На автомобиле мы тоже ездим заранее не зная где нам нужно будет разгонятся, а где тормозить.
Это чуток усложняет, конечно, но "не смертельно".

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

да, про это и говорю... в серве уже есть OOC. ШД, ЭК и программная ООС - по сути тоже серва

Да фиг там...
Средняя серва и средний шаговик, по точности шаговик будет конкретно выиграеть.
Особенно на малых углах поворота.
И не энкодеры там стоят обычно.... а обычный переменник.
И "дрожание сервы" - тоже не миф..

А цифровая, да с малыми углами, да с хорошей механикой.... ее еще поробуй найди. и цена бует "ой-ой...".
А если еще потребуется "многооборотная...".
 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

да - такая серва будет ого-го.....

поэтому и предложил перейти на абсолютные ЭК - на первичном валу и на вторичном, т.е. на валу ШД