0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用MSP430F169单片机实现光电跟踪装置的设计

电子设计 来源:郭婷 作者:电子设计 2018-12-24 07:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言

MSP430 单片机具有集成度高、嵌入模块多(如12位ADC、16位定时器等)、超低功耗等特点,在许多领域内得到了广泛的应用。对于一个伺服系统,要经过信号的采集、转换、信号数字处理、信号控制等环节来完成指定任务。信号的采集过程和处理是一个重要的环节,基于MSP430 光电跟踪伺服系统,一方面利用MSP430 单片机外设多的特点,尽可能使用一片芯片,实现信号的采集、定时处理、PID算法、PWM 驱动,实现高精度测量的跟踪,另一方面,利用低功耗的特点实现小型化。

1 光电跟踪的基本原理

MSP430F169控制的光电跟踪伺服系统示意图如图1所示,其特点是采用MSP430F169作为中央处理单元和控制器

采用MSP430F169单片机实现光电跟踪装置的设计

系统通过一个四象限光电探测器,其可探测到的波长范围是380~1 100 nm,当波长为940 nm时,输出的光功率达到峰值。四象限探测器特性曲线图如图2 所示。四象限探测器的感光面的对称中心与直角坐标的零点O 重合,其正交方向分别对应x 和y 坐标轴,并将感光面划分为四个象限阵元,四象限探测器原理示意图如图3所示。根据跟踪光斑在四象限的感光量不同,可以计算出跟踪目标的偏差。当跟踪光斑中心与四象限中心重合时,对应着探测器的每个象限接收到的光信号强度相等,经计算处理后得到的偏差信号,即误差信号为零,以确定跟踪对准。根据四象限探测器的特点,四象限接收到光信号后转换成四路电流信号输出,通过I-V 转换电路,将电流信号转换成四路电压信号Ex1 ,Ex2 ,Ey1 ,Ey2 ,将电压信号进行滤波及放大处理,利用MSP430F169内部的AD转换器采集数据,将采集到的电压信号经运算并归一化处理,然后采用自适应PID 算法,计算出坐标偏移量Δx 和Δy ,并通过定时器产生PWM波的占空比来调节电机的速度,使电机能够平缓地到达目标位置。

2 硬件部分设计

硬件电路结构可分为:电源模块、控制模块、四象限探测器与成像模块、信号预处理、驱动电路等部分。

采用MSP430F169单片机实现光电跟踪装置的设计

采用MSP430F169单片机实现光电跟踪装置的设计

2.1 电源模块

整个系统采用+5 V 作为主供电系统,为了保证数字系统的+3.3 V电源供电,使用LM1117电压调节器得到纹波抑制比高的电压输出,如图4所示。

采用MSP430F169单片机实现光电跟踪装置的设计

2.2 四象限放大及滤波处理

激光探测电路的噪声包括外部扰动和内部噪声。

外部扰动主要来自于激光发射器、光路传播介质、背景光以及电路本身。这些扰动可以通过先进行背景环境的测量来改善或者消除。内部噪声是与待测信号并存的,可以滤波的方法抑制噪声。

目标信号处理电路如图5所示。

采用MSP430F169单片机实现光电跟踪装置的设计

由于内部噪声的存在,并要在噪声进入放大电路之前滤除,则在光电探测器的阴极加上滤波电路。其截止频率fc=1 /(RfC)。

令fc=10 kHz,采用一阶滤波器,则有C=0.001 μF,R=1 /(Cfc) =100 kΩ。

将A,B,C,D四路电流信号分别经过四个运放转换成四路电压信号。增大OP放大器的反馈电阻时,会引起干扰振荡。OP放大器有数pF到数十pF的输入寄生电容Cin,会使OP放大器的稳定性变差,产生自激振荡。在OP放大器中加入输入电容,电阻Rf和Cin构成一个新的频率转折点。为了防止自激振荡,用电容Cf与反馈电阻Rf并联。电容Cf有相位超前的作用,对转折点而言就是零点,零点频率fz=1 /(2πCf Rf ) .

通常,Cf>Cin,Cin约为5~6 pF.这里取Cf =0.001 μF.

将处理得到的电压信号通过加法、减法运算电路[5],利用MSP430内部的运算能力进行归一化处理,这样就能避免除法器的设计。

2.3 电机驱动模块

利用桥式电路来驱动直流电机,用PWM 波控制电机的转速,另外用单片机的I/O端口控制其正反转。电机驱动电路如图6所示。

采用MSP430F169单片机实现光电跟踪装置的设计

3 系统控制

软件部分主要包括:测量环境背景光线数据、自动搜索目标物、AD采样、坐标运算、PID算法、驱动电机。单片机端的主程序使用了循环查询的方式来决定当前应该执行的任务。主程序主要完成内部ADC,Timer,PWM初始化,采集的数据归一化。其流程图如图7所示。

采用MSP430F169单片机实现光电跟踪装置的设计

3.1 A/D采集

四象限光电探测器接收的信号进过滤波、放大、加法运算、减法运算处理后,输出三路电压信号,因此采用MSP430F169的三通道多次采集,程序如下:

采用MSP430F169单片机实现光电跟踪装置的设计

3.2 ADC转换

利用公式:

采用MSP430F169单片机实现光电跟踪装置的设计

进行ADC转换。

3.3 驱动电机模块

电机运动分为搜索目标物以及跟踪目标物两个部分,程序如下:

采用MSP430F169单片机实现光电跟踪装置的设计

跟踪目标物的过程中,将采集到的数据使用位置式PID算法:

采用MSP430F169单片机实现光电跟踪装置的设计

式中:u(k) 为采样时刻k 时的输出值;e(k) 为采样时刻k时的偏差值; e(k - 1) 为采样时刻k - 1 时的偏差值;u0为t =0时刻对应的输出值。

