На самом деле, я на той самой инвалидной схеме получил достаточно стабильный результат. Единственное, в случае появления нагрузки, скетч пишет на флешку не постоянный "0", а 0-1-0-1-0-1.....
Но это можно програмно исправить, я думаю.
А так как результат я хочу загнать в Exel, то банальным умножением каждого соседнего нуля на соседнюю единичку даст ноль. Что и требовалось получить!
Вот только вопрос, проглотит ли Exel такую длинную цемочку цифр (1 час с дискретностью 0,01с)? Или файл bin можно скормить какой нибудь другой программе, что бы потом получить, к примеру, график?
Иду далее. Если параллельно диоду VD1 запаять резистор номиналом 300 кОм, а уменьшая номинал резистора R1 добиться амплитуды выходного напряжения трансформатора не более 0,5 В, то можно убрать диоды (хотя они и так для "на всякий случай"). Видимо понадобится немного подкорректировать и скетч.
Все понятно, кроме одного: как RMS и ввод через компаратор?
Квадраты с коренями считать на С как раз проще - http://arduino.ru/Reference/Sqrt в общем все что надо знать о этом. Единственное добавлю что корень - не быстро. Но его по алгоритму и не часто. Квадраты от целых для каждого отсчета не проблема. По времени ассемблер не выиграет в общем.
Только надо и отрицательную полуволну для RMS вводить, а это проблемно.
Это не "сферический конь в вакууме", это схема реально работающего у меня узла, заменившего померший, из промышленного пылесоса.
Напряжение на входе Дуни только положительной полярности и не больше 2 вольт и то чисто теоретически, в реальности на днях попробовал, при нагрузке 5,5 кило(большей просто побоялся спалить проводку) на входе дуни было примерно1,81V
Теперь по программе - для определения, какую именно нагрузку считать "включением " мы можем варьировать значение, с которым сравниваем возвращенное значение analogRead..
Если превышен указанный порог, в течении определенного отрезка времени (к примеру 100mS) - считаем, что нагрузка включена. Вообще пульсации на аналоговом входе Дуни незначительные имеются, но на реальную работу влияния не оказывают совершенно, на практике их можно считать нулевыми.
Возможно, что под задачи ТС придется поменять значения резисторов 1 и 2.. или емкость конденсатора.
Что даст иные значения времени заряда-разряда.
Можно увеличить количество диодов, тем самым увеличив разрешающую способность по нагрузкам.
Вполне рабочая схема, хотя я бы увеличил номиналы резисторов, уменьшил ёмкость конденсатора, а вместо диодов (трёх) поставил светодиод (пусть ёщё и визуально светит). А мост при желании можно заменить одним диодом.
Можно.. но номиналы резисторов и конденсатора подбирались не с потолка, а при настройке, для максимально четкого срабатывания именно на моем устр-ве, и для него они оптимальны. Для другого возможно и есть смысл поменять, я об этом написал.
Я рассматривал изначально как раз вариант со светодиодом, но решил остановиться именно на описанном мною варианте. Кроме штатных режимов в реальной жизни еще и аварийные встречаются, например КЗ в нагрузке, замыкание проводки, долбJOBы-гастарбайтеры из дружеского Узбекистана включили в розетку пылесоса сварочный аппарат (они и не такое могут) и т.п.
Пока защитный автомат в щите сработает, может и нормально так времени пройти, на монтажах иногда от довольно дрянной сети питаться приходится.. Не везде в щитках стоят изделия от Siemens, Legrand и ABB.
Да и предохранитель на силовой части тоже имеет определенное время срабатывания, которого Дуне может "хватить".
А надежность защиты из трех диодов при превышении расчетных токов нагрузки, на порядки выше светодиода, номинальные токи несопоставимо больше.
Да и индицировать мне там особо нечего.. Не заметить включившуюся 1800W турбину у пылесоса, это надо быть кардинально глухим.
Поменять мост на диод можно, не спорю, но такая экономия целесообразна при производстве, у ТС единичная конструкция, он сам об этом писал.
Мост же дает использование обоих полупериодов - значительно меньшие пульсации, отсутствие отрицательных напряжений(как следствие нет необходимости что то с ними делать) а стоит он не сильно больше диодов..
Так что не вижу большой целесообразности в предложенных заменах, хотя конечно они вполне возможны..
Ой, мне всего так много не надо... Мне бы "с голоду не умереть". )))))
Спасибо за ответы, в любом случае!
На самом деле, я на той самой инвалидной схеме получил достаточно стабильный результат. Единственное, в случае появления нагрузки, скетч пишет на флешку не постоянный "0", а 0-1-0-1-0-1.....
Но это можно програмно исправить, я думаю.
А так как результат я хочу загнать в Exel, то банальным умножением каждого соседнего нуля на соседнюю единичку даст ноль. Что и требовалось получить!
Вот только вопрос, проглотит ли Exel такую длинную цемочку цифр (1 час с дискретностью 0,01с)? Или файл bin можно скормить какой нибудь другой программе, что бы потом получить, к примеру, график?
Вот результат:
С
Он смотрите, http://arduino.ru/forum/programmirovanie/rabota-s-datchikom-gaza-mq135#comment-199618 я играюсь в екселе. По оси Х количество отсчетов, он проглатывает очень много. Сейчас сунул ему 230000 отсчетов - нормально, но графики только до 32000 строит..
01
/* Применяется Ардуино Nano v3.0. Микроконтроллер ATmega328P.
02
На вывод PD7 (ANI1) подаётся сигнал от трансформатора тока Т1 через ограничительный
03
резистор R2. Изменяя сопротивление резистора R1 можно в некоторых пределах менять
04
выходное напряжение трансформатора тока.
05
Программа опрашивает флаг прерывания ACI встроенного компаратора и выводит в СОМ
06
порт сообщение "1", если уровень напряжения на выводе D7 (ANI1) превысил внутреннее
07
опорное напряжение - BANDGAP REFERENCE (1,1 В), что установило флаг прерывания ACI.
08
*/
09
10
void
setup
() {
11
12
pinMode(13, OUTPUT);
13
Serial
.begin(9600);
14
ACSR = (0<<ACD)|(1<<ACBG)|(0<<ACIE)|(0<<ACIC)|(1<<ACIS1)|(0<<ACIS0);
15
}
16
17
void
loop
() {
18
19
if
(bitRead(ACSR, ACI) == 0){
// если входного сигнала нет:
20
digitalWrite(13, LOW);
21
Serial
.println(
"0"
);
22
}
23
else
{
// если входной сигнал есть:
24
digitalWrite(13, HIGH);
25
Serial
.println(
"1"
);
26
bitSet(ACSR, ACI);
// сбросить бит ACI - подготовиться к новой полуволне
27
}
// входного сигнала
28
delay(200);
29
}
Иду далее. Если параллельно диоду VD1 запаять резистор номиналом 300 кОм, а уменьшая номинал резистора R1 добиться амплитуды выходного напряжения трансформатора не более 0,5 В, то можно убрать диоды (хотя они и так для "на всякий случай"). Видимо понадобится немного подкорректировать и скетч.
Все понятно, кроме одного: как RMS и ввод через компаратор?
Квадраты с коренями считать на С как раз проще - http://arduino.ru/Reference/Sqrt в общем все что надо знать о этом. Единственное добавлю что корень - не быстро. Но его по алгоритму и не часто. Квадраты от целых для каждого отсчета не проблема. По времени ассемблер не выиграет в общем.
Только надо и отрицательную полуволну для RMS вводить, а это проблемно.
В этом примере не про RMS, здесь только по теме топикстартера. Несостоявшийся RMS просто дал спортивной злости.
Я не понял , нарисуйте.
Без проблем, вот ссылка:
https://drive.google.com/file/d/0B3qaIWFt8vJsdEV1Yk03R3JGa3c/view?usp=sharing
картинкой оно не показалось тут почему то.
Это не "сферический конь в вакууме", это схема реально работающего у меня узла, заменившего померший, из промышленного пылесоса.
Напряжение на входе Дуни только положительной полярности и не больше 2 вольт и то чисто теоретически, в реальности на днях попробовал, при нагрузке 5,5 кило(большей просто побоялся спалить проводку) на входе дуни было примерно1,81V
Теперь по программе - для определения, какую именно нагрузку считать "включением " мы можем варьировать значение, с которым сравниваем возвращенное значение analogRead..
Если превышен указанный порог, в течении определенного отрезка времени (к примеру 100mS) - считаем, что нагрузка включена. Вообще пульсации на аналоговом входе Дуни незначительные имеются, но на реальную работу влияния не оказывают совершенно, на практике их можно считать нулевыми.
Возможно, что под задачи ТС придется поменять значения резисторов 1 и 2.. или емкость конденсатора.
Что даст иные значения времени заряда-разряда.
Можно увеличить количество диодов, тем самым увеличив разрешающую способность по нагрузкам.
Только врядли это потребуется...
Ну а больше там менять особенно нечего..
Вполне рабочая схема, хотя я бы увеличил номиналы резисторов, уменьшил ёмкость конденсатора, а вместо диодов (трёх) поставил светодиод (пусть ёщё и визуально светит). А мост при желании можно заменить одним диодом.
Можно.. но номиналы резисторов и конденсатора подбирались не с потолка, а при настройке, для максимально четкого срабатывания именно на моем устр-ве, и для него они оптимальны. Для другого возможно и есть смысл поменять, я об этом написал.
Я рассматривал изначально как раз вариант со светодиодом, но решил остановиться именно на описанном мною варианте. Кроме штатных режимов в реальной жизни еще и аварийные встречаются, например КЗ в нагрузке, замыкание проводки, долбJOBы-гастарбайтеры из дружеского Узбекистана включили в розетку пылесоса сварочный аппарат (они и не такое могут) и т.п.
Пока защитный автомат в щите сработает, может и нормально так времени пройти, на монтажах иногда от довольно дрянной сети питаться приходится.. Не везде в щитках стоят изделия от Siemens, Legrand и ABB.
Да и предохранитель на силовой части тоже имеет определенное время срабатывания, которого Дуне может "хватить".
А надежность защиты из трех диодов при превышении расчетных токов нагрузки, на порядки выше светодиода, номинальные токи несопоставимо больше.
Да и индицировать мне там особо нечего.. Не заметить включившуюся 1800W турбину у пылесоса, это надо быть кардинально глухим.
Поменять мост на диод можно, не спорю, но такая экономия целесообразна при производстве, у ТС единичная конструкция, он сам об этом писал.
Мост же дает использование обоих полупериодов - значительно меньшие пульсации, отсутствие отрицательных напряжений(как следствие нет необходимости что то с ними делать) а стоит он не сильно больше диодов..
Так что не вижу большой целесообразности в предложенных заменах, хотя конечно они вполне возможны..
Да я и не предлагаю заменять. Работает надёжно - и ладно. Это я для топикстартера больше стараюсь, пусть имеет выбор.
Тогда да, логично...
Хотя, как показала история с сельсином, не всегда богатый выбор,это хорошо)))