• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【后羿DIY】+直流有刷电机小车底盘驱动器(结贴,视频更新完毕)

设计规格: 

输入 DC5V

输出 5V

申请的物料及用处:

HY1202S 作为电机驱动的下管,导通到地,HY1303作为备选。

HY12P03S 作为电机驱动的上管,接到电压VCC,HY15P03S 作为备选。

单片机提供四个管的开关信号,驱动电机的前进后退,加减速。

全部回复(21)
正序查看
倒序查看
2017-11-15 16:17

你好,样品已寄出,请查收!

0
回复
2017-11-16 08:14
@hooyi_admin
你好,样品已寄出,请查收![图片]
好的,谢谢后羿,马上开始原理图设计。。
0
回复
2017-12-13 00:31
@feiyangziwo
好的,谢谢后羿,马上开始原理图设计。。

原理图,利用stm32f103的Time1 和Time3,进行PWM控制P-N的H桥,利用ADC进行采样平均电压,IO中断接收外部的转速信号进行控速,,

STM32F103主控芯片

P-N MOS组成的H桥,

PCB见下图

PCB整体

PCB正面布局图

背面布局图,,

0
回复
2017-12-18 14:14
@feiyangziwo
原理图,利用stm32f103的Time1和Time3,进行PWM控制P-N的H桥,利用ADC进行采样平均电压,IO中断接收外部的转速信号进行控速,,[图片]STM32F103主控芯片[图片]P-NMOS组成的H桥,[图片]PCB见下图PCB整体[图片]PCB正面布局图[图片]背面布局图,,[图片]

PCB板到货,50X50mm的小板,功能齐全,准备焊接测试咯,,,,,

PCB正反面

正面近照

背面近照

不做宣传,但是40块钱打得板,也算不错了,,,,,,

0
回复
2017-12-19 14:03
@feiyangziwo
PCB板到货,50X50mm的小板,功能齐全,准备焊接测试咯,,,,,PCB正反面[图片]正面近照[图片]背面近照[图片]不做宣传,但是40块钱打得板,也算不错了,,,,,,[图片]
也是用stm32f103做的吗
0
回复
2017-12-19 22:31
@lihui710884923
也是用stm32f103做的吗
是的,封装够小。资源也够用了。。。
0
回复
2017-12-19 22:44
@hooyi_admin
你好,样品已寄出,请查收![图片]

PCB回来了。整理个boom,开焊接咯。物料都是公司常用的物料,所以不怎么需要进行采购。先焊接一两块进行调试看看效果,,,

期待一次成功。。。。。。

0
回复
2017-12-19 23:05
@feiyangziwo
PCB回来了。整理个boom,开焊接咯。物料都是公司常用的物料,所以不怎么需要进行采购。先焊接一两块进行调试看看效果,,,期待一次成功。。。。。。[图片]

经过一个下午的焊接,终于焊好了两块,下班回来今天去工厂忙去了,都还没有空折腾。先上图,,,、

手工焊接,水平有限,一般般,能用就行,也没空去用洗板水清洁一下了。。。。

正面

背面

今晚吃了饭,回来就想折腾一下,但是焊好都没进行开短路测量,先用一个小负载的烧录器连接吧,由于输出电流有效,就算有什么问题也不会烧了,,,,

结果一接上USB供电,果然,系统没起来,连下载器的LED灯都没亮起来,再把一个老古董的万用表请出来,电源一一量,没有短路啊,怎么上电就是不行呢、。

继续检查电源部分,发现LDO AS1117居然接反了,

再打开原理图,PCB进行对照,原理图正确啊,难道是封装管脚定义错了???

说明一下,为了不做这么多封装,从网上下了一个PCB进行提取的库。。。

回头一看还真是封装的1脚位置和我原理图的1脚没对应上,郁闷啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。

见下图的LDO  117,明天把它翻个身就算了,就可以把1脚和3脚换过来了,,,,,,

明天换过来,再烧个程序试试,

教训:

使用别人的库一定还要检查自己的原理图和库的管脚次序是否对应,特别是二极管,LED,三极管,SOT-23封装的器件,,,,,,

0
回复
feiyangziwo
LV.4
10
2017-12-23 23:10
@feiyangziwo
经过一个下午的焊接,终于焊好了两块,下班回来今天去工厂忙去了[图片][图片][图片][图片][图片],都还没有空折腾。先上图,,,、手工焊接,水平有限,一般般,能用就行,也没空去用洗板水清洁一下了。。。。正面[图片]背面[图片]今晚吃了饭,回来就想折腾一下,但是焊好都没进行开短路测量,先用一个小负载的烧录器连接吧,由于输出电流有效,就算有什么问题也不会烧了,,,,[图片]结果一接上USB供电,果然,系统没起来,连下载器的LED灯都没亮起来,再把一个老古董的万用表请出来,电源一一量,没有短路啊,怎么上电就是不行呢、。继续检查电源部分,发现LDOAS1117居然接反了,[图片][图片][图片][图片]再打开原理图,PCB进行对照,原理图正确啊,难道是封装管脚定义错了???说明一下,为了不做这么多封装,从网上下了一个PCB进行提取的库。。。回头一看还真是封装的1脚位置和我原理图的1脚没对应上,郁闷啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。[图片][图片][图片][图片][图片][图片][图片][图片][图片]见下图的LDO 117,明天把它翻个身就算了,就可以把1脚和3脚换过来了,,,,,,[图片]明天换过来,再烧个程序试试,教训:使用别人的库一定还要检查自己的原理图和库的管脚次序是否对应,特别是二极管,LED,三极管,SOT-23封装的器件,,,,,,

驱动板测试部分:

1,PWM测试

     使用Time1和Time3的四个通道进行控制H桥的四个mos管,进行开关,通过设置不同的通道之间的占空比,来实现电机控制。。

 下图是电机在反向加速时候的上管波形,由于上管关闭,导致部分悬浮,从而导致波形变形。。。。

下面是电机正转时候上管的波形。。。。。波形很正常,现在测试的频率是1Khz的。。

下图是通过了电阻分压,加10uf+0.1uf电容进行滤波后,电机处于循环减速的电机端电压,这个是用来给ADC进行采样,从而监控电机的转速,,,,

下图是测试不同占空比下,滤波后电压纹波的情况,基本控制在200mv以内,到时候进行多次采样进行数字滤波就可以采集到不同占空比下输出电机端电压,从而使用PID去进行调整有刷电机的转速。。。。

后期的工作,是使用串口进行设置电机转速和输出设置速度和实际转换出来转换速度,,,,,,,,,

把PID算法植入,控制电机可以根据设置转速进行转动既可以完成设计任务,,

0
回复
2017-12-25 10:42
@feiyangziwo
驱动板测试部分:1,PWM测试   使用Time1和Time3的四个通道进行控制H桥的四个mos管,进行开关,通过设置不同的通道之间的占空比,来实现电机控制。。 下图是电机在反向加速时候的上管波形,由于上管关闭,导致部分悬浮,从而导致波形变形。。。。[图片]下面是电机正转时候上管的波形。。。。。波形很正常,现在测试的频率是1Khz的。。[图片]下图是通过了电阻分压,加10uf+0.1uf电容进行滤波后,电机处于循环减速的电机端电压,这个是用来给ADC进行采样,从而监控电机的转速,,,,[图片][图片]下图是测试不同占空比下,滤波后电压纹波的情况,基本控制在200mv以内,到时候进行多次采样进行数字滤波就可以采集到不同占空比下输出电机端电压,从而使用PID去进行调整有刷电机的转速。。。。[图片]后期的工作,是使用串口进行设置电机转速和输出设置速度和实际转换出来转换速度,,,,,,,,,把PID算法植入,控制电机可以根据设置转速进行转动既可以完成设计任务,,
这是做的数字电源啊
0
回复
feiyangziwo
LV.4
12
2017-12-27 11:29
@lihui710884923
这是做的数字电源啊
电机控制啊,数字电源也是可以的,哈哈检测得还挺准的,,,,
0
回复
2017-12-28 16:50
@feiyangziwo
电机控制啊,数字电源也是可以的,哈哈检测得还挺准的,,,,
啥时把程序简单分享一下
0
回复
feiyangziwo
LV.4
14
2017-12-30 22:03
@lihui710884923
啥时把程序简单分享一下

