OpenEdv-开源电子网

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

基于HAL库用STM32F103c8做了一个平衡车,角度计算正常,但加直立环的时候若超过一定角度,再改变小车角度,电机转速不会变化

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-9-8
在线时间
2 小时
发表于 2020-11-30 21:20:45 | 显示全部楼层 |阅读模式
2金钱
基于HAL库用STM32F103c8做了一个平衡车,角度计算正常,但加直立环的时候若超过一定角度,再改变小车角度,电机转速不会变化。(感觉角度不更新了)
用stlink调试时全速运行发现,代码一直在下图几个函数来回运行本人STM32纯小白,搜了半天也没能解决,向大佬们求助一下



5.PNG
4.PNG
3.PNG
2.PNG
1.PNG
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

139

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2017-10-29
在线时间
150 小时
发表于 2020-12-1 12:59:38 | 显示全部楼层
程序肯定是你移植的,而且没有好好看程序,这是为了防止平衡车完全倒下了,电机依然转动,一般设置了阈值,超过多少就关闭电机了
回复

使用道具 举报

11

主题

2154

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4947
金钱
4947
注册时间
2015-1-10
在线时间
620 小时
发表于 2020-12-1 13:07:26 | 显示全部楼层
看代码是I2C驱动超时
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-9-8
在线时间
2 小时
 楼主| 发表于 2020-12-1 19:11:08 | 显示全部楼层
繁星之下 发表于 2020-12-1 12:59
程序肯定是你移植的,而且没有好好看程序,这是为了防止平衡车完全倒下了,电机依然转动,一般设置了阈值, ...

您说的这段我写的是pwm超过100时不会继续增加,但实际上没有到达那么大角度就开始死转了,求大佬指点
回复

使用道具 举报

11

主题

139

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2017-10-29
在线时间
150 小时
发表于 2020-12-2 08:28:03 | 显示全部楼层
wujy 发表于 2020-12-1 19:11
您说的这段我写的是pwm超过100时不会继续增加,但实际上没有到达那么大角度就开始死转了,求大佬指点

PID的三个值得设置合适,举个例子,假如你设置的P=200,根据你的定时器的占空比设置2000是到达满转速,这时候根据直立环,你的P=200,也就说当你的倾斜角达到10°,200*10=2000就已经满转了
这只是举个例子,你可以根据自己的设计进行一个简单的计算,选择合适的值
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-9-8
在线时间
2 小时
 楼主| 发表于 2020-12-2 12:23:02 | 显示全部楼层
繁星之下 发表于 2020-12-2 08:28
PID的三个值得设置合适,举个例子,假如你设置的P=200,根据你的定时器的占空比设置2000是到达满转速,这 ...

谢谢大佬,我再好好改改
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 07:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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