历史上的今天
返回首页

历史上的今天

今天是:2025年04月02日(星期三)

正在发生

2018年04月02日 | 采用ATmega8控制器的倾角测量系统设计

2018-04-02 来源:eefocus

  目前,业内对倾角的测量多是基于MEMS的加速度传感器,SCA100T是由芬兰VTI公司推出,采用三维MEMS技术开发的一款高精度双轴倾角传感器,可同时测量相对于水平面的倾斜和俯仰角度,具有温度补偿功能。本文以塔式起重机为应用背景,采用SCA100T倾角传感器实时采集倾斜信息,检测塔式起重机支撑架的平衡性能,避免由于其过度倾斜而引发事故。以SCA100T为基础设计了一款小巧、灵敏度高的倾角测量系统,分析了SCA100T倾角传感器测角的原理,给出了系统各个模块的软硬件设计方法,同时提供了两种具有可扩展性的应用方法。

 

  1 整体设计

  图1所示为本系统的整体结构框图。该系统采用ATmega8单片机控制SCA100T倾角传感器实时检测平台的倾角变化,将传感器输出的数字量进行换算后,转换为实际的倾角值。用户可以根据需要设置警界倾角值和预定平台水平位置,倾角信息可通过LCD实时显示或通过串口输出到上层控制器中。当倾角信息超过预置的警界倾角值时,系统开始报警,表现为蜂鸣器报警和LED灯闪烁。

b.JPG


    
    系统根据输出方式的不同分为两种应用方式:一种是作为独立系统使用,固定在待测平台上;另一种是将该系统作为一个倾角采集模块,挂接在其他电路中使用。前者采用LCD1602实时显示倾角信息,采用串口超级终端预设倾角警界值和水平位置;后者通过串口输出倾角信息,允许软件编程通过发送串口命令进行配置。配置信息均保存在ATmega8单片机内部的EEPROM中。

2 倾角测量原理
    本文选用的SCA100T的测量范围为±30°,其内部包含硅电容感应元件、EEPROM存储器、信号调理电路、A/D转换器、温度传感器和SPI传输接口等,SCA100T功能框图如图2所示。该传感器具有X、Y两个通道,分别用来测量倾斜和俯仰的加速度,每个通道具有自测试系统,可内部产生一个静电力来校验全部的信号通道。信号输出有SPI数字信号输出和模拟电压信号输出两种方式,同时可输出温度信息进行温度补偿。

c.JPG

    
    SCA100T的测角原理为:通过测量静态重力加速度的变化,将其转换成倾角变化。SCA100T的硅电容感应元件由3层硅片构成,形成立体结构,当发生倾斜时,中间质量片会倾向某一侧,从而使两侧的电容发生变化。通过电压值可反映相应的加速度值,进而可计算角度值。图3所示分别为X轴与Y轴的倾角变化情况(X/Y是从倾斜方向来划分的),以X轴为例,其加速度值与重力加速度之间的关系为:
    Ax=g·sina→α=arcsin(Ax/g)
    其中,Ax表示X轴测出的加速度值,g表示重力加速度值,α为X轴倾角。

d.JPG


  3 系统硬件设计

  系统的整体硬件电路如图4所示。系统采用SCA100T的SPI接口来读取输出信息,可避免额外的A/D采样。由于ATmega8具有1路SPI中断,因此可直接将传感器作为从器件接到单片机的SPI接口上。系统通过控制三极管的开通与关闭来控制蜂鸣器和LED指示灯的导通与关闭,从而达到报警的功能。把ATmega 8单片机的PD2引脚接到三极管的基极,正常工作时将PD2置低电平。当发生报警时,将PD2置高电平,此时三极管导通,蜂鸣器发出响声,LED指示灯变亮。

 

e.JPG

    
    系统采用LCD1602字符型液晶模块来显示倾角信息,该模块可同时显示两行字符,分别为X轴与Y轴倾角信息。模块通常采用HD44780芯片具有标准的16条引脚线。对于串口传输,系统采用TTL电平和RS232两种输出方式,单片机输出的TTL,电平可经过MAX232芯片转换后变为RS 232信号,通过标准串口线与上位机通信。
    采用哪种串口输出方式取决于工作方式。当采用串口超级终端对系统进行预置时,需要用短路块将ATmega8单片机的TTL输出接到MAX232芯片的TTL输入端;当采用软件编程方式时,可直接将ATmega8单片机的TTL输出接到其他电路的TX/RX端,作为其外围电路使用,此时需要注意波特率的设置。
    另外,系统设计了模式选择功能,将ATmega8单片机的PB0和PB1引出,前者用于选择是否采用LCD显示,后者用于选择是否进入串口超级终端配置模式。正常工作时,这两个引脚为高电平,表示选择串口超级终端配置模式,允许通过串口软件编程;当用短路块将PB0接地时,表示选择LCD显示方式;当PB1接地时,表示进入串口超级终端,并对系统进行预置。

4 系统软件设计
    系统整体的软件流程如图5所示。系统上电后,单片机首先对引脚初始化,设置SPI模式,开SPI和串口中断。如果选择了LCD显示功能,还需要对LCD控制引脚进行初始化,显示初始化信息。然后根据是否选择了串口超级终端配置功能,决定下一步操作。

f.JPG

    
    当该功能被选中时,系统进入超级终端处理程序,首先向PC端超级终端发送提示字符,等待用户选择和输入预设数据,收到相关数据后,将其反馈给PC端显示,同时进行预设处理,并将预设的数值写入EEPROM。当未选中该功能时,系统进入正常的工作状态,如果发生串口中断,则进入串口处理程序,根据收到串口数据帧是预设命令还是请求数据进行不同的处理。前者则将预设数值写入EEPROM,若是后者则将倾角信息上传给上层控制器。如果没有发生串口中断,则主程序通过SPI接口采集传感器输出的加速度数字量,并将其转换为实际倾角信息,判断倾角是否超过预设角度值。如果超过则开始报警,同时如果选中了LCD显示功能,还需要通过并口将数值输出到LCD1602显示。


  4.1 传感器数据采集与计算

  对于传感器采集,当CSB引脚为低电平时有效,允许传输数据。数据在传输时,高位在前,低位在后。MISO线上的数据在SCK下降沿传输,MOSI线上的数据在SCK上升沿传输。加速度数据量SPI传输时序如图6所示。单片机首先通过MOSI线向传感器发送一个(组)命令,传感器在接收到完成命令后,开始连续传输数据。这里的命令为8位信息,加速度数据量为11位信息,常用的命令有RDAX(0001,0000)和RDAY(0001,0001),分别表示读取X/Y轴加速度数据量。


g.JPG

    
    传感器输出的X轴与Y轴加速度信息均为11位数字量,其范围为0~2 048,零度位置对应的数据量为1 024。根据下述公式可将输出的加速度数字量转换为实际倾角值:
    h.JPG
    其中,Dout表示X/Y轴输出的数字量;Dout@0°表示零度偏移量(即1 024);Sens表示传感器灵敏度,由VTI厂商提供,对于SCA100T倾角传感器,该值为1683;α’表示预设的平台水平角度,默认为0。
4.2 串口命令
    图7为串口与单片机通信的数据帧格式。图中每帧有16个字节,开始两个字节是帧头(0xFFAA),接着是两个字节的数据类型,其类型主要有3种:请求数据(0x0001)、预设警界角度(0x0010)、预设水平角度(0x0011)。然后是10个字节的数据位,通常数据位为2个4字节的数据(整形或浮点型),为了避免出现数据对齐问题,在后面加入两个值为0的字节。最后是两个字节的校验位,采用CRC-16进行校验。

