5472|20

3783

帖子

0

资源

版主

数字接口 stm32F4+l6205 步进电机驱动 [复制链接]

 
本帖最后由 huo_hu 于 2020-7-18 09:50 编辑

此内容由EEWORLD论坛网友huo_hu原创,如需转载或用于商业用途需征得作者同意并注明出处

本教程制作一款stm32f4驱动的l6205步进电机程序,带有变细分控制;自动力矩调整;速度实时更新;加速度力矩补偿;掉电芯片保护;自动步值到位等功能。L6205具有体积小电路简单的优点,并且有插装的型号很适合学习用。设计倾向于针对特定的电机进行优化,性能和可扩展性比一般驱动器强很多。本次从0开始一步一步给大家详细介绍和讲解,不当之处欢迎指正,文章所设计的文字和代码请勿用于商业目的。

 

第一部分 硬件

本设计用到的是stm32f407的最小系统板,其它f4的系统板应该都可以,需要定时器1的6个通道管脚,和一个刹车管脚,原理图如下图

image.png

原理图可以参照l6205的手册,需要说明几点:

1.和stm32管脚连接部分,INA1和2接高级定时器1的通道1 C1和C1N,INB1和2接C2和C2N,ENA和ENB接C3,C4,ENAB接定时器的通道管脚受刹车位控制可以迅速切换到无效电平起保护作用。这7条线加个限流电阻再送stm32更好些,接高级定时器8也可以软件上稍不同。

2.右边部分是一个倍压升压电路,D1 D2为1N4148的快速二极管,如果芯片正常L6205上电以后会从VCP管脚输出一个幅值11V左右200KHz的方波,经过C1电容隔离和C2滤波以后在VBOOT管脚会有一个比VCC高10V左右的直流电压(二极管有压降),判断芯片是否正常可以先测量这个电压是否满足要求。这个电压是给H桥的上桥臂的两个mos管门级供电的。

3.CF1和CF2是储能电容,视工作电流而定,尽量大一点效果好。D3为整流二级管防止倒灌,D4为发光二极管蓝色或绿色比较好,作用是利用正向压降将VCC降低到stm32的逻辑电压(也可用2.5V的稳压二极管或者用电压比较器芯片),R2根据VCC的实际值计算,尽量大些防止往stm32灌电流,最好在二极管上并个电阻到地防止发光二极管短路的情况下高压输入到io口烧毁stm32。这部分电路目的是提供一个掉电保护电平送到定时器的刹车输入端。一个极端的情况会烧坏l6205芯片就是在电机运转时(ENA和B处于使能的状态)突然切断电源供电,这时储能电容不足以提供给电机运转导致VCC迅速下降,而VBOOT的电压基本维持之前的状态不变造成上桥臂的过压烧毁。正常上电工作后T1_BreakIn为高电平,在切断电源供电时T1_BreakIn第一时间会呈现低电平,再通过stm32定时器的配置失能ENAB的输出就可以起到保护芯片的作用。

4.布线时地接入端尽量靠近芯片,手册上有提到。

5.另外在后面制做力矩表时有个电流检测,我用的是max4080用消耗电流估算电机力矩值,有兴趣的可以加上,max4080的输出接stm32的adc输入口就行了。

 

第二部分 配置tim1查表法运行

当前版本cbue 5.6.1fw 1.25.0 keil 5.24 建立最小系统,过程略...

注意这里最好使用外置晶振HSE,内步HSI抖动很厉害,效果不好。

 

1:定时器1内部时钟,通道1 1N 2 2N 3 4 pwm输出,使能Break(用其它管脚也可以)

image.png

2:中央对齐模式

image.png

3:通道pwm模式2,关闭预装载,通道极性低电平

image.png

4:通道34也一样设置

image.png

5:使能溢出中断

image.png

6:关闭默认的中断服务,自己编写中断服务程序

image.png

7:定时器用到的管脚全部下拉,TIM1GPIO Settings里操作也可以

image.png

8:定时器使用LL库,hal库也行,冗余的东西有点多,因为大多数地方都用的寄存器操作,所以hal库意义不大。

image.png

9:点GENERATE CODE建立keil v5工程,添加目录(后面所有涉及的程序代码都在这个目录下),添加组添加代码,main.c里加头文件,调初始化函数。具体参看一下附件1,不截图了。

附件1:查表输出电机正反转 F407_SMotor_Part1.zip (744.7 KB, 下载次数: 24)


回复

1万

帖子

133

资源

管理员

谢谢楼主分享~~写的清晰明白,受益了!

个人签名

玩板看这里:

http://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!


回复

262

帖子

0

资源

一粒金砂(中级)

