Вольтметр True Rms на STM32

Кто любит RISC в жизни, заходим, не стесняемся.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Вольтметр True Rms на STM32

Сообщение Dimon456 »

Alex-lab, Молодец! Всё верно! Где учились?
Я вот не где не учился, но если вы пишите
Alex-lab писал(а):Ответ: D = 1/25 = 0.04 = 4%.
то что вы будете измерять 96%, если полезный сигнал у вас занимает всего 4%?

Многие тут утверждают, что на stm можно многое, не ужели трудно синхронизировать измерение с длительностью импульса?
Реклама
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Вольтметр True Rms на STM32

Сообщение linkov1959 »

Dimon456, А как Вы синхронизируете шум? Иногда и его приходится измерять. Попытку обнаружить периодичность данных в потоке задача нетривиальная. Мы к этому вернемся, когда будем обсуждать программу. Когда разрабатывал пожарный датчик на МК, то занимался синхронизацией сигнала на фоне шумов. Нужно было отфильтровать периодичную помеху, которая иногда совпадала с сигналом по частоте и фазе. Заводской фильтр на случайные помехи не справлялся и датчики давали ложную сработку.
Реклама
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Вольтметр True Rms на STM32

Сообщение Dimon456 »

У вас стоит импульсный ключ, а не линейный элемент.
Вам надо амплитуду измерить когда ключ открыт, хоть 1000 раз, если АЦП успеет за время открытого ключа, а потом уже можно малость усреднить.
Вы же находите работу тока, которая напрямую зависит от длительности импульса.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Вольтметр True Rms на STM32

Сообщение linkov1959 »

В 1% до 10кГц уложился, ну и хватит пока. 5% до 100кГц. Для сигналов произвольной формы неплохо.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Alex-lab
Потрогал лапой паяльник
Сообщения: 308
Зарегистрирован: Ср ноя 20, 2013 11:29:26
Откуда: Манчестер
Контактная информация:

Re: Вольтметр True Rms на STM32

Сообщение Alex-lab »

Dimon456 писал(а):то что вы будете измерять 96%, если полезный сигнал у вас занимает всего 4%?
Многие тут утверждают, что на stm можно многое, не ужели трудно синхронизировать измерение с длительностью импульса?
Что бы получить информацию о токе, нужно знать, сколько ключ был включен и сколько выключен. Для этого нужно измерить весь период.
Dimon456 писал(а):Вам надо амплитуду измерить когда ключ открыт, хоть 1000 раз, если АЦП успеет за время открытого ключа, а потом уже можно малость усреднить.
Так и происходит примерно, но дополнительные измерения во время паузы ничем не мешают. Зато добавляют универсальности прибору, возможность его применить и на других формах сигнала. Какой смысл экономить АЦП? Оно уже есть и уже молотит.
При решение наиболее сложных задач, большинство, как правило, ошибается...
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вольтметр True Rms на STM32

Сообщение ARV »

[uquote="musor",url="/forum/viewtopic.php?p=4005331#p4005331"]ARV, выше я писал про накал трубы -ты отмолчался ...походу нечем крыть это лиш часный премер...[/uquote]приношу свои извинения, но отвечать на ваши якобы вопросы не имею ни малейшего желания покуда вы не испытываете желания изъясняться по-человечески на русском языке.
linkov1959 писал(а):аккум не резистор и напряжение на нагрузке не зависит от тока
открытие, однако! или если зависимость нелинейна, то ею можно пренебречь?
linkov1959 писал(а):В случае с электросчетчиком тот же фокус, напряжение источника не зависит от тока.
ваша сеть - идеальный источник напряжения? фантастика!
Dimon456 писал(а):не ужели трудно синхронизировать измерение с длительностью импульса?
вообще-то, это не является необходимым. если измерение делается не за 1 период сигнала, то синхронизация не нужна вообще, но необходимо обеспечить измерение в течение целого числа периодов сигнала. для сильно низкочастотных сигналов с плавающей фазой импульсов не поможет и синхронизация... например, регулирование мощности методом пропуска периодов сетевого напряжения по алоритму Брезенхама - очень сильно сомневаюсь, что при таком подходе какие-либо приборы (рискну предположить, что даже супер-пупер фирменные true-RMS) покажут истинное значение действующего тока или напряжения...
linkov1959 писал(а):Для сигналов произвольной формы неплохо.
только, как я понимаю, измеряете вы ПОСТОЯННЫЙ ток, но пульсирующий... и методика RMS вам не только не нужна, но и вредна, ибо дает неправильный результат. но вы упорно продолжаете есть кактус...
Alex-lab писал(а):Что бы получить информацию о токе, нужно знать, сколько ключ был включен и сколько выключен.
это только при условии, что ток не менялся в течение импульса, а так же отсутствовал после его "официального" завершения. поскольку никаких гарантий нет, то измерять нужно непрерывно весь период.
Последний раз редактировалось ARV Вс мар 28, 2021 12:07:13, всего редактировалось 1 раз.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Вольтметр True Rms на STM32

Сообщение linkov1959 »