i.JPG

    
    数据发送由上层控制器主动发送,倾角测量系统被动响应。当上层控制器向单片机发送数据请求时,其数据位置0;系统收到请求命令后,将倾角信息填入数据位,发送给上层控制器。当上层控制器向单片机发送预设警界倾角值时,将预设角度值填入数据位;单片机收到后,将数据写入EEPROM中并发送反馈,反馈帧以同样的类型发送,但是数据位填入全0。当上层控制器向单片机发送预设水平角度值时,其操作类似预设警界倾角值,只是类型不同。
4.3 串口超级终端模拟
    在Windows XP或是Windows 2000操作系统下,在开始→菜单\程序\附件\通信下可以看到“超级终端”,这是Windows自带的通信终端工具。在超级终端里输入字符时,会自动发送出去,但是如果没有反馈,是不会显示输入的字符信息的。因此,模拟超级终端需要做两件事:一是接收用户在超级终端里输入的字符;二是将输入的字符反馈回来,供用户查看。采用超级终端的方法可以避免用户直接使用命令操作的过程,所有的命令对用户来说都是透明的,用户只需要根据提示信息,输入相关信息即可完成预设配置工作。图8所示为预设配置示意图。

a.JPG

    结语

    本文以塔式起重机为应用背景设计了这款倾角测量系统,系统在实际应用中工作良好,达到了预期的效果,能实时监测塔式起重机支架的平衡性,对预防建筑施工事故起到了重要的作用。系统探讨了SCA100T传感器的使用方法,在设计时考虑了两种应用方式,对于系统的扩展起到了很好的作用;同时,模拟了串口超级终端来配置系统信息,以此来替代小键盘。

推荐阅读

史海拾趣

北京人民电器厂公司的发展小趣事

北京人民电器厂有限公司,作为北方地区最大的低压电器制造企业,于1995年成功研发出全球首台高分断微型直流断路器。这一创新成果不仅填补了国内空白,更在国际上展现了中国在低压电器领域的研发实力。该断路器的诞生,标志着北京人民电器在直流断路器技术领域迈出了坚实的一步,为后续的产品研发和市场拓展奠定了坚实的基础。

台湾町洋(dinkle)公司的发展小趣事

町洋始终坚守品质至上的原则,从原材料采购到生产流程再到成品检验,每一个环节都严格把关。这种对品质的执着追求使得町洋的产品在市场上享有极高的声誉。客户对町洋产品的信任和认可也成为了公司最宝贵的财富。

Blaze Display Technology Co Ltd公司的发展小趣事

随着公司规模的不断扩大和市场份额的逐步提升,Blaze公司开始注重品牌建设和形象提升。通过加大广告宣传力度、提升客户服务质量、参与社会公益活动等方式,公司成功塑造了专业、可靠、创新的品牌形象。同时,公司还获得了多项行业荣誉和认证,进一步提升了品牌知名度和美誉度。

FINISAR公司的发展小趣事

FINISAR在光模块领域取得了多项重要技术创新和突破。例如,公司在1992年推出了首个850nm的千兆多模光纤光收发模块,随后在1995年推出了带数字诊断功能的光收发模块,这些创新产品极大地推动了光通信技术的发展。此外,FINISAR还不断推出新产品以满足市场需求,如SFP光模块、CWDM GBIC光模块等,这些产品均获得了市场的广泛认可。

Amphenol Aerospace公司的发展小趣事

随着业务的不断扩展,FINISAR开始在全球范围内布局。公司在中国、马来西亚、美国、澳大利亚、以色列、新加坡、印度、韩国等多个国家设立了子公司和研发中心,形成了全球化的生产和服务网络。这一战略布局不仅增强了FINISAR的市场竞争力,还为公司带来了更多的发展机遇。特别是在中国市场,FINISAR凭借其先进的技术和优质的产品,赢得了众多知名企业的青睐,如思科、IBM、华为等。

