调试技巧
文章平均质量分 80
卡洛斯伊
从事电机,电源类系统应用软件开发。记录分享开发中遇到的问题方便日后回顾和交流
展开
-
Ozone V3.32a使用总结
臭氧 – 性能分析仪 (segger.com)如上是Ozone的官网, Ozone 可以与任何为其输出生成 Elf/Dwarf 调试信息的工具链一起使用。也就是说代码生成的ELF文件就可以使用Ozone作为调试工具。Ozone只有区区16M,而且不需要License,可以满足大多数调试场景,支持的芯片也是非常的多。不过调试器只能用Jlink,毕竟是专门为Jlink开发的调试工具。常用功能,如下图一些简单的调试功能都支持。程序下载,单步全速,变量更新窗口,汇编,芯片寄存器,断点等等,用法都类似。原创 2024-04-22 15:23:50 · 2615 阅读 · 0 评论 -
STM32 Simulink 自动代码生成电机控制——记录一次电机初始位置检测及NS极的判断实验
之前做了脉振高频注入的仿真到代码生成开发板运行的实验,电机可以通过高频注入计算出角度,但是在初始位置检测的时候,尝试了不少方法但是效果一般,很容易反转,由于时间关系没有花太多时间和精力,最近又尝试了一种方法,效果还是比较明显在这里记录一下,所有算法层的代码都是自动生成的。原创 2023-05-23 21:29:53 · 2300 阅读 · 0 评论 -
Simulink 自动代码生成电机控制:软件在环测试(SIL)步骤总结
简单介绍了SIL软件在环测试的步骤,非常简单,更深层次的东西可以根据流程需要再去挖掘,先总结到这里。原创 2023-05-18 18:16:53 · 4598 阅读 · 7 评论 -
Simulink 自动代码生成电机控制——永磁同步电机参数获取
以上介绍了如何测量计算电机参数,从实际测试效果来说,不管用电桥测试还是时间常数,都会因为测量有一定的误差,不过误差较小,不要太离谱的话正常跑电机是没有问题的, 通过不同的方法可以互相验证参数的可靠性,参数越接近实际电机参数,运行效果越好。可以根据实验条件自行选择,总比猜来得靠谱。原创 2023-05-14 15:20:09 · 3382 阅读 · 5 评论 -
Simulink 自动代码生成电机控制:开发板DAC接口辅助调试的方法
DAC是比较常用的数字转模拟单元,通过给定数字量,输出一个模拟信号,有比较广泛的用途,在这里只讨论DAC作为一个调式手段帮助打印出电机控制里面的一些变量,方便调试使用,针对电机电机控制开发板做一些总结开发板的串口支持较高的波特率,可以通过上传变量满足调试需求,同时也通过PWM模拟DAC的方式实现了DAC显示波形,方便调试使用。可根据实际情况进行合理选择。原创 2023-05-07 10:18:27 · 1310 阅读 · 1 评论 -
STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)
VOFA和匿名助手各有优劣,这里没有进行详细对比,但对于工程应用来说,只要满足应用需要即可。原创 2023-05-06 17:53:01 · 2777 阅读 · 5 评论 -
Matlab App Designer制作一个UART的GUI总结
最近尝试了一下用Matlab App Designer制作一个上位机通信软件,专门用于读取电机控制里面的相电流,角度等高实时性的数据,已经在VOFA+里面实现了。STM32 VOFA+串口调试助手提升电机控制调试效率(下位机代码和上位机操作演示)_stm32的串口使用什么软件调试_卡洛斯伊的博客-CSDN博客但是想要尝试制作一个基于Matlab App Designer的,这里分享记录一下过程和遇到的坑。先上效果图,如下。原创 2023-04-28 13:54:27 · 2789 阅读 · 5 评论 -
Simulink 自动代码生成电机控制:在某国产ARM0定点MCU上实现自动代码生成无感电机控制
这次尝试了在国产arm0内核的MCU上实现Simulink自动代码生成永磁同步电机无传感控制。机缘巧合之下拿到了一块国产MCU的电机控制板和一个5000RPM的小电机。最后实现了无传感控制,在这里总结下一些经验。掌握定点化流程方法后,系统越复杂就越不要想着通过几个实例就把整个系统完全定点化好,也需要对一些异常的模块进行分析,仿真以达到数据失真小,且不溢出。Simulink定点化后有些数据是16位的,可以考虑把一些数据用32位表示,以确保其精度。原创 2023-03-08 13:46:23 · 3788 阅读 · 2 评论 -
Simulink 自动代码生成电机控制:优化Simulink生成的代码提升代码运行效率
优化前代码执行速度17us, 优化后8.9us, 效率提升了将近一倍,从优化过程可以看出,要提高代码运行效率需要从三个方面入手:1.模型的搭建和配置2.模型算法的优化3. 编译器的优化也至关重要编译器的优化有时候会影响到程序的正常执行,测试过程中都是保证电机能正常工作,具体以实际工程需要进行优化,这里仅供参考%5Cpi%5Cpi。原创 2023-03-02 12:43:13 · 2363 阅读 · 5 评论 -
基于STM32 电机库(5.4.4)的单电阻采样调试总结
验证了在开发板上做单电阻的实验是可行的原创 2023-02-25 18:57:34 · 3548 阅读 · 1 评论 -
Simulink电机控制代码生成-----关于PI控制器参数整定的一点总结
本文利用实例通过两种方法整定PI参数,并互相比较,总结出两种方法都可以整定出PI参数,但是方法二更加直观和合理。方法一存在一定的不确定性,比如当前设计的带宽是不是太高,太低。只能在实际中验证。方法二如果电机参数准确,可以更方便的看出电机PI参数是否会引起系统超调太大,是否稳定等信息。原创 2022-11-22 20:34:48 · 7054 阅读 · 2 评论 -
记录为小电机安装一个5012编码器(多摩川协议)的过程
这里用的编码器是一个磁编码器,接口板可以很容易买到也不贵。如下 图,为接口板的正反面。接口板的工作原理是通过把一块永磁体如下图红圈,安装到电机的转子轴上,5012磁编码器采集到的角度通过单片机用485发送出来。PWR:电源指示灯D2:通讯指示灯,闪烁表示正在通讯读取数据通讯协议主控端发送请求命令帧:发送数据(HEX):0x02主控端接收来自编码器的数据帧:接收数据(HEX):0x02 0x00 0x34 0x12 0x00 0x24其中:0x02: 起始字节。原创 2022-11-19 18:58:39 · 4431 阅读 · 1 评论 -
Simulink 自动代码生成电机控制:Keil工程转到CubeIDE相关问题(2/2)
如果想要让代码执行效率高,需要考虑不同编译器的版本,优化选项以及对系统是否有影响等。通过测试发现在Keil和CubeIDE两者中Keil编译器版本选择6编译出来的代码效率最好。在实际的开发中,为优化软件的执行效率也会尝试使用各种编译器让程序的速度和空间达到预期的结果。原创 2022-10-19 21:36:25 · 2210 阅读 · 0 评论 -
STM32G474产生一个锯齿波
由于工程需要,在研究通过HRTIM发想要的锯齿波的时候踩了不少坑,其中一个步进值的寄存器是16位的,而初始值寄存器是12位的,刚开始没注意步进值都按照4096计算,结果总是输出不了想要的波形,查了比较值,步数,DAC的带宽等等可能的因素。原创 2022-09-30 10:08:47 · 3917 阅读 · 3 评论 -
Keil调试显示波形方法
在实际公程调试中,很多时候需要显示一些数据的曲线来辅助调试,观察变量的变化状态;有些MCU不带DAC功能,需要用定时器模拟,使用时也不方便。在经过一系列的尝试后Keil Array Visualization V1.x可以很方便的帮忙解决这个问题,下面记录一下使用说明。第一步:下载工具...原创 2021-05-11 10:14:26 · 13476 阅读 · 6 评论