LCD_RS as sbit at GPIOA_ODR.PA0
LCD_EN as sbit at GPIOA_ODR.PA1
LCD_D4 as sbit at GPIOA_ODR.PA2
LCD_D5 as sbit at GPIOA_ODR.PA3
LCD_D6 as sbit at GPIOA_ODR.PA4
LCD_D7 as sbit at GPIOA_ODR.PA5
ADC - PA6
PC13 - переполнение ADC
Прошивка STM32F103
TRMS.hex
(15.63 КБ) 234 скачивания
Делитель
делитель.jpg
(38.52 КБ) 273 скачивания
Опер. ус. Rail-to-Rail.
Аватара пользователя
Alex-lab
Потрогал лапой паяльник
Сообщения: 308
Зарегистрирован: Ср ноя 20, 2013 11:29:26
Откуда: Манчестер
Контактная информация:

Re: Вольтметр True Rms на STM32

Сообщение Alex-lab »

[uquote="ARV",url="/forum/viewtopic.php?p=4004460#p4004460"]
Alex-lab писал(а):Первая гармоника там 50/100Гц, а высшие имеют значительную величину, зависящую от угла отсечки. Без RMS или вольтметра средних значений тут делать нечего.
в свете только что сказанного прошу ответить: и при чем тут гармоники? что именно делать с их RMS-значениями вы собрались?

например, полезную работу в асинхронном двигателе делает практически только первая гармоника, остальные в основном греют обмотки. и что вам даст это погармоническое RMS?[/uquote]

Например в нагревателе, эти гармонике греют так же как и первая, и необходимо их учитывать. RMS - это всегда про нагрев резистивной нагрузки.
При решение наиболее сложных задач, большинство, как правило, ошибается...
Аватара пользователя
Andrey_B
Сверлит текстолит когтями
Сообщения: 1102
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Re: Вольтметр True Rms на STM32

Сообщение Andrey_B »

[uquote="linkov1959",url="/forum/viewtopic.php?p=4005775#p4005775"]Делитель
делитель.jpg
[/uquote]

Можно без затрат отказаться от подстройки средней точки и повысить разрешающую способность вдвое. Заведите точку "0в" на второй вход ацп. Оцифровывайте по очереди, складывая значения через ДМА в буфер. В прерываниях по половинной и полной пересылке суммируйте квадраты разностей двух соседних значений буфера. После накопления суммы в течении интервала времени, кратному 20 мс передавайте её в основное тело программы. Затем в основном теле неторопясь извлекайте из суммы квадратный корень, нормируйте относительно опорного напряжения АЦП и коэффициента деления входного делителя, и выводите на индикатор. Проследите чтобы сумматор не переполнялся и за тем, чтобы обработчик прерываний успевал закончить работу до следующего прерывания.
Последний раз редактировалось Andrey_B Вс мар 28, 2021 15:28:23, всего редактировалось 1 раз.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Вольтметр True Rms на STM32

Сообщение Dimon456 »

ARV, сначала я попытался измерить напряжение на ключе (на пине порта) разными приборами
СпойлерИзображение
Пытался рассчитать приложенное напряжение 3,245В к ключу по формуле для сигнала ШИМ Uamp=Urms/на корень(Ti/T)
Далее пытался измерить ток на резисторе 200 Ом
СпойлерШИМ 100Гц
Изображение
16,36мА это ток который выдает пин порта при 1.
Я считаю, что при открытии ключа я должен получить эти 16,36мА, или хотя бы близко значение.
И что, даже близко ни то ни другое ни третье, либо не те формулы, либо не так измеряю.
А вы пишите
ARV писал(а):это не является необходимым.
Хотите я измерю для вас?
ARV писал(а):методом пропуска периодов сетевого напряжения по алоритму Брезенхама
у меня паяльный фен по этому принципу работает.
Аватара пользователя
Andrey_B
Сверлит текстолит когтями
Сообщения: 1102
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Re: Вольтметр True Rms на STM32

Сообщение Andrey_B »

[uquote="ARV",url="/forum/viewtopic.php?p=4005768#p4005768"]например, регулирование мощности методом пропуска периодов сетевого напряжения по алоритму Брезенхама - очень сильно сомневаюсь, что при таком подходе какие-либо приборы (рискну предположить, что даже супер-пупер фирменные true-RMS) покажут истинное значение действующего тока или напряжения...[/uquote]

Только прибор с TrueRMS правильно и покажет, только период измерения должен быть: 1) больше или равным, 2) кратным периоду алгоритма Брезенхема.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Вольтметр True Rms на STM32

Сообщение Dimon456 »

Брезенхема измерил
СпойлерСудя по анализу в протеусе период выбран в 290мс.
+ каждый отсчет синхронизирован с началом полупериода, синхронизатор сделан на ОУ, надежный.
Изображение
У меня ручной режим не предусмотрен, нагрев до определенной температуры и потом на 0,
как температура ниже становится так нагрев включается, включается от 0 и возрастает, ни какого ПИДа нет.
В результате на амперметре постепенное увеличение показаний идет до какого-то конкретного значения, потом 0, потом сново увеличение, потом 0.
Сам нагрев с холодной спирали до 210 секунд 15 занял.
Плюс максимальный нагрев ограничен ~66%, что бы спираль до бела не раскалялось.

