Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

pmw, 0 duty, 100 duty

На этом форуме Вы можете задать вопросы знатокам программы и автору.
t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#1

Сообщение t405 » 03.01.2024{, 15:08}

Написал скрипт для ардуино нано для захвата двух шим сигналов и формирования их произведения на вывод. Возникла проблема с детекцией и определением duty в замкнутом на gnd и висящем в воздухе входе. Определяется не стабильно и значения могут путаться, сам уже не знаю куда смотреть. Захватываю сигнал с частотой 20-100гц, отладка сыпется в уарт. Помогите свежим взглядом.
Вложения
mPWM.flp
(1.82 МБ) 18 скачиваний
Последний раз редактировалось t405 14.02.2024{, 10:15}, всего редактировалось 2 раза.

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

Захват ШИМ сигнала, проблема с 0 и 100

#2

Сообщение kulibinsvv » 03.01.2024{, 17:57}

ШИМ равный 0% - это логический 0,
100% - логическая 1,
открытый вход - недопустимая ситуация.
Эти состояния вы должны контролировать и обрабатывать в программе. Ещё лучше обслуживать аппаратно.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100

#3

Сообщение t405 » 03.01.2024{, 23:13}

kulibinsvv писал(а):
03.01.2024{, 17:57}
ШИМ равный 0% - это логический 0,
100% - логическая 1,
открытый вход - недопустимая ситуация.
Эти состояния вы должны контролировать и обрабатывать в программе. Ещё лучше обслуживать аппаратно.
Если я делаю подтяжку на плюс, то на входе висит +5в, мне нужно, чтобы это определялось ШИМ0(инвертировано), когда я замыкаю на массу, мне нужно ШИМ100. Так вот, даже в положении замкнуто на массу он не всегда корректно определяет шим 100. Пытаюсь понять, как корректно обработать эти значения. При старте МК ШИМ100 вне зависимости в воздухе висит пин или на массе. Подскажите, как обработать эти состояния?

SerOv
Лейтенант
Сообщения: 570
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Захват ШИМ сигнала, проблема с 0 и 100

#4

Сообщение SerOv » 03.01.2024{, 23:42}

А два аналогового переключателя Инверсия K1 и Инверсия K2. Разве могут работать без подключенного входа S?
СпойлерПоказать
capture_001_03012024_233628.jpg

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100

#5

Сообщение t405 » 05.01.2024{, 01:08}

SerOv писал(а):
03.01.2024{, 23:42}
А два аналогового переключателя Инверсия K1 и Инверсия K2. Разве могут работать без подключенного входа S?
СпойлерПоказать
capture_001_03012024_233628.jpg
если ставлю инвертированный вход и не подключаю его, то работает, я так понимаю, но умолчанию там висит false

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Захват ШИМ сигнала, проблема с 0 и 100

#6

Сообщение rw6cm » 05.01.2024{, 12:44}

t405 писал(а):
03.01.2024{, 15:08}
Возникла проблема с детекцией и определением duty в замкнутом на gnd и висящем в воздухе входе.
Определяется не стабильно и значения могут путаться
Здесь выход повторителя скоростного счетчика не корректно определяет состояние входа.
Как вариант в место его использовать дополнительный цифровой вход (например запараллелить D2-D6)
C D6 (включить в нем анти дребезг или поставить за ним TOF) взять сигнал на свитч (0-100)
Win10-64, FLProg (portable)

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100

#7

Сообщение t405 » 05.01.2024{, 21:10}

rw6cm писал(а):
05.01.2024{, 12:44}
t405 писал(а):
03.01.2024{, 15:08}
Возникла проблема с детекцией и определением duty в замкнутом на gnd и висящем в воздухе входе.
Определяется не стабильно и значения могут путаться
Здесь выход повторителя скоростного счетчика не корректно определяет состояние входа.
Как вариант в место его использовать дополнительный цифровой вход (например запараллелить D2-D6)
C D6 (включить в нем анти дребезг или поставить за ним TOF) взять сигнал на свитч (0-100)
А некорректное определение входа это баг программы? может можно исправить блок, чтобы он корректно определял?

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Захват ШИМ сигнала, проблема с 0 и 100

#8

Сообщение rw6cm » 06.01.2024{, 08:00}