收藏了!!


回复

6

帖子

0

资源

一粒金砂(初级)

学习了,感谢楼主


回复

41

帖子

0

资源

一粒金砂(初级)

感谢楼主分享


回复

308

帖子

1

资源

版主

支持,好贴,正在学习


回复

327

帖子

0

资源

一粒金砂(中级)

感谢楼主分享,好帖


回复

6

帖子

0

资源

一粒金砂(初级)

楼主这个芯片是内部电流环么

点评

没明白什么意思  详情 回复 发表于 2020-7-6 21:34

回复

3783

帖子

0

资源

版主

不是吃的 发表于 2020-7-6 11:53 楼主这个芯片是内部电流环么

没明白什么意思


回复

6

帖子

0

资源

一粒金砂(初级)

本帖最后由 不是吃的 于 2020-7-7 10:49 编辑
huo_hu 发表于 2020-7-6 21:34 没明白什么意思

就是怎么控制电流的大小的,是用mos管搭建驱动电路,原来是用电流采样,让后用电流合成细分驱动电机

点评

电流采样是个办法,但是滤波不好弄,电路比较复杂 本例电流是由输出正弦的幅值来控制的,是开环控制。 如果你能做好电流采样改成闭环只是分分钟的事。  详情 回复 发表于 2020-7-7 22:00

回复

3783

帖子

0

资源

版主

不是吃的 发表于 2020-7-7 10:43 huo_hu 发表于 2020-7-6 21:34 没明白什么意思 就是怎么控制电流的大小的,是用mos管搭建驱动电路,原 ...

电流采样是个办法,但是滤波不好弄,电路比较复杂

本例电流是由输出正弦的幅值来控制的,是开环控制。

如果你能做好电流采样改成闭环只是分分钟的事。

点评

这个电流采样,太多毛刺了,真心不好弄。  详情 回复 发表于 2020-10-29 09:34

回复

6

帖子

0

资源

一粒金砂(初级)

huo_hu 发表于 2020-7-7 22:00 电流采样是个办法,但是滤波不好弄,电路比较复杂 本例电流是由输出正弦的幅值来控制的,是开环控制。 ...

大佬可以换个tb67h450芯片试试,带电流硬件可调,感觉性能可以更好

点评

这种桥驱动模块挺多的,以前用过lmd18200,三洋也有一款lv8548。 你说的这个是单桥驱动,和l9170差不多,l9170以前弄过一下,印象里开关速度不行,做直流电机没问题,因为正转不可能马上切换到反转,但是做步进电  详情 回复 发表于 2020-7-9 23:31

回复

3783

帖子

0

资源

版主

不是吃的 发表于 2020-7-9 21:15 大佬可以换个tb67h450芯片试试,带电流硬件可调,感觉性能可以更好

这种桥驱动模块挺多的,以前用过lmd18200,三洋也有一款lv8548。

你说的这个是单桥驱动,和l9170差不多,l9170以前弄过一下,印象里开关速度不行,做直流电机没问题,因为正转不可能马上切换到反转,但是做步进电机不行。


回复

6

帖子

0

资源

一粒金砂(初级)

huo_hu 发表于 2020-7-9 23:31 这种桥驱动模块挺多的,以前用过lmd18200,三洋也有一款lv8548。 你说的这个是单桥驱动,和l9170差不 ...

这个开关频率在500ns,应该还可以,看别人做过,能起跳急停,大佬这个开关频率达到多少做步进电机驱动才合格

点评

500ns行不过没用过,行是肯定都行,PWM频率低开关延时长些也无所谓  详情 回复 发表于 2020-7-10 22:16

回复

3783

帖子

0

资源

版主

不是吃的 发表于 2020-7-10 12:26 这个开关频率在500ns,应该还可以,看别人做过,能起跳急停,大佬这个开关频率达到多少做步进电机驱动才合格 ...

500ns行不过没用过,行是肯定都行,PWM频率低开关延时长些也无所谓


回复

2

帖子

0

资源

一粒金砂(初级)

写的很详细,收藏起来慢慢看,感谢楼主分享

回复

2

帖子

0

资源

一粒金砂(初级)

载波频率是多少的?

点评

就是定时器时钟源呗  详情 回复 发表于 2020-9-10 11:52

回复

3783

帖子

0

资源

版主

jcx0324 发表于 2020-9-10 11:27 载波频率是多少的?

就是定时器时钟源呗


回复

2867

帖子

1

资源

五彩晶圆(初级)

很厉害,差点错过好帖。

个人签名人已离开,无事别找,找也找不到。

回复

2

帖子

0

资源

一粒金砂(初级)

收藏了


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/6 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表