波形发生器的原理与怎么调幅

右边两部分是三角波和锯齿波发生器的部分,想知道锯齿波发生器部分的工作原理,还有怎么调幅

img

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7643182
  • 这篇博客你也可以参考下:【虹科科普】信号发生器分类及任意波形发生器原理
  • 除此之外, 这篇博客: 运放方波发生器原理分析及实践过程中的 一个方波发生器 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述

    由上图可以看到,方波发生器由两个反馈网络组成:
    (1)同相输入端,R3,R5和输出端组成了正反馈网络。
    (2)反向输入端,C1,R2和输出端组成了负反馈网络。

    上电之时,U+ = U- = 0,此时输出端为零,当某一时刻,输出端产生了一个微小的电压跳变时,这个微小的电压将会在输入端引起压差,因为理想运放的放大倍数为无穷大,从而使得输出端电压饱和。

    如果假设U+ > U-,那么输出端就达到正向饱和,Uo = +Vcc,U+ = (R3xUo)/(R3+R5) = (R3xVcc)/(R3+R5),电容开始充电,当电容电压大于同相输入端电压时,U- > U+,Uo = -Vcc,U+ = (R3xUo)/(R3+R5) = -(R3xVcc)/(R3+R5),此时电容开始放电,由此往复,从而产生方波信号。

  • 您还可以看一下 黄鑫元老师的生成对抗网络案例实践课程中的 生成对抗网络介绍小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    锯齿波发生器的工作原理与调幅方法:

    锯齿波发生器采用了积分器电路实现,下面是一个基于运放的锯齿波发生器电路图:

    锯齿波发生器电路图

    具体工作过程如下:

    1. 输出电压Uo上升至正饱和,LM358A输出+15V,这时C1充电,电荷量增大,U-电压增大。
    2. 当U-o下降至负饱和,LM358A输出-15V,这时C1放电,U-电压下降。
    3. 当U-下降到约等于-0.6V时,D1、D2導通,电容C1开始充电。
    4. 当U-上升到0V时,D1、D2关断,电容C1电压趋近于0,这样就完成一次锯齿波发生,进而循环。

    为了调幅,我们可以在输入端(最上面的极点)加上一个调制信号,来控制输出波形的振幅。

    代码实现如下(以Arduino为例):

    const int outputPin = 9; // 锯齿波输出引脚
    const int modulationPin = A0; // 调制信号输入引脚
    const float vRef = 5.0; // 电压参考值(根据你使用的电源或稳压器设定)
    
    void setup() {
      pinMode(outputPin, OUTPUT); // 将输出引脚设为输出
    }
    
    void loop() {
      float modulation = analogRead(modulationPin) / 1023.0; // 读取模拟信号并将其转换为0-1之间的值
      float voltage = modulation * vRef; // 0-1之间的比例值转换为实际电压值(0-vRef之间
      int outputValue = voltage / vRef * 255; // 计算需要输出的PWM值(利用255个占空比级别)
      analogWrite(outputPin, outputValue); // 输出PWM信号
      delay(10); // 等待10ms,以便模拟较低频的信号
    }
    

    需要注意的是,这样的调幅方法并不是很精确,因为锯齿波形并不是一个理想的正弦波,而且调制信号的频率不能太高,否则将无法看到明显的效果。如果需要更高精度的调幅,可以考虑使用其他类型的波形发生器。