Dimon456, А как Вы синхронизируете шум? Иногда и его приходится измерять. Попытку обнаружить периодичность данных в потоке задача нетривиальная. Мы к этому вернемся, когда будем обсуждать программу. Когда разрабатывал пожарный датчик на МК, то занимался синхронизацией сигнала на фоне шумов. Нужно было отфильтровать периодичную помеху, которая иногда совпадала с сигналом по частоте и фазе. Заводской фильтр на случайные помехи не справлялся и датчики давали ложную сработку.
У вас стоит импульсный ключ, а не линейный элемент. Вам надо амплитуду измерить когда ключ открыт, хоть 1000 раз, если АЦП успеет за время открытого ключа, а потом уже можно малость усреднить. Вы же находите работу тока, которая напрямую зависит от длительности импульса.
то что вы будете измерять 96%, если полезный сигнал у вас занимает всего 4%? Многие тут утверждают, что на stm можно многое, не ужели трудно синхронизировать измерение с длительностью импульса?
Что бы получить информацию о токе, нужно знать, сколько ключ был включен и сколько выключен. Для этого нужно измерить весь период.
Dimon456 писал(а):
Вам надо амплитуду измерить когда ключ открыт, хоть 1000 раз, если АЦП успеет за время открытого ключа, а потом уже можно малость усреднить.
Так и происходит примерно, но дополнительные измерения во время паузы ничем не мешают. Зато добавляют универсальности прибору, возможность его применить и на других формах сигнала. Какой смысл экономить АЦП? Оно уже есть и уже молотит.
_________________ При решение наиболее сложных задач, большинство, как правило, ошибается...
ARV, выше я писал про накал трубы -ты отмолчался ...походу нечем крыть это лиш часный премер...
приношу свои извинения, но отвечать на ваши якобы вопросы не имею ни малейшего желания покуда вы не испытываете желания изъясняться по-человечески на русском языке.
linkov1959 писал(а):
аккум не резистор и напряжение на нагрузке не зависит от тока
открытие, однако! или если зависимость нелинейна, то ею можно пренебречь?
linkov1959 писал(а):
В случае с электросчетчиком тот же фокус, напряжение источника не зависит от тока.
ваша сеть - идеальный источник напряжения? фантастика!
Dimon456 писал(а):
не ужели трудно синхронизировать измерение с длительностью импульса?
вообще-то, это не является необходимым. если измерение делается не за 1 период сигнала, то синхронизация не нужна вообще, но необходимо обеспечить измерение в течение целого числа периодов сигнала. для сильно низкочастотных сигналов с плавающей фазой импульсов не поможет и синхронизация... например, регулирование мощности методом пропуска периодов сетевого напряжения по алоритму Брезенхама - очень сильно сомневаюсь, что при таком подходе какие-либо приборы (рискну предположить, что даже супер-пупер фирменные true-RMS) покажут истинное значение действующего тока или напряжения...
linkov1959 писал(а):
Для сигналов произвольной формы неплохо.
только, как я понимаю, измеряете вы ПОСТОЯННЫЙ ток, но пульсирующий... и методика RMS вам не только не нужна, но и вредна, ибо дает неправильный результат. но вы упорно продолжаете есть кактус...
Alex-lab писал(а):
Что бы получить информацию о токе, нужно знать, сколько ключ был включен и сколько выключен.
это только при условии, что ток не менялся в течение импульса, а так же отсутствовал после его "официального" завершения. поскольку никаких гарантий нет, то измерять нужно непрерывно весь период.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
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
Первая гармоника там 50/100Гц, а высшие имеют значительную величину, зависящую от угла отсечки. Без RMS или вольтметра средних значений тут делать нечего.
в свете только что сказанного прошу ответить: и при чем тут гармоники? что именно делать с их RMS-значениями вы собрались?
например, полезную работу в асинхронном двигателе делает практически только первая гармоника, остальные в основном греют обмотки. и что вам даст это погармоническое RMS?
Например в нагревателе, эти гармонике греют так же как и первая, и необходимо их учитывать. RMS - это всегда про нагрев резистивной нагрузки.
_________________ При решение наиболее сложных задач, большинство, как правило, ошибается...
Можно без затрат отказаться от подстройки средней точки и повысить разрешающую способность вдвое. Заведите точку "0в" на второй вход ацп. Оцифровывайте по очереди, складывая значения через ДМА в буфер. В прерываниях по половинной и полной пересылке суммируйте квадраты разностей двух соседних значений буфера. После накопления суммы в течении интервала времени, кратному 20 мс передавайте её в основное тело программы. Затем в основном теле неторопясь извлекайте из суммы квадратный корень, нормируйте относительно опорного напряжения АЦП и коэффициента деления входного делителя, и выводите на индикатор. Проследите чтобы сумматор не переполнялся и за тем, чтобы обработчик прерываний успевал закончить работу до следующего прерывания.
Последний раз редактировалось Andrey_B Вс мар 28, 2021 15:28:23, всего редактировалось 1 раз.
ARV, сначала я попытался измерить напряжение на ключе (на пине порта) разными приборамиСпойлер Пытался рассчитать приложенное напряжение 3,245В к ключу по формуле для сигнала ШИМ Uamp=Urms/на корень(Ti/T)Далее пытался измерить ток на резисторе 200 ОмСпойлерШИМ 100Гц 16,36мА это ток который выдает пин порта при 1. Я считаю, что при открытии ключа я должен получить эти 16,36мА, или хотя бы близко значение.И что, даже близко ни то ни другое ни третье, либо не те формулы, либо не так измеряю. А вы пишите
ARV писал(а):
это не является необходимым.
Хотите я измерю для вас?
ARV писал(а):
методом пропуска периодов сетевого напряжения по алоритму Брезенхама
например, регулирование мощности методом пропуска периодов сетевого напряжения по алоритму Брезенхама - очень сильно сомневаюсь, что при таком подходе какие-либо приборы (рискну предположить, что даже супер-пупер фирменные true-RMS) покажут истинное значение действующего тока или напряжения...
Только прибор с TrueRMS правильно и покажет, только период измерения должен быть: 1) больше или равным, 2) кратным периоду алгоритма Брезенхема.
Брезенхема измерилСпойлерСудя по анализу в протеусе период выбран в 290мс. + каждый отсчет синхронизирован с началом полупериода, синхронизатор сделан на ОУ, надежный. У меня ручной режим не предусмотрен, нагрев до определенной температуры и потом на 0, как температура ниже становится так нагрев включается, включается от 0 и возрастает, ни какого ПИДа нет. В результате на амперметре постепенное увеличение показаний идет до какого-то конкретного значения, потом 0, потом сново увеличение, потом 0. Сам нагрев с холодной спирали до 210 секунд 15 занял. Плюс максимальный нагрев ограничен ~66%, что бы спираль до бела не раскалялось.
Если мало этого, могу перепрошить и тупо на лампочке погонять.
Andrey_B, У меня была другая идея. На один АЦП подавать положительную часть сигнала, на другой отрицательную и считать раздельно. Один опер. с инверсией. Нули оперов смещены на пару десятков мВ от корпуса для линейности и быстродействия. Это начальное смещение вычитается из АЦП, а минусы отбрасываются, что бы считать строго от нуля.
linkov1959, такие заморочки были бы оправданы, если бы было требование общей земли источника сигнала и МК. Быстродействие схем усилителей с Кус=1 и Кус=-1 на одном и том-же ОУ не одно и тоже.
Лучше доработайте входную часть, что-бы был автовыбор предела измерения без реле, а так же обеспечьте одинаковое входное сопротивление прибора на разных пределах. На дисплее не плохо было бы отображать не только одно rms значение напряжения, но и одновременно среднее, пиковое, амплитудное, размах пульсации, и возможно приведенное к синусоидальному средневыпрямленному, для эстетов Думаю тогда прибор многих заинтересует.
А еще не забудьте про частоту, температуру, постоянный переменный ток, сопротивление, еще генератор не мешало бы, хотя бы меандр. Одним словом полную измерительную лабораторию. И что бы общая стоимость изготовления прибора была меньше чем приобрести готовый начальный с True Rms dt9208. У нас есть энтузиасты которые калькулятор с stm32 делают.
Andrey_B, уже опробовал в Протеусе, работает. Я раньше отказался, что бы без оперов обойтись, а раз буфер всё равно необходим и с линейностью проблему решил, то почему нет? Общая земля будет и отдельные RMS по плюсу и минусу. А если они будут равны? Это будет новая величина - нуль "истинный"!
Dimon456, ну если уж делать прибор, то он должен быть полноценным прибором, а не мормышкой. Достаточно сбалансированным, без перегибов. С другой стороны если без удорожения, чисто программными средствами, получится вычислить частоту входного сигнала, чего в этом плохого ? Разрабатывать устройство, обладающее хоть какой-то оригинальностью всяко лучше, чем очередные часы на стм32, коих уже десятки.
linkov1959, разделять сигнал вообще плохая идея. Компенсация смещения, учет неоднородности трактов, потребует всевозможных программных костылей с не очевидной погрешностью. Зачем, если всего этого можно избежать ?
Да, только у автора нет возможности измерить AC. Хотя может у него stm32 и позволяет измерить отрицательную составляющую сигнала, или может как-то его ОУ Rail-to-Rail превращает отрицательную в положительную? Одни вопросы. Отсутствие опорного напряжения, ldo-стабилизатор 3,3В в качестве опорника?, да он когда как показывает. Сомнительный прибор. Хотя, развиваться есть куда.
Ну а True-RMS имеет место быть не на чистой синусоиде, к примеру фазо-импульсное управление симистором, диммер. Или накал кинескопа, дык сейчас если только 1 на 1000, а то может и еще на больше, найдется, ну есть у меня один маленький телек, в сарае стоит, еще не выкинул, даже и не знаю рабочий ли. Насколько я помню, тыкался в накал М-832 рабочего телека, по моему 4.6В было, знаю что меньше 6,3В показывал.
Еще смотрю наличие пульсаций в блоках питания, если показывает - то значит есть, нет пульсаций - 0 показывает.
Последние мои расчеты с ШИМ сигналомСпойлер Справа даны расчетные значения, которые должен прибор показывать. А с низу обратный перерасчет Uamp, напряжение которое на ключ было подано. Вот если бы этот прямоугольник был смещен относительно 0 вверх - было бы уже интересней, для интереса на F100 DAC я могу этот эксперимент повторить.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения