第二十六课--Microduino与运算放大器--差分比例运算/zh

来自Microduino Wikipedia
Pkj讨论 | 贡献2014年8月14日 (四) 12:56的版本
跳转至: 导航搜索

Microduino与运算放大器—差分比例运算

目的

本教程提供了运算放大器的基础知识,该示例为差分比例运算电路。通过更改输入电压,观察输出结果,理解差分比例运算电路的使用方法。

设备

Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。

下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。

  • 其他硬件设备
相关硬件 数量 功能
LM358 1个 常用双路运算放大器,可方便实现数学运算电路。
30K电阻 2个 用于差分比例运算。
3K电阻 2个 用于差分比例运算。
可调直流电源 1个 通过调节旋钮,可以改变直流输出电压。本示例采用的是0-60V可调直流电源。调试时未超过36V安全电压。
USB数据连接线 1条 连通Microduino模块与计算机。
面包板 1块 各个元器件汇聚于此。
面包板跳线 1盒 电气连接线。

可调直流电源

直流可调电源在我们实验时会经常用到。通过调节电位器旋钮,输出电压值会随着旋钮的调节而改变,输出电压值会显示在LED显示屏上(也有指针指示的)。可调直流电源允许输出的最高电压值与电流值依需求而定。 常见的可调直流电源分两种,一种是开关电源形式,输出效率高,但是输出会有些毛刺。一种是线性调整管形式,输出纹波系数好,效率相比开关电源形式低,线性调整管形式的可调直流电源外观最明显的地方 是电源的散热片上会有金属封装的调整管(一般为铁封的三极管)。该示例采用的是输出0-60V可调的直流电源,电流最高输出20A,开关电源形式。

可调直流电源实物.jpg

实验原理图

Diff358Protel.jpg

如果需要测量一个24V左右蓄电池的电压,然后由Microduino输出该电压值,你会怎么试验?最先想到的可能是通过电阻分压的方法,把24V电压降低为原来的十分之一,2.4V电压再由Microduino的模拟口识别。 通过电阻分压的这种方法是可行的。电阻分压的这种方式被测量的电压负极端需要和Microduino的GND连接在一起。 本示例通过LM358差分比例运算电路也可以实现测量24V电压值,并且蓄电池的负极端没有 和Microduino的GND连接在一起。该示例中Vout=Vin*(R2/R1),前提是R1=R3,R2=R4。如果R1=R3=3M,R2=R4=30K该电路还可以测试相对更高电压,笔者曾用该参数测试过400V的直流电压 (备注:3M的电阻由1M与2M的电阻串联而得,1M与2M的电阻功率均为1/4W)。测试高电压时需注意安全。

程序

///A0  connect  amp358  output
int  anaValueAmp;  //amp  value   map(0--1023)
float anaVoltageAmp;  //amp  output  voltage
void  setup()
{
  Serial.begin(9600);
}
void loop()
{
  anaValueAmp=analogRead(A0);
  anaVoltageAmp=anaValueAmp/1023.0*5;
  Serial.print("Amp358  output  voltage  is  ");
  Serial.print(anaVoltageAmp);
  Serial.println("V");
  delay(1000);
  Serial.print("The actual voltage  is  ");
  Serial.print(anaVoltageAmp*10);
  Serial.println("V");
  delay(1000);
}

调试

差分比例运算实物.jpg
  • 参考上图用导线连接完毕并确认无误。
  • 把程序复制到arduinoIDE中。
  • 编译程序,选择正确的板卡与相应串口。
  • 点击Upload,下载完毕后打开arduinoIDE自带的串口监视器,观察结果。
DiffComOutput.jpg
  • 调节直流可调电源,可观察到串口监视器输出电压值的变化。上图为输入12V(电源LED显示值)与24V(电源LED显示值)时串口监视器的实际输出值。

结果

按照原理图连接好电路。程序下载后,可在arduinoIDE自带的串口监视器中观察输出电压。分析串口监视器输出数据,可以看出该差分比例运算电路可以测量输入电压值。 串口实际输出电压与输入有些误差, Microduino的5V端实际电压值略低于5V,而程序中有anaVoltageAmp=anaValueAmp/1023.0*5;语句。如果把Microduino的3V3端接入模拟量参考输入REF端,然后修改程序,会减小该误差。

视频