基于线性霍尔传感器的磁场检测装置设计说明Word下载.docx
- 文档编号:20354923
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:17
- 大小:2.80MB
基于线性霍尔传感器的磁场检测装置设计说明Word下载.docx
《基于线性霍尔传感器的磁场检测装置设计说明Word下载.docx》由会员分享,可在线阅读,更多相关《基于线性霍尔传感器的磁场检测装置设计说明Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
21世纪,是人类全面进入信息电子化的时代。
随着人类探知领域和空间的拓展,使得人们更依赖于获取外界信息的采集技术。
敏感元件及传感器是人类探知自然界信息的触角,它可以将人们需要探知的各种非电量信息转化为电量信息,为人们认识和控制相应的对象提供条件和依据。
作为现代信息技术的三大支柱之一的传感器技术,已成为21世纪人们在高新技术发展方面争夺的一个制高点。
霍尔传感器产业发展应用大致分为:
直接应用和间接应用。
前者是直接检测出受检测对象本身的磁场或磁特性,其中最有特色的是霍尔电流、电压类传感器,他们已成为当今电子测量领域中应用最多的传感器件之一。
是一种新型的高性能电气隔离检测元件。
应用广泛。
后者是检测受检对象上人为设置的磁场,用这个磁场来作被检测信息的载体,通过它,将许多非电、非磁的物理量转变为电量来进行检测和控制。
霍尔传感器产业飞速发展的同时,也给霍尔传感器自身的发展提出了急迫的需求。
发展和应用的比较成熟的一些霍尔传感器,已经在长期使用中逐步显现出自身存在的某些局限。
为了充分发挥各自的优势,突破限制,拓展发展空间,必须开发新材料,发现新效应,发明新产品,将霍尔传感器产业推向新的发展高峰,这是我们当前的首要任务,也是历史的使命。
2.基本原理与总体技术方案
2.1基本原理
利用霍尔效应进行磁场检测。
霍尔效应及霍尔传感器原理请参阅传感器教材及其他相关文献。
霍尔效应的本质是:
固体材料中的载流子在外加磁场中运动是,因为受到洛伦磁力的作用而使轨迹发生偏移,并在材料两侧产生电荷积累,形成垂直于电流方向的电场,最终使载流子受到的洛伦磁力与电场斥力相平衡,从而在两侧建立起一个稳定的电势差,即霍尔电压。
正交电场和电流强度与磁场强度的乘积之比就是霍尔系数。
平行电场和电流强度之比就是电阻率。
SS495是线性霍尔传感器,在一定的磁感应强度范围内,传感器的输出电压U与磁感应强度B(Gs)成正比U=K×
B。
将传感器的输出电压U送到信号调理电路进行滤波放大得到所需要复读的电压信号UAD。
将电压UAD送到ADC电路转换为数字量NAD,微处理器读取数字量NAD,经运算处理求出对应的磁感应强度B,送到LCD显示。
2.2技术方案比较
使用SS495线性霍尔传感器进行磁场检测,经滤波和幅度调理后送到ADC电路,嵌入式微处理器使用内部具有12位ADC的ARMCortex-M3核嵌入式处理器
STM32F103RCT6。
处理完之后就送到lcd显示屏显示。
3.硬件系统设计
3.1硬件总体设计思路及原理框图
通过感器SS495检测到不同的磁感性强度B后会产生不同的输出信号Uh,输出信号进行滤波整流和放大调理之后得到Uad送到单片机STM32的PA0(ADC1-IN0)口进行AD转换,模拟信号进行了1倍放大。
信号再经过芯片进行软件程序处理之后送往lcd等进行显示。
直流电源给整个电路提供6V的稳定电压。
3.2关键元件介绍
3.2.1SS495霍尔传感器
SS495线性霍尔传感器的工作电源:
DC4.5V~10.5V,电流典型值5mA,最大值
8mA;
灵敏度:
3.3mV/Gs;
静态输出电压(B=0Gs):
2.5V;
测量范围:
-700Gs~700Gs;
输出电流:
最小值1.0mA,典型值1.5mA;
响应时间:
典型值3μS;
线性度:
1%
SS495引脚如下图1所示,特性曲线如下图2所示:
图1SS495引脚
图2传感器SS495特性曲线
3.2.2STM32f103rct6
STM32F103xx增强型系列由意法半导体集团设计,使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。
所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:
多达2个I2C和SPI、3个USART、一个USB和一个CAN。
类别:
集成电路(IC)
家庭:
嵌入式-微控制器
系列:
STM32
芯体尺寸:
32-位
速度:
72MHz
连通性:
CAN,I2C,IrDA,LIN,SPI,UART/USART,USB
输入/输出数:
51
程序存储器容量:
256KB
程序存储器类型:
FLASH
RAM容量:
48K
电压-电源(Vcc/Vdd):
2
V
~
3.6
V
振荡器型:
内部
工作温度:
-40°
C
85°
C
3.3硬件设计
3.3.1调理信号设计
从霍尔传感器输出的信号需经过录波整流和放大之后才进AD转换,
此原理图的工作原理是把霍尔传感器的输出信号进行滤波整流,再在二级放大器处进行放大。
由于SS495输出信号已经比较大,ADC电路输入电压3300mV,放大电路的放大倍数应小于1,所以所设计的SCH图就是简单的0.6倍放大。
然后进行PCB图的制作和布图布线操作。
最后打印出图纸打算腐蚀出电路板。
3.3.2单片机设计
原理图如下:
此原理图的功能模块有多个部分,本实验主要就是用到的就是模拟信号输出接口JAD和lcd1显示屏这两个部分的功能。
信号经调理电路之后接入JAD口经过一倍放大进入AD转换,再由经软件处理运算之后得出所需要的数值后送往LCD1显示。
3.3.3总体电路原理图
使用ARM-Cortex-M3核处理器ST32F103RCT6为核心,电路原理图如图下
图中LCD1为1602字符LCD接口,LCD2为12864图形点阵LCD接口。
JAD
为两路内部带缓冲放大的模拟量输入接口,模拟信号输入引脚U1内部有5倍的放大(通过改变电阻可以修改),接STM32F103的PA0(ADC1-IN0),模拟信号输入引脚U2内部放大倍数为1,接STM32F103内部PA1(ADC1-IN1)
K1~K3为三个接在PB5~PB7上的按键(按下=0),LED3,LED4为接在PB8、PB9上的LED信号灯(=1亮),J232为接在PA9/PA10(UART1)上的RS232C接口。
JZ为ZigBee模块接口,JZD为TI的ZigBee调试与配置接口。
JTAG为STM32程序下载与调试接口。
除此还有IIC、SPI接口。
4.软件系统设计
4.1软件功能介绍
软件的功能就是把已经进行了AD转换得出的数值N进行转换得会进来的Uad,再进一步计算出霍尔传感器的输出电压和磁感应强度B。
最后把U和B通过软件程序送去LCD端口进行显示。
4.2程序设计总体方案
4.2.1总体程序设计思
先进性硬件的初始化,在开始定义使用的端口资源,加上调用的取值函数,AD转换函数,计算函数和显示函数,最后再进行无限死循环的主循环。
主循环中主要取值计算和显示三个函数。
4.2.2程序流程框图
图为程序的流程
4.3程序的实现
(1)读取ADC值程序read_adc()
uint16_tread_adc(uint8_tchannel)
{
uint16_tadc_val=0;
inti;
for(i=0;
i<
ADC_LEN;
i++)
adc_val=adc_val+adc_mem[(i*2)+channel];
}
adc_val=adc_val>
>
ADC_NUM;
//<
<
returnadc_val&
0xfff;
}
使用STM32F103RCT6片内12位ADC,在ADC配置函数ADC_Config()中配置ADC1_Channel1和ADC1_Channel2两个通道为2通道独立工作,软件触发连续扫描转换方式,设置并启动两通道DMA传输,DMA数据存放在adc_mem[16]数组中,符号ADC_LEN=8是预定义的符号常数,它表示每个通道的ADC数据个数,两个通道总个数2*ADC_LEN=16。
这样用DMA方式在数组adc_mem[]存储的ADC数据,是两通道交替存储并由DMA控制自动构成循环队列(第一次存放通道0,第二次存放通道1,下一个数据又是通道0的新采集数据,…,存满后,又循环回数组的头继续循环存放),队列中保存的是2*ADC_LEN最新数据,旧的数据自动被新的数据替换。
所需要的数据是送到ADC1_Channel2(ADC1_IN2,即PA1引脚的电压信号),ADC1_channel2的8个ADC数据分别存放在adc_mem[1],adc_mem[3],…,adc_mem[2i+1],…,adc_mem[15]中。
(2)计算出B和Uh
staticintCalculat_U(intk,intnux)//u16Calculat_U(intk,intnux)
intu;
//u16u;
u=(825*nux)/k;
u=(u/1024)/0.6;
returnu;
staticintCalculat_B(intk,intnux)
intb;
b=(825*nux)/k/1024/0.6;
b=(b-2500)/3.3;
returnb;
通过计算N值就可以得出Uh,然后计算出所需要的B值。
(3)显示函数LCD两行分别显示Uh和B值
staticvoiduser_init()
lcd_write_string(1,0,(u8*)"
welcometouse"
);
lcd_write_string(1,1,(u8*)"
2016-1-9"
staticvoidLCD_Disp(intu1,intB)//(u16u1,u16000u2)
u1buffer[0]=(u1)/1000;
u1buffer[1]=((u1)%1000)/100;
u1buffer[2]=((u1)%100)/10;
u1buffer[3]=(u1)%10;
//µ
Ú
Ò
»
Ð
Ï
Ô
Ê
¾
lcd_write_char(1,0,'
U'
lcd_write_char(2,0,'
h'
lcd_write_char(3,0,'
'
lcd_write_char(4,0,'
='
lcd_write_char(5,0,'
lcd_write_char(6,0,u1buffer[0]+0X30);
lcd_write_char(7,0,u1buffer[1]+0X30);
lcd_write_char(8,0,u1buffer[2]+0X30);
lcd_write_char(9,0,u1buffer[3]+0X30);
lcd_write_char(10,0,'
lcd_write_char(11,0,'
lcd_write_char(12,0,'
m'
lcd_write_char(13,0,'
V'
lcd_write_char(14,0,'
lcd_write_char(15,0,'
¶
þ
lcd_write_char(1,1,'
B'
//lcd_write_char(2,1,'
lcd_write_char(2,1,'
lcd_write_char(3,1,'
lcd_write_char(4,1,'
lcd_write_char(5,1,'
lcd_write_char(6,1,u2buffer[0]+0X30);
lcd_write_char(7,1,u2buffer[1]+0X30);
lcd_write_char(8,1,u2buffer[2]+0X30);
lcd_write_char(9,1,'
.'
//lcd_write_char(9,1,);
lcd_write_char(10,1,u2buffer[3]+0X30);
lcd_write_char(11,1,'
lcd_write_char(12,1,'
G'
lcd_write_char(13,1,'
s'
lcd_write_char(14,1,'
lcd_write_char(15,1,'
//if(B>
600)
//lcd_write_string(1,1,(u8*)"
error"
if(B>
=0&
&
B<
=6000)
{
//unsignedinta=B;
lcd_write_char(5,1,'
u2buffer[0]=(B)/1000;
u2buffer[1]=((B)%1000)/100;
u2buffer[2]=((B)%100)/10;
u2buffer[3]=(B)%10;
}
elseif(B<
0&
B>
=-6000)
//unsignedintb=B;
inta=B;
a=a-(2*a);
-'
u2buffer[0]=(a)/1000;
u2buffer[1]=((a)%1000)/100;
u2buffer[2]=((a)%100)/10;
u2buffer[3]=(a)%10;
else
lcd_write_string(6,1,(u8*)"
5.装置样机的制作与调试
5.1硬件制作与调试
样机这部分的布图已由老师完成,所以我们只是进行最后的焊接。
焊接完成之后就如下图:
样机零件按照原理图吧零件焊上去之后就检测,如果没错的话就可以亮显示屏了。
烧录老师的例子程序之后就明确有数字显示了。
调理电路的设计焊接:
根据已经绘画后的SCH原理图导出网络表格,之后再新建一个PCB文件,把表格导入之后就可以进行pcb图的布图工作和布线工作了。
制作好pcb图之后就开始打印pcb原理图,原本是打算用转印纸和覆铜板来腐蚀电路板的,单最后由于时间的关系和零件的关系只能用万用板来布图了,如下图
由于LM358之中有两个放大器,所以电路上的两个放大器最后决定节省材料就用一个可以了。
SS495霍尔传感器的调理电路就完成了,ss495输出信号先进行第一级的滤波整流一倍放大之后,再进入二级放大,放大倍数为0.6倍,是为了防止超出ADC的3.3V量程,就最后由此电路处理之后出来的信号是传感器的输出信号的0.6倍,送进PA0口进行AD转换。
5.2软件调试
软件经由另一个组员完成后调试没有错误就开始烧录了。
5.3样机试验测试
此为完整的显示
6.实验测试
6.1实验测试目的
测试所焊接的板子和所烧录的程序还有什么错误和计算上的误差,以方便更正或者改进等。
6.2试验测试
6.2.1硬件测试
(1)测试方法:
按照原理图检查有无元件焊错,用万用表检测是否有虚焊和短路的焊接错误
(2)结果:
硬件上的测试已经可以显示了,没有任何是烧录不进程序和发热等现象。
信号的滤波放大电路的信号也能完整的放大输出了。
6.2.2软件测试
把软件烧录进板子,取五组数值来校验程序的取值和调用计算是否正确。
(2)测试结果:
以下图片为测试结果:
(3)数据分析
实验数据说明本实验说要求的磁感应强度数据的计算结果和线性图的结果是一致的。
在对应的输出电压下的B值是正确的。
6.3测试结果
测试结果说明本次实验已经可以完整的测出传感器周边的磁感应强度并完整的显示出来了。
达到了本次实验的磁场检测装置的设计。
7.总结
(1)本次实验中,我负责的是硬件部分。
在本次实验之中,我完成了老师给的通用的模块的电路板的焊接,以及滤波整流电路的设计绘图封装布图布线等软件工作以及最终焊接调理电路的板子。
电路板都能成功的实现了信号的采集和运输显示等功能。
达到了本次实验的设计要求。
(2)本次设计的滤波整流电路只能简单的进行滤波整流,电路的放大倍数也是仅仅只有一点,电路最终的输出信号还是有所减小,有一些误差的存在。
不过可以进行软件的补偿以此来减小误差。
还有就是没有进行传感器的电压补偿,这样调理电路的输出的误差就会大了一点。
(3)在本次实验中,在原理图的绘制过程中,没有用过绘图软件有很多的地方都不知道怎么用,只能自己去网上看教学视频,其中原理图的绘制时,元件库的元件没有,封装图也没有,都要一一自己绘画,后来才学会了引用他人的元件库,至于封装图也可以用其他相似型号的适用,也能完成了调理电路的绘制。
(4)本次实习可以说学到了很多,正如成长一样,没有人可以明确的告诉你要长成什么样子,你只能自己一步一步来做,一步一步学习成长。
真的是遇到解决不了的麻烦时才应该去寻求老师的帮助。
正如这样自由独立的实验才能让我们学会如何学会学习。
(5)本次的实验可以说真正要自己独立设计的东西其实很少,老师给的指导书几乎都涵盖了大部分我们的实验设计了,然而我们还是进展很慢,感觉实验的设计方面还是没有多大的进步,只能说第一次接触,可能老师也不会让我们真正的完全独立的设计,多少还是先接触了解的想法比较多吧。
不然真的让我们独立完成的话,不一定能一个月就完成了。
参考文献
【1】《模拟电子技术》—杨素行
【2】《数字电子技术》—余孟尝
【3】《传感器原理及应用》--吴建平-
【4】《单片机原理与接口》—杨居义
【5】《c程序设计》--谭浩强
【6】《嵌入式系统原理及接口技术》—符意德
【7】《32位基于ARM微控制器STM32F103RCT6固件函数库》—官网下载资料
【8】SS495传感器资料—网络查找
【9】STM32F103RCT6芯片资料—网络查找
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 线性 霍尔 传感器 磁场 检测 装置 设计 说明
![提示](https://static.bdocx.com/images/bang_tan.gif)