t405 писал(а):
05.01.2024{, 21:10}
А некорректное определение входа это баг программы? может можно исправить блок, чтобы он корректно определял?
Нет, это не баг. Скоростной счетчик работает на прерываниях, а этот метод не определяет состояние пина, он следит лишь за нужными изменениями на нем. Если вдумчиво почитаете описание этого выхода ("выход "IV" на котором будут дублироваться импульс поступающие на выбранный вход") то поймете, что он для логики вашей программы не надежный вариант.
Win10-64, FLProg (portable)

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100

#9

Сообщение t405 » 13.02.2024{, 17:28}

Проблема с детекцией 0 и 100 решена через параллельные входы. выяснилась еще одна проблема, что детекция шим сигнала плавает, из-за чего я не могу корректно и стабильно его считывать, пробовал использовать фильтры, но они не помогли, подскажите, может я что-то делаю не так? Считываю ШИМ 95%(duty1), получаю следующее:
Не по теме
F1 78 duty1 94 P1 0.63 N1 12.11 1 F2 89 duty2 73 P2 2.96 N2 8.23 1 mPWM 71.40
F1 78 duty1 55 P1 0.63 N1 12.11 1 F2 80 duty2 88 P2 1.46 N2 10.93 1 mPWM 74.31
F1 78 duty1 19 P1 0.62 N1 12.11 1 F2 82 duty2 85 P2 1.73 N2 10.36 1 mPWM 73.96
F1 78 duty1 95 P1 4.81 N1 7.93 1 F2 79 duty2 93 P2 0.81 N2 11.83 1 mPWM 78.35
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 91 P2 1.11 N2 11.49 1 mPWM 77.86
F1 78 duty1 95 P1 0.62 N1 12.11 1 F2 92 duty2 79 P2 2.23 N2 8.58 1 mPWM 82.57
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 80 duty2 92 P2 0.98 N2 11.39 1 mPWM 82.34
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 91 P2 1.08 N2 11.49 1 mPWM 79.89
F1 78 duty1 94 P1 0.63 N1 12.11 1 F2 78 duty2 94 P2 0.72 N2 11.99 1 mPWM 79.83
F1 78 duty1 87 P1 0.63 N1 12.11 1 F2 78 duty2 93 P2 0.81 N2 11.87 1 mPWM 79.82
F1 111 duty1 95 P1 0.63 N1 8.33 1 F2 87 duty2 77 P2 2.55 N2 8.95 1 mPWM 70.06
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 81 duty2 87 P2 1.58 N2 10.74 1 mPWM 69.57
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 91 P2 1.08 N2 11.57 1 mPWM 77.22
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 78 duty2 94 P2 0.73 N2 11.99 1 mPWM 77.15
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 81 duty2 88 P2 1.36 N2 10.92 1 mPWM 71.32
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 93 P2 0.76 N2 11.89 1 mPWM 76.81
F1 142 duty1 95 P1 0.63 N1 6.38 1 F2 82 duty2 90 P2 1.17 N2 11.01 1 mPWM 79.21
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 81 duty2 87 P2 1.55 N2 10.70 1 mPWM 77.84
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 91 P2 1.08 N2 11.49 1 mPWM 77.80
F1 78 duty1 90 P1 0.63 N1 12.11 1 F2 79 duty2 89 P2 1.32 N2 11.21 1 mPWM 81.74
F1 170 duty1 95 P1 0.63 N1 5.22 1 F2 79 duty2 94 P2 0.74 N2 11.87 1 mPWM 82.53
F1 78 duty1 5 P1 3.85 N1 8.89 1 F2 83 duty2 82 P2 2.09 N2 9.92 1 mPWM 71.06
F1 75 duty1 95 P1 0.63 N1 12.59 1 F2 81 duty2 87 P2 1.49 N2 10.84 1 mPWM 69.85
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 82 duty2 84 P2 1.90 N2 10.23 1 mPWM 74.25
F1 78 duty1 59 P1 0.63 N1 12.11 1 F2 79 duty2 90 P2 1.24 N2 11.34 1 mPWM 74.77
F1 78 duty1 95 P1 3.72 N1 9.02 1 F2 79 duty2 90 P2 1.19 N2 11.35 1 mPWM 73.17
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 89 P2 1.26 N2 11.31 1 mPWM 73.93
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 89 P2 1.27 N2 11.38 1 mPWM 80.46
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 85 duty2 80 P2 2.33 N2 9.36 1 mPWM 80.37
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 92 P2 0.93 N2 11.62 1 mPWM 76.81
F1 78 duty1 62 P1 0.61 N1 12.13 1 F2 83 duty2 83 P2 1.92 N2 10.05 1 mPWM 78.44
F1 172 duty1 62 P1 0.63 N1 5.17 1 F2 82 duty2 90 P2 1.20 N2 10.92 1 mPWM 75.04
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 82 duty2 86 P2 1.60 N2 10.55 1 mPWM 71.40
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 80 duty2 87 P2 1.51 N2 10.98 1 mPWM 76.42
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 84 duty2 79 P2 2.37 N2 9.42 1 mPWM 73.20
F1 78 duty1 92 P1 0.63 N1 12.11 1 F2 80 duty2 89 P2 1.34 N2 11.14 1 mPWM 72.62
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 91 P2 1.08 N2 11.49 1 mPWM 72.19
F1 78 duty1 50 P1 0.63 N1 12.11 1 F2 79 duty2 90 P2 1.13 N2 11.45 1 mPWM 74.14
F1 78 duty1 95 P1 4.66 N1 8.08 1 F2 84 duty2 81 P2 2.18 N2 9.71 1 mPWM 77.01
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 86 duty2 76 P2 2.74 N2 8.81 1 mPWM 77.81
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 91 P2 1.06 N2 11.45 1 mPWM 78.23
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 79 duty2 90 P2 1.15 N2 11.35 1 mPWM 72.98
F1 78 duty1 21 P1 1.30 N1 11.44 1 F2 95 duty2 85 P2 1.56 N2 8.94 1 mPWM 73.08
F1 78 duty1 95 P1 9.49 N1 3.25 1 F2 81 duty2 87 P2 1.55 N2 10.72 1 mPWM 71.33
F1 78 duty1 95 P1 0.63 N1 12.11 1 F2 83 duty2 85 P2 1.73 N2 10.32 1 mPWM 73.12
F1 78 duty1 88 P1 0.63 N1 12.10 1 F2 89 duty2 72 P2 3.07 N2 8.05 1 mPWM 68.76
F1 78 duty1 20 P1 0.63 N1 12.11 1 F2 83 duty2 83 P2 2.02 N2 9.89 1 mPWM 69.93
F1 78 duty1 95 P1 9.58 N1 3.16 1 F2 85 duty2 87 P2 1.47 N2 10.27 1 mPWM 75.51
Периодически провалы по duty...
Прикреплю текущий файл flprog, подскажите, у кого какие идеи?
Вложения
mPWM.flp
(2.16 МБ) 15 скачиваний

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#10

