manbetx官方网站

 找回密码
 注册

QQ登录

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

使用新浪微博登录

一号多站,快速登录

无需注册,直接登录

搜索
热搜:
欢迎光临manbetx官方网站  www.xdlfamen.com 捍卫钓鱼岛 抵制日货
manbetx官方网站 欢迎广大电子爱好者和无线电爱好者 建立自己的专业群组!最�
manbetx官方网站开通网络电视功能插件,有些浏览器不能正常观看,推荐使用 360极速浏览器 36
手机天线原理和设计 4411
移动通信基站基础知识 4410
周海婴被公众提及最多的一个身份是“鲁迅独子”,其实他并没有走父亲的文学之路,而是在无线电�
火腿入门必读 注:资料来自网络,原作者不详 第
.李建清.扫描版3730 3731
.李建清.扫描版 3728 3729
功率放大模块.型号 频率 功率 注:资料来自网络
本帖最后由 lfcx 于 2012-8-11 15:48 编辑 http://www.xdlfamen.com/data/attachment/portal/201208/11/085633h
.李建清.扫描版.pdf 3745 3746
.刘建清.扫描版 3736 3737
基于微盟ME8204 应用 12V-2A 开关电源应用方案(原理图,PCB 下载条件�
本方案使用微盟 me8204 IC 4
六级能效标准的挑战 资源:115网盘附件下
 路灯电缆故障测试仪,实际上可以由便携式测距
ARM体系结构(1).pdf 4058
嵌入式系统设计师考试笔记(完整整理版).pdf 4057
求led点阵时钟程序,急!
买仪器就到我爱仪器网,那里更全,服务更好
本帖最后由 lfcx 于 2012-1-25 18:04 编辑 资源:115�
本帖最后由 lfcx 于 2012-1-6 16:31 编辑 资源:115网盘附件下载:第11讲.rar (1
资源:115网盘附件下载:MCS-51单片机原理及接口技术.rar (5.51MB)
资源:115网盘附件下载:8098单片机原理与应用.rar (4
资源:115网盘附件下载:keil+uvision4破解版下
资源:115网盘附件下载:Proteus-自建元件库.doc (563.00KB) 《单片机模拟仿真软件》Proteus7.5sp3破解汉化
μCOS-Ⅱ Mega128 源代码
Linux基础教程!!�
综合台湾媒体报道,台空军屏东联队第20电子战大队破获共谍案,少校郝志雄涉嫌被大陆收�
本帖最后由 lfcx 于 2012-3-23 21:22 编辑 资源:115网盘附件下载:EMC�
资源:115网盘附件下载:EMC设计整改指导
这里将免费提供场地,收录国内
manbetx官方网站 首页 技术应用 单片机 查看内容

基于双处理器的投影机升降控制设计方案

2012-9-25 13:41| 发布者: 闪电| 查看: 785| 评论: 0

摘要: 摘 要: 提出了一种基于Atmega8 和Stm32F101 双处理器的投影机升降控制设计方案,介绍了其电路组成、功能以及软件流程。其中Atmega8 负责数据采集,Stm32F101 实现对电机的控制,处理器间通过I2C 总线进行通讯。系统 ...

 

摘 要: 提出了一种基于Atmega8Stm32F101 双处理器的投影机升降控制设计方案,介绍了其电路组成、功能以及软件流程。其中Atmega8 负责数据采集,Stm32F101 实现对电机的控制,处理器间通过I2C 总线进行通讯。系统采用了红外遥控或外部按键输入装置控制,也可以用PC 机联机控制。试验验证设计方案正确、有效,定点精度符合实用要求。

  1 引言

  投影机升降控制系统由Atmega8 数据采集电路、Stm32F101 控制电路、电动机旋转圈数检测模块、红外遥控接收发模块、外部按键模块以及外接抗干扰等电路构成。目标是对投影机等多媒体设备的升降控制。方案中能随时设置投影机到达的最高点和最低点的上限值,设置完毕后无论投影机在哪个位置,当按上升键时能到达设置的最高点,按下降键时能到达设置的最低点,按停止键时停止运动。采用粗调与微调相结合的操作方式,长按操作键3 秒时投影机连续升或降,松手时停止,主要用于粗调;短按操作键时投影机升或降一定距离后自动停止,用于微调。当设置完后,用保存键保存设置,倘若没有保存设置,则设置点无效。红外遥控器既可设置运行参数,也可升降控制。

  2 基本控制方法

  控制系统的关键在于可以控制投影机升降到任意位置,升降过程是靠电动机实现的,升降的直线距离与电动机旋转圈数相对应,实现了对电动机旋转圈数的控制也就实现了升降直线距离的控制。本方案的技术突破点在于将精确直线距离控制转化为对电动机旋转圈数的控制,电动机旋转一圈对应升降直线距离一毫米,本方案的直线距离控制准确度为一毫米,即实现对电动机旋转一圈的数字控制。电动机控制模块中采用2 个红外传感器实现电动机旋转圈数与旋转方向的采集,由Atmega8 两根I/O 引脚采集传感器输出的信号,引脚的电平组合信号变化状态为00,10,11,01(顺时针方向)或者00,01,11,10(逆时针方向)。本文利用motor _state 结构体表示电机的状态,结构体中每个元素的含义如下:

  通过结构体前两个元素值比较可以知道电机是否转动;通过3,4 元素比较可以精确定位投影位置,当相等时产生中断,命令电机停止转动;在后2 个元素中,当两引脚由00 到10 时,motor _ bit _ L 第0位置一,10 到11 时,第1 位置一,11 到01 时,第2 位置一,01 到00 时,第3 位置一,所以当低4位全为1 时表示电机逆时针转动一圈,顺时针转动一圈则由motor _ bit _ R 表示。

  3 控制系统硬件设计

  控制系统总体上分为信号采集与电动机控制两大部分。

  如系统框图右侧Atmega8 主要用作红外传感器信号电平采集,当Stm32F101 控制电机升降时,电机圈数检测电路会通过红外传感器向Atmega8 输入信号,从而判断出电机的运行情况。左侧为Stm32F101 控制电机的升降部分。命令可以分别由红外遥控或者与PC 机联机后的按键方式输入。当Atmega8 采集红外传感器信号电平时,可以通过I2C总线与Stm32F101 传递信息,在投影机到达目的点时发出中断信号使Stm32F101 产生中断,处理相关的操作。图中所示,通过串口可以方便读写2 个E2PROM 的内部数据。掉电保存模块采用的是CAT24WC16,即使在运行中突然停电,也能自动保存电机停电时刻的状态参数,即保存motor _state结构体变量。

图1 控制器系统硬件结构图

图1 控制器系统硬件结构图

  3.1 电机圈数检测单元

  此单元在整个系统中处于重要地位,在电机转轴一端套着半圆铁片,置于红外传感器发射端和接收端之间,当电机转动时铁片跟着旋转。圈数检测单元中有两个红外传感器,其中每个红外传感器由发射端和接收端组成。发射端和接收端之间被半圆铁片挡住时输出信号为低电平0,没有挡住时输出信号为高电平1.由于是半圆铁片,随着电机的不断旋转,Atmega8两个引脚接收红外传感器信号,不断循环地检测两引脚的输入电平。当两引脚的输入电平没有变化时代表电机没有转动,当变化状态为00,10,11,01 或者00,01,11,10 时,表明电机转动。状态顺序反映出电机顺时针或者逆时针方向旋转。

  3.2 电机控制模块

  图2 是Stm32F101 对电机控制的硬件原理图。

图2 电机控制硬件结构图

图2 电机控制硬件结构图。

  图中ULN2803A 是达林顿驱动器件, 受控于Stm32F101,MOTO_UD,MOTO_ON,SPK 直接与Stm32F101 连接,它们的作用分别是控制电机升降,控制电机工作还是停止,控制蜂鸣器响停。继电器RL303 工作时,电机工作在220V 交流下,反之则停止工作。而继电器RL302 常开时,从图中知道是控制电机升操作,反之常闭是对电机降操作。为了提高电机的安全性,还采取了升降保护,如图中连接有两个限位开关,分别是升、降限位保护,即当到达极限点时限位开关断开,导致电机停止工作,起到保护电路的作用。

4.2 Stm32F101 软件流程

  上电复位后进行系统初始化,主函数循环执行3个子函数,等待着外部控制命令输入。当接收到任意一种外部命令时,Stm32F101 使Atmega8 产生I2C 中断,传递相关数据,Atmega8 响应正常后Stm 32F101才执行控制电机的操作,程序流程图如图6 所示。

图6 Stm32F101 软件流程图。

图6 Stm32F101 软件流程图。

  5 实验结果分析

  首先设置投影机的最低点和最高点分别为20.00cm、120.00cm,实验中总是在投影机下降过程中断电片刻后上电,反复记录投影机所到达的最低点和最高点,实验数据见表1.由测试结果可知,测量误差在1mm 以内,并且随着实验次数的增加测试数据会向下偏移。同样可以试验,在投影机上升过程中断电时,随着实验次数的增加测试数据会向上偏移,故而在实际应用当中,投影机所到达设置点的误差能确保在1mm 以内。

表1 实验测试数据 cm

表1 实验测试数据 cm

  6 结论

  本方案的技术突破点在于:

  首先,Atmega8 采集红外传感器信号电平两种变化状态00,10,11,01 和00,01,11,10 及其相关算法处理,正确并且快速地获取电机的转动状态和转动圈数,实现了精确直线距离控制转化为对电动机旋转圈数的控制。

  其次,采用双处理器,Atmega8 负责信号采集分析,Stm32F101 负责电机控制,使得实时性更高,响应速度更快,从而稳定性和精度性都有了明显的提高,完全满足投影机等多媒体设备的定位需求。


3.3 外部输入模块

  图3 是外部按键输入模块,图中key_1,key_2,key_3 与Stm32F101 引脚分别相连,键按下时该键输入为0,当多于一个键同时按下时视为无效。则有效模式分别对应110,101,011 三种状态。当按下其中任意一键时,发光二极管导通,发出光信号作为三极管的基极输入,三极管导通,对应Stm32F101引脚低电平,从而作出相应处理。采用光电耦合,增强了抗干扰能力。

图3 外部按键结构图。

图3 外部按键结构图。

  图4 为红外遥控解码模块接口图,D0,D1,D2,D3连到Stm32F101.红外遥控模块采用了解码电路(BM2272)与编码电路(BM2262)配合使用的一块解码专用集成电路。图4 中BM2272 模块接收BM2262红外线传输方式发送来的一系列地址和数据,通过地址位进行2 次连续比较,如果发现没有错误的码字和不匹配的字,输入的数据被解码并传送给相应的数据脚输出,同时VT 脚输出一个高低平的脉冲来表明一个有效地发射。

图4 红外模块遥控解码模块接口图。

图4 红外模块遥控解码模块接口图。

  4 软件设计

  软件总体设计分为Atmega 8 软件设计和Stm32F101 软件设计。Stm32F101 收到命令后进入相关的处理函数,根据命令执行不同的操作,同时通过I2C 总线与Atmega8 通讯。

  4.1 Atmega8 软件流程

  开始后首先执行系统初始化,其中包括初始化定时器,串口,I2C 等,然后从E2PROM 中读取掉电时刻保存的电机参数,完全还原电机掉电时的状态。进入主函数后循环执行各个子函数。当电机转动时,根据采集的电平信号更新结构体变量,转过一圈motor_ data 元素加1 或者减1,当motor _ data 与motor_ over 相等时产生外部中断信号使Stm32F101 发生中断,在中断函数体内执行程序使电机停止下来。

  无论何时掉电,都会立即进入掉电保存程序,将重要参数写进E2PROM,下次上电时完全还原电机掉电时刻的参数。由于Stm32F101 是主I2C,当Atmege8 接收到I2C 数据时产生I2C 中断,保存数据到相应数组,同时置位相关标志位,当循环到I2C中断标志为1 时,马上进入处理命令函数,满足条件时中断Stm32F101,程序流程图如图5 所示。

图5 Atmega8 软件流程图

图5 Atmega8 软件流程图。


|关于本站|小黑屋|Archiver|手机版|manbetx官方网站 ( ) |申请链接 |  网站事务: 技术支持: 广告联系:

GMT+8, 2013-12-6 08:58 , Processed in 0.105086 second(s), 43 queries .

Powered by X3

© 2001-2013

返回顶部