Фронты валятся

Tiny412

Почему фронты имеют такой вид при выводе в Serial?

А при отключении вывода в Serial (закомментить предпоследнюю строку) нормальный вид.

uint32_t tmr;
uint8_t less;
uint16_t val;
void setup() {
  Serial.begin (115200);
    pinMode(PIN_PA2, OUTPUT);
}
  
void loop(){ 
if (millis()-tmr>=1000){
val = analogRead(PIN_PA3);
val = map(val, 0, 1023, 0, 255);
tmr=millis();
}
if(less==0) {digitalWrite (PIN_PA2,1);}
if(less>=val){digitalWrite (PIN_PA2,0);}
less++;
Serial.println("Ыповлор");
 }

У Вас верхняя картинка с квадратиком в 100мс, а нижняя - 5. При этом говорит про почти одинаковую частоту. Странно.

А так … никуда они не валятся, это так показывает. Переключите в DC и увидите, что они ровные.

При выводе в сериал, у вас частота уменьшается в 20 раз. За счёт добавления к длительности периода времени вывода в сериал. Сделайте одинаковую временную развёртку, и сравните.

2 лайка

Потому, что измеряете на разной частоте при закрытом входе, который по определению является ФВЧ.
Вообще, по виду осциллограммы можно много сказать об исследуемой цепи:


Ваш случай г) и ж) - срезаны низкие частоты.
Еще:
б) и в) - срезаны высокие частоты,
д) и з) - узкий частотный диапазон (режутся и те и другие),
и) - склонность к самовозбуждению (на АЧХ присутствует резонансный пик).

1 лайк