Сообщение t405 » 17.02.2024{, 03:03}

Нашел похожую проблему в другом форуме, подскажите, как реже считывать сигнал шим, чтобы у МК было время для других операций?
https://community.alexgyver.ru/threads/ ... inoj.8019/

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#11

Сообщение t405 » 18.02.2024{, 00:48}

Удалил запись и чтение переменных лишних, при запуске контроллера некоторое время считывает корректно потом начинает периодически лагать. Не знаю, в какую сторону еще смотреть.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#12

Сообщение rw6cm » 18.02.2024{, 09:54}

t405 писал(а):
18.02.2024{, 00:48}
Не знаю, в какую сторону еще смотреть.
Тяжело советовать когда нет ТЗ.
Что это будет? и шимы межу собой будут гулять от 20 до 100Гц?
Win10-64, FLProg (portable)

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#13

Сообщение t405 » 18.02.2024{, 12:59}

rw6cm писал(а):
18.02.2024{, 09:54}
t405 писал(а):
18.02.2024{, 00:48}
Не знаю, в какую сторону еще смотреть.
Тяжело советовать когда нет ТЗ.
Что это будет? и шимы межу собой будут гулять от 20 до 100Гц?
2 шим сигнала с ЭБУ двигателя заданы с частотой 78гц, заполнение от 0 до 100, мне нужно их корректно считать(D2, D3)(D4 и D5 использую для определения 0 и 100 шим), перемножить значение заполнения (%pwm1 * %pwm2)/100 и выдать результат на пин(D6) с частотой ~78гц.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#14

