Страница 95 из 135 ПерваяПервая ... 45859394959697105 ... ПоследняяПоследняя
Показано с 941 по 950 из 1349

Тема: Hardella IDE

  1. #941

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    А планируется поддержка инициализации ?
    Сделать можно и это довольно несложно.

  2. #942

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    А планируется поддержка инициализации ?
    Сделал в Hardella 1.7.2

  3. #943

    По умолчанию

    Добрый день.

    Нет ли возможности проверить в симуляторе за какое время STEPPER1_PRU1 исполнит, если задать:

    accel_ramp := 5000000,
    decel_ramp := 500000000,
    max_speed := 300000,
    min_speed := 300,
    stepper_quantity := 800
    Вложения Вложения
    • Тип файла: rar 1_Step.rar (145.1 Кб, Просмотров: 5)

  4. #944

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Добрый день.

    Нет ли возможности проверить в симуляторе за какое время STEPPER1_PRU1 исполнит, если задать:

    accel_ramp := 5000000,
    decel_ramp := 500000000,
    max_speed := 300000,
    min_speed := 300,
    stepper_quantity := 800
    Код не смотрел, в эмуляторе получается так:
    2017-06-29_dwordacc.png

    25 мс на всё про всё.

  5. #945

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Код не смотрел, в эмуляторе получается так:
    2017-06-29_dwordacc.png

    25 мс на всё про всё.
    Спасибо. Это вы мой проект эмулировали ? Черные полосы это что такое ?

  6. #946

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Спасибо. Это вы мой проект эмулировали ?
    Ну, да.

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Черные полосы это что такое ?
    Чёрные полосы это следствие того, что PRU цикл фиксирован. Каждый импульс отдельной точкой нарисован, но точек много и они наслоились.

    Возьмём для примера, что PRU цикл указан в 1мкс.
    Это значит, что переключение выхода будет выполняться не чаще, чем раз 1 мкс.

    Например, если PRU переключает выход каждые 10 циклов (каждые 10 мкс), то частота меандра на выходе будет 1/(10мкс+10мкс) = 50.0кГц
    Если же выход будет переключаться через каждые 9 циклов (каждые 9 мкс), то частота меандра на выходе будет 1/(9мкс+9мкс) = 55.5кГц
    Если же 0 и 1 будут разной длительности (например, 10 тактов 1, потом 9 тактов 0), то частота меандра на выходе будет 1/(10мкс+9мкс) = 52.6кГц

    Т.е. скачкИ по 2-3 кГц. Чтобы таких сильных изменений частоты не было, блок размазывает длительности импульсов. Например, для получения частоты 51кГц генерируются импульсы длительностью в 19 и 20 мкс вперемешку в нужной пропорции.

  7. #947

    По умолчанию

    По формуле S = V0 * t + (a * t * t)/2 = 300 * 0,025 + (5000000 * 0,025 * 0,025)/2 = 1570 [импульсов]

    Или я что-то не так считаю ? Может 1570 - это число импульсов + число пауз ?
    Последний раз редактировалось Newcomer; 30.06.2017 в 14:20.

  8. #948

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    По формуле S = V0 * t + (a * t * t)/2 = 300 * 0,025 + (5000000 * 0,025 * 0,025)/2 = 1569 [импульсов]

    Или я что-то не так считаю ?
    Всё так, это должно получаться количество импульсов. Иными словами, должно было получиться 800.

    Во-первых, точная длительность всей последовательности -- 23мс (25 это я на глаз сказал, а вертикальная белая линия после 20мс это 22.5мс)
    Во-вторых, фактическая достигнутая скорость на 23мс получилась где-то 70кГц, а должна была быть 115кГц (== 5000000 * 0,023)
    Возможно, это погрешность того, что PRU вычисления идут в целых числах.
    Возможно, формула с ошибкой.

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

    Попробовал указать minSpeed=0 -- получается примерно 17.3мс:
    2017-06-30-minspeed_0.png

    minSpeed=1000 -- 18.3мс
    2017-06-30_minspeed_1000.png

    minSpeed=10000 -- 15.2мс
    2017-06-30_minspeed_10000.png
    Последний раз редактировалось Владимир Ситников; 30.06.2017 в 14:51.

  9. #949

    По умолчанию

    800 и 1570 - это две большие разницы и тут явно не в погрешности дело.

    С minSpeed то же не понятно. Чем больше minSpeed, тем меньше должно быть время.
    Последний раз редактировалось Newcomer; 30.06.2017 в 15:10.

  10. #950

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    800 и 1570 - это две большие разницы и тут явно не в погрешности дело.

    С minSpeed то же не понятно. Чем больше minSpeed, тем меньше должно быть время.
    Проверил вычисления без округлений -- получаются точно такие же результаты.

    Т.е. наблюдаемый эффект следует именно из-за использования приближенной формулы.

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

Ваши права

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