使用Arduino构建共射极放大器 | AI生成和翻译

Home 2025.03

使用 Arduino 构建共发射极(CE)放大器是个有趣的项目,但需要明确各自的作用:Arduino 本身并不充当放大器(它是数字微控制器),但可以作为使用双极结型晶体管(BJT)构建的 CE 放大器电路的信号源或测量工具。CE 放大器是经典的模拟电路,使用 NPN 或 PNP 晶体管放大微小输入信号,提供适中的电压增益和电流增益。

下面我将指导您设计一个基于 NPN 晶体管的 CE 放大器,使用 Arduino 生成输入信号(通过 PWM)并测量输出。这种设置将演示放大效果,同时利用 Arduino 的功能。


共发射极放大器概述


步骤 1:设计电路

所需组件

电路原理图

Vcc (5V) ---- R1 ----+---- RC ---- 集电极 (C)
             47kΩ     |     1kΩ          |
                      |                  |
基极 (B) --- C1 -----+                  |
            10µF     |                  |
Arduino PWM (引脚 9)  R2                 |
                     10kΩ              输出 --- C2 ---- 连接至 Arduino A0
                      |                  |         10µF
                      |                  |
                      +---- RE ---- 发射极 (E) --- CE (可选) --- GND
                           220Ω                   100µF
                      |
                     GND

工作点


步骤 2:使用 Arduino 作为信号源

Arduino 的作用

生成信号的代码

const int pwmPin = 9; // PWM 输出引脚

void setup() {
  pinMode(pwmPin, OUTPUT);
  // 设置 PWM 频率(可选,默认约为 490 Hz)
}

void loop() {
  // 使用 PWM 模拟正弦波(范围 0-255)
  for (int i = 0; i < 360; i += 10) {
    float sineValue = sin(radians(i)); // 正弦波范围 -1 到 1
    int pwmValue = 127 + 127 * sineValue; // 缩放到 0-255
    analogWrite(pwmPin, pwmValue);
    delay(10); // 调整频率(例如,此处约为 100 Hz)
  }
}

可选滤波器

在引脚 9 和 GND 之间串联一个 1kΩ 电阻和一个 0.1µF 电容器,在 C1 之前提取信号,以将 PWM 平滑为粗略的正弦波。


步骤 3:测量输出

Arduino 测量

测量和显示的代码

const int inputPin = A0; // 在此处测量输出

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(inputPin); // 0-1023 映射到 0-5V
  float voltage = sensorValue * (5.0 / 1023.0);
  Serial.print("输出电压 (V): ");
  Serial.println(voltage);
  delay(100); // 调整采样率
}

预期增益


步骤 4:搭建和测试

组装

  1. 按照原理图在面包板上连接电路。
  2. 将信号生成代码上传到 Arduino,并将引脚 9 连接到 C1。
  3. 通过 Arduino 的 5V 为电路供电(或使用 9V 电源并调整电阻)。
  4. 上传测量代码并打开串行监视器(波特率 9600)。

验证


提示和故障排除

这种设置演示了 CE 放大器的核心行为——电压放大——同时集成 Arduino 进行信号生成和分析。想要调整增益、添加扬声器播放音频或优化信号吗?请告诉我!


Back Donate