Anatech Electronics Inc公司的发展小趣事

2018年,FINISAR被II-VI Incorporated(II-VI公司)收购。II-VI是一家同样位于美国的光电子元件和材料制造商,专注于提供各种光学产品和解决方案。这次收购对FINISAR而言是一次重要的发展机遇。通过整合两家公司的资源和技术优势,FINISAR能够进一步扩大在光通信市场的业务规模,提升技术实力和产品组合。同时,这也为FINISAR带来了更广阔的发展空间和更多的市场机会。

以上五个故事展示了FINISAR公司在电子行业中从创立到发展壮大的历程以及所取得的成就和面临的挑战。这些故事不仅反映了FINISAR在技术创新、全球化布局、知识产权保护以及企业发展战略等方面的努力和成果,也展现了公司在光通信行业中的重要地位和影响力。

问答坊 | AI 解惑

分享: C语言书写的规范的好文

分享: C语言书写的规范的好文…

查看全部问答>

PWM问题

要通过单片机输出PWM,根据占空比不同来控制电机转动快慢,请问怎么具体怎么做呢?频率怎么定,占空比在程序中又怎样实现?谢谢…

查看全部问答>

rc桥式振荡,没有波形输出 为什么?

rc桥式振荡,没有波形输出 为什么? 用的是OP07  反馈选的电阻式473和103 振荡回路选的电容式104p 电阻是393 输出无波形…

查看全部问答>

DS1302时钟芯片在LCD上显示问号的问题。

我的DS1302在LCD上不能正常显示,很多地方出现问号。 温度值正常显示,但是年月日,时间都显示问号。 5,6,7引脚都加了10K的上拉电阻还是不能解决。程序用ISIS仿真没有问题。 换过一块1302还是这样,不知道是芯片问题?还是晶振没有起振? 另 ...…

查看全部问答>

求SectorEditor源代码或者原理

求SectorEditor源代码或者原理      各位大虾,本人已经忙活了一周.至今没有找到在VISTA下写扇区的方法.     偶然发现SectorEditor可以做到,谁有代码的给我来一份 !     邮箱:   [email=liu ...…

查看全部问答>

关于PC与8255通信的问题

做了一个8255扩展的非标准的键盘 与PC通信 现在不明白的是8255怎么与PC通信 PC 上那么多端口怎么具体分配到8255上呢 谢谢了…

查看全部问答>

我是Aman我自豪,又玩了次ST7的汇编。

有史以来最花时间的芯片:ST7芯片ICP编程支持固件开发完成上个星期有ST代理商提出需要手持机支持ST7一款FLASH芯片。粗看资料后,时序并不难对付,即应允开发。感谢该代理商很快的寄来了样片。本以为2天即可搞定,不料竟花了4天时间,总计达30 ...…

查看全部问答>

写数据到RAM中遇到的疑惑

我今天在做一个RAM块的读写时遇到一个很奇怪的问题,我用的芯片是xilinx的spartan-3E   对RAM写操作的代码 always@(posedge write_clk or negedge rst_n) if(!rst_n) write_addr <= 0;   else if(write_allow) write ...…

查看全部问答>

模拟信号采集

本帖最后由 dontium 于 2015-1-23 13:10 编辑 新手,需要做一个8路模拟信号采集系统,能采集0-5V或者4-20mA的模拟信号。电压和电流信号能智能切换或者手动切换。16位AD转换。求一个具体方案,可以话麻烦给个电路参考下。谢谢! …

查看全部问答>

吉时利今日发布高电压数字源表®2657A

美国俄亥俄州克里夫兰,2012年3月19日讯–先进电气测试仪器与系统的世界级领导者吉时利仪器公司今日发布2657A高功率数字源表。2657A为吉时利2600A系列高速、精密源测量单元数字源表系列产品增加了高电压功能。此系列仪器能帮助吉时利客户分析范围 ...…

查看全部问答>