Сообщение rw6cm » 19.02.2024{, 10:57}

t405 писал(а):
18.02.2024{, 12:59}
2 шим сигнала с ЭБУ двигателя заданы с частотой 78гц, заполнение от 0 до 100,
перемножить значение заполнения (%pwm1 * %pwm2)/100 и выдать результат на пин(D6) с частотой ~78гц.
Частота 78гц = 12.8мс
Заполнение от 0 до 100% 12.8/100= 1% = 128мкс.
Чтобы на пин(D6) "нанки" генератор выдал импульсы 128мкс с частотой ~78гц, надо что бы цикл программы был меньше 128мкс.
Для этого: про дисплей, сом порт, текст, и тд (а также куче ваших фильтров) можно забыть.
В проекте нужна только хорошо продуманная логика, и ни чего лишнего.
Настройка по анализатору, "ослику". Тогда возможно что то и получится.
Win10-64, FLProg (portable)

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#15

Сообщение t405 » 19.02.2024{, 11:33}

rw6cm писал(а):
19.02.2024{, 10:57}
t405 писал(а):
18.02.2024{, 12:59}
2 шим сигнала с ЭБУ двигателя заданы с частотой 78гц, заполнение от 0 до 100,
перемножить значение заполнения (%pwm1 * %pwm2)/100 и выдать результат на пин(D6) с частотой ~78гц.
Частота 78гц = 12.8мс
Заполнение от 0 до 100% 12.8/100= 1% = 128мкс.
Чтобы на пин(D6) "нанки" генератор выдал импульсы 128мкс с частотой ~78гц, надо что бы цикл программы был меньше 128мкс.
Для этого: про дисплей, сом порт, текст, и тд (а также куче ваших фильтров) можно забыть.
В проекте нужна только хорошо продуманная логика, и ни чего лишнего.
Настройка по анализатору, "ослику". Тогда возможно что то и получится.
Т.е. провалы при считывании шим на d2 и d3 из-за выхода на d6?

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#16

Сообщение rw6cm » 19.02.2024{, 11:38}

t405 писал(а):
19.02.2024{, 11:33}
Т.е. провалы при считывании шим на d2 и d3 из-за выхода на d6?
из за большого цикла программы
Win10-64, FLProg (portable)

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#17

Сообщение t405 » 19.02.2024{, 12:47}

rw6cm писал(а):
19.02.2024{, 11:38}
t405 писал(а):
19.02.2024{, 11:33}
Т.е. провалы при считывании шим на d2 и d3 из-за выхода на d6?
из за большого цикла программы
Спасибо, буду стараться оптимизировать
Еще вопрос, если взять stm в размере платы нано, это решит проблему?

Отправлено спустя 1 час 13 минут 5 секунд:
Убрал все лишнее, как еще оптимальнее сделать не знаю, пойду тестировать ))
если еще будут идеи как ускорить, буду очень благодарен
Вложения
mPWM_3.flp
(1.32 МБ) 6 скачиваний
Последний раз редактировалось t405 19.02.2024{, 14:21}, всего редактировалось 2 раза.

Аватара пользователя
kipiaxxx
Рядовой
Сообщения: 76
Зарегистрирован: 06.09.2015{, 14:15}
Репутация: 16
Откуда: Омск
Имя: Сергей

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#18

Сообщение kipiaxxx » 19.02.2024{, 14:13}

Я измеряю ШИМ-сигнал (30...300 Гц) скоростным счетчиком иначе и проблем нет.
тест ШИМ.jpg
Скоростной счетчик настроен на измерение длительности импульса PDP и паузы PDN.
Далее простая математика: PDP* умножается на 10000 (для получения макс. высокой разрешающей способности)
и делится на сумму PDN + PDP.
Все вычисления в интегер или лонгинтегер (как более быстрые).
Во флоат переходим только в самом конце всех вычислений, причем умножением (но не делением)!
Фильтры добавлять по вкусу.
Вложения
тест ШИМ.flp
(324.5 КБ) 8 скачиваний

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#19

Сообщение rw6cm » 19.02.2024{, 18:59}

