用Arduino&phyphox观察信号发生器(二)

用Arduino&phyphox观察信号发生器(二)

前面用R-2R搭了简单的信号发生器,arduino代码里通过读取电位器上送给A0的电压值来控制和调节信号波形的频率,即通过delay cycle个微秒。

for (int i = 0; i < 255; i++)
  {
    PORTD = wavedigital[i];
    //波形周期
    delayMicroseconds(cycle);
  }

但这样从代码里推算交流信号的周期肯定不会绝对准确。总之是大致的数值。

一次估测是在proteus里面进行的,每赋一个cycle,用频率计测量一次,再与理论计算值对照。数值:

在Excel里绘图对比,基本没有差别。

但这好象没有什么意义,真实测量和这根本没什么联系似的。实测cycle为100时,频率是2HZ!而如果按上述估测,频率应该是40Hz左右。

实际接线:

在phyphox里面测量一下波形,使用的测量工具就是以前用ADS1115结合ESP32编写的蓝牙数字电压表。电压实际的数据不用看它,已经不准确了,因为以前用它修改过电压的叠加,也就是加法运算器,所以数据不用看,完全不准。

正弦波形:

方波:

锯齿波:

波形都不太准,失真严重。这很可能与ESP32&ADS1115&phyphox&蓝牙有关,有专门的示波器,波形不可能是这样子的。相信问题不在波形产生侧,而在测量一侧。

(0)

相关推荐