Замерить напряжения на ШИМ порту с помощью аналогового порта.

valeriiv
Offline
Зарегистрирован: 20.07.2013

Здравствуйте! Возникла такая проблема: Не могу замерить напряжение на ШИМ. Значение часто скачит на 0.

Вот принятые значения с порта:

podacha 5 Zamer -> 0
podacha 10 Zamer -> 0
podacha 15 Zamer -> 0
podacha 20 Zamer -> 0
podacha 25 Zamer -> 0
podacha 30 Zamer -> 0
podacha 35 Zamer -> 0
podacha 40 Zamer -> 0
podacha 45 Zamer -> 0
podacha 50 Zamer -> 0
podacha 55 Zamer -> 0
podacha 60 Zamer -> 0
podacha 65 Zamer -> 0
podacha 70 Zamer -> 0
podacha 75 Zamer -> 0
podacha 80 Zamer -> 0
podacha 85 Zamer -> 0
podacha 90 Zamer -> 0
podacha 95 Zamer -> 0
podacha 100 Zamer -> 0
podacha 105 Zamer -> 0
podacha 110 Zamer -> 0
podacha 115 Zamer -> 0
podacha 120 Zamer -> 0
podacha 125 Zamer -> 0
podacha 130 Zamer -> 0
podacha 135 Zamer -> 990
podacha 140 Zamer -> 989
podacha 145 Zamer -> 990
podacha 150 Zamer -> 990
podacha 155 Zamer -> 0
podacha 160 Zamer -> 0
podacha 165 Zamer -> 0
podacha 170 Zamer -> 0
podacha 175 Zamer -> 990
podacha 180 Zamer -> 989
podacha 185 Zamer -> 990
podacha 190 Zamer -> 991
podacha 195 Zamer -> 989
podacha 200 Zamer -> 0
podacha 205 Zamer -> 0
podacha 210 Zamer -> 990
podacha 215 Zamer -> 990
podacha 220 Zamer -> 990

Вот код:


int zamer = 0; // Порт А0 с которого замеряю напряжение
int led = 4; // ШИМ 
int curvolt = 0;
void setup()
{
 Serial.begin(9600);
 pinMode(led, OUTPUT);
  
}

void loop()
{
  curvolt = curvolt + 5;
 if (curvolt >=225) 
 {
 delay(10000);
 curvolt = 0;
 }
 analogWrite(led, curvolt);

 zamer = analogRead(A0);


 Serial.print("podacha ");
 Serial.print(curvolt);
 Serial.print(" ");
 Serial.print("Zamer -> ");
 Serial.println(zamer);
 delay(50);

}

 

tpg_k156
Offline
Зарегистрирован: 03.10.2012

Ну как бы вам сказать:) это будет сделать достаточно проблематично, темболее на ардуинке. Во первых это торможение во время считывания показания с порта, analogread достаточно тормознутая по времени исполнения, это следует иметь в виду если у вас будет достаточно часто меняться скважность ШИМ. Далее вам как минимум надо поставить конденсатор и нагрузку по выходу:) ведь у вас то +5 то 0 вольт. Вы будете получать чтением с порта то 0 то 1000(примерно). Нагрузка нужна зачем тебе я смысла не вижу обЪяснять подаван.

maksim
Offline
Зарегистрирован: 12.02.2012

valeriiv пишет:

Не могу замерить напряжение на ШИМ. Значение часто скачит на 0.

А вы вкурсе что такое ШИМ ?

com
Offline
Зарегистрирован: 06.09.2013

valeriiv пишет:

Не могу замерить напряжение на ШИМ. Значение часто скачит на 0.

так радоваться надо, значит шим работает! :)

 

Клапауций
Offline
Зарегистрирован: 10.02.2013

com пишет:

так радоваться надо, значит шим работает! :)

можно измерять когда не равно нулю.

com
Offline
Зарегистрирован: 06.09.2013

Клапауций пишет:

можно измерять когда не равно нулю.

измерение когда не равно нулю ничем не лучше измерения когда равно нулю, разве нет?

Клапауций
Offline
Зарегистрирован: 10.02.2013

com пишет:

измерение когда не равно нулю ничем не лучше измерения когда равно нулю, разве нет?

