本帖最后由 yu木风 于 2016-7-12 09:53 编辑
51duino自定义添加电机控制
51duino、Arduino、STMduino三款主控,小二科技官方出版的硬件和软件都只带了俩路电机控制,假如我们需要多路电机控制那如何解决这个问题呢?咋们可以添加自定义控制的方法来驱动电机,下面来详细说明是如何实现的! 要准备的东西:51duino主控板(以51duino为例,其他俩款照这个修改),L298N或者大功率电机驱动板,OK! 下面来修改下位机代码; 打开51duino下位机代码,找到config.h,添加以下代码,定义了俩路电机控制输入端moror_a和motor_b为一组,motor_c和motor_d为一组 打开motor.h文件,再如下添加宏定义,定义了俩个电机的三个状态,以后在用到这俩个电机的状态就用这里定义的宏。 再motor.c文件里面添加如下代码,初始化电机使之停止。 之后在uart.c文件串口解析函数Communication_Decode()添加红框内代码用来解析上位机发过来的数据,数据格式为 FFA00100FF 电机1正转 FFA00200FF 电机1反转 FFA00300FF 电机1停止 FFA00400FF 电机2正转 FFA00500FF 电机2反转 FFA00600FF 电机2停止
点击编译生成hex文件即可,上传至51duino驱动板
手机端自定义设置
电路连接图
大脚车连接
L298N: L298N的IN1连接51duino的P2^0,IN1连接51duino的P2^1,IN1连接51duino的P3^6,IN1连接51duino的P3^7,OUT1连接电机1的一端,OUT2连接电机1的另一端,OUT3连接电机2一端,OUT4连接电机2另一端。
大脚车和L298N的EN输入端,也就是使能端,这里接的都是5V,也就是全速,EN端可接PWM输入作为调速。 |