9月底看到大侠们平衡小车的神奇表现,我头脑一热就买了套件,平衡小车,两个nfl2401,一个超声波,算是开始了,同于我对单片机从来没有接触过,凭着对电子元件的深厚兴趣一头钻了进来。因为过去修电源适配器反复烧元件的惨痛经历,使我很踌躇,所以先了借了、下载不少书籍了解。另外一方面nfl2401没有单片机的情况下能不能机械控制呢这也是我的问题。
1、安装,这个大侠们都解读的很详细了,而且本身的设计很巧妙,基本没有出错的空间,所以没有看说明书的情况下,也基本上组装的差不多了,值得赞叹的是电池卡里空隙里恰到好处,也说明了这款产品的精致程度,可以说是面面俱到了。
2、测试,手机上下了apk之后,很容易就可以操作了,感觉这里面有个问题,转向不够灵活,没有像方向盘一样打的越多,转的越弯,这是控制的不足的地方,这可能是和没有制动装制有关。
3、由于购了超声波套件,想测试下避障能力,将hex按照说明书的方法烧制进去后,发现没有起作用,检查程序,原来
#include "main.h"
#include "MiniBalance.h"
/**************************************************************************
作者:平衡小车之家
淘宝店铺:http://shop114407458.taobao.com/
**************************************************************************/
extern u16 ADV[128];
u8 Way_Angle=1; //获取角度的算法,1:四元数 2:卡尔曼 3:互补滤波
u8 Flag_Qian,Flag_Hou,Flag_Left,Flag_Right; //蓝牙遥控相关的变量
u8 Flag_Stop=1,Flag_Show=1; //停止标志位和 显示标志位 默认停止 显示打开
int Encoder_Left,Encoder_Right; //左右编码器的脉冲计数
int Moto1,Moto2; //电机PWM变量 应是Motor的 向Moto致敬
int Temperature; //显示温度
int Voltage; //电池电压采样相关的变量
float Angle_Balance,Gyro_Balance,Gyro_Turn; //平衡倾角 平衡陀螺仪 转向陀螺仪
float Show_Data_Mb; //全局显示变量,用于显示需要查看的数据
u8 Flag_Bizhang=1; //避障标志位0:不避障 1:避障 接入超声波模块
原程序的u8 Flag_Bizhang=0; 改成了1后,问题来了,程序不能编译,这下问题来了。
4、keil的安装
这是我最大的问题了,第一次用这个程序,要安装好keil竟然这么麻烦,现在我把我的过程记录下来,我主要参考 两个帖子,
http://天雅海娇的两轮自平衡小车DIY进程贴-电子产品世界论坛 http://forum.eepw.com.cn/thread/273401/1#7和大渣渣的平衡车学习进程(更新至10-13号)-电子产品世界论坛 http://forum.eepw.com.cn/thread/275647/1 ,爱上魔电 智能小车进程贴-电子产品世界论坛 http://forum.eepw.com.cn/thread/273056/1#6
主要步骤是,
(1)下载mdk514.exe\
Keil.STM32F1xx_DFP.2.0.0.pack
\MDKCM516.EXE\
Keil.STM32F1xx_DFP.1.0.5.pack
我原来没有下载1.05的包,后来提示不行还是要下
(2)stlink联网的设置
(3)keil设置
视频地址:http://www.tudou.com/v/PaQ_4oUyHQg/&bid=05&rpid=511326792&resourceId=511326792_05_05_99/v.swf