Я думаю пока переделывать ничего не надо.
Я думаю пока переделывать ничего не надо.
Не могу найти где в этой теме писалось о быстром ШИМ.
Какой вопрос?
Вот про ШИМ: https://hardella.com/docs/pru/examples/fast-pwm/
В Hardella есть блок и для дельта-сигма модуляции (про неё было тут: http://www.owen.ru/forum/showthread....l=1#post229447 )
Блок называется PDM_DW: https://hardella.com/docs/pru/standard-library/#pdm_dw
Есть потребность в быстром ШИМ. В связи с этим есть такие вопросы:
1) какие .exp файлы надо импортировать в проект CoDeSys;
2) как обратиться к ФБ ШИМ в программе CoDeSys.
При работе с ФБ ШД обращение такое:
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_stepper_accel_ramp := 50000,
STEPPER1_PRU1_stepper_decel_ramp := 50000,
STEPPER1_PRU1_stepper_max_speed := 10000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := 1000,
STEPPER1_PRU1_stepper_enable := TRUE
);
А как будет в случае с ШИМ ? Там в теле будет всего 2 строчки. Нужно имя программы и что внутри.
Последний раз редактировалось Вольд; 03.02.2017 в 20:11.
Типа так ?
PWM_DWConfig_Pru0MemoryTransfer(
PWM_DW_PRU0_value := 100,
PWM_DW_PRU0_period := 200
);
value и period мерятся в мкс ?
Последний раз редактировалось Вольд; 03.02.2017 в 20:33.
Примерно так, но:
1) value и period измеряются в "количестве PRU циклов".
value задаёт то, сколько PRU циклов будет TRUE на выходе ШИМ, а (period-value) определяет то, сколько потом будет циклов с FALSE.
2) микросекунды настраиваются в PRU Configuration. Там указывается длительность PRU цикла. У PRU0 и PRU1 может быть разная длительность цикла.
Интервал ШИМ будет period * длительность_pru_цикла.
Например, если указать длительность PRU цикла 1 мкс, указать period=100, value=30, то на выходе будет так:
30 мкс TRUE
70 мкс FALSE
30 мкс TRUE
70 мкс FALSE
30 мкс TRUE
70 мкс FALSE
...
Если указать длительность PRU цикла 0.5 мкс, указать period=100, value=30, то на выходе будет так:
15 мкс TRUE
35 мкс FALSE
15 мкс TRUE
35 мкс FALSE
15 мкс TRUE
35 мкс FALSE
...
Какие .exp файлы надо импортировать в проект CoDeSys ?
Спасибо, буду пробовать. Хочу использовать быстрый ШИМ для управления частотой вращения вала ШД. Т.е. раскручиваем ШД (кстати, разгонять можно будет по любому закону - хоть по линейному, хоть по криволинейному), а далее меняем частоту вращения во времени. Красота.![]()
Последний раз редактировалось Вольд; 03.02.2017 в 21:01.