Страница 24 из 135 ПерваяПервая ... 1422232425263474124 ... ПоследняяПоследняя
Показано с 231 по 240 из 1349

Тема: Hardella IDE

  1. #231

    По умолчанию

    Вот у ускорением не очень разобрался.

    Min_speed:=0,
    max_speed:=7000,
    accel и deccel - если значение больше 2000, то 100000 имп выробатывается менее 1 сек., если менее 2000, то резгон и торможение нормальное.

  2. #232

    По умолчанию

    Цитата Сообщение от Адрей Посмотреть сообщение
    Почему нельзя. Крутить по алгоритму или как.
    Так нужен демультиплексор какой-то.
    Быстрых оптронов в ПЛК110М02 всего 4шт.
    Как от них запитывать 5 двигателей?

    Понятно, что для "DIR" можно взять простые выходы. Но как сделать 5 быстрых STEP выходов?

  3. #233

    По умолчанию

    продолжение предыдущего сообщения

    частота на выходе 7кГц.

    Про срыв синхронизации - на частотах более 10кГц . менее 8кГц - не наблюдается, но это зависит от двигателя.

  4. #234

    По умолчанию

    Все просто. мы будете смеяться - у меня два плк110м02.

  5. #235

    По умолчанию

    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    Вот у ускорением не очень разобрался.

    Min_speed:=0,
    max_speed:=7000,
    accel и deccel - если значение больше 2000, то 100000 имп выробатывается менее 1 сек., если менее 2000, то резгон и торможение нормальное.
    Приводите, пожалуйста, конкретные значения параметров и конкретный наблюдаемый эффект.
    Проверил в симуляторе
    min_speed=0
    max_speed=7000
    quantity=100000
    accel_ramp=3000
    decel_ramp=3000

    Разгон длится чуть более двух секунд (по горизонтали секунды, по вертикали герцы, цвет -- режим работы разгон/ход, на графике чуть более 13'000 точек).
    Снимок экрана 2016-12-04 в 13.31.50.png
    Последний раз редактировалось Владимир Ситников; 04.12.2016 в 17:56.

  6. #236

    По умолчанию

    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    Все просто. мы будете смеяться - у меня два плк110м02.
    Звучит так, как будто у вас куча ПЛК110М02, куча ШД и вы решили развлечься на выходных )

    Или это прямо какой-то боевой проект?

  7. #237

    По умолчанию

    Цитата Сообщение от Адрей Посмотреть сообщение
    Взять ПЛК с транзисторами но уже алгоритм нужно использовать не в режиме шим. Все зависит от поставленной задачи конечно. Вообще ШИМ нельзя использовать для управления в этом случае. ШИМ рассчитан на аналог. Я по началу тоже с него начинал но увы пришлось отказаться.
    Можете ещё разок мысль выразить?
    Вот не улавливаю о чём речь.

    О каком алгоритме речь и каким образом тут возникло слово ШИМ?

  8. #238

    По умолчанию

    Цитата Сообщение от Адрей Посмотреть сообщение
    Я про PWM, дело в том что двигатель нужно насытить магнитным полем для совершение работы к крутящиму моменту нагрузки. Вот и здесь происходит насыщение в районе 7кГц как подтвердил Александр где длительность времени совпала насыщению соответствующему номиналу двигателя, где снижение длительности приводит к потери мощности а повышение приводит к перенасышению железа что отрицательно влияет на двиготель и транзисторы. Так что нужно еще поработать над этим моментом вот я вам и предложил объединить усилия по проработки этого момента так как вы молодой и одаренный человек и в вас плещит энергия но не хватает практического опыта но это поправимо.
    Не понимаю каким образом связаны PWM и шаговые двигатели.
    Шаговому двигателю же должно быть без разницы какую скважность подавать на вход.
    На всякий случай: я не использую ШИМ выход, не использую аппаратный ШИМ и т.п. Мои программы генерируют каждый импульс отдельно.

    Тут пишут, что резонанс зависит от фактической нагрузки: http://electroprivod.ru/resonans.htm
    Если у конкретной механической системы резонанс на 7кГц, то остаётся всё то, что указано по ссылке выше. Микрошаг, эластичные муфты, демпферы, вот это всё.

  9. #239

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Приводите, пожалуйста, конкретные значения параметров и конкретный наблюдаемый эффект.
    Проверил в симуляторе
    min_speed=0
    max_speed=7000
    quantity=100000
    accel_ramp=3000
    decel_ramp=3000

    Разгон длится чуть более двух секунд (по горизонтали секунды, по вертикали герцы, цвет -- режим работы разгон/ход, на графике чуть более 13'000 точек).
    Снимок экрана 2016-12-04 в 13.31.50.png

    Хочу продолжить эту тему.

    Честно говоря не выполнил вашу просьбу - сделать видеозахват работы программы при accel_ramp>2500.

    Сейчас хочу задать вопрос по работе вашей программы PRU_STEPPER.

    1. Можно-ли из программы ПЛК управлять быстрыми выходами? , или pru0.prg берет управление этими выходами на себя и блокирует обращение к ним.
    2. как приделать аварийную остановку к вашей программе? т.е. во время генерации импульсов происходит срабатывание аварийной сигнализации - как остановить генерацию? Сейчас для этого нужно несколько циклов программы. т.е. сначала ставим на вход eneble:=false? затем на вход quantity:=0, затем снова на вход enable:=true. для этой операции нужна как минимум 3 цикла контроллера, за это время двигатель при частоте 5000 кГц пройдет несколько оборотов - что делать?

  10. #240

    По умолчанию

    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    Хочу продолжить эту тему.

    Честно говоря не выполнил вашу просьбу - сделать видеозахват работы программы при accel_ramp>2500.

    Сейчас хочу задать вопрос по работе вашей программы PRU_STEPPER.
    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    1. Можно-ли из программы ПЛК управлять быстрыми выходами? , или pru0.prg берет управление этими выходами на себя и блокирует обращение к ним.
    Как нужно?

    Я готовлю очередную версию Hardella IDE.
    Есть такие примеры.
    Пример "моргаем двумя выходами" (запись в быстрые выходы):
    Снимок экрана 2016-12-06 в 17.10.27.png

    Настройка "PRU цикла" (PRU0 100мс, PRU1 200мс)
    Снимок экрана 2016-12-06 в 17.16.17.png

    Пример "делаем быстрый счётчик" (==чтение быстрых входов):
    Снимок экрана 2016-12-06 в 17.15.38.png

    Можно сделать и пример, когда BOOL значение из КДС просто записывается в fast out.
    Это будет так:
    Код:
    @Export()
      val : BOOL;
    ...
    FAST_OUTPUTS(out3 := val);
    Цитата Сообщение от Александр Бакин Посмотреть сообщение
    2. как приделать аварийную остановку к вашей программе? т.е. во время генерации импульсов происходит срабатывание аварийной сигнализации - как остановить генерацию? Сейчас для этого нужно несколько циклов программы. т.е. сначала ставим на вход eneble:=false? затем на вход quantity:=0, затем снова на вход enable:=true. для этой операции нужна как минимум 3 цикла контроллера, за это время двигатель при частоте 5000 кГц пройдет несколько оборотов - что делать?
    Тут два варианта:
    2.1) enable:=false и quantity:=0 можно менять одновременно. Да, потребуется цикл ПЛК + ещё время от того, как ПЛК осознает значение "аварии".

    2.2) При составлении программы в Hardella можно напрямую читать быстрые входы, вообще без "основного цикла ПЛК". Если аварийный сигнал завести на один из быстрых входов, то можно останавливать блок ШД "прямо сразу"

    Например, так (считаем, что в случае аварии сигнал на in1 пропадает, и импульсы нужно прекращать):
    Снимок экрана 2016-12-06 в 17.22.05.png

    Тут интервал от появления аварии до реакции будет порядка микросекунд (зависит от того, какой настроить цикл PRU)

Страница 24 из 135 ПерваяПервая ... 1422232425263474124 ... ПоследняяПоследняя

Ваши права

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