“第二十四课--Microduino与运算放大器--同向比例运算/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
Pkj讨论 | 贡献
设备
第6行: 第6行:
 
本教程提供了运算放大器的基础知识,该示例为同向比例运算电路,将一节干电池电压放大一定倍数,用Microduino将两个电压信号检测出来。
 
本教程提供了运算放大器的基础知识,该示例为同向比例运算电路,将一节干电池电压放大一定倍数,用Microduino将两个电压信号检测出来。
 
==设备==
 
==设备==
*'''[[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数据线是一样的,方便实用。
  

2014年8月9日 (六) 03:56的版本

同向比例运算放大电路演示

目的

本教程提供了运算放大器的基础知识,该示例为同向比例运算电路,将一节干电池电压放大一定倍数,用Microduino将两个电压信号检测出来。

设备

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

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

  • 其他硬件设备
相关硬件 数量 功能
LM358 1个 常用双路运算放大器,可方便实现数学运算电路。
10K电阻 3个 更改相关电阻值,可以得到不同的输出电压。
干电池 1节 本示例用作输入电压Vin。
USB数据连接线 1条 连通Microduino模块与计算机。
面包板 1块 各个元器件汇聚于此。
面包板跳线 1盒 电气连接线。


LM358运放

LM358是我们常见的芯片,其内部含有两个独立的运算放大器电路。运放A是1脚作为输出端,2脚是反向输入端,3脚是同向输入端。运放B是7脚作为输出端,6脚作为反向输入端,5脚作为同向输入端。 运放A与B共用4脚的负电源端,8脚的正电源端。该芯片可单电源供电,供电电压最高为32V,也可双电源供电,此时供电电压最高为+Vcc=+16V,-Vcc=-16V。该示例中干电池的负极与LM358的-Vcc连接在一起接地,运放为单电源供电方式。

358Sch.jpg

LM358文档下载:文件:358pdf.pdf

干电池

干电池,生活中十分常见,其电解质是不能流动的,所以得名。干电池可用于手电筒,收音机,照相机,电子玩具中。本示例中该电池的型号为AA电池,即人们常说的5号电池。一节干电池的电压约为1.5V,一节蓄电池的电压约为2V,手机电池的电压约为3.7V。

实验原理图

358ProtelSch.jpg
358Fritz.jpg

该示例中358的1脚输出电压Vout=Vin*(1+R2/R3)。同向比例运算电路具有高输入电阻,低输出电阻的优点。高输入电阻意味着对信号源的影响小,低输出电阻意味着带负载能力强。 值得注意的是,无论我们如何改变R2,R3的数值,358的1脚输出电压也不会高于电源电压的(本例LM358的电源电压由Microduino的5V端引入)。

程序

///A0  connect  amp  output
///A1  connect  single battery  output
int  anaValueSingleBa;  //single battery  value  map(0--1023)
int  anaValueAmp;  //amp  value   map(0--1023)
float anaVoltageSingleBa;  //single battery  voltage
float anaVoltageAmp;  //amp  output  voltage
void  setup()
{
  Serial.begin(9600);
}
void loop()
{
 anaValueSingleBa=analogRead(A1);
 anaVoltageSingleBa=anaValueSingleBa/1023.0*5;
 Serial.print("Single battery voltage  is  ");
 Serial.print(anaVoltageSingleBa);
 Serial.println("V");
 delay(1000);
 anaValueAmp=analogRead(A0);
 anaVoltageAmp=anaValueAmp/1023.0*5;
 Serial.print("Amp  output  voltage  is  ");
 Serial.print(anaVoltageAmp);
 Serial.println("V");
 delay(1000);
}

调试

RealConn.jpg
  • 按上图用导线连接完毕并确认无误。
  • 把程序复制到arduinoIDE中。
  • 编译程序,选择正确的板卡与相应串口。
  • 点击Upload,下载完毕后打开arduinoIDE自带的串口监视器,观察结果。
ComOutput.jpg
  • 更改R2,R3的电阻值,可观察到串口监视器输出电压值的变化。例如R2=5K,R3=10K,输出电压会符合Vout=Vin*(1+R2/R3)。
  • 无论如何改变R2、R3的阻值,1脚的输出电压也不可能高于电源电压。
  • 干电池电压为1.5V左右,可通过电阻分压的形式,取得更低的电压,例如0.5V,然后把该0.5V电压点接入运放的3脚,再观察串口监视器输出。

结果

按照原理图连接好电路。程序下载后,可在arduino IDE自带的串口监视器中观察输出电压。对比公式Vout=Vin*(1+R2/R3),分析实验数据。

视频