Ток вообще не получится. А напряжение с таким делителем можно, если включите опорный источник на 1.1В, в противном случае вы получите очень большую погрешность.
Шунт должен стоять в разрыве минусового провода рядом с батареей, а провод на аналоговый вход должен быть подключен к шунту со стороны противоположной от батареи.
мне ток в основном 20-40А макс 50А мерять, напряжение 14-15В
Есть датчики на 50А
AnImAsHkO пишет:
UPD: по цене не очень 100р(шунт) против 450р(acs75x) и месяца ожиданий
В том то и дело, что если вешать шунт на минусовой провод и выводить его на А1, то при большом токе(50А) у вас упадет 75мВ (Если шунт такой же, как на схеме), но чем вы будите мерить такое напряжение?
Разрядность АЦП ардуины 10 бит. Следовательно при опорном напряжении в 5В имеем соотношение 1 отсчет = 5/1024=4,9 мВ. Таким образом если мерить токи 20 А, то получаем напряжение на шунте:
U = 0.075x20/50 = 30 мВ , а это примерно на АЦП будет 6. При токе 40 А имеем значение 12. Все это я говорю к тому, что вы при диапазоне 1024 отсчетов вы используете лишь маленький диапазон в 100 раз меньший. То есть на один отсчет у вас выходит ток примерно 3А
Дело можно улучшить если подать 3.3 В в качестве опорного, но в реальности это не сильно улучшит ситуацию.
Если ставить шунт с большим падением напряжения, то естественно это будет влиять на двигатель, да и греться он будет.
Чем хорош датчик тока, тем, что он развязан гальванически от силовой части и выдает на выходе весь диапазон (5В) при максимуме тока.
Дело можно улучшить если подать 3.3 В в качестве опорного, но в реальности это не сильно улучшит ситуацию.
1. Дело можно улучшить, сконфигурировав АЦП на работу от внутреннего источника опорного напряжения (1.1 В). "Улучшение" почти в 5 раз.
2. Дело можно улучшить, сконфигурировав АЦП на работу от внешнего источника опорного напряжения (вывод AREF) и подав на AREF, например, 0.1 В. "Улучшение" в 50 раз.
Работа АЦП с Vcc в качестве опорного напряжения есть "не догма, а руководство к действию"...
Дело можно улучшить если подать 3.3 В в качестве опорного, но в реальности это не сильно улучшит ситуацию.
2. Дело можно улучшить, сконфигурировав АЦП на работу от внешнего источника опорного напряжения (вывод AREF) и подав на AREF, например, 0.1 В. "Улучшение" в 50 раз.
1) При таком напряжении на шунте, помех не избежать.
2) городить источник опорного в 0.1 В, даже из самого простого стабилизатора и делителя - это минимум 3-5 деталей, которые стоят практически те-же деньги, что и ACS712.
3) Если уже все методы использовать, то можно было поставить усилитель сигнала. Только я просто предложил простое решение, а метод с шунтом (ИМХО) считаю не верным.
У меня минимальный ток будет порядка 1А, надо будет только измерить минимальное, всё что ниже него и будет 0. Да и супер точных показаний мне не надо +- 0,5-1А устроит... Хотя если помехи больше 1-3А, то это уже не есть хорошо...
У меня минимальный ток будет порядка 1А, надо будет только измерить минимальное, всё что ниже него и будет 0. Да и супер точных показаний мне не надо +- 0,5-1А устроит... Хотя если помехи больше 1-3А, то это уже не есть хорошо...
А какой максимальный ток? На ибее есть готовые датчики на 5, 20 и 30 ампер. Вот 20 амперный у меня сейчас стоит, "шум" порядка 30 миллиампер, и "ноль", в зависимости от питания ардуины, сползает вверх-вниз на 50-60 миллиампер. 5 амперный должен быть поточнее: жду - он еще едет почтой.
А может кто -нибудь привести пример кода работы с датчиком ACS712? Как амперы померять? Вольты?
Теоретически... :) На практике я набираю пачку значений, выкидываю явно лишние и усредняю оставшееся... dac_div - коррекция АЦП, если текущее питание отличается от 5 вольт. Можно не заморачиваться и принять пока единицей... Но это только для постоянного тока, для переменного - все гораздо хитрее и надо делать среднеквадратичные выборки (http://arduino.ru/forum/proekty/upravlenie-obogrevom-komnaty-pri-pomoshc...).
/*
Calculate value from current sensor
*/
float getSensorValue( int sensorPin, float dac_div = 1 ) // Value from sensor
{
float reperValue = 0;
float sensorValue = 0; // variable to store the value coming from the sensor
const byte countValues = 250; // how many values must be averaged in ohne cycle
for (int count =0; count < 10; count++) {
reperValue = reperValue + constrain(analogRead(sensorPin),0,1023);
delay(3);
}
// усредняем значения эталона
reperValue = reperValue / 10;
// устанавливаем границы допустимых значений
int reperValue_max = reperValue + 25;
int reperValue_min = reperValue - 25;
// main routine
for (int count =0; count < countValues; count++) {
// read the value from the sensor:
float TMPsensorValue = constrain(analogRead(sensorPin),0,1023);
// delay(3);
// detect the maximum sensor value
if (TMPsensorValue >= reperValue_max) { TMPsensorValue = reperValue; }
// select the minimum sensor value
else if (TMPsensorValue <= reperValue_min) { TMPsensorValue = reperValue; }
// if value between +-25 - set the new reper and recalculate min-max
else {
reperValue = TMPsensorValue;
reperValue_max = reperValue + 25;
reperValue_min = reperValue - 25;
}
// summarize
sensorValue = ( sensorValue + TMPsensorValue );
}
// усредняем значения
sensorValue = dac_div * sensorValue / countValues;
return sensorValue;
}
может кто нибудь дать полный код для датчика ACS712 30A? 3й день мучаюсь... сил моих больше нет... либо ему почти пофиг на мотор, либо данные скачут от 0 до 1023 вне зависимости подключен датчик или нет... причем на 2х ардуинах одно и то же...
думаете все 4 датчика брак\подделка? на ардуино не грешить(порт рабочий, дитчики проверял на 2х ардуинах)...
Не знаю. У меня - работает. На пустом подключенном к 5 вольтам датчике можно просто тестором напряжение на выходе померять. Должно быть 1/2 от питания.
3 датчика из 4 скачут от 1 до 2 вольт при подключенном + и - замеряю между - и out один на 1,9 постоянно, походу фейл... я в печали мало того что пришли BTS555 тоже не рабочие еще и это...
3 датчика из 4 скачут от 1 до 2 вольт при подключенном + и - замеряю между - и out один на 1,9 постоянно, походу фейл... я в печали мало того что пришли BTS555 тоже не рабочие еще и это...
А что за выводы с пометками vref и gain? По даташиту acs712 нужно всего два конденсатора из обвязки. посмотрите схему в даташите и сравните с тем, что на вашем шилде. Может быть ваш шилд предполагает какое-то подключение к gain и vref
при ценах на эти чипы проще настоящий поставить чем пытаться подделывать. тогда смотрите на качество пайки, прозвоните соединения и сопротивления на плате на соотвествие даташиту. чудес не бывает - электроника наука о контактах и даташитах
ну если мотор то возникает предположение о помехах, пульсации тока там обычное дело. Так что проверь шилды на постоянном сопротивлении. Автомобильной лампочке например.
ну если мотор то возникает предположение о помехах, пульсации тока там обычное дело. Так что проверь шилды на постоянном сопротивлении. Автомобильной лампочке например.
кстати, я тут делал устройство с управлением шим мощного вентилятора - пока отлаживал схему на "кроликах" все работало, а как подключил боево вентилятор - МК стал зависать, дисплей нокиа 3310 стал высвечивать случайные точки. Стало ясно - сильное влияние помех. Решилось только после того, как я в цепь питания МК включил дроссель на 200мкгн. А ведь перед МК стоит и стабилизатор, танталовый конденсатор и керамический - не спасало.
при питании коллекторного мотора даже без шима могут быть сильные помехи, если ардуина питается от того же источника без развязки. насчет коллекторного не знаю, но стоит проверить версию с помехами
решал кто нибудь задачу измерения переменного тока этим датчиком acs712?
у него значения скачать в плюс и минус от VCC/2
как построить измерение, чтобы иметь переменный ток?
Судя по описаниям - вычисляется среднее квадратичное значение за время большее, чем период колебания переменного тока. Ссылки я где-то на форуме оставлял... Вот определить направление переменного тока с ним, похоже, не получится...
Судя по описаниям - вычисляется среднее квадратичное значение за время большее, чем период колебания переменного тока. Ссылки я где-то на форуме оставлял... Вот определить направление переменного тока с ним, похоже, не получится...
мне не понятно как гарантировано делать усреднение за полный период колебаний в сети. читаю даташит чтобы понять сколько времени уходит на одну конвертацию, наверно надо делать обработчик прерываний по завершении конвертаций и дальше аккумулировать столько значений сколько покрывают полный период
используйте таймер... настроили на 10мс или 20мс...пока работает таймер оцифровываем сигнал и складываем в массив.... по отсечки времени вырубаем ацп, считаем всю математику. Если считаете среднее квадратическое значение, то начала запуска оцифровки нас особо не колышет.
главное чтобы как можо точнее в преиод измерений уложилось целое количество съемов с ацп(точнее результат будет)
если считать среднее без учета знака то как раз и получим среднее значение на синусоиде, если правильно понимаю то умножив его на 0.707 получим действующее значение. Но в такой логике критично делать замер за полные периоды.
В даташите есть пример для АЦП "App.4. Rectified output". На выходе получится DCout ~ ACin.
Только непонятно - на чем будет разряжаться конденсатор интегрирующей цепочки, если все резисторы отрезаны от него диодом? Через сопротивление измерителя?
- настроил измерения по таймеру - каждое срабатывание таймера происходит измерение
- псевдокод такой:
volatile unsigned long current_avg = 0;
volatile unsigned int current_measures = 0;
void adc_vector() {
int current_1 = analogRead(2) - 512; // вычитаем середину измерения - 512 соотвествует нулевому току
if(current_1 < 0) { current_1 = -current_1; } // будем считать среднее без учета знака
current_avg += current_1; // важно чтобы не было переполнения при суммировании - контролируем CURRETN_MEASURES=1000
current_measures++;
if(current_measures >= CURRENT_MEASURES) {
current = (current_avg * CURRENT_MULT) / CURRENT_MEASURES;
current_avg = 0;
current_measures = 0;
}
}
CURRENT_MULT опеределен как = 5000 / 1024 / 0,185 - это преобразование значения полученного с аналогового входа в значение тока в мА. Я пока считаю среднее без умножения на 0.704 - это даст действующее значение вместо среднего
Подключаю нагрузку и ставклю точку остановки в adc_vector. Смотрю значение current - оно плавает от 700 до 1500 мА, мультиметр показывает примерно 1А. Что не так в логике? Я исхожу из того, что за 1000 измерений я усредняю полученное значение и так как у меня 1000 (много) измерений то нет необходимости начинать отсчет строго от начала синусоиды (от нуля)
adc_vector вызывается 5000 раз в секунду, т.е. 1000 измерений это 0,2 сек или 10 периодов синусоиды
пока писал вопрос осознал, что за 1000 измерений я на самом деле охватываю всего 10 периодов (казалось 1000 так много))). Увеличил до 10000 измерений, что соотвествует 2 секундам - в итоге стал получать стабильные показания - 50-60мА при отсутсвии нагрузки (соотвествует даташиту - до 21мВ шум или в пересчете до 0,11А)
при нагрузке в 1,1А по мультиметру получаю 980мА при измерении МК. Теперь не понимаю как мои 0,98А должны соотноситься с 1,1А?
Я так понимаю ,что мы говорим об измерении переменного тока.
Не совсем понятно зачем вы оперируете со средними значениями. Вам нужны только максимальные значения. У меня ACS756 по 1-ware , делаю 50 замеров беру максимальное, преобразую ,иногда бывают ошибки (исключаю). Итог, получаю ток потребления. Там выше была ссылка на мои изыскания.
Я так понимаю ,что мы говорим об измерении переменного тока.
Не совсем понятно зачем вы оперируете со средними значениями. Вам нужны только максимальные значения. У меня ACS756 по 1-ware , делаю 50 замеров беру максимальное, преобразую ,иногда бывают ошибки (исключаю). Итог, получаю ток потребления. Там выше была ссылка на мои изыскания.
все верно - переменный ток.
потому считаю среднее, что хочется сделать все правильно)) действующее значение переменного тока величена интегральная - максимальными значениями можно "прикинуть" правильное значение, но усреднее должно дать более точный результат. Ваши опыты выше читал, но у вас есть ограничение - вы не можете делать так много измерений как делаю я из-за наличия 1-wire. У меня этого ограничения нет.
Я так понимаю ,что мы говорим об измерении переменного тока.
сам себя перечитал и задумался. Измеряя максимум вы определяете амплитуду (при этом фактически замеряете амплитуду одной волны, так как вторая волна дает минимум) тока, ампдитуда соотносится с действующим значением с коэффициентом 0.704, так?
я считаю среднее, но если уж и считать, то среднеквадратичное, тогда я сразу получу дейстующее значение. вроде должно быть так
Ток вообще не получится. А напряжение с таким делителем можно, если включите опорный источник на 1.1В, в противном случае вы получите очень большую погрешность.
а как быть с током? ток нужен вообще ппц
Шунт должен стоять в разрыве минусового провода рядом с батареей, а провод на аналоговый вход должен быть подключен к шунту со стороны противоположной от батареи.
рисунок можете нарисовать?) можно в пейнте ток подпишите)
Как то так:
На пине А0 измеряем напряжение питания, на А1 ток
датчик можно выбрать не только 712, но и 750, у них нужно смотреть макимальные токи.
UDP забыл питание на ACS нарисовать... но смысл должен быть понятен.
мне ток в основном 20-40А макс 50А мерять, напряжение 14-15В
UPD: по цене не очень 100р(шунт) против 450р(acs75x) и месяца ожиданий
мне ток в основном 20-40А макс 50А мерять, напряжение 14-15В
Есть датчики на 50А
UPD: по цене не очень 100р(шунт) против 450р(acs75x) и месяца ожиданий
В том то и дело, что если вешать шунт на минусовой провод и выводить его на А1, то при большом токе(50А) у вас упадет 75мВ (Если шунт такой же, как на схеме), но чем вы будите мерить такое напряжение?
Разрядность АЦП ардуины 10 бит. Следовательно при опорном напряжении в 5В имеем соотношение 1 отсчет = 5/1024=4,9 мВ. Таким образом если мерить токи 20 А, то получаем напряжение на шунте:
U = 0.075x20/50 = 30 мВ , а это примерно на АЦП будет 6. При токе 40 А имеем значение 12. Все это я говорю к тому, что вы при диапазоне 1024 отсчетов вы используете лишь маленький диапазон в 100 раз меньший. То есть на один отсчет у вас выходит ток примерно 3А
Дело можно улучшить если подать 3.3 В в качестве опорного, но в реальности это не сильно улучшит ситуацию.
Если ставить шунт с большим падением напряжения, то естественно это будет влиять на двигатель, да и греться он будет.
Чем хорош датчик тока, тем, что он развязан гальванически от силовой части и выдает на выходе весь диапазон (5В) при максимуме тока.
убедили) спасибо, за разъяснения!
возьму попробовать на 30А они на ебее по 100р стоят)
Дело можно улучшить если подать 3.3 В в качестве опорного, но в реальности это не сильно улучшит ситуацию.
1. Дело можно улучшить, сконфигурировав АЦП на работу от внутреннего источника опорного напряжения (1.1 В). "Улучшение" почти в 5 раз.
2. Дело можно улучшить, сконфигурировав АЦП на работу от внешнего источника опорного напряжения (вывод AREF) и подав на AREF, например, 0.1 В. "Улучшение" в 50 раз.
Работа АЦП с Vcc в качестве опорного напряжения есть "не догма, а руководство к действию"...
Дело можно улучшить если подать 3.3 В в качестве опорного, но в реальности это не сильно улучшит ситуацию.
2. Дело можно улучшить, сконфигурировав АЦП на работу от внешнего источника опорного напряжения (вывод AREF) и подав на AREF, например, 0.1 В. "Улучшение" в 50 раз.
1) При таком напряжении на шунте, помех не избежать.
2) городить источник опорного в 0.1 В, даже из самого простого стабилизатора и делителя - это минимум 3-5 деталей, которые стоят практически те-же деньги, что и ACS712.
3) Если уже все методы использовать, то можно было поставить усилитель сигнала. Только я просто предложил простое решение, а метод с шунтом (ИМХО) считаю не верным.
спасибо за помощь и рекомендацию
датчик можно выбрать не только 712, но и 750, у них нужно смотреть макимальные токи.
У меня датчик на acs712 "шумит" при отсутствии тока - на ноль так и не получается вывести...
У меня минимальный ток будет порядка 1А, надо будет только измерить минимальное, всё что ниже него и будет 0. Да и супер точных показаний мне не надо +- 0,5-1А устроит... Хотя если помехи больше 1-3А, то это уже не есть хорошо...
У меня минимальный ток будет порядка 1А, надо будет только измерить минимальное, всё что ниже него и будет 0. Да и супер точных показаний мне не надо +- 0,5-1А устроит... Хотя если помехи больше 1-3А, то это уже не есть хорошо...
А какой максимальный ток? На ибее есть готовые датчики на 5, 20 и 30 ампер. Вот 20 амперный у меня сейчас стоит, "шум" порядка 30 миллиампер, и "ноль", в зависимости от питания ардуины, сползает вверх-вниз на 50-60 миллиампер. 5 амперный должен быть поточнее: жду - он еще едет почтой.
я буду брать на 30А т.к. на 50А дороговато для тестов, если погрешности в миллиамперах, то вообще шикарно
я буду брать на 30А т.к. на 50А дороговато для тестов, если погрешности в миллиамперах, то вообще шикарно
Там контакты микросхемы очень хлипкие! Если надо реально 50 ампер мерять - я бы подумал о схеме с шунтом и 5 апмерным датчиком.
ну 100-200р для теста норм) там посмотрим)
датчик можно выбрать не только 712, но и 750, у них нужно смотреть макимальные токи.
У меня датчик на acs712 "шумит" при отсутствии тока - на ноль так и не получается вывести...
30 мА на каком датчике? Если на 30А датчике, то это 0,1% погрешности. Плюс ко всему АЦП у ардуины в младшем разряде гуляет, отсюда такая погрешность.
А может кто -нибудь привести пример кода работы с датчиком ACS712?
Как амперы померять? Вольты?
Так правильно?
А может кто -нибудь привести пример кода работы с датчиком ACS712? Как амперы померять? Вольты?
Теоретически... :) На практике я набираю пачку значений, выкидываю явно лишние и усредняю оставшееся... dac_div - коррекция АЦП, если текущее питание отличается от 5 вольт. Можно не заморачиваться и принять пока единицей... Но это только для постоянного тока, для переменного - все гораздо хитрее и надо делать среднеквадратичные выборки (http://arduino.ru/forum/proekty/upravlenie-obogrevom-komnaty-pri-pomoshc...).
может кто нибудь дать полный код для датчика ACS712 30A? 3й день мучаюсь... сил моих больше нет... либо ему почти пофиг на мотор, либо данные скачут от 0 до 1023 вне зависимости подключен датчик или нет... причем на 2х ардуинах одно и то же...
Код тут скорее всего не причем ищите проблему в железе. Не так или не туда подключаете, непропай, нет контакта и т.д.
подключаю по этой схеме ток без резистора(т.к. к контроллеру мотора) и без переключателя... ток у мя мега2560, 4 датчика на всех одно и то же
Вы хотя бы "ноль" (512 на АЦП) - должны были бы зафиксировать... У меня он на 517-518, но не суть.
думаете все 4 датчика брак\подделка? на ардуино не грешить(порт рабочий, дитчики проверял на 2х ардуинах)...
думаете все 4 датчика брак\подделка? на ардуино не грешить(порт рабочий, дитчики проверял на 2х ардуинах)...
Не знаю. У меня - работает. На пустом подключенном к 5 вольтам датчике можно просто тестором напряжение на выходе померять. Должно быть 1/2 от питания.
3 датчика из 4 скачут от 1 до 2 вольт при подключенном + и - замеряю между - и out один на 1,9 постоянно, походу фейл... я в печали мало того что пришли BTS555 тоже не рабочие еще и это...
3 датчика из 4 скачут от 1 до 2 вольт при подключенном + и - замеряю между - и out один на 1,9 постоянно, походу фейл... я в печали мало того что пришли BTS555 тоже не рабочие еще и это...
А что за выводы с пометками vref и gain? По даташиту acs712 нужно всего два конденсатора из обвязки. посмотрите схему в даташите и сравните с тем, что на вашем шилде. Может быть ваш шилд предполагает какое-то подключение к gain и vref
Обычный шилд(http://www.ebay.com/itm/130704794707?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649), из лишнего ток резистор с светодиодом.
Обычный шилд(130704794707, из лишнего ток резистор с светодиодом.
Я у этого продавца (czb6721960) много всякой мелочевки покупаю - явных подделок ни разу не было...
при ценах на эти чипы проще настоящий поставить чем пытаться подделывать. тогда смотрите на качество пайки, прозвоните соединения и сопротивления на плате на соотвествие даташиту. чудес не бывает - электроника наука о контактах и даташитах
ну если мотор то возникает предположение о помехах, пульсации тока там обычное дело. Так что проверь шилды на постоянном сопротивлении. Автомобильной лампочке например.
ну если мотор то возникает предположение о помехах, пульсации тока там обычное дело. Так что проверь шилды на постоянном сопротивлении. Автомобильной лампочке например.
кстати, я тут делал устройство с управлением шим мощного вентилятора - пока отлаживал схему на "кроликах" все работало, а как подключил боево вентилятор - МК стал зависать, дисплей нокиа 3310 стал высвечивать случайные точки. Стало ясно - сильное влияние помех. Решилось только после того, как я в цепь питания МК включил дроссель на 200мкгн. А ведь перед МК стоит и стабилизатор, танталовый конденсатор и керамический - не спасало.
при питании коллекторного мотора даже без шима могут быть сильные помехи, если ардуина питается от того же источника без развязки. насчет коллекторного не знаю, но стоит проверить версию с помехами
решал кто нибудь задачу измерения переменного тока этим датчиком acs712?
у него значения скачать в плюс и минус от VCC/2
как построить измерение, чтобы иметь переменный ток?
решал кто нибудь задачу измерения переменного тока этим датчиком acs712?
у него значения скачать в плюс и минус от VCC/2
как построить измерение, чтобы иметь переменный ток?
Судя по описаниям - вычисляется среднее квадратичное значение за время большее, чем период колебания переменного тока. Ссылки я где-то на форуме оставлял... Вот определить направление переменного тока с ним, похоже, не получится...
Судя по описаниям - вычисляется среднее квадратичное значение за время большее, чем период колебания переменного тока. Ссылки я где-то на форуме оставлял... Вот определить направление переменного тока с ним, похоже, не получится...
читал http://arduino.ru/forum/apparatnye-voprosy/datchik-toka-acs756-izmerenie...
но там обсуждение не завершено
мне не понятно как гарантировано делать усреднение за полный период колебаний в сети. читаю даташит чтобы понять сколько времени уходит на одну конвертацию, наверно надо делать обработчик прерываний по завершении конвертаций и дальше аккумулировать столько значений сколько покрывают полный период
используйте таймер... настроили на 10мс или 20мс...пока работает таймер оцифровываем сигнал и складываем в массив.... по отсечки времени вырубаем ацп, считаем всю математику. Если считаете среднее квадратическое значение, то начала запуска оцифровки нас особо не колышет.
главное чтобы как можо точнее в преиод измерений уложилось целое количество съемов с ацп(точнее результат будет)
из обсуждения я понял, что надо посчитать среднее значение за полные периоды и умножить на 0,707 - получу действующее значение тока
а что вы подразумеваете под среднеквадратичным?
нужно ли а массив складывать? если просто среднее счиатть - достаточно сложить в одну переменную поделив на кол-во измерений
да и сколько нужно измерений? 10? 100?
все зависит какой сигнал считываем... с датчика будет выходить синусоида... среднее значение переменного напряжения за период(например) будет 0 :)
т.е. надо схемку нормальную делать. В даташите есть пример для АЦП "App.4. Reciefid output". На выходе получиться DCout ~ ACin.
схему видел)) но я уже свою собрал, хочу решить программно
если считать среднее без учета знака то как раз и получим среднее значение на синусоиде, если правильно понимаю то умножив его на 0.707 получим действующее значение. Но в такой логике критично делать замер за полные периоды.
В даташите есть пример для АЦП "App.4. Rectified output". На выходе получится DCout ~ ACin.
Только непонятно - на чем будет разряжаться конденсатор интегрирующей цепочки, если все резисторы отрезаны от него диодом? Через сопротивление измерителя?
вообще то да... задолбается разряжаться кондер, у АВРа входное на АЦП поядка 100МОм
попробовал сделать так:
- настроил измерения по таймеру - каждое срабатывание таймера происходит измерение
- псевдокод такой:
CURRENT_MULT опеределен как = 5000 / 1024 / 0,185 - это преобразование значения полученного с аналогового входа в значение тока в мА. Я пока считаю среднее без умножения на 0.704 - это даст действующее значение вместо среднего
Подключаю нагрузку и ставклю точку остановки в adc_vector. Смотрю значение current - оно плавает от 700 до 1500 мА, мультиметр показывает примерно 1А. Что не так в логике? Я исхожу из того, что за 1000 измерений я усредняю полученное значение и так как у меня 1000 (много) измерений то нет необходимости начинать отсчет строго от начала синусоиды (от нуля)
adc_vector вызывается 5000 раз в секунду, т.е. 1000 измерений это 0,2 сек или 10 периодов синусоиды
пока писал вопрос осознал, что за 1000 измерений я на самом деле охватываю всего 10 периодов (казалось 1000 так много))). Увеличил до 10000 измерений, что соотвествует 2 секундам - в итоге стал получать стабильные показания - 50-60мА при отсутсвии нагрузки (соотвествует даташиту - до 21мВ шум или в пересчете до 0,11А)
при нагрузке в 1,1А по мультиметру получаю 980мА при измерении МК. Теперь не понимаю как мои 0,98А должны соотноситься с 1,1А?
та ето мусор при измерении в МК, небось аналоговое питание берется с цифрового
Я так понимаю ,что мы говорим об измерении переменного тока.
Не совсем понятно зачем вы оперируете со средними значениями. Вам нужны только максимальные значения. У меня ACS756 по 1-ware , делаю 50 замеров беру максимальное, преобразую ,иногда бывают ошибки (исключаю). Итог, получаю ток потребления. Там выше была ссылка на мои изыскания.
Я так понимаю ,что мы говорим об измерении переменного тока.
Не совсем понятно зачем вы оперируете со средними значениями. Вам нужны только максимальные значения. У меня ACS756 по 1-ware , делаю 50 замеров беру максимальное, преобразую ,иногда бывают ошибки (исключаю). Итог, получаю ток потребления. Там выше была ссылка на мои изыскания.
все верно - переменный ток.
потому считаю среднее, что хочется сделать все правильно)) действующее значение переменного тока величена интегральная - максимальными значениями можно "прикинуть" правильное значение, но усреднее должно дать более точный результат. Ваши опыты выше читал, но у вас есть ограничение - вы не можете делать так много измерений как делаю я из-за наличия 1-wire. У меня этого ограничения нет.
та ето мусор при измерении в МК, небось аналоговое питание берется с цифрового
шумит не только МК, но и acs712 - существенно - отклонение до +-0,11A
Я так понимаю ,что мы говорим об измерении переменного тока.
сам себя перечитал и задумался. Измеряя максимум вы определяете амплитуду (при этом фактически замеряете амплитуду одной волны, так как вторая волна дает минимум) тока, ампдитуда соотносится с действующим значением с коэффициентом 0.704, так?
я считаю среднее, но если уж и считать, то среднеквадратичное, тогда я сразу получу дейстующее значение. вроде должно быть так