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

发布者:感恩的7号最新更新时间:2020-09-02 来源: elecfans关键字:MSP430F169  单片机  光电跟踪装置 手机看文章 扫描二维码
随时随地手机看文章

  引言

  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 电机驱动模块

  采用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所示。

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

  5 结论

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

关键字:MSP430F169  单片机  光电跟踪装置 引用地址:采用MSP430F169单片机实现光电跟踪装置的设计

上一篇:TI MSP430 F22xx系列混合信号微控制器的特性及应用方案
下一篇:以MSP430单片机为控制运算核心的CCD可选调光电控系统设计

推荐阅读最新更新时间:2024-11-10 10:13

PIC单片机A/D转换数据存储以及串口效率
PIC 单片机A/D 转换后的数据通常需要占用两个8 位宽的RAM 单元, 而PIC 单片机的存储单元有限,因此造成了单片机的存储单元不能被有效利用, 同时通过串口向上位机传送数据时也需要花费较多的时间。 为此提出一种数据打包的方法, 使得相同的数据量占用较少的存储空间, 并可提高传输效率。 引言 在由单片机和PC 机构成的检测系统中, 通常会由多个单片机采集数据并将经过A/D 转换的数据通过串口送往上位PC 机进行数据处理。PIC 单片机A/D 转换后的结果大多是8 位或10 位的, 8 位的A/D转换不涉及该问题。以10 位的数据为例, 在单片机内进行存储时需要占用2 个8 位的字节, 低8 位和高2位分别存储在2
[单片机]
爱普特32位MCU APT32F1023H8S6应用于智能净水器
智能净水器一般配有LED显示屏,带有语音提醒功能、温度监测控制、温度报警、水位控制、水位监控报警等。本文主要提到爱普特的C-Sky 32位CPU内核的微控制器APT32F1023H8S6在智能净水器上的应用。 以下为智能净水器的部分原理框图: 32位MCU APT32F1023H8S6应用于智能净水器中的优势特点: 1、最高48MHz工作频率,内建单周期乘法、SWD调试和硬件除法,为用户实现高效、快速的指令控制。 2、具备64K字节的内部闪存程序,更利于用户程序开发。 3、1xI2C,3xUART,1/0xSPI,1xSIO,满足用户外设多接口设计要求。 4、支持更宽的工作温度:-40至+85°C。 5、1个12位A/D
[嵌入式]
爱普特32位<font color='red'>MCU</font> APT32F1023H8S6应用于智能净水器
雅特力AT32 MCU为ADAS汽车环视系统性能带来大幅提升
随着城市化进程的迅猛发展,人民生活水平的日益提高,城市机动车数量飞速增长,道路交通安全问题也日益突出,这里面有很多时候是由于驾驶人员的安全意识、违规驾驶、路况、疲劳驾驶等原因,这种情况下如果有产品能够提醒驾驶员,则有助于降低交通事故发生的概率。 安全驾驶时代,ADAS先火。ADAS(Advanced Driver Assistance Systems)是利用传感器收集车辆周围数据,进行物体的辨识、侦测与追踪等,能够让驾驶者在最快时间察觉潜在危险,提高安全性的主动安全技术。作为汽车从传统功能车向智能车升级的一项过渡技术,ADAS近两年开始在量产车上广泛搭载,成为越来越多新车的“标配”。
[嵌入式]
雅特力AT32 <font color='red'>MCU</font>为ADAS汽车环视系统性能带来大幅提升
51单片机的简介——串行口、SCON
51单片机有一个全双工串行通讯口,它即可作为UART(Universal Asynchronous Receiver/Transmitter),也可作为一个同步移位寄存器。而且作为UART时,其具有多机通讯能力。 51单片机的串行口由发送控制、接收控制、波特率输入管理和发送/接收缓冲区SBUF(地址为99H)组成。SBUF作为发送和接收缓冲区其实际是分开的两个器件,数据不会相互覆盖,但在对其寻址时都是99H,51单片机会根据读或者写指令操作相应的器件。 站在汇编角度来看,51单片机的串行口通讯操作体现为累加器Acc(地址E0H)和发送/接收缓冲区SBUF之间的数据传递。当我们要发送数据时,对串行口完成初
[单片机]
stm32多线程 单片机如何实现多线程
STM 32系列是专门应用在高性能、低成本、低功耗的嵌入式应用设计的ARM Corte-M0,M0+,M3,M4和M7内核,是主流的嵌入式单片机之一。 多线程通常是指从计算机软件或硬件上实现多个线程并发执行的技术,多线程技术有利于提升计算机整体处理性能。 基于STM32单片机的多线程源代码实例1: #include “Hal_Led/Hal_Led.h” #include “Hal_delay/delay.h” #include “Hal_Key/Hal_Key.h” #include “ringbuffer.h” #define APP_LED2_BLINK_EVENT 0x0001 #define HAL_LED1_BLI
[单片机]
飞思卡尔单片机MC9S12XEP100中断优先级设置
#include MC9S12XEP100.h void Interrup_priority(void) { //INT_CFADDR:Interrupt Request Configuration Address Register //INT_CFDATA0-7:Interrupt Request Configuration Data Registers INT_CFADDR = 0xD0; //选择中断所在的组别,0xD0,D表示组别 INT_CFDATA2 = 7; //选择该组别中的第2个中断,串口1,设置其优先级为
[单片机]
用C51实现单片机的中文输法
说明: 拼音输入法杳询函数: unsigned char code * py_ime(unsigned char input_py_val ); input_py_val为已输入的拼音码字符串头指针,反回值为中文的起始地址,当为0时,杳询失败 应用举例: { unsigned char input_string ={ bang }; unsigned char chines_string ; sprintf(chines_string, %s ,py_ime(input_string)); }   C51程序: // ********************CCDC01采集器测试仪软件:拼音
[单片机]
飞思卡尔单片机AD模块简述(1)
S12XS系列MCU的ATD模块共有27个寄存器,包括6个ATD转换控制寄存器,2个ATD转换状态寄存器,1个ATD比较使能寄存器,1个ATD比较方式寄存器,1个ATD转换输入使能寄存器和16个ATD转换结果寄存器(其中ATDCTL0~ATDCTL5和ATDSTAT0这7个寄存器为8位寄存器,其余寄存器都是16位寄存器)。 先给出一段例程 Code: void ATD_init(void) { ATD0CTL1=0x0f; //选择8位转换精度 ATD0CTL2=0x40; //打开CCF快速清零位,关闭外部触发输入,关闭中断 ATD0CTL3=0x08; //数据左对齐,non-fifo,转换序
[单片机]
飞思卡尔<font color='red'>单片机</font>AD模块简述(1)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved