OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 77145|回复: 131

基于SM32的脉冲输出定位控制(精确脉冲个数控制,PWM)

  [复制链接]

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
发表于 2014-11-9 13:59:44 | 显示全部楼层 |阅读模式
001  以给定频率输出脉冲,脉冲数无限制
002  以给定频率f、输出n个脉冲

004 相对定位
005  相对定位+绝对定位

脉冲输出PORTA.0
方向信号输出PORTB.5

模仿PLC定位指令
可以作为简易运动控制器控制伺服电机

完成时间催促、没有考虑细节、没有考虑太多的细节,供有兴趣的人参考
希望得到 原子 的点评

基于SM32的脉冲输出定位控制.rar

276.16 KB, 下载次数: 19408

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-11-13
在线时间
0 小时
发表于 2014-11-17 20:54:05 | 显示全部楼层
楼主的代码能帮忙提供库函数版代码不?不胜感激。先谢谢啦!
回复 支持 4 反对 0

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2016-7-10 20:44:04 | 显示全部楼层
程序结构和算法优化一下

PMC100_STM32_C_20150405.rar

92.02 KB, 下载次数: 17378

回复 支持 2 反对 0

使用道具 举报

4

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2016-1-21
在线时间
9 小时
发表于 2016-1-22 14:58:01 | 显示全部楼层
请问原子哥,按照这个帖子的思路,发定量脉冲是不是通过直接关闭定时器的方式。如果是这样的话,那么以后每一次发送定量脉冲,岂不是都要重新打开定时器?

//定时器3中断服务函数
void TIM3_IRQHandler(void)
{
        if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) //溢出中断
        {
                dangqian++;
                if(dangqian==mubiao)
                {
                 TIM_Cmd(TIM3,DISABLE);                        //关闭定时器3
                }
        }
        TIM_ClearITPendingBit(TIM3,TIM_IT_Update);  //清除中断标志位
}

回复 支持 1 反对 0

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2014-11-9 22:00:13 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥是我们的榜样、又是我们湖南老乡、是做老乡的荣耀。
较之当年的郭天祥,原子哥在专业技术方面有过之而无比及。而“亲民”这一方面,更是大家有目共睹的!
支持原子!支持论坛!
回复 支持 1 反对 0

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2014-11-11 18:26:00 | 显示全部楼层
(更新)带加减速的单轴(步进伺服)运动控制器的实现。

原子哥,TIM6和TIM7怎么启动不了,普通定时用一个通用定时器TIMER4,大材小用,好浪费啊,真不舍得啊

0MOTOR_CONTROL_003.rar

86.58 KB, 下载次数: 7609

回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-11-9 19:34:35 | 显示全部楼层
不错,1~5的功能都实现了?
很多人要这种输出精确脉冲个数的例子...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2014-11-9 21:01:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
脉冲数量和频率都可以设定
这个没有下到板子子上运行,因为不接驱动器、不连电机,板子也看不到实际效果。
但在Keil里面软件仿真过。
从逻辑分析仪看波形,能达到预期效果。
PA0脉冲
PB5方向
PE0、1、2、3、4各种命令触发信号。
最大的问题是没有加减速,不适于步进跑高速。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-11-9 21:19:53 | 显示全部楼层
回复【3楼】草莽:
---------------------------------
恩,已经可以给很多人解决问题了,谢谢支持。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-11-11 21:16:50 | 显示全部楼层
回复【5楼】草莽:
---------------------------------
谢谢支持
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-11-11 21:17:07 | 显示全部楼层
回复【6楼】草莽:
---------------------------------
cool
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
发表于 2014-11-12 22:54:42 | 显示全部楼层
真的是好东西!原子论坛的干货越来越多了!
手艺人要内外兼修。
回复 支持 反对

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2014-12-23 15:11:04 | 显示全部楼层
回复【10楼】西江月:
---------------------------------
入门阶段,还是多敲寄存器吧,也利于C语言的学习;对着数据手册还不能敲寄存器代码,说明是C语言没到位。
回复 支持 反对

使用道具 举报

51

主题

1455

帖子

3

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2613
金钱
2613
注册时间
2011-1-25
在线时间
176 小时
发表于 2015-3-17 09:49:09 | 显示全部楼层
cool!!!
回复 支持 反对

使用道具 举报

17

主题

342

帖子

0

精华

高级会员

Rank: 4

积分
544
金钱
544
注册时间
2014-4-24
在线时间
20 小时
发表于 2015-5-18 13:26:10 | 显示全部楼层
谢谢分享~~~
回复 支持 反对

使用道具 举报

8

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2014-8-15
在线时间
5 小时
发表于 2015-6-19 14:31:25 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

15

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
272
金钱
272
注册时间
2011-3-21
在线时间
38 小时
发表于 2015-6-20 22:06:16 | 显示全部楼层
很好的资料,多谢分享!!!!!!!!
eagle?
回复 支持 反对

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2014-10-8
在线时间
41 小时
发表于 2015-7-1 16:40:22 | 显示全部楼层
这资料真心不错,不过要是有库函数版本的就更好了,哪位大侠有库函数版本的麻烦贴出来,顶
回复 支持 反对

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2014-10-8
在线时间
41 小时
发表于 2015-7-3 17:26:29 | 显示全部楼层
我用的f4的板子,不能仿真,想知道在同时产生pwm和计数时,它的定时器是怎么工作的,那位大神知道帮忙解解疑问呗,
回复 支持 反对

使用道具 举报

34

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2015-2-5
在线时间
113 小时
发表于 2015-7-3 21:41:44 | 显示全部楼层
第一次触发输出固定脉冲会丢1个或两个脉冲。。。。。
回复 支持 反对

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2015-7-19 12:54:10 | 显示全部楼层
回复【18楼】阿超写代码:
----------------------------
没有吧,我试过了的
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2015-7-9
在线时间
1 小时
发表于 2015-7-20 16:25:18 | 显示全部楼层
我下载下来帮你接驱动和步进试试啊~嘿嘿~谢谢楼主分享
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2014-7-18
在线时间
0 小时
发表于 2015-7-21 20:52:46 | 显示全部楼层
回复【20楼】fstaifuwei:
---------------------------------
你这个成功了吗怎么没有调出来
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2014-7-18
在线时间
0 小时
发表于 2015-7-21 20:53:20 | 显示全部楼层
回复【18楼】阿超写代码:
---------------------------------
我也在弄,但是没有出来,能交流一下吗
回复 支持 反对

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2015-7-25 23:27:57 | 显示全部楼层
回复【22楼】easeshow:
---------------------------------
KEIL仿真调试,示波器已经有了波形,然后关键是根据输出形式是开漏、还是推挽,确定外部接口电路
回复 支持 反对

使用道具 举报

13

主题

206

帖子

1

精华

高级会员

Rank: 4

积分
613
金钱
613
注册时间
2014-10-26
在线时间
32 小时
发表于 2015-7-26 00:09:29 | 显示全部楼层
回复【6楼】草莽:
---------------------------------
这是因为: STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 WM 输出。其中高级定
时器 TIM1 和 TIM8 可以同时产生多达 7 路的 WM 输出。(看书)
学习!
回复 支持 反对

使用道具 举报

9

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
426
金钱
426
注册时间
2011-7-11
在线时间
49 小时
发表于 2015-7-30 19:06:26 | 显示全部楼层
支持了,定时器太高级了
回复 支持 反对

使用道具 举报

2

主题

394

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2112
金钱
2112
注册时间
2012-5-8
在线时间
314 小时
发表于 2015-9-1 21:07:57 | 显示全部楼层
楼主的例子很实用啊
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-11-27
在线时间
0 小时
发表于 2015-11-27 21:04:36 | 显示全部楼层
请问,PB5控制的是什么?
回复 支持 反对

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2015-12-16 14:57:05 | 显示全部楼层
回复【27楼】月下之夕:
---------------------------------
PB5方向信号
回复 支持 反对

使用道具 举报

13

主题

276

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2014-6-20
在线时间
146 小时
发表于 2016-1-8 13:24:18 | 显示全部楼层
非常适用,控制步进电机或伺服电机不错
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2013-3-8
在线时间
34 小时
发表于 2016-1-10 11:05:59 | 显示全部楼层
干货
回复 支持 反对

使用道具 举报

35

主题

227

帖子

3

精华

高级会员

Rank: 4

积分
956
金钱
956
注册时间
2014-3-5
在线时间
35 小时
发表于 2016-1-10 20:38:24 | 显示全部楼层
有用,mark!
把看到的有意义的例子进行扩充,并将其切实的运用到自己的设计中。 应用确实不容易,水平是在不断的实践中完善和发展的。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-1-26
在线时间
5 小时
发表于 2016-1-26 16:08:26 | 显示全部楼层
您好,这个例子很好,如果大神肯帮忙小弟解决现有的小小疑惑,小弟赶集不尽啊。QQ:892064908
回复 支持 反对

