【项目名称】Altar小车机器人评测 【阶段】开箱及单机测试 【时间】2016-11-12~13
一、命运多舛的小车终于到货了 本次参加Altar小车机器人评测,很幸运从蓝宙团队得到这一宝贵机会。客服沟通很顺畅,除小车外,还申请了对蓝牙模块的测试,用于实现esploar手柄对小车的遥控。发货迅速,但整个物流运输过程可谓历经波折,最终于11月12日到达。正值周末,所以开始评测。。。
二、开箱基本情况 因为各位玩家已经发了很多很棒的测试帖。谈谈在组装过程中主要感想和问题吧。 1、亮点: (1))整个套装分三层布置,电气、机械、零配件以及传感器模块分层布置,非常清晰规范。 (2)原装UNO做工精致。标注清晰。 (3)合金底盘和面板,做工精良、切割开孔精确度高,开孔攻丝免除了螺母紧固。扩展性能好,模块很容易通过铜柱--M2螺丝固定。 (4)所有接线及接头都加工为成品。接插可靠。还很贴心地准备了整理线用的螺旋管。 2、问题: (1)大家遇到的问题我都遇到了:一是电机线断了一根自己焊上;二是电池盒固定问题,我用一颗M2*12螺丝及螺母解决。但是这种固定方式我也认为必须改进。三是UNO的固定,外面两个铜柱开孔误差大,有一根铜柱几乎用不上。 (2)关于电池:2*350mha的可充电电池,小巧有余,动力明显不足。设置电机低速运行吃力,而在小车控制过程中,高速前进的用途明显少于低速运行。无论是寻迹还是避障,自主行驶,都需要精准的电机表现。目前对电池,我暂时保留意见,留待下一步观察。 (3)关于电源及隔离:UNO的电源与电机电源没有隔离,这一点比较担心。在upload代码时,要记得打开小车电源,否则单独靠PC的USB供电,有烧坏接口的风险。电机驱动板没有图纸,但是在PCB上没有看到光耦。小车是很精巧的系统,电机是电磁污染源,建议考虑在设计上,适当隔离。
三、单机测试 1、关于L9110S电机驱动模块 Altar的电机驱动采用L9110S电机驱动模块。通过查询手册,了解了控制真值表。 这是一款电子玩具、小车常用的驱动模块,性价比也比较好。 数据手册来自互联网:
2、单机基本测试 有了数据手册,参考网络上的源码,编制了开箱单机测试程序。程序比较简单,注释也比较清楚。在此多说一句:L9110S电机模块是两片单独的控制芯片,分别对两只电机进行控制。 以传感器安装端作为小车前端。A电机是左侧电机,B电机是右侧电机。 在前进时,两只电机的旋转方向正好相反(后退反之),这一点请玩家注意一下。 [mw_shl_code=cpp,true]/*
L9110 motor driver controlling 2 small DC motors
原型源代码来自:http://www.electrodragon.com/w/L ... two_small_DC_motors
根据蓝宙altar电机驱动模块对应pin进行定义
关于转向:因为是差速转向,所以不再编写左右转向程序,而是用差速表达。
2016-11-13
*/
const int AIA = 3 ; // (pwm) pin 3 connected to pin A-IA
const int AIB = 5 ; // (pwm) pin 5 connected to pin A-IB
const int BIA = 6 ; // (pwm) pin 6 connected to pin B-IA
const int BIB = 9 ; // (pwm) pin 9 connected to pin B-IB
byte speed = 150 ; // change this (0-255) to control the speed of the motors
void setup(){
pinMode(AIA ,OUTPUT) ; // set pins to output
pinMode(AIB ,OUTPUT) ;
pinMode(BIA ,OUTPUT) ;
pinMode(BIB , OUTPUT) ;
pinMode(13, OUTPUT);
}
void loop(){
goForward(80,80);
delay(1000) ;
stop();
delay(2000) ;
goBackward(80,80);
delay(1000);
stop();
delay(2000) ;
goForward(80,30); //前右
delay(1000) ;
stop();
delay(2000) ;
goForward(30,80); //前左
delay(1000) ;
stop();
delay(2000) ;
goBackward(80,30); //后右
delay(1000);
stop();
delay(2000) ;
goBackward(30,80); //后左
delay(1000);
stop();
delay(2000) ;
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
}
void goForward(int speedA_value,int speedB_value){ //小车向前(包含正前,前左及前右)
analogWrite(AIA , 0 ); //A电机(左)反转
analogWrite(AIB , speedA_value);
analogWrite(BIA , speedB_value) ; //B电机(右)正转
analogWrite(BIB , 0) ;
}
void goBackward(int speedA_value,int speedB_value){ //小车向后,包括正后,后左及后右
analogWrite(AIA , speedA_value); //A电机(左)正转
analogWrite(AIB , 0 ) ;
analogWrite(BIA , 0) ; //B电机(右)反转
analogWrite(BIB , speedB_value) ;
}
void stop(){ //全停
analogWrite(AIA , 0);
analogWrite( AIB , 0);
analogWrite(BIA , 0) ;
analogWrite(BIB , 0) ;
}
[/mw_shl_code]
单机测试结果:六个项目完成,双轮(及两侧电机)平衡性较好,电机与电源的匹配有待进一步观察。噪音低,小车平台结构稳定。 (视频没找到按钮,提供连接敬请点击) 3、重量 小车平台的重量: 全车:518g(包括底盘、面板、电机及控制系统,含6只传感器模块,不含舵机及超声波模块),其中上面板98.2克(含一只蓝牙、一只LED模块),车轮及电池合计83.3克
四、本阶段概述 做工精巧、机械结构合理是开箱的第一感觉。通过单机测试,对六个基本状态进行了初步测试。有信心将申请评测时提出的目标完成。即:通过蓝牙和esploar手柄对小车的遥控。预留车载照相功能。Altar应该是一款整体性好、扩展性好的小车平台。衷心希望在眼花缭乱的单片机小车市场上,能够有自己一席之地和核心竞争力。
五、感谢 感谢蓝宙提供评测机会,感谢孝肃兄以及群里的各位玩家,值得我学习,你们先行的开箱贴令我少走了很多弯路,沧海抱拳致谢。
|