摘要:本文提出了一种基于Atmega8和Stm32F101双处理器的投影机升程控制设计方案,并介绍了其电路组成,功能和软件流程。
其中,Atmega8负责数据采集,Stm32F101实现电机控制,处理器通过I2C总线进行通信。
该系统由红外遥控器或外部按键输入设备控制,也可以由在线PC控制。
通过测试验证了设计方案正确有效,定点精度符合实际要求。
1简介投影机升降控制系统由Atmega8数据采集电路,Stm32F101控制电路,电机旋转检测模块,红外遥控接收与发送模块,外部按键模块和外部抗干扰电路组成。
目的是控制诸如投影仪之类的多媒体设备的提升。
在该方案中,可以随时设置投影机达到的最高点和最低点的上限。
设置后,无论投影机在哪里,按下向上按钮都可以到达最高点,而按下向下按钮则可以到达最低点。
当您按下停止按钮时,单击并停止运动。
结合使用粗调和微调,长按操作键3秒钟,投影机将继续上升或下降,放开时,投影机将停止。
主要用于粗调;短按操作键时,投影机将升高或降低一定距离后将自动停止。
进行微调。
设置后,使用保存按钮保存设置。
如果未保存设置,则设置点无效。
红外遥控器不仅可以设置运行参数,还可以控制起升。
2基本控制方法控制系统的关键是它可以控制投影机将其抬到任何位置。
提升过程由电机实现。
提升的线性距离对应于电动机的转数,并且实现了电动机的转数的控制。
直线升降距离的控制。
该解决方案的技术突破是将精确的直线距离控制转换为对电动机转数的控制。
电动机的一转对应于提升的直线距离为一毫米。
该解决方案的直线距离控制的精度为一毫米,即实现了电动机的旋转。
圆的数字控制。
电动机控制模块中使用了两个红外传感器来收集电动机的转数和旋转方向。
Atmega8的两个I / O引脚收集传感器输出的信号,并且这些引脚的组合信号改变状态的电平为00、10、11、01(顺时针方向)或00、01、11、10(逆时针方向)方向)。
本文使用motor _state结构来表示电动机的状态。
结构中每个元素的含义如下:通过比较结构的前两个元素,可以知道电动机是否在旋转;通过比较3个元素和4个元素,可以准确地定位投影位置。
在最后两个元素中,当两个销钉的范围从00到10时,电动机_位_ L的第0个位置为1,当10到11时,电动机的第一个位置为1,并且两个销钉的位置在11和01之间,第二个位置是一个,第三个位置是从01到00的一个,因此当低4位全为1时,表示电动机逆时针旋转一圈,顺时针旋转一圈由电动机_位_ R表示。
3控制系统的硬件设计控制系统一般分为两部分:信号采集和电机控制。
例如,系统框图右侧的Atmega8主要用于收集红外传感器的信号电平。
当Stm32F101上下控制电动机时,电动机圆周检测电路将通过红外传感器向Atmega8输入信号,以确定电动机的运行情况。
左侧是Stm32F101控制电机的提升部分。
与PC连接后,可以通过红外遥控器或按按钮来输入命令。
当Atmega8收集红外传感器信号电平时,它可以通过I2C总线将信息传输到Stm32F101。
当投影仪到达目的地时,它将发出一个中断信号以使Stm32F101中断并处理相关的操作。
如图所示,可以通过串行端口轻松读取和写入两个E2PROM的内部数据。
掉电保存模块使用CAT24WC16,即使在操作过程中突然断电,它也可以自动保存