使用道具 举报

22

主题

147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3983
金钱
3983
注册时间
2015-4-18
在线时间
403 小时
发表于 2016-4-4 20:40:16 | 显示全部楼层
赞一个啊。。。
回复 支持 反对

使用道具 举报

7

主题

64

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2015-11-28
在线时间
30 小时
发表于 2016-4-6 21:27:25 | 显示全部楼层
用了你第三个加减速的例子, 本想仿照你的程序,复制TIM2代码改到TIM1的,但是发现居然不行。可能是TIM1和TIM2不一样。于是我就想让TIM2输出两路信号,用TIM3和TIM4分别控制两路信号加速的时间。在改中,没成功。谁可以改成功交流下,微信381781382好了
回复 支持 反对

使用道具 举报

4

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
金钱
308
注册时间
2016-2-3
在线时间
51 小时
发表于 2016-4-7 09:39:34 | 显示全部楼层
66666666666666666666666
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-1-20
在线时间
8 小时
发表于 2016-5-1 18:59:51 | 显示全部楼层
大家好,我想问一下,mini板输出的高电平为3.3v,但驱动器要5V,不知道行不行呀
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
331
金钱
331
注册时间
2013-3-27
在线时间
38 小时
发表于 2016-5-4 09:24:16 | 显示全部楼层
感谢楼主,正在愁这事
回复 支持 反对

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2016-5-7
在线时间
29 小时
发表于 2016-5-18 08:53:49 | 显示全部楼层
感谢楼主!!!
回复 支持 反对

使用道具 举报

12

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2015-11-4
在线时间
51 小时
发表于 2016-6-3 16:20:54 | 显示全部楼层
mark!!!
回复 支持 反对

使用道具 举报

2

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2016-4-22
在线时间
54 小时
发表于 2016-6-3 16:51:23 | 显示全部楼层

为什么不是夜愿晨成
回复 支持 反对

使用道具 举报

12

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2015-11-4
在线时间
51 小时
发表于 2016-6-3 17:03:41 | 显示全部楼层
崔旭 发表于 2016-6-3 16:51
为什么不是夜愿晨成

想知道啊,就不告诉你~~~~~
回复 支持 反对

使用道具 举报

5

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
165
金钱
165
注册时间
2016-5-17
在线时间
41 小时
发表于 2016-6-3 19:31:04 | 显示全部楼层
楼主的代码能帮忙提供库函数版代码不?不胜感激。先谢谢啦。
因为好多教程都是叫我们库函数,又要去学库函数要花好多时间,我库函数都没学好
回复 支持 反对

使用道具 举报

22

主题

117

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
798
金钱
798
注册时间
2015-10-24
在线时间
160 小时
发表于 2016-6-4 11:02:36 | 显示全部楼层
这正是我想要的 谢谢楼主
回复 支持 反对

使用道具 举报

0

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2016-4-8
在线时间
51 小时
发表于 2016-6-23 22:07:19 | 显示全部楼层
灰常感谢,很值得参考
回复 支持 反对

使用道具 举报

0

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2016-4-8
在线时间
51 小时
发表于 2016-6-26 14:43:41 | 显示全部楼层
萌新弱弱地问,这是什么板的?寄存器名称跟精英、战舰的对不上~~
回复 支持 反对

使用道具 举报

10

主题

50

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-11-6
在线时间
24 小时
 楼主| 发表于 2016-7-10 20:40:48 | 显示全部楼层
laoyu 发表于 2016-6-26 14:43
萌新弱弱地问,这是什么板的?寄存器名称跟精英、战舰的对不上~~

自己命名的
回复 支持 反对

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2015-3-12
在线时间
2 小时
发表于 2016-7-10 23:26:35 | 显示全部楼层
草莽 发表于 2016-7-10 20:44
程序结构和算法优化一下

感谢无私奉献!!
最近也在搞这个东西,打算一个CPU控制4个步进或者伺服,要求脉冲数准确,速度可调,还有加减速,还有N个气缸和接进开关信号。搞到我头晕。
要不是领导为了省成本,我直接用西门子的S7-1200或者1500搞了算了,人家的组态工艺轴做得多简单啊。用单片机来搞,我快吐血了
回复 支持 反对

使用道具 举报

0

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2016-4-8
在线时间
51 小时
发表于 2016-7-26 11:43:26 | 显示全部楼层

哦,这样,3Q!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 20:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表