亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino Nano 实现 AM 调幅广播发射机

物料清单(极简版)

组件数量
Arduino Nano R3 (ATmega328P)1
10 kΩ 电阻2
10 µF 电解电容1
面包板 + 跳线1

核心原理:数字引脚如何产生 AM 信号?

ATmega 只有高/低电平,无法直接输出连续振幅。本项目采用 PWM 调制载波 思路:

  1. Timer2 产生方波载波(默认 600 kHz,可调 31 kHz – 8 MHz),输出于 D11 (PB3)
  2. Timer1 以 10-bit Fast PWM 模式生成音频包络,占空比由 ADC 实时采样的音频信号决定
  3. 载波仅在 PWM 高电平时输出(通过 DDRB 动态切换 D11 为输出/高阻),形成调幅波形
  4. 普通 AM 收音机的 LC 滤波器充当低通,还原音频
⚠️ 仅为原理验证,实际发射需在音频输入端加抗混叠低通、RF 输出端加谐波抑制低通,并遵守当地无线电管理法规。

关键寄存器配置速查

模块寄存器关键设置
载波 (Timer2)TCCR2A/B, OCR2ACTC 模式、无分频、OC2A 翻转输出
音频 PWM (Timer1)TCCR1A/B, OCR1A10-bit Fast PWM、无分频、溢出/比较中断
ADCADMUX, ADCSRA, DIDR0内部 1.1 V 基准、自由运行、18.5 kS/s、关数字输入

完整固件(含注释)

/* Arduino AM Transmitter - CC BY-SA 4.0 */
#define ANTENNA_PIN PB3   // D11

void setup() {
  Serial.begin(115200);

  // ---- 载波 600 kHz ----
  uint32_t fTransmit = 600;          // kHz
  DDRB |= (1 << ANTENNA_PIN);
  TCCR2A = (1 << COM2A0) | (1 << WGM21);   // CTC, Toggle OC2A
  TCCR2B = (1 << CS20);                    // No prescaler
  OCR2A = F_CPU / (2000 * fTransmit) - 1;
  Serial.print("Broadcast at "); Serial.print(F_CPU / (2 * (1 + OCR2A)) / 1000); Serial.println(" kHz");

  // ---- 音频 PWM (Timer1, 10-bit) ----
  TCCR1A = (1 << WGM11) | (1 << WGM10);
  TCCR1B = (1 << WGM12) | (1 << CS10);
  TIMSK1 = (1 << OCIE1A) | (1 << TOIE1);

  // ---- ADC 单通道自由运行 ----
  ADMUX  = (1 << REFS1) | (1 << REFS0);    // 1.1 V 内部基准
  ADCSRA = (1 << ADEN) | (1 << ADSC) | (1 << ADATE) | (1 << ADPS2) | (1 << ADPS1); // /64
  DIDR0  = (1 << ADC0D);                   // 关闭 A0 数字缓冲
}

ISR(TIMER1_OVF_vect) {          // PWM 周期开始:读取 ADC,置载波输出使能
  uint8_t adcl = ADCL, adch = ADCH;
  OCR1A = (adch << 8) | adcl;   // 更新占空比
  DDRB |= (1 << ANTENNA_PIN);   // 启用载波输出
}

ISR(TIMER1_COMPA_vect) {        // PWM 周期结束:禁用载波输出
  DDRB &= ~(1 << ANTENNA_PIN);
}

void loop() { }  // 所有工作在中断中完成

接线示意

Arduino Nano 实现 AM 调幅广播发射机

音频源(如手机耳机孔)经 10 kΩ 分压 → A0;D11 接 1 m 长导线作天线;收音机调至 600 kHz 即可收听。

进阶改进方向

制造工艺

  1. 经典点唱机的传承与演变
  2. 乐谱:从中世纪手稿到现代出版——行业全景
  3. 交通信号灯:工程原理、历史沿革与未来创新
  4. 自制LUMAZOID:基于Arduino的音乐可视化灯光控制器
  5. DIY 蓝牙控制 Arduino 间谍小车
  6. Arduino 解码遥控接收机 PPM 信号——分步指南
  7. FlickMote:基于手势的智能家居红外遥控器
  8. DIY Arduino TV-B-Gone:万能关机遥控器
  9. 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
  10. Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
  11. Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
  12. 热敏电阻测温轻松上手:Arduino 分步实战教程