基于ATmega128的智能小鼠训练系统的设计

2013-12-10 14:07华东师范大学信息科学与技术学院
电子世界 2013年6期
关键词:蜂鸣器触点电磁阀

华东师范大学信息科学与技术学院 王 近 刘 开

一、引言

脑电信号是脑神经细胞群在大脑皮层的电信号活动反映,属于微弱的生物电信号,包含了全部生理信息,同时也能反映出大部分的病理状态。脑电信号可以体现出生物体的健康状况,甚至可以体现出复杂的心理与生理状况。研究脑电信号对临床疾病的治疗有重要的意义,而且对生物电生理学等领域有一定的推动作用。其中脑机接口是研究脑电信号的主要方式,通过研究小鼠在实施某种特定行为时,其大脑相应的脑神经反应区神经元的工作情况与协调机制,为研究大脑如何控制行为提供了一种有效的方法。

以单片机为控制核心的嵌入式系统因其功能专一,可靠,价格便宜,因此在工控,电子智能仪器设备等领域有着广泛的应用。ATMEL公司的AVR系列单片机采用RISC结构,其速度,内存容量,外围接口的集成度,向串行扩展和更适合使用高级语言编程等众多特性,使其得到了广泛地应用,成为单片机嵌入式系统的主流芯片之一。本文使用ATmega128单片机为控制核心,设计一种智能小鼠训练系统,实现对小鼠行为训练的智能控制,配合脑机接口,检测出小鼠在某种行为下的大脑的反应,从而方便了脑电信号的研究。

二、方案总述

在该系统中,老鼠被放置于一个密闭的容器中,仅左,中,右三个洞口可以供其探头,分别称为a,b,c洞,三个洞口处各置一个高亮度的LED灯与红外探测器。预期实现如下功能:

1.任意时刻b洞口处的LED灯亮,小鼠需在b洞探头;

2.红外b检测到小鼠探头,记录时间,同时控制蜂鸣器给于一个频率的声音并开始计时,高频声音指示小鼠应向a洞探头,低频表示向c洞探头;

3.若小鼠做出正确的动作,蜂鸣器给予1个正确提示声音并且控制水泵放水给小鼠以奖励,记录该时间,并得出小鼠完成这个过程所用的时间;

4.若小鼠做出错误的动作,给予1个错误的声音提示,并且led灯闪烁2下发出警告,记录小鼠发生错误的时间以及给予错误提示的时间节点。

小鼠训练流程图如图1所示。

三、系统原理

1.基本原理

系统主要由单片机红外发射接收电路、蜂鸣器电路、水泵电路以及PC与单片机之间的通信部分组成。

硬件部分分为两个部分:核心控制板以及外围电路板。控制板由ATmega128构成其最小系统;外围电路板由系统所需的外围设备电路如:继电器,红外等组成。通过编程利用单片机控制外围电路。

软件部分利用C语言完成基本系统功能的控制,利用Vb编程的基本控件完成界面功能,单片机与PC机的通信采用串行双工方式实现双方之间的命令收发。

2.单片机ATmega128及其最小系统简介

ATmega128是Atmel公司8位RISC系列微控制器的最高配置的一款单片机,具有高性能,低功耗的特点,采用哈佛结构,通过在一个时钟周期内执行一条指令,使其可以取得1MIPS/MHz的性能,从而缓解系统在功耗和处理速度之间的矛盾。内部集成了128KB的Flash程序存储器,4KB的EEPROM和SRAM数据存储器,具有53个可编程I/O口,8个10位ADC转换通道,以及4个独立的定时/计数器等。ATmega128片内集成了2个全双工通用同步/异步串行收发器USART,AVR的USART是一个增强型的,高度灵活的串行通信设备,除了一般USART所具有的功能外,两个串口均可以工作于同步或异步方式,使用起来非常灵活。ATmega128AVR有整套的开发工具,包括C编译器,宏汇编,程序调试器/仿真器和评估板。

单片机芯片加上正确的时钟电路,复位电路以及电源就可以构成其最小系统,一个单片机嵌入式系统的核心,就是一个单片机最小系统,再根据实际电路的需要连接相应的外设,将编好的程序通过下载电路下载至单片机中,即可构成一个单片机嵌入式系统。

四、系统方案设计

1.系统硬件结构设计

系统硬件结构方框图如图2所示。

(1)单片机控制电路

单片机控制电路是系统的控制核心,该电路主要由ATmega128最小系统电路加上必要的外围接口电路组成。