техзадание было - что бы не скакало в ноль, поэтому ноль отбрасываем программно

не знаю, зачем, но если нужно, то нужно

valeriiv
Offline
Зарегистрирован: 20.07.2013

Ну для меня главное замерить напряжение на шим)

maksim
Offline
Зарегистрирован: 12.02.2012

Так вы замерили.

valeriiv
Offline
Зарегистрирован: 20.07.2013

т.е напряжение подается разное, а с аналогового порта считываются те же самые значения. 

maksim
Offline
Зарегистрирован: 12.02.2012

valeriiv пишет:

т.е напряжение подается разное

Нет. Напряжение подается одно и то же - напряжение питания (5 вольт).

valeriiv пишет:

, а с аналогового порта считываются те же самые значения. 

Да.

maksim
Offline
Зарегистрирован: 12.02.2012

Возвращаемся к вопросу #2, гугл у вас работает? Погуглите что такое ШИМ.

Клапауций
Offline
Зарегистрирован: 10.02.2013

valeriiv пишет:

т.е напряжение подается разное, а с аналогового порта считываются те же самые значения. 

вот картинко, что выдаёт нога шима - где тут разное напряжение, кроме двух крайних?

xstramento
Offline
Зарегистрирован: 19.10.2013

Клапауций пишет:
valeriiv пишет:
т.е напряжение подается разное, а с аналогового порта считываются те же самые значения.
вот картинко, что выдаёт нога шима - где тут разное напряжение, кроме двух крайних?

есть  предположения, ТС пытается построить ЦАМ из ШИМ  и измерить действующее напряжение, или  измерить мгновненные значения ради изучения крутизны фронтов импульсов :-)

valeriiv
Offline
Зарегистрирован: 20.07.2013

Спасибо всем за ответы)

Погуглил) думаю что  R 2R ЦАП поможет. Либо фильтр для ШИМ расчитывать? Главное для меня, чтоб с ардуино можно было изменять напряжение на выходе 0.00...5.00

denis64
Offline
Зарегистрирован: 07.10.2013

что бы измерить напряжение на шим нужно измерять не напряжение а время, потом уже вычислять среднее

 

Клапауций
Offline
Зарегистрирован: 10.02.2013

зачем мерить результирующее напряжение шима, если его можно вычислить?

Probelzaelo
Offline
Зарегистрирован: 15.04.2011

Клапауций пишет:
зачем мерить результирующее напряжение шима, если его можно вычислить?

дак, это, а что разве нельзя его тупо прочитать из правильного регистра?

Возможно у аффтора задача, "измерять" значение скважности совсем другого устройства?

Тогда аж два варианта, либо засекать реальные период и скважность импульсов в идеале с помощью аппаратного прерывания. Либо второй вариант конвертить ШИМ в аналоговое значение и его уже усреднять  RC цепью и замерять полученное аналоговое значение с помощью АЦП...

Клапауций
Offline
Зарегистрирован: 10.02.2013

Probelzaelo пишет:

дак, это, а что разве нельзя его тупо прочитать из правильного регистра?

если мы знаем значение шима, то смысл что-то откуда-то читать, измерять - можно просто умножить на 4

com
Offline
Зарегистрирован: 06.09.2013

Клапауций пишет:

если мы знаем значение шима, то смысл что-то откуда-то читать, измерять

...

это неспортивно

Probelzaelo
Offline
Зарегистрирован: 15.04.2011

Клапауций пишет:

Probelzaelo пишет:

дак, это, а что разве нельзя его тупо прочитать из правильного регистра?

если мы знаем значение шима, то смысл что-то откуда-то читать, измерять - можно просто умножить на 4

Я примерно об этом же. и можно даже не умножать, потому что а зачем?

Клапауций
Offline
Зарегистрирован: 10.02.2013

Probelzaelo]</p> <p>[quote=Клапауций пишет:

потому что а зачем?

типо превратить дуино в программируемый калькулятор - красиво

Probelzaelo
Offline
Зарегистрирован: 15.04.2011

Клапауций]</p> <p>[quote=Probelzaelo пишет:

Клапауций пишет:

потому что а зачем?

типо превратить дуино в программируемый калькулятор - красиво

А что, это тема ... "и корни извлекаете по десять раз на дню."(С)