Страница 66 из 135 ПерваяПервая ... 1656646566676876116 ... ПоследняяПоследняя
Показано с 651 по 660 из 1349

Тема: Hardella IDE

  1. #651

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Рассказывайте какой закон нужен.
    Вот еще интересная ссылка: http://www.microchip.ru/phorum/read....=61970&t=61970

  2. #652

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    Вот статья на эту тему.
    Во всех этих статьях обсуждают равноускоренный разгон.


    Надо будет на эмуляторе проверить. Возможно, одной замены WORD на DWORD недостаточно, и нужно внутри вычисления менять.

  3. #653

    По умолчанию

    А что-нибудь такое можно сделать. Надо иметь возможность менять длительность и наклон каждого участка разгона.
    Последний раз редактировалось Вольд; 25.02.2017 в 12:59.

  4. #654

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    А что-нибудь такое можно сделать. Надо иметь возможность менять длительность и наклон каждого участка разгона.
    Попробовать-то можно, но стоит помнить, что пройденный путь это площадь под графиком скорости (путь это интеграл V*dt). Чёрный график содержит меньше импульсов, чем красный.

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

    S-кривая нужна не для скорости выполнения движения, а для плавности самого движения.

  5. #655

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Рассказывайте какой закон нужен.
    Можно такие законы попробовать - y = a*x*x + c; y = a*x*x*x + c; y = a*x*x*x*x + c;

    Летом выкладывали РЭ на забугорный ПЛК с описанием ФБ для управления драйвером ШД. Там частота при разгоне менялась по нелинейному закону.

    На графиках лучше всего смотрится кубическая парабола (синий цвет).
    Изображения Изображения
    Последний раз редактировалось Вольд; 27.02.2017 в 10:34.

  6. #656

    По умолчанию

    То В.Ситников.

    Задал я к примеру так: STEPPER1_PRU1_stepper_accel_ramp := 500000

    Правильно ли я понимаю, что за первую мс работы ФБ Steper выдаст 250 импульсов ?

  7. #657

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    То В.Ситников.

    Задал я к примеру так: STEPPER1_PRU1_stepper_accel_ramp := 500000

    Правильно ли я понимаю, что за первую мс работы ФБ Steper выдаст 250 импульсов ?
    s = a*t2/2 = 500000 * 0,001 * 0,001 / 2 = 0,25 имп.

    Иными словами, в первую мс либо вообще не будет импульсов, либо будет один.

  8. #658

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    s = a*t2/2 = 500000 * 0,001 * 0,001 / 2 = 0,25 имп.

    Иными словами, в первую мс либо вообще не будет импульсов, либо будет один.
    Странно что-то. Через 1 сек. частота будет 500 000 Гц, а через 1 мс - 0 ? С какой дискретностью идет набор частоты ?
    Последний раз редактировалось IVM; 28.02.2017 в 14:50.

  9. #659

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Странно что-то. Через 1 сек. частота будет 500 000 Гц, а через 1 мс - 0 ?
    Ну, да, а что такого?

    Говорить о частоте самого первого импульса это вообще неблагодарное дело.
    К сожалению, да, мы же не можем сделать половину импульса? Поэтому, да, вполне возможно, что первые несколько мс не выйдет ни единого импульса.

    Если смотреть время, когда должен возникнуть каждый импульс (пока предлагаю не изучать вопрос должна ли тут быть середина единицы или какой-нибудь фронт), то получится такая формула
    t = (2*s/a)0.5

    Ускорение == 500'000 Гц/сек
    Получается, что импульсы должны быть с такой задержкой:
    Код:
    Кол-во	Время, мс
         1      2,0 
         2      2,8 
         3      3,5 
         4      4,0 
         5      4,5 
         6      4,9 
         7      5,3 
         8      5,7 
         9      6,0 
        10      6,3 
        11      6,6 
        12      6,9 
        13      7,2 
        14      7,5 
        15      7,7 
        16      8,0 
        17      8,2 
        18      8,5 
        19      8,7 
        20      8,9 
        21      9,2 
        22      9,4 
        23      9,6 
        24      9,8 
        25     10,0
    Дальше можно мухлевать как угодно.
    Например, кто-то может сказать, что "ну, разумеется, первым импульсом мы называем второй, т.к. измерить интервал от бесконечно долгого нуля до первого импульса невозможно"

    В момент "5мс" теоретическая скорость должна быть где-то 500000*0,005 == 2500Гц. Т.е. расстояние между импульсами должно быть примерно 0,4мс. Что и наблюдается: 5,3-4,9==0,4мс. 5,7-5,3==0,4мс

    Ну и эта же самая таблица в районе 250-го импульса.
    Видно, что в 31-ую мс придёт около 15-и импульсов (240...255). Это соответствует частоте 15000 кГц, что совпадает с теоретическим нарастанием частоты: 30мс * 500000 Гц/сек = 15000 Гц

    Код:
    240	31,0 
    241	31,0 
    242	31,1 
    243	31,2 
    244	31,2 
    245	31,3 
    246	31,4 
    247	31,4 
    248	31,5 
    249	31,6 
    250	31,6 
    251	31,7 
    252	31,7 
    253	31,8 
    254	31,9 
    255	31,9 
    256	32,0 
    257	32,1 
    258	32,1 
    259	32,2 
    260	32,2
    PS. Таблицы выше это теоретические вычисления по школьной формуле. В PRU используется округление, поэтому результат может несколько отличаться, но должно быть довольно близко.
    Последний раз редактировалось Владимир Ситников; 28.02.2017 в 14:57.

  10. #660

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    С какой дискретностью идет набор частоты ?
    У меня для каждого импульса вычисляется время, когда этот импульс должен наступить. Отдельных ступенек/дискретности нет.
    Ещё некое влияние вносит "цикл PRU", который равен примерно 0,5...1,0мкс (его можно настраивать, но если уж настроить 0,5мкс, то все выдаваемые импульсы будут квантоваться на 0,5мкс)

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

Ваши права

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