1)ATmega128有64个引脚,具有丰富的管脚资源,其中有8个端口共53个独立的可编程I/O引脚,可以通过编程分别设置其输入,输出方式。单片机通过I/O引脚实现对外围设备的控制。ATmega128引脚图如图3所示。

2)单片机的外部系统时钟电路由引脚XLAT1与XLAT2外接16MHz石英晶体和电容组成谐振回路,配合片内的OSC振荡电路构成振荡源。外部时钟电路如图4所示。

3)复位电路如图5所示。正常工作下,电路输出到复位引脚上的信号为高电平;由于ATmega128是低电平复位,当按下复位按键时,电容C3迅速放电,复位引脚上的电平被迅速拉低,单片机复位;此后VCC通过R16给电容充电,最终C3上的电压为Vcc,复位状态结束。

4)电源电路使用LM7805三端稳压芯片,将输入的12V直流电压转化为5V输出,作为单片机及部分外设的电源。IN4001为整流二极管,对输入的交流成分进行整流,也对输入电源正负反接进行保护。12V直流电压可以由220V交流电通过电源适配器得到,这样就可以使用220V交流电直接给系统供电。电源电路如图6所示。

5)ATmega128支持多种下载方式,本电路匹配了2个2X5插针座,分别对用于ISP与JTAG两种编程下载接口。JTAG口主要用于实现在片调试仿真和编程,ISP主要为编程下载使用。ISP下载口连线图如图7所示,JTAG下载口连线图如图8所示。

6)ATmega128提供了两个全双工的通用同步/异步串行收发器USART1与USART2,串行通信需要用到两个I/O口RXD和TXD。PC机的串行口采用的是标准的RS232接口,单片机的串行接口电平是TTL电平,与RS232的电气特性不匹配,因此为了使单片机的串行口能与RS232接口通信,必须将串口的输入/输出电平进行转换。电路采用MAX232芯片来完成电平转换,通过其电平转换,连接单片机的两个UART口,实现与PC机的异步通信,AVR系统RS-232接口电路连接图如图9所示。

(2)外围电路

外围电路由主要由红外收发电路,蜂鸣器电路,继电器控制水阀电路,高亮度LED电路组成。

1)红外电路,通过一对红外对管,红外发射管根据其10-20mA的驱动电流,选择相应的电阻,大约为330欧姆,红外接受管和一20K欧姆的电阻相连在发射管一端引出比较信号,另外要引出+5V和GND的引脚来方便与中央控制板相连接。

在中单片机控制板通过LM393构成比较器,电路如图所示,在比较器输出端接上拉电阻,通过变阻器来调节比较电压,和输入信号作比较,在红外接受管有信号时,即在红外对管前有障碍物时,比较信号会由原来的高电平变为低电平,比较器输出端的电压也会从高电平变成低电平。红外模块电路如图10所示。

2)蜂鸣器电路如图11所示。原则上讲,用单片机产生各种音乐发声原理很简单,就是由I/O引脚输出不同频率的脉冲信号,再将信号放大,推动发声器件发声(这里是指在要求不高的情况下,用不同频率的脉冲方波代替正弦波)。

BZ为一个无源蜂鸣器,作为发声器件(有源蜂鸣器的发声频率固定,不能使用),I/O口的脉冲输出经过三极管放大驱动蜂鸣器发声;电阻RM1、RM2起到限流和保护作用,电阻RM1的值应在5-10欧姆之间,太大了会降低蜂鸣器的发声功率;又因为三极管驱动的为BZ内部的电感线圈,所以要加上一个反峰保护器。

图1 小鼠训练流程图

图2 系统硬件框图

图3 ATmega128引脚图

图4 外部时钟电路

图5 单片机复位电路

图6 系统电源电路

图7 ISP下载口连线图

图8 JTAG下载口连线图

图9 AVR系统RS-232接口电路连接图

图10 红外模块电路

图11 蜂鸣器电路

图12 继电器控制电磁阀电路

图13 主程序流程图

图14 红外模块状态转换图

图15 上位机系统控制界面

图16 最小系统板原理图

图17 最小系统板PCB

图18 ATmega28最小系统控制板

3)水泵使用电磁阀实现,电磁阀是用电磁控制的工业设备,用在工业控制系统中调整介质的方向、流量、速度和其他的参数。电磁阀是用电磁的效应进行控制,主要的控制方式由继电器控制。这样,电磁阀可以配合不同的电路来实现预期的控制,而控制的精度和灵活性都能够保证。电磁阀的工作原理就是利用给电磁铁通电,电磁阀里面的铁芯运动,来控制流体的通断。通电时,电磁线圈产生电磁力把关闭件从阀座上提起,阀门打开;断电时,电磁力消失,弹簧把关闭件压在阀座上,阀门关闭。

