传感器课程设计小量程电子秤设计学校:河海大学专业:应用物理学姓名:季庚午学号:0810020116指导老师:丁万平Ⅰ、总体设计方案本设计由以下几部分组成:电阻应变传感器、信号放大器、模数转换、单片机、显示器。
其结构图如下所示。
应变传感器信号放大器单片机LED显示由电阻应变式传感器感受被测物体的质量,通过电桥输出电压信号,通过放大电路将输出信号放大,而后送入A/D转换单元进行模数转换,将转换后的数字信号送给单片机;单片机接收数据后,对数据进行处理,将其转换为对应的重量信息,送LED显示模块进行显示。
单片机同时也可以进行去皮调零操作。
Ⅱ、硬件电路设计一、传感器选择1、传感器型号:WTP616平行梁式称重(测力)传感器;2、产品特点及结构:主要适用于口袋称,手掌称等电子称重;3、主要技术参数:额定载荷(Kg):500g; 绝缘电阻(MΩ)>=2000(100VDC)精度等级:C3; 激励电压(V)5~10DC综合误差:(%F.S)0.05; 温度补偿范围(℃)-10~+40灵敏度(mV/V)0.7+-0.1 使用温度范围(℃)-20~+50非线性(%F.S):0.05; 零点温度影响(%F.S/10℃)0.2滞后(%F.S):0.05; 灵敏度温度影响(%F.S/10℃)0.15重复性(%F.S):0.05; 安全过载范围(%F.S) 150蠕变(%F.S/30min):0.05; 极限过载范围(%F.S)零点输出(%F.S): +-1; 输出阻抗(Ω): 1000+-50输入阻抗(Ω):100050 电缆线: 四芯屏蔽电缆4、接线方法:输入(电源)+:红色;输入(电源)—:黑色;输出(信号)+:绿色;输出(信号)—:白色5、实物图:图Ⅱ.1.1:WTP616实物图6、传感器设计电路:6.1、检测电路设计:传感器电路采用惠根斯等臂电桥,即1234R R R R ===,构成差动式电路,提高线性度和灵敏度。
R1~R4都接应变片WTP616,R1和R3接成工作片,R2和R3接成补偿片,3124()4o R R R R U U R R R R ∆∆∆∆=-+- 1234()44UK UK εεεεε=-+-= 其中ε是应变,U 是输入电压,K 是灵敏度。
通过调节电阻56R R 和可以实现输出调零。
图Ⅱ.1.2惠根斯电桥电路6.2、检测电路处理:惠根斯电桥输出的电压U O 后面紧接着接滤波电路和电压跟随器如图(图Ⅱ.1.2)所示,电阻 R1 、 R2 电容 C1 、 C2用于滤除前级的噪声, C1 、 C2 为普通小电容,可以滤除高频干扰。
图Ⅱ.1.2滤波电路和电压跟随器电路二、稳压电源的设计:稳压电路在设计中具有很重要的作用,在本设计中我采用三端集成稳压芯片7805,资料图如下所示。
内含过流、过热和过载保护电路。
7805输出电压典型值是5V,在一定温度条件下电压输出比较稳定,如图2.2所示。
设计稳压源5V 的电路如图2.3所示;因为op07是使用正负电源5伏,+5伏使用7805,-5伏使用7905,电路结构与7805的结构一样。
图Ⅱ.2.1:7805封装图图Ⅱ.2.2:7805的典型输出电压参数图Ⅱ.2.3:5V稳压源仿真图三、放大电路的设计:由于传感器输出的信号比较微弱,必须通过一个放大器对其进行放大,才能满足单片机A/D转换器对输入信号电平的要求。
放大电路要把3.5mV的电压放大到5V,放大倍数比较大,所以采用二级放大。
放大电路的芯片采用Op07,如图Ⅱ.3.1所示,Op07芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电路。
由于OP07具有非常低的输入失调电压(对于OP07A最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。
OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。
图Ⅱ.3.1Op07引脚图1、 前级放大电路设计:前级放大电路采用应用比较广泛的由三个运放组成的通用放大电路,电路中三个运放都接成比例运放的形式,整个电路又包括两个放大级,U1和U2组成第一级,二者均为同相输入方式,而且输入电阻较高。
由于电路对称,因此漂移可以相互抵消。
而且差动放大器具有高输入阻抗,增益高的特点.第二级为U3,是差分输入方式,将差分输入转换为单端输出,在本电路中要求参数对称,即R4=R5,R6=R7,R8=R9。
经过计算可得,5411223322(1),(1)O I O I R R U U U U R R =+=+,所以差分的输入为4121232(1)()O O I I R U U U U R -=+-,而884126632()(1)O O O R R R U U U R R R =--=-+,由此可知,只要调节R3阻值的大小,就可以调节整个放大电路的放大倍数。
在实际电路中,参数选择如下图(图Ⅱ.3.2)所示,最终前级输出电压是-460.031mV 。
图Ⅱ.3.2前级放大电路仿真图2、 二级放大电路接反相比例运放电路 由于前级放大的输出是负的电压,所以二级放大电路选择反相比例运放,根据理论可知1211O I R U U R =-,将前级输出放大11背可得到5V 的电压,所以计算得参数如图所示(图Ⅱ.3.3)图Ⅱ.3.3二级放大电路仿真图Ⅲ、软件设计一、单片机介绍:本课程设计采用AVR系列单片机Mega16(图Ⅲ.1.1), ATmega16是AVR系列单片机中的主流品种,具有很高的性价比,其主要特点有:(1)采用先进RISC结构的AVR内核1. 高性能、低功耗的8位单片机;2. 131条机器指令-大多数指令的执行时间为单个系统时钟周期;3. 32个8位通用工作寄存器;4. 全静态工作;5. 工作在16MHz时具有16MIPS的性能;6. 只需要2个时钟周期的硬件乘法器;(2)片内非易失性的程序存储器和数据存储器1. 16K字节可ISP编程的Flash程序存储器,擦除寿命达1万次;2. 1K字节的片内静态数据存储器(SRAM);3. 512个字节片内EEPROM数据存储器(寿命>10万次);(3)丰富的外围接口1. 2个带有分别独立、可设置预分频器的8位定时器/计数器;2. 1个带有可设置预分频器、具有比较、捕捉功能的16位定时器/计数器;3. 片内含独立振荡器的实时时钟RTC;4. 4路PWM通道;5. 8路10位ADC6. 两线接口TWI(兼容I2C硬件接口);7. 1个可编程的增强型全双工的,支持同步/异步通信的串行接口USART;8. 1个可工作于主机/从机模式的SPI串行接口(支持ISP程序下载);9. 片内模拟比较器;10. 具有独立振荡器的看门狗定时器WDT;(4)宽电压、高速度、低功耗工作电压范围宽:ATmega16L 2.7—5.5v,ATmega16 4.5—5.5v;运行速度:ATmega16L 0—8M,ATmega16 0—16M;低功耗:ATmega16L工作在1MHz、3v、25度时的典型功耗为,正常工作模式 1.1mA,空闲工作模式 0.35mA,掉电工作模式 <1uA;图Ⅲ.1.1Mega16原理图图算法设计:PA.0作为AD输入口,连接放大电路的输出,PC.0~PC.7作为LED数据输入口,PA.2~PA.7作为片选端口,系统采用外部4.096MHz的晶振。
电路连线图如图所示(图Ⅲ.1.2):第一步:初始化单片机,定义A、B、C、D个IO口的方向和初值;第二步:初始化TIMERO,采用内部时钟,64分频,CTC模式;第三步:ADC初始化,在本程序中,ADC是最关键的模块,采用参考电压AVCC,ADC0端口作为输入端口,选择T/CO比较匹配中断为ADC触发源,ADC时钟=125KHZ(32分频);第四步:开中断,打开全局中断;对ADCSRA设定,开启ADC转换功能;第五步:编写各模块程序,包括ADC转换中断和TIMERO中断;算法提高设计:当重物放到托盘上的瞬间有冲量,力比较大,这是AD采样的电压值可能比较大,这个较大的电压值就是误差。
解决办法:可以定义一个10位长度的数组,用于存放10次AD采样的值,去除其中的最大值和最小值,对剩下的8个数据取其平均,最后把这个平均值送到LED显示,可以达到去除抖动的目的。
图Ⅲ.1.2单片机控制电路仿真图二、程序代码:#include<mega16.h>#include<delay.h>flash char led_7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; flash char position[4]={0xf8,0xf4,0xec,0xdc};unsigned char dis_buff[4]={0,0,0,0},posit=0;bit time_2ms_ok;//ADC模数转换显示数据缓存函数void adc_to_disbuffer(unsigned int adc){char i;for(i=0;i<=3;i++){dis_buff[i]=adc%10;adc/=10;}}//timer0中断interrupt [TIM0_COMP] void timer0_comp_isr(){time_2ms_ok=1;}//ADC转换中断interrupt [ADC_INT] void adc_isr(){unsigned int adc_data,adc_v;adc_data=ADCW;//读取ADC转换结果adc_v=(unsigned long)adc_data*5000/1024;//转换成电压值adc_to_disbuffer(adc_v); //产生dis_buff[]中的值}void display()//四位LED数码管动态扫描函数{for(posit=0;posit<=3;posit++){PORTA|=0x00;/////////////////////////////////PORTC=led_7[dis_buff[posit]];PORTA=position[posit];if(posit==3)PORTC|=0x80;delay_ms(2);PORTA=0xfe;}}void main(){DDRA=0xfe;PORTA=0x00;///////////////////////DDRC=0xff;PORTC=0x00;//TC0初始化TCCR0=0x0b; //内部时钟,64分频,CTC模式TCNT0=0x00;OCR0=0x7c;TIMSK=0x02; //允许T/C0比较中断//ADC初始化ADMUX=0x40; //参考电压A Vcc\ADC0单端输入SFIOR&=0x1f;SFIOR|=0x60;//选择T/CO比较匹配中断为ADC触发源ADCSRA=0xad;//ADC使能、自动触发转换、ADC转换中断允许,ADC 时钟=125KHZ(32分频)#asm("sei")ADCSRA|=0x10;while(1){if(time_2ms_ok){ display();time_2ms_ok=0;}}}三、去皮和调零在本设计中,去皮主要通过软件去皮,在使用前,将托盘放在传感器上面,测出此时的电压值,通过单片机的程序设置,在程序中使电压输出值,减去皮重。