PDA

Просмотр полной версии : Формулы коррекции линейного графика



JV-Soft
28.05.2019, 11:35
Сделал БП с управлением на avr , долго отлаживал разные нюансы ,все в общем получилось но есть такая проблема.
БП управляется двумя ШИМ , по току и напряжению которые идут на TL494 , ШИМ тока имеет разрешение 1024 бит и 14 ма на бит ,итого около 0-14 ампер регулировка.

Вылез такой момент , при линейном регулировании AVR-кой ШИМ на TL494 , ток бп имеет значения от 0.15 до 10 А , при этом если брать линейные значения ШИМ AVR , то переведя их линейно в значения тока для вывода на экран получаем 0.1 до 10 А , то есть с нижнего предела есть разбег в 50 мА ,который плавно сходит на нет к верхнему пределу.

Задача программно скорректировать это , то есть есть текущее значение ШИМ 100 ма , при нем БП выдает 150 ма ,надо для вывода на экран 100 преобразовать в 150 , и так до 1000 ( это 10 А) но преобразование должно к концу линейно сходится

По какой формуле это можно сделать сделать ?

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

https://b.radikal.ru/b42/1905/fe/810009694a26.png (https://radikal.ru)

Titus
28.05.2019, 11:52
Что-то типа:
x + (150 - 100) - ((x - 100) / ((10000 - 100) / (150 - 100))

- - - Добавлено - - -


1000 ( это 10 А)
10 ампер - это 10000 мА

JV-Soft
28.05.2019, 11:59
10 ампер - это 10000 мА
Да чуть запутал , значение 10 шим , это 150 ма на выходе бп , и 10/100 = 0.1 А на экране

Приеду ,попробую ,отпишу.
А если небольшой логарифм надо ввести , вдруг там не идеальная линейность ?

marinovsoft
28.05.2019, 12:05
Линейная зависимость: y=kx+b

x1 = 100; y1=150
x2 = 10000; y2=10000

Решаем систему, находим коэффициенты k и b.

- - - Добавлено - - -

Лучше сделать замеры на нескольких точках, построить график, по графику определить закон изменения. А то вдруг там непрямая зависимость.

NEO SPECTRUMAN
28.05.2019, 14:36
По какой формуле это можно сделать сделать ?
Дык линейной интерполяцией


Лучше сделать замеры на нескольких точках, построить график, по графику определить закон изменения. А то вдруг там непрямая зависимость.
ну или опять же чтоб не вникать что за функция (хотя например ексель может по имеющимся данным выдать ~функцию)
можно снять несколько точек
загнать в таблицу
и находить промежуточное линейной интерполяцией
(полученной точности хватит всем™)

формула ужо вроде мелькала выше

JV-Soft
28.05.2019, 15:07
Что-то типа:
x + (150 - 100) - ((x - 100) / ((10000 - 100) / (150 - 100))

Да для линейного графика отлично работает !

Но сделал немного замеров , есть логарифм , примерно так , как его обсчитать ?

основной участок погрешности до 1 ампера , дальше практически линейно

https://d.radikal.ru/d23/1905/d3/a00822c188d0.png (https://radikal.ru)

NEO SPECTRUMAN
28.05.2019, 15:17
Но сделал немного замеров , есть логарифм , примерно так , как его обсчитать ?
забей с десяток точек в таблицу
и находи линейной интепроляцией же
или ты хочешь щитать лишние умножения и степеня на своей ардуине?

- - - Добавлено - - -

JV-Soft, дай все полученные данные

JV-Soft
28.05.2019, 15:18
забей с десяток точек в таблицу
и находи линейной интепроляцией же

на кой мне делать таблицу и считать ? если можно просто считать.
Тем более чистая формула просто корректируется на лету под то что мне надо, а с таблицей фигвам.

NEO SPECTRUMAN
28.05.2019, 15:48
на кой мне делать таблицу и считать ? если можно просто считать.
Тем более чистая формула просто корректируется на лету под то что мне надо, а с таблицей фигвам.
ну как хошь (тем более кто тебе мешает корректировать табличную функцию при помощи коэфициентов?)

тогда ексель в зубы и вперед
создай график
на графике хитро ткни по линии (с первой попытке часто не получается) и выбери добавить линию тренда
там выбери полиномиальная и степень 6
так жо в низу поставиь птички
показывать уравнение на диаграмме
поместить на диаграмму величину достоверности апроксимации
....
....
ПРОФИТ

можошь поклацать другие варианты
и посмотреть какaе у них схожесть с реальной функцией R^2
врятли они будут лучше чем полиномиальная 6-й степени...
для экстраполяции нужно подбирать на глаз
любая может быть оптимальной

...печально что нет синусоидальных функций
можно было бы повторить любую форму графика набором синусоид...
- - - Добавлено - - -

получишь функцию такого вида
y = 0,007*x^6 - 0,337*x^5 + 5,152*x^4 - 7,174*x^3 - 62,42*x^2 + 609,8*x + 23,86
готовую к использованию

- - - Добавлено - - -

Кстате обрати внимание
что большое число замеров в разных точках
изза погрешностей измерения
может сделать обратный эффект

тоесть полученная функция будет имитировать погрешности измерения
(появится "высокочастотная" составляющая которой может и нет)
а можот и не так
щас не смог повторить подобное на зашумленном графике

тоесть будет лучше не сотни точек
а десятки но с многократными измерениями в одной точке
и усреднениями результатов

- - - Добавлено - - -


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

считать с 2-мя знаками это не дело...

JV-Soft
28.05.2019, 19:13
NEO SPECTRUMAN, у тя агония :biggrin:

Пока сделал одним if-om уменьшение стабилизированного тока в цикле,тупо понижаю ШИМ сравнивая с эталоном какие знаки ? все целые числа. И так как разброс не критичный, на этом можно успокоится , но хочется разные алгоритмы зарядников ввести , и иметь более точный подсчет.

https://b.radikal.ru/b09/1905/6e/23ed2a6cb3e1t.jpg (https://b.radikal.ru/b09/1905/6e/23ed2a6cb3e1.jpg)

NEO SPECTRUMAN
29.05.2019, 06:37
у тя агония

все целые числа.

И так как разброс не критичный, на этом можно успокоится

более точный подсчет.
вощем не ясно
тебе нужен точный результат
или все целые беззнаковые числа...

или ексель не осилил функцию?

Serg6845
29.05.2019, 09:25
Да для линейного графика отлично работает !

Но сделал немного замеров , есть логарифм , примерно так , как его обсчитать ?

основной участок погрешности до 1 ампера , дальше практически линейно

https://d.radikal.ru/d23/1905/d3/a00822c188d0.png (https://radikal.ru)

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

NEO SPECTRUMAN
29.05.2019, 09:35
мое мнение - здесь надо не обсчитывать, а работать по обратной связи через реальные выходные величины. потому как форма графика может зависеть от температуры, напряжения, характера нагрузки и еще чертовой уймы факторов, все не учтешь.
1. нужно наличие мерялки на выходе
2. нужно чтоб измерялка тоже не зависела от температуры
3. предположим что измерялке снесет крышу от перегрева или физического повреждения и она будет показывать что все время мало и нужно больше еще больше
а тут наша чудо программа заинкрементит выход до максимума...

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

Serg6845
29.05.2019, 22:39
1. нужно наличие мерялки на выходе
2. нужно чтоб измерялка тоже не зависела от температуры
3. предположим что измерялке снесет крышу от перегрева или физического повреждения и она будет показывать что все время мало и нужно больше еще больше
а тут наша чудо программа заинкрементит выход до максимума...

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

1 - а вот здесь https://zx-pk.ru/threads/30531-formuly-korrektsii-linejnogo-grafika.html?p=1014441&viewfull=1#post1014441 - не мерялка? да и "понижаю ШИМ сравнивая с эталоном" - как бы намекает.
2 - не труднее чем обеспечить термонезависимость силового регулятора. а скорее - проще, ибо больших токов (и как следствие - греющихся элементов) нет. да и не только температура там влияет.
3 - предположим что регулятору снесет крышу... и далее по тексту. и вероятность сноса крыши как бы не поболее будет...

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

NEO SPECTRUMAN
29.05.2019, 23:16
насчет приоритетов - где гарантия что даже идеально просчитанная зависимость в реальном устройстве всегда даст гарантированный результат?
скорее если отклонение большое - то вырубить выход нафиг и включить большую красную лампу...
тоже не вариант
пушо гарантия 98% что это произойдет в самый нужный момент
и гарантия 89% что без автоматического врубания красной лампы
все бы прекрасно работало

и будет как с картриджами для принтера
картидж работает
но без плясок с бубном не печатает...

...или те же софтварно залоченные батареи ноутбуков...
которые якобы "спасли" пользователя

возможная трабла что при большой нагрузке
график искозитсо и выйдет за границы
а тут еще включится отключалка обратной связи...

- - - Добавлено - - -


и как следствие - греющихся элементов) нет.
но есть 30 градусов разброс температуры воздуха


хотя там вроде не лабораторная установка :)