现在就分享部分代码吧。不解析。。。

main 函数的部分代码,设置电机PWM占空比

main函数中PID处理后更新已经稳态后ADC采样

PID函数部分代码。。。。。

PWM设置部分代码。。。

0
回复
feiyangziwo
LV.4
15
2017-12-30 23:08
@feiyangziwo
驱动板测试部分:1,PWM测试   使用Time1和Time3的四个通道进行控制H桥的四个mos管,进行开关,通过设置不同的通道之间的占空比,来实现电机控制。。 下图是电机在反向加速时候的上管波形,由于上管关闭,导致部分悬浮,从而导致波形变形。。。。[图片]下面是电机正转时候上管的波形。。。。。波形很正常,现在测试的频率是1Khz的。。[图片]下图是通过了电阻分压,加10uf+0.1uf电容进行滤波后,电机处于循环减速的电机端电压,这个是用来给ADC进行采样,从而监控电机的转速,,,,[图片][图片]下图是测试不同占空比下,滤波后电压纹波的情况,基本控制在200mv以内,到时候进行多次采样进行数字滤波就可以采集到不同占空比下输出电机端电压,从而使用PID去进行调整有刷电机的转速。。。。[图片]后期的工作,是使用串口进行设置电机转速和输出设置速度和实际转换出来转换速度,,,,,,,,,把PID算法植入,控制电机可以根据设置转速进行转动既可以完成设计任务,,

今天调试了PID控制,使用的是最简单的只有比例的控制算法,算是简约版吧,但是从测试的情况来看还不错,大概经过4-7次的PID调整就可以达到稳态了,(设置PWM后延时时间不同,PID调整次数不同)



上图,

以下是今天测试的结果,驱动一个小马达而且,而且用手阻挡转动叶片作为负载不同进行了测试,转速可控,而且稳态后调整次数控制在2次以内,,,,


系统是使用5V供电,通过一个稳压模块进行稳压供电,驱动一个小电机,

电机和主板特写


以下是bug调试的图片

第一次PID进行补偿,误差很大,所以输出的DerrorPWM补偿很大,


当输入的误差errorVot很小在20mV以内的时候,PWM不在配置新的参数,,



怎么进行视频连接来着,不太记得了,,,

使用下面连接进去看视频吧,怎么增加不了视频连接了呢。。。。。






0
回复
feiyangziwo
LV.4
16
2018-01-02 16:53
@feiyangziwo
今天调试了PID控制,使用的是最简单的只有比例的控制算法,算是简约版吧,但是从测试的情况来看还不错,大概经过4-7次的PID调整就可以达到稳态了,(设置PWM后延时时间不同,PID调整次数不同)上图,以下是今天测试的结果,驱动一个小马达而且,而且用手阻挡转动叶片作为负载不同进行了测试,转速可控,而且稳态后调整次数控制在2次以内,,,,系统是使用5V供电,通过一个稳压模块进行稳压供电,驱动一个小电机,[图片]电机和主板特写[图片][图片]以下是bug调试的图片[图片][图片][图片]第一次PID进行补偿,误差很大,所以输出的DerrorPWM补偿很大,[图片]当输入的误差errorVot很小在20mV以内的时候,PWM不在配置新的参数,,[图片][图片]怎么进行视频连接来着,不太记得了,,,使用下面连接进去看视频吧,怎么增加不了视频连接了呢。。。。。

欢迎点击上面视频


0
回复
feiyangziwo
LV.4
17
2018-01-04 01:14
@feiyangziwo
现在就分享部分代码吧。不解析。。。main函数的部分代码,设置电机PWM占空比[图片]main函数中PID处理后更新已经稳态后ADC采样[图片]PID函数部分代码。。。。。[图片]PWM设置部分代码。。。[图片]

