“第二十六课--Microduino与运算放大器--差分比例运算/zh”的版本间的差异
(Created page with "Microduino与运算放大器—差分比例运算 {| style="width: 800px;" |- | ==目的== 本教程提供了运算放大器的基础知识,该示例为差分比例运算电...") |
(没有差异)
|
2014年8月13日 (三) 17:16的版本
Microduino与运算放大器—差分比例运算
目的本教程提供了运算放大器的基础知识,该示例为差分比例运算电路。通过更改输入电压,观察输出结果,理解差分比例运算电路的使用方法。 设备Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。
可调直流电源直流可调电源在我们实验时会经常用到。通过调节电位器旋钮,输出电压值会随着旋钮的调节而改变,输出电压值会显示在LED显示屏上(也有指针指示的)。可调直流电源允许输出的最高电压值与电流值依需求而定。 常见的可调直流电源分两种,一种是开关电源形式,输出效率高,但是输出会有些毛刺。一种是线性调整管形式,输出纹波系数好,效率相比开关电源形式低,线性调整管形式的可调直流电源外观最明显的地方 是电源的散热片上会有金属封装的调整管(一般为铁封的三极管)。该示例采用的是输出0-60V可调的直流电源,电流最高输出20A,开关电源形式。 实验原理图如果需要测量一个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);
}
调试
结果按照原理图连接好电路。程序下载后,可在arduino IDE自带的串口监视器中观察输出电压。分析串口监视器输出数据,可以看出该差分比例运算电路可以测量输入电压值。 串口实际输出电压与输入有些误差, Microduino的5V端实际电压值略低于5V,而程序中有anaVoltageAmp=anaValueAmp/1023.0*5;语句。如果把Microduino的3V3端接入 VREF,然后修改程序,会减小该误差。 视频 |