“第二十六课--Microduino与运算放大器--差分比例运算/zh”的版本间的差异
(Created page with "Microduino与运算放大器—差分比例运算 {| style="width: 800px;" |- | ==目的== 本教程提供了运算放大器的基础知识,该示例为差分比例运算电...") |
(→设备) |
||
(未显示1个用户的8个中间版本) | |||
第1行: | 第1行: | ||
+ | {{Language|Lesson_26--Microduino & Operational Amplifier--Differential Ratio Operation}} | ||
Microduino与运算放大器—差分比例运算 | Microduino与运算放大器—差分比例运算 | ||
{| style="width: 800px;" | {| style="width: 800px;" | ||
第6行: | 第7行: | ||
本教程提供了运算放大器的基础知识,该示例为差分比例运算电路。通过更改输入电压,观察输出结果,理解差分比例运算电路的使用方法。 | 本教程提供了运算放大器的基础知识,该示例为差分比例运算电路。通过更改输入电压,观察输出结果,理解差分比例运算电路的使用方法。 | ||
==设备== | ==设备== | ||
− | *'''[[Microduino-Core]]''' | + | *'''[[Microduino-Core/zh]]''' |
Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 | Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 | ||
− | *'''[[Microduino-USBTTL]]''' | + | *'''[[Microduino-USBTTL/zh]]''' |
下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。 | 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。 | ||
第17行: | 第18行: | ||
|相关硬件||数量||功能 | |相关硬件||数量||功能 | ||
|- | |- | ||
− | |LM358|| | + | |LM358||1个||常用双路运算放大器,可方便实现数学运算电路。 |
|- | |- | ||
|30K电阻 ||2个||用于差分比例运算。 | |30K电阻 ||2个||用于差分比例运算。 | ||
第23行: | 第24行: | ||
|3K电阻||2个||用于差分比例运算。 | |3K电阻||2个||用于差分比例运算。 | ||
|- | |- | ||
− | |可调直流电源 ||1个||通过调节旋钮,可以改变直流输出电压。本示例采用的是0- | + | |可调直流电源 ||1个||通过调节旋钮,可以改变直流输出电压。本示例采用的是0-60V可调直流电源。调试时未超过36V安全电压。 |
|- | |- | ||
|USB数据连接线 ||1条||连通Microduino模块与计算机。 | |USB数据连接线 ||1条||连通Microduino模块与计算机。 | ||
第41行: | 第42行: | ||
[[File: diff358Protel.jpg|600px|center|thumb]] | [[File: diff358Protel.jpg|600px|center|thumb]] | ||
[[File: diff358Fritz.jpg|600px|center|thumb]] | [[File: diff358Fritz.jpg|600px|center|thumb]] | ||
− | + | 如果需要测量一个24V左右蓄电池的电压,然后由Microduino输出该电压值,你会怎么试验?最先想到的可能是通过电阻分压的方法,把24V电压降低为原来的十分之一,2.4V电压再由Microduino的模拟口识别。 | |
− | |||
通过电阻分压的这种方法是可行的。电阻分压的这种方式被测量的电压负极端需要和Microduino的GND连接在一起。 | 通过电阻分压的这种方法是可行的。电阻分压的这种方式被测量的电压负极端需要和Microduino的GND连接在一起。 | ||
本示例通过LM358差分比例运算电路也可以实现测量24V电压值,并且蓄电池的负极端没有 | 本示例通过LM358差分比例运算电路也可以实现测量24V电压值,并且蓄电池的负极端没有 | ||
和Microduino的GND连接在一起。该示例中Vout=Vin*(R2/R1),前提是R1=R3,R2=R4。如果R1=R3=3M,R2=R4=30K该电路还可以测试相对更高电压,笔者曾用该参数测试过400V的直流电压 | 和Microduino的GND连接在一起。该示例中Vout=Vin*(R2/R1),前提是R1=R3,R2=R4。如果R1=R3=3M,R2=R4=30K该电路还可以测试相对更高电压,笔者曾用该参数测试过400V的直流电压 | ||
(备注:3M的电阻由1M与2M的电阻串联而得,1M与2M的电阻功率均为1/4W)。测试高电压时需注意安全。 | (备注:3M的电阻由1M与2M的电阻串联而得,1M与2M的电阻功率均为1/4W)。测试高电压时需注意安全。 | ||
+ | |||
==程序== | ==程序== | ||
第82行: | 第83行: | ||
==结果== | ==结果== | ||
− | + | 按照原理图连接好电路。程序下载后,可在arduinoIDE自带的串口监视器中观察输出电压。分析串口监视器输出数据,可以看出该差分比例运算电路可以测量输入电压值。 | |
− | 串口实际输出电压与输入有些误差, Microduino的5V端实际电压值略低于5V,而程序中有anaVoltageAmp=anaValueAmp/1023.0*5; | + | 串口实际输出电压与输入有些误差, Microduino的5V端实际电压值略低于5V,而程序中有anaVoltageAmp=anaValueAmp/1023.0*5;语句。如果把Microduino的3V3端接入模拟量参考输入REF端,然后修改程序,会减小该误差。 |
− | |||
==视频== | ==视频== | ||
|} | |} |
2014年10月29日 (三) 03:37的最新版本
Language | English |
---|
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);
}
调试
结果按照原理图连接好电路。程序下载后,可在arduinoIDE自带的串口监视器中观察输出电压。分析串口监视器输出数据,可以看出该差分比例运算电路可以测量输入电压值。 串口实际输出电压与输入有些误差, Microduino的5V端实际电压值略低于5V,而程序中有anaVoltageAmp=anaValueAmp/1023.0*5;语句。如果把Microduino的3V3端接入模拟量参考输入REF端,然后修改程序,会减小该误差。 视频 |