APP下载

基于手机遥控的视频监控车的设计与实现

2011-10-20孙惠军

赤峰学院学报·自然科学版 2011年12期
关键词:源代码低电平马达

丰 海,孙惠军

(1.厦门大学 电子科学系,福建 厦门 361005;2.厦门城市职业学院工程技术学部 嵌入式Linux应用中心,福建 厦门 361008)

基于手机遥控的视频监控车的设计与实现

丰 海1,2,孙惠军1

(1.厦门大学 电子科学系,福建 厦门 361005;2.厦门城市职业学院工程技术学部 嵌入式Linux应用中心,福建 厦门 361008)

本文基于s3c2440处理器和嵌入式Linux系统,设计出了可以通过W iFi智能手机控制的无线视频监控车.该方案不仅可以从手机的浏览器上实时看到小车前方的路况视频,还可以通过网页上的方向键遥控车的运动.该项目完全基于网络,运行稳定,直接用手机控制,无须复杂的遥控终端.

手机遥控;嵌入式Linux系统;视频监控

基于智能手机遥控的电子设备成为当前发展的热点[1-3],本文基于TQ2440开发板制作出了可以通过手机遥控的无线视频监控车.通过WiFi将小车摄像头前方的路况视频流实时传送给手机,驱动芯片L298N控制马达的运动,PWM信号控制马达的转速,网页上的4个方向键控制视频遥控车的运动.

1 L298N马达驱动芯片的使用

L298N典型马达驱动电路如图1所示,Vs电机电源接9V电池,电流反馈端1和15脚可以直接接地,内部工作电源Vss接4节5号电池组.

图1 L298N马达驱动电路原理图

L298N可以分别控制2个直流电机的正转、反转、刹车和停止,两组电机的控制信号分别是EN A、IN1、IN2和 EN B、IN3、IN4,当使能端 EN A接低电平时,B电机停止;EN A接PWM信号时,如果IN1、IN2分别为高电平、低电平时,B电机正转;IN1、IN2分别为低电平、高电平时,B电机反转;均接高电平时B电机刹停;均接低电平时B电机停止;A电机的控制也是一样.

2 马达驱动程序的编写

根据TQ2440的接口图与L298N芯片文档[4,5],将 2440处理器的 GPB5、GPB6、GPB7、GPB8四个GPIO接口分别接入L298N芯片的IN1、IN2、IN3、IN4输入端,以cmd作为遥控车的状态参数,0、1、2、3、4分别代表车的停止、前进、后退、向左转,向右转的5种状态.前进与后退是通过两个马达的均正转和均反转实现的;向左转是让左边的马达A刹停,而让右边的马达B正转实现的;向右转是让左边的马达A正转,而让右边的马达B刹停.电机驱动模块tq2440_car_ioctl的主要源代码如下:

此外,还要在驱动程序的初始化模块dev_init(void)中加入GPB5、GPB6、GPB7、GPB8这 4个GPIO接口的初始化命令,并设置初始值为0.

3 PWM电机调速驱动程序设计

我们通过脉宽调制PWM的方式控制马达的转速,关闭J4B开关阻止蜂鸣器后,将TOUT0信号输出给A PWM和B PWM[6].PWM定时器的使用步骤包括设置预分频值和分频值、设置比较寄存器和计数寄存器、启动定时器,清除手动更新位[6,7].电机驱动模块pwm_ioctl的主要源代码如下:

//设置S3C2410_TCON寄存器第4位的1表示使能死区;第3位的1为自动装载,第2位的0表示不翻转;//第1位的1为手动更新TCNTB0和TCMPB0,第0位的1表示启动计数器0

writel(readl(S3C2410_TCON)&(~2),S3C2410_TCON);

定时器启动后,TCON寄存器的第1位必须设置为0,让计数器按照已经给定的数自动更新.

4 无线网络设置及控制界面设计

TQ2440开发板的内核直接支持TL-WN321G+无线网卡,使用boa网站服务器来建立手机与遥控车之间的连接,用motion传送视频流,详细的安装及配置可以参考相关文献[8-10].苹果iphone手机的横向分辨率为960×640,控制界面中分别将前进、后退、左转、右转、停止五个按钮定位在 800px、70px;800px、270px;700px、170px;900px、170px;800px、170px;视频流窗口大小为640px*480px,控制界面的主要源代码如下:

iphone手机控制界面如图2所示:

图2 iphone手机控制界面

5 马达控制程序的实现

由于boa对CGI的支持存在缺陷,我们就通过一个命名管道来将控制参数传递给马达控制程序.网页上五个方向按钮分别对应执行up.cgi、lef.cgi、right.cgi back.cgi、stop.cgi脚本程序,这些脚本通过echo命令将不同的运动方式参数cmd和马达转速参数pwm写进car-control管道文件供马达控制程序car-player读取,然后调用驱动模块ioctl(led_fd,cmd)控制车的运动状态,而pwm_ioctl(pwm_fd,pwm)驱动模块是控制马达的转速.马达控制程序的主要源代码如下;

}}}

最后将编译好的驱动和程序下载到开发板上,装上电池,打开iphone手机的wifi网络,在safari浏览器,输入192.168.1.6/car-control.html,即可通过手机控制小车了,小车的整体实物图如图3所示:

图3 无线视频监控车实物图

6 结论

本文设计并制作出了可以用智能手机遥控的视频监控车,通过WiFi网络来控制视频监控车的运动,在手机上能看到小车前方的路况视频.运行结果表明该方案运行可靠方便,直接用手机控制.该作品还有需要改进的地方,如4节5号电池只能使用15分钟左右,倒车时看不到后面的路况,小车的外观还可以做得更加美观一些.

〔1〕贾振堂.基于手机的可视化远程家电控制研究[J].电视技术,2010,(10):107-109.

〔2〕方华超.基于GSM手机的无线遥控系统 [J].电脑与电信,2010,(09):45-47.

〔3〕Rifat Shahriyar,Enamul Hoque,S.M.Sohan,et al.Remote Controlling of Home Appliances using Mobile Telephony[J].International Journal of Smart Home,2008,2(3):37-53.

〔4〕天嵌计算机科技有限公司.TQ 2440开发板使用手册[M].广州;20100611:83.

〔5〕STM icroelectronics.L298N datasheet[EB/OL].[2011,11,3].http://www.st.com/internet/analog/product/63147.jsp.

〔6〕天嵌计算机科技有限公司.基于天嵌科技的SKY2440/TQ 2440的Linux系统移植手册[M].广州;20100605:156-161.

〔7〕samsung.S3C2410 datasheet [EB/OL].[2011,11,3].http://http://www.samsung.com/.

〔8〕丰海.具有入侵检测功能的嵌入式远程视频监控系统的实现[J].电脑编程技巧与维护,2010,(24):104-107.

〔9〕Larry Doolittle,Jon Nelson.Boa O fficial Website[EB/OL].[2010,09,20].http://www.boa.org/.

〔10〕Jeroen Vreeken,M otion O fficial W ebsite[EB/OL].[2011,09,20].http://www.lavrsen.dk/fosw iki/bin/view/Motion/W ebHome.

TP273

A

1673-260X(2011)12-0036-03

猜你喜欢

源代码低电平马达
基于TXL的源代码插桩技术研究
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
软件源代码非公知性司法鉴定方法探析
基于语法和语义结合的源代码精确搜索方法
“马达”外公
枰中侠侣
马达螺纹水壶后盖注塑模具设计
15-MeV电子直线加速器的低电平系统
揭秘龙湖产品“源代码”
集成电路静态参数测试