t405 писал(а):
19.02.2024{, 14:00}
будут идеи как ускорить,
mPWM с ЭБУ.flp
(361.71 КБ) 13 скачиваний
на счет шим 0 и 100% быть не должно. Может быть 0.000...1% или 99.9999...
А вообще для какой цели нужны эти проценты?
Без них можно проще.
2024_02_19_19_53_13_FLProg_7.3.8.png
2024_02_19_19_53_13_FLProg_7.3.8.png (10.39 КБ) 265 просмотров
Win10-64, FLProg (portable)

t405
Рядовой
Сообщения: 37
Зарегистрирован: 22.12.2017{, 19:23}
Репутация: 0

Захват ШИМ сигнала, проблема с 0 и 100, стабильность определения duty ШИМ

#20

Сообщение t405 » 19.02.2024{, 22:07}

kipiaxxx писал(а):
19.02.2024{, 14:13}
Я измеряю ШИМ-сигнал (30...300 Гц) скоростным счетчиком иначе и проблем нет.
тест ШИМ.jpg
Скоростной счетчик настроен на измерение длительности импульса PDP и паузы PDN.
Далее простая математика: PDP* умножается на 10000 (для получения макс. высокой разрешающей способности)
и делится на сумму PDN + PDP.
Все вычисления в интегер или лонгинтегер (как более быстрые).
Во флоат переходим только в самом конце всех вычислений, причем умножением (но не делением)!
Фильтры добавлять по вкусу.
В Вашей схеме не хватает детектора 0 и 100%. Исключил из схемы деления по максимуму, больше не знаю где урезать код. Все равно периодически подсыпает неверными значениями.
rw6cm писал(а):
19.02.2024{, 18:59}
t405 писал(а):
19.02.2024{, 14:00}
будут идеи как ускорить,
mPWM с ЭБУ.flp
на счет шим 0 и 100% быть не должно. Может быть 0.000...1% или 99.9999...
А вообще для какой цели нужны эти проценты?
Без них можно проще.
2024_02_19_19_53_13_FLProg_7.3.8.png
Красивая схема, если отказаться от 0 и 100%. У меня ШИМ задается с шагом 1% в принципе могу поставить везде от 1 до 99, критично на работоспособность сказаться не должно, если только провод не отвалится и в воздухе не повиснет.
Завтра опробую самую простую схему, если она будет работать, то ее и оставлю, без 0, 100 и диагностики в уарт.

Отправлено спустя 22 минуты 22 секунды:
t405 писал(а):
19.02.2024{, 22:07}
kipiaxxx писал(а):
19.02.2024{, 14:13}
Я измеряю ШИМ-сигнал (30...300 Гц) скоростным счетчиком иначе и проблем нет.
тест ШИМ.jpg
Скоростной счетчик настроен на измерение длительности импульса PDP и паузы PDN.
Далее простая математика: PDP* умножается на 10000 (для получения макс. высокой разрешающей способности)
и делится на сумму PDN + PDP.
Все вычисления в интегер или лонгинтегер (как более быстрые).
Во флоат переходим только в самом конце всех вычислений, причем умножением (но не делением)!
Фильтры добавлять по вкусу.
В Вашей схеме не хватает детектора 0 и 100%. Исключил из схемы деления по максимуму, больше не знаю где урезать код. Все равно периодически подсыпает неверными значениями.
rw6cm писал(а):
19.02.2024{, 18:59}
t405 писал(а):
19.02.2024{, 14:00}
будут идеи как ускорить,
mPWM с ЭБУ.flp
на счет шим 0 и 100% быть не должно. Может быть 0.000...1% или 99.9999...
А вообще для какой цели нужны эти проценты?
Без них можно проще.
2024_02_19_19_53_13_FLProg_7.3.8.png
Красивая схема, если отказаться от 0 и 100%. У меня ШИМ задается с шагом 1% в принципе могу поставить везде от 1 до 99, критично на работоспособность сказаться не должно, если только провод не отвалится и в воздухе не повиснет.
Завтра опробую самую простую схему, если она будет работать, то ее и оставлю, без 0, 100 и диагностики в уарт.
Подскажите, замена нано на stm32 упростила бы задачу или подобные операции сложные для данных устройств?
Вложения
mPWM_4.flp
(1.04 МБ) 6 скачиваний
2024-02-19_18-54-28.png
PWM1
2024-02-19_18-54-28.png (10.17 КБ) 248 просмотров

Ответить

Вернуться в «Спросить у знатоков»