Если мало этого, могу перепрошить и тупо на лампочке погонять.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Вольтметр True Rms на STM32

Сообщение linkov1959 »

Andrey_B, У меня была другая идея. На один АЦП подавать положительную часть сигнала, на другой отрицательную и считать раздельно. Один опер. с инверсией.
Нули оперов смещены на пару десятков мВ от корпуса для линейности и быстродействия. Это начальное смещение вычитается из АЦП, а минусы отбрасываются, что бы считать строго от нуля.
Аватара пользователя
Andrey_B
Сверлит текстолит когтями
Сообщения: 1102
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Re: Вольтметр True Rms на STM32

Сообщение Andrey_B »

linkov1959, такие заморочки были бы оправданы, если бы было требование общей земли источника сигнала и МК. Быстродействие схем усилителей с Кус=1 и Кус=-1 на одном и том-же ОУ не одно и тоже.

Лучше доработайте входную часть, что-бы был автовыбор предела измерения без реле, а так же обеспечьте одинаковое входное сопротивление прибора на разных пределах. На дисплее не плохо было бы отображать не только одно rms значение напряжения, но и одновременно среднее, пиковое, амплитудное, размах пульсации, и возможно приведенное к синусоидальному средневыпрямленному, для эстетов :-) Думаю тогда прибор многих заинтересует.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Вольтметр True Rms на STM32

Сообщение Dimon456 »

А еще не забудьте про частоту, температуру, постоянный переменный ток, сопротивление, еще генератор не мешало бы, хотя бы меандр. Одним словом полную измерительную лабораторию.
И что бы общая стоимость изготовления прибора была меньше чем приобрести готовый начальный с True Rms dt9208.
У нас есть энтузиасты которые калькулятор с stm32 делают.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Вольтметр True Rms на STM32

Сообщение linkov1959 »

Andrey_B, уже опробовал в Протеусе, работает. Я раньше отказался, что бы без оперов обойтись, а раз буфер всё равно необходим и с линейностью проблему решил, то почему нет? Общая земля будет и отдельные RMS по плюсу и минусу. А если они будут равны? Это будет новая величина - нуль "истинный"!
Аватара пользователя
Andrey_B
Сверлит текстолит когтями
Сообщения: 1102
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Re: Вольтметр True Rms на STM32

Сообщение Andrey_B »

Dimon456, ну если уж делать прибор, то он должен быть полноценным прибором, а не мормышкой. Достаточно сбалансированным, без перегибов. С другой стороны если без удорожения, чисто программными средствами, получится вычислить частоту входного сигнала, чего в этом плохого ? Разрабатывать устройство, обладающее хоть какой-то оригинальностью всяко лучше, чем очередные часы на стм32, коих уже десятки.

linkov1959, разделять сигнал вообще плохая идея. Компенсация смещения, учет неоднородности трактов, потребует всевозможных программных костылей с не очевидной погрешностью. Зачем, если всего этого можно избежать ?
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Вольтметр True Rms на STM32

Сообщение Dimon456 »

Все таки я вычислил в ШИМ свои Uamp и Iamp, в режиме DC-постоянки все 3 прибора мерят AVG значение, средне, а не True Rms, среднеквадратичное.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вольтметр True Rms на STM32

Сообщение ARV »

Dimon456 писал(а):в режиме DC-постоянки все 3 прибора мерят AVG значение, средне, а не True Rms, среднеквадратичное
вообще-то, я давным-давно сказал, что понятие true-RMS неприменимо для DC, а среднее - применимо.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Вольтметр True Rms на STM32

Сообщение Dimon456 »

Да, только у автора нет возможности измерить AC.
Хотя может у него stm32 и позволяет измерить отрицательную составляющую сигнала, или может как-то его ОУ Rail-to-Rail превращает отрицательную в положительную? Одни вопросы.
Отсутствие опорного напряжения, ldo-стабилизатор 3,3В в качестве опорника?, да он когда как показывает.
Сомнительный прибор. Хотя, развиваться есть куда.

Ну а True-RMS имеет место быть не на чистой синусоиде, к примеру фазо-импульсное управление симистором, диммер.
Или накал кинескопа, дык сейчас если только 1 на 1000, а то может и еще на больше, найдется, ну есть у меня один маленький телек, в сарае стоит, еще не выкинул, даже и не знаю рабочий ли.
Насколько я помню, тыкался в накал М-832 рабочего телека, по моему 4.6В было, знаю что меньше 6,3В показывал.

Еще смотрю наличие пульсаций в блоках питания, если показывает - то значит есть, нет пульсаций - 0 показывает.

Последние мои расчеты с ШИМ сигналом
СпойлерИзображение
Справа даны расчетные значения, которые должен прибор показывать.
А с низу обратный перерасчет Uamp, напряжение которое на ключ было подано.
Вот если бы этот прямоугольник был смещен относительно 0 вверх - было бы уже интересней, для интереса на F100 DAC я могу этот эксперимент повторить.
Ответить

Вернуться в «ARM»