基于AVR单片机的核磁共振仪床体运动控制与检测系统的研究与设计
1引言
近年来随着医学技术的快速发展,核磁共振仪已经在大中型医院中被广泛的应用。目前,在核磁共振仪的生产过程中,床体部分要与磁体一起搬入电磁屏蔽室组装后才能进行检测,这对人员和物资都是很大的浪费。针对这种状况,本文设计出了一套核磁共振仪床体部分的运动控制与检测系统,它能够对床体部分独立进行检测,而不必将全部系统在屏蔽室安装后检测,从而降低了核磁共振仪床体部分的生产和检测成本,缩短了生产周期。
本设计以通用医疗集团的Ovation5型核磁共振仪的床体为对象,对驱动床体做横向运动的直流步进电机和驱动床体做纵向运动的直流伺服电机的精确控制问题进行较为深入的分析和研究。系统主要采用了ATMEL公司的Atmega128单片机和ALTRA公司的EPM240T100型CPLD芯片作为主控制部分,实现了对床体纵向和横向运动的精确控制和检测。主控电路采用了全数字控制方式和抗干扰设计,具有很高的抗干扰性能。
2检测系统的硬件设计
2.1 系统硬件结构
本检测系统主要由主控制板、显示部分、按键开关、传感器、串行通信和电机控制部分构成。床体的运动分为横向运动和纵向运动两种状态,分别由直流步进电机和直流伺服电机实现。本系统的硬件结构如图1所示。
图1 系统硬件结构示意图
从图1可以看出,电机的逻辑控制由主控制板实现。系统经过初始化之后,当开关或按键发出通断信号给主控制板时,由单片机判断床体当前的状态,如果床体没有处于极限位置,则单片机向相应的电机发出驱动信号,驱动床体向相应的方向运动,否则床体停止运动。横向运动采用开环控制,运动位置由单片机发出的脉冲个数决定。纵向运动采用闭环控制,由连接在直流伺服电机上的编码器反馈位置信号给主控制板。
2.2 主控制板硬件设计
主控制板主要由AVR单片机、CPLD、滤波电路、电平转换电路和串口通信电路等构成。AVR单片机主要实现控制功能,CPLD主要实现I/O口扩展、逻辑判断和对输入、输出信号的编码解码功能。
本系统采用的AVR Atmega128单片机是一种高性能、低功耗的8位微处理器,采用先进的 RISC 结构,133 条指令大多数可以在一个时钟周期内完成,满足了本系统对执行速度的要求。它具有非易失性的程序和数据存储器,128K 字节的系统内可编程Flash。由于本系统在对纵向距离的增减,横向距离的增减,键盘扫描等程序设计均需要使用定时器。而此单片机分别提供了两个具有独立的预分频器和比较器功能的8 位定时器/ 计数器,以及两个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器。它具有两路8 位PWM和6路分辨率可编程(2 到16 位)的PWM输出比较调制器。它具有独立片内振荡器的可编程看门狗定时器,能够有效防止程序跑飞。
图2 主控制板硬件框图
主控制板硬件框图如图2所示,系统初始化后,当有运动按键信号输入单片机时,单片机将输出相应的纵向或横向控制信号。单片机接收经过滤波后的纵向电机编码器的信号,由内部程序计算当前的横向和纵向位置,并将当前的位置信息输出到CPLD,由CPLD驱动显示部分,显示当前的横向和纵向位置。在寿命测试模式下,纵向显示部分也同时可以显示寿命测试计数。本系统具有串行通信功能,能够通过串行接口与PC机或其他设备通信。
3控制系统的软件设计
主控制板首先接收来自用户的操作信号,然后根据这些信号的状态,通过AVR单片机和CPLD内部程序实现对电机的控制和显示功能。在本检测系统中,由于需要控制和显示的信息很多,并且关联性很强,因此需要对单片机进行复杂的编程才能实现各个功能。对本系统而言,AVR单片机固化程序的质量,直接影响到了整个系统的运行稳定性和控制精度,因此AVR单片机固化程序的编程技术就成为系统控制的关键,这同时也是本系统的设计重点之一。通过分析床体的设计要求和实际运行情况,设计开发出一套床体运动测试程序,使得测试系统能够对床体实际运行中所有的运动状态、运动精度和运动寿命进行测试。
3.1 电机控制策略
本系统对步进电机采用了开环控制,对直流伺服电机采用了闭环控制。
3.1.1 步进电机的控制
直流步进电机由主控制板发出脉冲驱动信号给直流步进电机驱动器,从而驱动步进电机动作。电机的转动角度和位置由主控制板发出的脉冲个数决定。单片机是通过控制向驱动器输出脉冲的数量,经过计算后判断当前床体横向位置。横向位置通过数码管显示在用户界面上。由于步进电机具有误差不累积的特性,所以通过这种开环的控制方式能够实现步进电机的精确控制。
3.1.2 伺服电机的控制
直流伺服电机是由单片机发出的PWM驱动信号经过放
- 锁相环控制及初始化简析(08-27)
- 基于AVR单片机的串口转FSK的通信模块设计(01-23)
- 基于AVR单片机的服装压力检测系统设计(05-03)
- 基于Atmel AVR单片机的无线图像侦检系统(10-19)
- avr单片机串口多机通讯及实例(12-03)
- AVR单片机入门系列(25)AVR PWM OC0(12-03)