- 博客(16)
- 资源 (1)
- 收藏
- 关注

原创 【STM32-HAL库】一步步搭建出FOC矢量控制(附C代码)
说明本文为无刷电机或PMSM电机驱动的简易代码,旨在分享一些个人调试过程的小心得,提供一个demo文件,程序仍有许多不完善的地方,建立起个人的FOC底层驱动,可以帮助快速熟悉FOC算法原理与使用方法,可以帮助验证新的电机控制算法。原理部分不再阐述。整个部分共有PWM模块、ADC电流采集、定时器编码器配置、SVPWM模块、FOC核心、PID模块、电压限幅模块,其实有了PWM与SVPWM以及一些必要的数学变换,我们就可以开环使电机转起来了,加入电角度与电流采集作为反馈后,我们就能做到电流闭环,再加入速度PI
2021-11-16 14:28:44
59654
86
原创 多摩川编码器的CRC校验的两种方式及示例代码
其对应的二进制数为0x101,其Ploy值为0x01,LSB First=0x80,我们需要将CF+SF+DF以字节形式分别于LSB First进行亦或处理,最后结果为CRC8校验结果。可以利用查表法极大降低执行时间,查表法就是将多项式对应的校验值保存在数组中进行比对,利用下面的函数生成查表数值。多摩川编码器采用的是小端异或的计算方式,根据多项式。利用下面的函数进行查表法的CRC校验。
2025-02-10 15:21:35
207
原创 伺服电机中常见编码器接口与协议解析
在伺服电机控制系统中,编码器的选择直接影响系统的性能和成本。增量式编码器(ABZ+HALL)以其简单、低成本的特点,适用于对实时性要求较高的中低端应用;多摩川串行通讯式编码器凭借其高精度和绝对位置信息,成为高端伺服系统的首选;而BiSS-C协议编码器则以其高实时性和灵活性,在现代工业自动化中占据重要地位。在实际应用中,工程师需要根据具体需求选择合适的编码器接口和协议,以实现最佳的性能和成本平衡。
2025-02-10 15:09:23
868
原创 如何渲染精美3D PCB图
现在网上大部分PCB渲染方法都比较麻烦,并且会有丝印不清晰,或者走线与铜皮不显现问题,现在分享一种简单有效的PCB渲染方法
2022-07-27 11:22:24
2421
原创 【MBD】28335外部模式,便于调试
1、首先在硬件设置中设置好外部模式的通讯方式2、然后将程序下载至板子中,点击CONTECT即可运行程序,实现MATLAB与板子的数据传输使用示波器观察电角度
2022-02-24 20:08:24
645
原创 【MATLAB】串口通信与数据解包
1、simulnik配置好串口2、以单片机发送数据,simulink接收并解析为例配置串口接收模块,如图为接收5个字节3、使用Protocol Decoder 解析数据首先单片机发送‘A’+四个字节数据A是报头test[0]='A';HAL_UART_Transmit(&huart4,test,1,10);HAL_UART_Transmit(&huart4,adc1data,2,10);HAL_UART_Transmit(&huart4,adc2data,2,1
2022-02-23 22:01:18
2001
3
原创 【MBD】使用28335测试ePWM
MATLAB设置生成互补PWM测试搭建如图模型模块设置如下若加入死区,则设置如下:死区时间:1 / 150 * RED(or FED) us
2022-02-21 20:13:31
459
原创 【STM32-HAL】常见问题
1、使用HAL生成代码后,如果使用串口,程序不能正常运行**解决方法:**打开Keil设置,勾选上MicroLIB,然后重新编译。2、
2021-09-16 13:53:46
1283
原创 【STM32-MATLAB】simulink使用串口进行数据流传输
Simulnk接收,STM32发送1、搜索Serial Configuration模块,设置参数如图2、搜索Serial Receive模块,设置参数如图,其中,Data size为数据字节数,以3字节为例,Data Type选择uint83、STM32设置发送三个字节,分别为250、1、100uint8_t txtemp[3] = {250,1,100};HAL_UART_Transmit(&huart4,txtemp,3,100);4、实验结果Simulnk发送,STM32
2021-08-25 17:02:51
6922
3
原创 【STM32-MATLAB】2、外部中断
1、Cube配置说明:以按键外部中断为例,按下按键实现LED电平翻转KEY----PB9LED—PA21—系统配置2—时钟配置3—生成工程2、搭建模型1—改变MATLAB文件夹为Cube生成的工程夹(.ioc文件夹)2—新建模型文件,保存在1-中的文件夹下,便于工程管理3—搭建模型,各个参数设置如下图注意:function()为库文件,回调函数3、生成代码按下Ctrl+B等待生成代码,完成后打开工程,编译下载。...
2021-08-17 14:22:07
377
原创 【MATLAB-STM32】1、从点灯开始
1、准备工作环境安装推荐版本:(1)MATLAB 2020(自行找资源哈)(2)Keil 533(3)STM32 MAT5.6链接: STM32-MAT(4)STM32CubeMX 5.6链接: CubeMX5.6(5)本文使用芯片为STM32F405RGT6下载好STM32-MAT后,将所有文件夹路径添加至MATLAB即可注意:上面这些是笔者测试过的版本,其他版本可能会出现不同程度的报错2、让灯闪起来(1) 建立一个空文件夹,命名为1-led,存放在英文路径中(2)打开Cu
2021-08-16 18:37:44
1252
原创 【STM32】HAL库—快速使用ADC
ADC快速使用1、ADC简介1.1 模式1.2 ADC参考电压1.3 转换速率2、使用轮询模式2.1 单通道2.2 多通道3、使用DMA4、使用中断5、优化你的数据1、ADC简介1.1 模式ADC–模数转换器,将模拟量转换成数字量,以STM32F103为例,包含3个12位ADC,即将0-3.3V范围内的电压,用0-4095表示,二者是线性对应关系。即实际电压 = (读取的ADC值/4096) * 3.3STM32F系列ADC有多达18个通道,包括16个外部通道和2个内部通道,各个通道的AD可以以单
2021-08-08 22:50:30
7340
2
原创 【GUI】mini开源GUI-uGUI快速使用(可适用于OLED、LCD等显示器件)
1、uGUI要求uGUI官网: 官方网站github链接:源码uGUI的使用准备:1、下载好源码:ugui.c和ugui.h,将其添加至你的平台的工程中;2、在自己的平台上准备好基本的显示驱动,其中各个平台与uGUI的接口函数为像素填充函数,以0.96OLED为例,需要用到画点函数(单色OLED),其他彩色屏,t对应的为颜色变量colorvoid OLED_DrawPoint(u8 x,u8 y,u8 t){ u8 i,m,n; i=y/8; m=y%8; n=1<<m;
2021-08-07 20:44:44
9634
7
原创 【STM32】HAL库——串口使用printf
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-06 14:47:39
10817
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人