完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
前言
我目前是一名大二在校生,对32有了基本的理解和编程能力,这次是我们队准备电赛做的第一个题目,没有预先查找可行方案。我们共做了三个方案,用时三周,经验非常欠缺。 方案综述 方案一:使用L298N驱动的直流电机,开环系统,直流电机就是你能想到的最垃圾的那种。 方案二:使用8050驱动的直流电机,闭环系统,直流电机为飞思卡尔电机。 方案三:使用A4988驱动的步进电机,开环。 以上三种均为stm32f104zet6芯片,使用6050陀螺仪,12864OLED显示。 陀螺仪仅使用了一个欧拉角,通过相对值进行判断倾斜角度,具体欧拉角选择与硬件安装有关。 方案一 遇到的问题: 如上述,最垃圾的直流电机,大到吓人的回差,当PWM占空比低于三分之一时迅速停转,并不存在低速状态。 解决方法: 回差没解决,要不也不会换方案。 控速方面,在PWM控速的基础上叠加了一个PWM,通过停转和相对低速转换的比例将速度降到需求速度,未使用PID。 程序底层不是我写的,我仅对算法及控诉部分进行更改,变量不知道干啥的没敢动,屏蔽部分代码可能与未屏蔽的存在逻辑冲突,且有部分相关逻辑已被删除,直接忽略即可,没时间整理。 方案二 遇到的问题: 电机太屌,高速状态呈线性,通过PID调节后可稳定在一个速度,但空转的时候达不到需求的低速,加负载后可通过调节达到。这电机在跷跷板反向的时候,若不给一个高占空比的反向PWM波,会刹不住车,于是我在这给PID打了个补丁,反向瞬间给高占空比PWM波进行刹车。PID还打了一堆补丁我忘了是啥了,反正最后调参数阶段我是快崩溃了,于是本程序卒。本来想重新写一个自调节比例系数的PID,原谅我太菜了,PID只学了一周,发呆了好久没有思路,这时候,第三个方案的车模给我搭出来了,于是我抛弃了这个程序, 解决方法: 没解决,留下了一堆没测试的半成品,没时间给我浪费弄这个了。 方案总结: 我觉得这个方案应给能完成,PID参数的更改是必须要有的,要不斜坡起步能慢到让人崩溃,或是中间低速时速度波动过大,当然,完不成也别来找我,就当我没说。 程序乱七八糟的没整理加一。 方案三 遇到的问题: 好像没啥问题,我们在做方案三的同时把跷跷板改了,把平衡点确定在轴与跷跷板接触的地方,而不是随着轴改变平衡点同时改变,并且增大了轴与跷跷板之间的摩擦力。 应用部分 A4988驱动是使用脉冲对步进电机进行控速,我用了32定时器的门控模式产生我想要的脉冲,脉冲产生的程序框架及数据来自网络资源,我进行了微调,把源程序的bug改正,然后就用的很舒服。门控模式我也是第一次接触,通过数据手册和看例程结合搞懂了。两个步进电机的脉冲我是通过同一个定时器产生,用两个通道输出,反正就是一模一样的。我使用的两个步进电机是同一型号同一批次,所以相同模式的步进角度也一样。 我的算法部分应用了硬件搭建的一个问题(应该是硬件的问题),车模陀螺仪返回值会有波动,同一角度的值会出现部分波动,以及初始化后数据会从一个正值缓慢恢复到校准值。稳压模块出了问题,供电貌似一直是6V超压,反正也没烧就没改,也有懒的原因。然后我就发现我原来的算法清除这个误差非常难,陀螺仪数据本身的波动已经超过了跷跷板移动时的波动,这时我发现,这平衡车只要速度够慢,一点点移到平衡点就好了,于是我找了找陀螺仪数据BUG的规律,重写了算法,利用了这个误差,成功达到目标。 本来想加上定时器来读秒计数的,鬼知道是硬件还是软件的问题,效果非常鬼畜,我也懒得排除了。 方案总结 第一次组队配合完成题目,配合的很渣,完全没有默契。 注 第一车模:MPU6050陀螺仪程序,对速度下限依然很高的直流电机降速方案 第二车模:陀螺仪加一,四线旋转编码器正交解码程序,PID调速程序(在主函数中,还带着一堆补丁) 第三车模:陀螺仪加二,用定时器的门控模式产生步进电机需求的脉冲程序及配置,步进电机控制的封装 均由12864OLED显示,可能还有别的,我想不起来了。程序都没有进行优化和整理! 注意:跷跷板的平衡点越稳定越容易平衡,平衡范围越大对算法要求越低。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1784 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1088 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
729 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1680 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
734浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
596浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
559浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 19:53 , Processed in 0.870123 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号