查看: 948|回复: 0

基于ARM开发板在车位锁上面的实现应用

[复制链接]

该用户从未签到

发表于 2017-6-9 11:24:14 | 显示全部楼层 |阅读模式
分享到:
随着城市化进程的加快,新能源汽车呼之欲出。在笔者所在的城市,力帆和长安等公司都先后推出了可供市民租用的电动汽车。在享受租车所带来的便利的同时,汽车的充电就成了一个难题,在城市道路和停车场安装充电桩成为解决这个问题的一个有效的手段。汽车充电时,需要有一个可用于停靠的车位,并且这个车位只能在汽车充电的时候使用,在其他时间都不能被占用。也就是说,每个充电的车位需要有一个车位锁,当有汽车充电的时候,车位锁打开,否则车位锁关闭。
本文用嵌入式开发板实现了对车位锁开关的控制,可供相关项目的开发人员参考。
一、硬件选型
在嵌入式开发板这块,我们选择了天嵌科技的TQ335X开发板,如下图所示:

在车位锁这块,我们选择了泊享网络的带RS485的车位锁,如下图所示:

二、电路连接
嵌入式开发板通过RS485方式和车位锁相连,RS485的电路原理图如下所示:

如上图所示,电路为TTL转RS485电路,通过跳线SW5接口相应配置,使之与串口2相连。
为了实现485通信功能,板载SW5的跳线选择方式如下图所示:

对于车位锁与开发板的连接,要将车位锁的红色连接线(+)与485的A端相连,将车位锁的黄色连接线(-)与485的B端相连。
三、软件开发环境
由于嵌入式开发板使用的是裁剪版的Linux(ubuntu),因此需要在办公电脑(windows系统)上安装对应的交叉编译环境。
首先,我们要安装Vmware虚拟机,笔者使用的虚拟机版本如下图所示:

接着,我们要将嵌入式系统配备的资料光盘中的裁剪版的Linux(ubuntu)系统安装到虚拟机上,以供编译程序时使用。笔者使用的ubuntu版本如下图所示:

在安装了ubuntu之后,还要将交叉编译器装载到系统中。交叉编译器的安装过程可以参看开发板使用手册,只要按照手册中的步骤(如下图所示)安装就可以了。

四、车位锁协议
我们使用程序通过向车位锁下发指令来控制其开关并获取其状态。车位锁的协议如下图所示:

具体而言,各命令的样例如下:
1.开锁命令:55 ADDR 01 01 CRC AA
接收成功返回 5A ADDR 02 01 01 CRC AA
接收失败返回 5B ADDR 03 01 01 00 CRC AA
2.闭锁命令:55 ADDR 01 02 CRC AA
接收成功返回 5A ADDR 02 02 01 CRC AA
接收失败返回 5B ADDR 03 02 01 00 CRC AA
3.读取锁状态:55 ADDR 01 06 CRC AA
执行成功返回 5A ADDR 02 06 STATUS CRC AA
接收失败返回 5B ADDR 03 06 01 00 CRC AA
注:STATUS 各状态为:00-闭锁状态,01-开锁状态,02-中间状态0~90°,03-中间状态90~180°,88-运动状态,10-当前开锁状态并且检测到上面无车。
五、程序编写
有了开发环境,有了协议,那么接下来我们就可以开始编写程序了。根据我们在第二部分的描述,程序要通过串口来连接RS485电路,因此,程序的大体流程为:初始化串口—>向串口发消息—>接收串口的响应消息—>关闭串口。
完整的C代码(LockCtrl.h和LockCtrl.c)如下所示:
LockCtrl.h代码内容:

LockCtrl.c代码内容:












六、程序编译及运行
将LockCtrl.c和LockCtrl.h文件拷贝到交叉编译环境上,并使用“arm-linux-gcc -g -o LockCtrl LockCtrl.c”命令编译程序,生成LockCtrl文件。
接着,通过FTP工具或“ftpget -u XXX -p XXX 10.10.10.10 LockCtrl”命令将LockCtrl文件上传到嵌入式开发板的特定目录下,修改权限之后执行“./LockCtrl”命令,可以看到程序正常运行,车位锁成功执行了开关操作。程序的输出如下:

七、总结
本文介绍了通过嵌入式开发板控制车位锁开关的流程,并给出了完整的C代码实现。对于嵌入式开发,大家不仅要懂得如何编写程序,还要了解开发板的电路原理及接线方式,这对开发者提出了更高的要求。
来源于网络
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-18 08:12 , Processed in 0.111369 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.