本次内容:
智能车的雏形搭建,利用NanoPi2裸机测试GPIO驱动遥控车。
工具:
NanoPi2、电脑、遥控车、电烙铁、万用表、TF卡、读卡器、串口板、串口线、NanoPi2电源适配器、WinHex软件、NanoPi交叉编译链、钢锯。
过程笔记:
上次的日记中进行了裸机下的UART寄存器的配置,关于寄存器的定义和S5P4418处理器应用手册的使用方法可以参考下面两篇文章,写的很不错:
https://bbs.icxbk.com/group-topic-id-61467.html
https://bbs.icxbk.com/group-topic-id-61466.html
近日,在某宝买了一辆遥控小车,到货后进行了拆解:
原理非常简单,芯片都是专用于电子遥控车的,遥控手柄控制方向,通过左右前后开关的闭合接通射频发送芯片TX-2B的相关引脚,将指令传递给射频接收芯片RX-2B,RX-2B再将信号传送给H桥HT51158、HT5108 驱动芯片,它们是用来控制电机转动方向的,选通4.5V电压电路,4.5V电压接到直流电机上,产生前进、后退,转弯动作。下面是遥控车控制框图:
我目前要做的就是通过NanoPi2的GPIO来代替遥控手柄控制信号发出,到小车接受到信号后,解码信号向H桥驱动芯片发送信号这一过程。先看下我对遥控车的改造:
将两侧挡板锯掉,在底盘打孔,用于锁螺丝固定NanoPi2,带有H桥驱动芯片的电路GND与电源应与NaonoPi2在同一接地上,否则没有压降概念可谈了,在再选4个GPIO,如图:
接线图如下:
下面就可以编写测试程序了,还是需要3份文件:
start.s:初始化ARM系统,并引出main函数,如下:
reg-gpio.h:定义了GPIO寄存器地址的宏定义,需要根据选择的GPIO端口号来查手册,配置寄存器:
main.c:执行程序的主文件,实现测试动作。如下,先包含头文件,再进行端口的功能选择、使能、初始状态定义:
然后进入动作的循环:
下面是测试现象:
这次为以后的智能车硬件进行了搭建,并用裸机下的GPIO进行了端口测试,裸机调试可以很好的理解ARM架构及其指令集定义。
转向电机就是最普通的直流电机,上面图片中可以看到的,小车加邮费才19元
代码是裸机的,没有系统的,你需要的话可以发给你