采用位置式PID 算式,当达到设定的门限值之后再加入积分运算,这样就能够避免积分饱和问题。

4 实验

以波长为650 nm 激光作为目标物,首先目标物是静止的,此时跟踪伺服设备进行空间搜索的过程。待设备搜索到目标物之后,目标物开始移动,这时光斑中心与四象限中心不重合,单片机采集到数据后进行运算,输出PWM 波使电机开始转动,这样就能使设备跟着目标物运动。实验装置如图8所示。

5 结论

本设计采用性能优越的MSP430F169 作为控制核心。使用MSP430内部的AD模块以及定时器模块能够实现精准的多路数据采集。外围电路的设计,利用RC滤波器,减小噪声对信号的影响,同时利用相位补偿技术消除了自激干扰,使信号稳定输出。软件部分采用位置式PID算式,当达到设定的门限值之后再加入积分运算,这样就能够避免积分饱和问题,使跟踪设备平缓地到达指定位置。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45340

    浏览量

    663562
  • 探测器
    +关注

    关注

    15

    文章

    2743

    浏览量

    75490
  • 定时器
    +关注

    关注

    23

    文章

    3360

    浏览量

    121743
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现
    的头像 发表于 07-25 09:31 439次阅读

    全国大学生电子设计大赛加毕业设计项目合集

    单片机控制的智能小车 2012 TI C2000及MCU大奖赛基于MSP430系列单片机控制的智能小车 430低功耗应用_智能护眼台灯 lm3s811学习套件
    发表于 04-15 11:45

    STM32F10xxx单片机编程手册

    电子发烧友网站提供《STM32F10xxx单片机编程手册.pdf》资料免费下载
    发表于 04-14 14:56 17次下载

    STM32F103x8 STM32F103xB单片机数据手册

    STM32F103x8STM32F103xB单片机数据手册
    发表于 04-14 14:55 6次下载

    msp430f247单片机的SPI接口驱动ADS1298芯片,读出的寄存器值不正确,是哪里的问题?

    我用msp430f247单片机的SPI接口驱动ADS1298芯片,CLK选择内部2.048MHZ晶振,SCLK选择16MHZ的spi时钟,DVDD为3V。可以进行有效的寄存器写操作(用示波器观察
    发表于 02-14 06:12

    msp430单片机如何设计软件滤波?

    ADS1110 16位 I2C接口AD 采样前端传感器调理输出信号,ADS1110内部参考电压2.048V.传感器输出信号0.050mV~3.0V,经过调理单路后在0~2.033V之间。现在发现ADS1110采样值有20~50个跳动。用msp430单片机如何设计软件滤波
    发表于 02-10 08:43

    为什么ADS1298R会拉低单片机的输出电平?

    。而不与1298R连接的430的io管脚输出的高电平为3.3V左右(430的电源为3.3V),请问为什么1298R会拉低单片机的输出电平?我想在这两个芯片连接的管脚加上拉是否可行
    发表于 02-08 07:27

    MSP430单片机SPI与TLV5638通讯,TLV5638输出都是0是什么原因?

    MSP430单片机SPI与TLV5638通讯,通过示波器观测到SPI发送给TLV5638的指令和数据都是对的,但是TLV5638输出都是0,不知道是什么原因,在datasheet上看到, 单片机
    发表于 02-07 06:49

    AN4121-采用PIC16F单片机进行系统电源控制

    电子发烧友网站提供《AN4121-采用PIC16F单片机进行系统电源控制.pdf》资料免费下载
    发表于 01-21 14:42 0次下载
    AN4121-<b class='flag-5'>采用</b>PIC16<b class='flag-5'>F</b><b class='flag-5'>单片机</b>进行系统电源控制

    是否可以用msp430f5529的开发板直接进行程序调试?

    连接上ldc1000,套用附件中提供的官方例程,实现ldc1000的Rp,和电感的测量。 4.msp430f5529能否控制数码管显示呢? 十分感谢您百忙之中回答我的问题!
    发表于 01-13 06:07

    最大msp430f5529的12位ADC支持采样率200ksps是什么意思?

    最大msp430f5529的12位ADC支持采样率200ksps是什么意思? 是不是单片机所的采样频率为200khz,如果我配置25MHZ的时钟频率,能否提高单片机所的采样频率? 这个参数又和
    发表于 01-10 06:00

    MSP430F149如何配置spi和DS1302使用?

    我是一个小白,刚刚学习msp430系列芯片,我看到MSP430F149可以配置USART使其成为SPI的方式,但是,和DS1302就不知道怎么配置了。 MSP430F149与SPI相关的有MISO
    发表于 01-06 07:21

    基于 XD08M3232 接近感应单片机的背景抑制光电开关设计与应用

    接近感应单片机的背景抑制光电开关通过合理的硬件设计和有效的软件编程,实现了在复杂背景环境下对目标物体的精准检测。其高背景抑制能力、精准检测、灵活配置以及小型化低功耗等特点,使其在工业自动化、智能检测
    发表于 12-16 18:56

    请问ADS112C04作为一个模数转化器,怎么和msp430单片机相连,进行编程呢?

    请问ADS112C04作为一个模数转化器,怎么和msp430单片机相连,进行编程呢?以及为什么它只有一个数据输入和输出共用的端口,而没有其他数据输出端口?谢谢
    发表于 12-11 06:29

    MSP430FR4xx和MSP430FR2xx系列用户指南

    电子发烧友网站提供《MSP430FR4xx和MSP430FR2xx系列用户指南.pdf》资料免费下载
    发表于 12-10 13:47 35次下载
    <b class='flag-5'>MSP430</b>FR4xx和<b class='flag-5'>MSP430</b>FR2xx系列用户指南