今晚测试串口发送数据控制电机的转速,测试图片以及视频见下图

定义的串口接收缓存数组的各个为定义

测试过程中的观察窗口数据

通过串口发送数据以及打印出来的数据



好吧。还是没办法上传视频,不不知道为什么

麻烦各位到以下地址观看吧,或者明天让天边给我上传上去,,,,

观看地址:http://v.youku.com/v_show/id_XMzI4OTEzMDYzMg==.html?spm=a2hzp.8244740.0.0

0
回复
feiyangziwo
LV.4
18
2018-01-05 23:59
@feiyangziwo
欢迎点击上面视频

结贴咯。。。。。

结贴咯。。。。。

结贴咯。。。。。

结贴咯。。。。。

经过一个多月的调试,今天终于迎来了结贴的时刻,,,

最后把测试的串口打印信息发来一起分享。。。

今天使用的是12V的大电机,已替换前几次的小米电机,肌肉秀秀

由于还是使用5V进行供电,所以在低占空比的时候误差有点大,而且过低占空比(直接关系到电机的两端电压过低。10%占空比,电机两端电压约为0.5V,很难可以驱动一个12V电机)

以下测试分别设置占空比为10%,12%,14%,但是软件通过PID调整可以调整到一定的误差内达到稳态。。。。。每一次打印PID调整后占空比就是通过了一次PID调整

从正转18%到反向81%的转速变化极大的情况下,PID调整次数也很少。。。。

串口设置的部分定义,,,,,,0x18f=(399+1)/800=50%

再次通过修改转向数据,电机的动态好不错,立马就可以进入到稳态了,,,,,,,

最后感谢后羿的活动,以及提供的样品,让我进行了一次对电机驱动的软硬件的制作,也算刚刚入了门的小白了(以前都是做控制系统,ARM,FPGA指之类的核心控制主板,主要和信号,控制打交道,对电机,功率接触不多,,,,,,);

0
回复
2018-01-10 10:07
@feiyangziwo
现在就分享部分代码吧。不解析。。。main函数的部分代码,设置电机PWM占空比[图片]main函数中PID处理后更新已经稳态后ADC采样[图片]PID函数部分代码。。。。。[图片]PWM设置部分代码。。。[图片]
你的串口是谁发送的
0
回复
feiyangziwo
LV.4
20
2018-01-10 16:26
@lihui710884923
你的串口是谁发送的
测试时电脑串口助手发的,可以使上位机或者控制器
0
回复
feiyangziwo
LV.4
21
2018-03-16 10:58
@feiyangziwo
欢迎点击上面视频
弄了这么久,再回来看看,活动还没结束啊,等啊等,是不是在做些什么新鲜的环儿呢????
0
回复
jmpengsz
LV.1
22
2018-06-23 20:53
@feiyangziwo
驱动板测试部分:1,PWM测试   使用Time1和Time3的四个通道进行控制H桥的四个mos管,进行开关,通过设置不同的通道之间的占空比,来实现电机控制。。 下图是电机在反向加速时候的上管波形,由于上管关闭,导致部分悬浮,从而导致波形变形。。。。[图片]下面是电机正转时候上管的波形。。。。。波形很正常,现在测试的频率是1Khz的。。[图片]下图是通过了电阻分压,加10uf+0.1uf电容进行滤波后,电机处于循环减速的电机端电压,这个是用来给ADC进行采样,从而监控电机的转速,,,,[图片][图片]下图是测试不同占空比下,滤波后电压纹波的情况,基本控制在200mv以内,到时候进行多次采样进行数字滤波就可以采集到不同占空比下输出电机端电压,从而使用PID去进行调整有刷电机的转速。。。。[图片]后期的工作,是使用串口进行设置电机转速和输出设置速度和实际转换出来转换速度,,,,,,,,,把PID算法植入,控制电机可以根据设置转速进行转动既可以完成设计任务,,
厉害,学习了。。。
0
回复