我是准备用两块原子的板子实现该系统,大致方案如下:
一、主要硬件需求fficeffice" />
主节点:STM32开发板,LCD显示模块,红外接口模块,LIN接口模块,LIN总线
从节点:STM32开发板,步进电机,电机驱动模块,WiFi无线通讯模块,LIN接口模块
二、软件开发语言及平台
以C语言为工具在Keil_MDK 4.0环境下进行程序开发
三、原理
从节点MCU控制步进电机的转速、转向以及旋转角度,同时判断电机所在角度,以模拟判断汽车天窗的开关状态,通过LIN总线将开关状态发送至主节点MCU,在LCD屏上显示该状态。当人在车内时,可以通过手动控制从节点MCU上的按键调整其转速,旋转角度以及转向。当人离开车时,能通过红外遥控锁车,此时锁车信息发送到主节点MCU上,主节点MCU判断天窗开关状态,当天窗处于开状态时,向从节点MCU发送关天窗指令,天窗自动关合。这样能防止人离车而忘记关闭天窗。WiFi模块则是实现在手机和电脑终端上查询汽车天窗的状态信息。系统框图如下:
我准备分模块实现,现在已经通过对I/O口的写入实现了步进电机的正转和反转,方法有点低级,不过我是初学者,希望各位大神多多指导啊!现在我想实现当按键1的按下使步进电机转过一定角度后,按一下按键3,电机能自动回到初始位置,按键3就是暂时用来代替从主节点发送过来的红外锁车信号。各位能给点意见吗?
|