本电路采用2v025-08两位两通电磁阀,标准电压DC12V使用继电器进行开关的控制,电路如图12所示。电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。继电器一般有两股电路,为低压控制电路和高压工作电路。

NPN晶体管驱动时:当晶体管Q1基极被输入高电平时,晶体管饱和导通,集电极变为低电平,因此继电器线圈通电,触电吸合,电磁阀通电,开始放水。当晶体管Q1基极被输入低电平时,晶体管截止,继电器线圈断电,触电断开,电磁阀断电,停止放水。

三极管采用中功率管,导通电流大于300mA。电阻R1为限流作用,限制从I/O流出的电流不能太大,从而保护I/O口,阻值为1KΩ;二极管D1释放反峰电压,保护三极管和I/O口不会被反峰电压击穿,一般选1N4148;电容C1作用是对继电器动作时产生的尖峰电压进行有效的过滤,从而提高系统的可靠性。另外,当AVR上电时,I/O口三态高阻输入方式,因此使用电阻R2在上电时将三极管的基极电位拉低,三极管截止,从而防止上电误操作。

2.系统软件设计

系统软件部分分为两个部分:C语言基本模块与VB控制界面。

利用C语言完成基本功能的控制,主要分为以下几个模块:

(1)主程序模块

主程序主要进行小鼠训练流程的控制,根据红外等外部设备反馈的结果判断小鼠的动作,并分析正误,控制蜂鸣器及水阀等电路,从而指示小鼠的下一步动作。主程序流程图如图13所示。

(2)红外模块

红外模块主要使用状态机的思想分别对三个洞口当前监测状态进行判断与控制,过程分为4个状态。状态0为初始状态,当中间洞口的红外监测到小鼠探头时,进入状态1,再次判断红外监测结果进行消抖并进入状态2;当监测到小鼠探头时间超过baseline后,进入状态3,并返回当前状态值;当监测到小鼠探头的时间超过delaytime后,进入状态4;再次监测到小鼠探头返回状态0。状态转换图如图14所示。

(3)小鼠动作判断模块

char judge_act(void)子函数主要对小鼠动作的正误进行判断,并返回判断结果,当蜂鸣器给出第二个声音时,高频指示小鼠应在左洞口探头,低频指示小鼠应在右洞口探头,该函数根据蜂鸣器的发声频率以及红外监测小鼠的动作来判断是否正确,并返回判断结果。

(4)VB模块

PC的系统控制界面如图15所示,vb编程的基本控件主要完成控制界面的功能,需要突出的是利用了vb中的MSConn控件完成了串口通信的功能。根据上述的通信协议,利用PC机发出命令(包括开始,暂停,继续)来控制单片机运行整个逻辑,以及一系列的参数;而单片机则会发出应答包来确认正确收到命令,PC机也同样利用MSComm控件来接受单片机发出的命。

五、附件

如图16、17、18。

六、总结

以AVR单片机ATmega128为控制核心的嵌入式智能小鼠控制系统可以实现对小鼠行为训练的智能控制。系统由硬件和软件部分组成.硬件部分由ATmega128构成最小系统控制外设电路;软件部分由PC作为上位机,单片机作为下位机,由VB完成编程,控制界面以及串行通信等一系列功能的设计。该系统硬件结构简单,软件功能专一,成本低廉,性能可靠,有助于检测小鼠在特定行为下的大脑反应,为脑点信号的研究提供了方便。

[1]马潮.AVR单片机嵌入式系统原理与应用实践[M].北京航空航天大学出版社,2011,8(第二版).

[2]查明华.ATMEL ATMEGA128新型微控制器及应用[OL].(2013/3/8)[2013/3/9].http://www.cnki.com.cn/Article/CJFDTotal-GYKJ200210022.htm.

[3]张桂香,姚存志.基于ATmega128单片机的智能供电测控系统设计[OL].(2013/3/8)[2013/3/9].http://lib.cqvip.com/qk/97650X/200908/31169601.html.

猜你喜欢
蜂鸣器触点电磁阀
中国人民大学新闻学院教授 林升栋:将消费者触点思维融入广告媒体计划
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于ANSYS Maxwell的比例电磁阀隔磁环仿真分析与优化
低速机电控喷油器电磁阀换热特性计算
航空电转换器的损伤原因分析及修理
掌控板制作简易钢琴
接触器辅助触点接触电阻产生原因分析
福特6F35变速器的电磁阀控制策略
单片机驱动蜂鸣器的程序设计
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响