林委锋
“老师,今天我们要学习什么呢?”“嗯,今年春晚好看吗?喜欢那个会跳舞的机器人阿尔法和会飞的机器人吗?这些机器人身体上都装了一种会动的部件,这就是电机。”本期我们用一种最简单的直流减速电机来做一辆智能小车。做好以后,你可以编写程序控制智能小车前进、后退,还可以转弯、跳舞哦!
智能小车所需材料如下表所示。智能小车所配的直流减速电机有多种减速比,建议选用1∶120,负载转速在6V电压下每分钟100转,3V电压下每分钟42转,速度和扭力适中。
首先是安装小车底盘,如图1所示,用电烙铁把小车的电机接头和导线焊接固定,各部件装配好后将开关、电源插头、杜邦线和电池盒的引线焊接固定。电机接头处的焊接要小心,时间不能太久,烙铁头尽量避免碰到固定电机的的透明护套。
然后安装Arduino板和L298N驱动板,如图2所示。使用一块线槽,先用铅笔在线槽上描出安装孔,然后用锥子和镊子钻孔、扩孔,再用小螺丝把Arduino板和L298N驱动板固定在线槽上。为方便把小车底盘的导线穿到线槽上方,在线槽上再开一个孔。最后把六角铜柱装到小车底盘上,再根据铜柱的位置,在线槽上钻孔,把线槽固定到小车上。
电机的工作电流比较大,Arduino板不能直接与电机连接,必须通过电机驱动板来连接。L298N驱动板的引脚功能如图3所示。引脚可分为三组:一组是电机接口,OUT1~OUT4;第二组是电源接口,供电正极和接地;第三组是控制端,In1~In4和ENA、ENB。
以电机1(连接电机1接口)为例,控制端与电机的关系如右表所示,1表示高电平,0表示低电平。从表中可看出,In1、In2控制电机的正反转和停止,当两个接口的逻辑值相同时电机停止。图3中ENA通过跳线帽连接到高电平引脚上,此时电机状态受In1、In2控制。当ENA接低电平时,电机不能转动。如果拔掉跳线帽,将ENA连接到Arduino板的PWM口(带符号~的数字口),可通过编程控制电动机转速。
如图4所示,把Arduino板、L298N驱动板、电机和电源连接起来,其中Arduino板4、5脚分别接In1、In2,6脚接ENA,7、8脚分别接In3、In4,9脚接ENB,智能小车就做好了。
打开ArduBlock软件,编写程序测试智能小车是否可以前进,如图5所示。程序控制智能小车前进5秒钟,然后停止3秒钟。如果智能小车的两个轮子不能同步向前转,可通过交换电机与L298N驱动板的连线来调整。
删除程序中的6、9脚指令,改为“设定模拟针脚值”,数值为130~255。此时6、9脚输出PWM信号,可调整轮子的转速,如图6所示。
要使智能小车前进、后退,程序又该怎么编写呢?你也来试一试吧!
林委锋
“老师,今天我们要学习什么呢?”“嗯,今年春晚好看吗?喜欢那个会跳舞的机器人阿尔法和会飞的机器人吗?这些机器人身体上都装了一种会动的部件,这就是电机。”本期我们用一种最简单的直流减速电机来做一辆智能小车。做好以后,你可以编写程序控制智能小车前进、后退,还可以转弯、跳舞哦!
智能小车所需材料如下表所示。智能小车所配的直流减速电机有多种减速比,建议选用1∶120,负载转速在6V电压下每分钟100转,3V电压下每分钟42转,速度和扭力适中。
首先是安装小车底盘,如图1a所示,用电烙铁把小车的电机接头和导线焊接固定,各部件装配好后将开关、电源插头、杜邦线和电池盒的引线焊接固定。电机接头处的焊接要小心,时间不能太久,烙铁头尽量避免碰到固定电机的的透明护套。
然后安装Arduino板和L298N驱动板,如图2所示。使用一块线槽,先用铅笔在线槽上描出安装孔,然后用锥子和镊子钻孔、扩孔,再用小螺丝把Arduino板和L298N驱动板固定在线槽上。为方便把小车底盘的导线穿到线槽上方,在线槽上再开一个孔。最后把六角铜柱装到小车底盘上,再根据铜柱的位置,在线槽上钻孔,把线槽固定到小车上。
电机的工作电流比较大,Arduino板不能直接与电机连接,必须通过电机驱动板来连接。L298N驱动板的引脚功能如图3所示。引脚可分为三组:一组是电机接口,OUT1~OUT4;第二组是电源接口,供电正极和接地;第三组是控制端,In1~In4和ENA、ENB。
以电机1(连接电机1接口)为例,控制端与电机的关系如右表所示,1表示高电平,0表示低电平。从表中可看出,In1、In2控制电机的正反转和停止,当两个接口的逻辑值相同时电机停止。图3中ENA通过跳线帽连接到高电平引脚上,此时电机状态受In1、In2控制。当ENA接低电平时,电机不能转动。如果拔掉跳线帽,将ENA连接到Arduino板的PWM口(带符号~的数字口),可通过编程控制电动机转速。
如图4所示,把Arduino板、L298N驱动板、电机和电源连接起来,其中Arduino板4、5脚分别接In1、In2,6脚接ENA,7、8脚分别接In3、In4,9脚接ENB,智能小车就做好了。
打开ArduBlock软件,编写程序测试智能小车是否可以前进,如图5所示。程序控制智能小车前进5秒钟,然后停止3秒钟。如果智能小车的两个轮子不能同步向前转,可通过交换电机与L298N驱动板的连线来调整。
删除程序中的6、9脚指令,改为“设定模拟针脚值”,数值为130~255。此时6、9脚输出PWM信号,可调整轮子的转速,如图6所示。
要使智能小车前进、后退,程序又该怎么编写呢?你也来试一试吧!