- 博客(169)
- 收藏
- 关注
原创 MIT电机驱动文档
电机驱动器配备两个在正常运行时使用的连接器:一个用于供电的XT30接口,以及一个用于CAN总线通信的Harwin Datamate L-Tek高可靠性接口。在电路板顶部设有JST-SH接口,包含编程引脚和用于配置驱动器的串口。必须使用预充电电路(推荐阻值10-100Ω),或通过可调电源缓慢升压。CAN接口的型号为M80-8420342,匹配接口型号为M80-8990305。通过921600波特率(8数据位,1停止位,无校验)的串口终端进行配置。大量负功(如制动),必须连接能吸收能量的电源(如蓄电池)
2025-05-05 11:12:04
1163
原创 串口发送数据乱码-时钟问题GD32F305 CL由25MHz修改为8MHz
RCU_CFG1,由于demo文件是25MHz,由如下公式:CK_PREDIV0 = (CK_HXTAL)/5 *8 /10 = 4 MHz 得到输入时钟。Perdiv1是指HSE外部时钟送到PLL1的输入时钟,由于F305无法选择8*15的倍频,所以输入时钟要分频为4MHz,然后倍频30倍得到120MHz时钟。代码逻辑是,先将寄存器RCU_CFG0清零,再置位,然后将寄存器RCU_CFG1清零再置位。硬件外部时钟为8MHz,官方demo文件为25MHz,基于此修改时钟配置。下图是demo文件的原始配置。
2025-05-02 18:17:41
190
原创 单片机超频死机不能下载解决
另一种,使用Jlink,boot0接3.3V,keil下载时,断开boot0重新接地也可以。将BOOT0接3.3V,按下复位按键,然后再下载;
2025-04-28 10:28:02
140
原创 擦除整片flash后,程序下载到单片机,单片机不运行
Boot代码硬件初始化:配置时钟、内存控制器、外设等基础硬件模块启动模式选择:根据硬件引脚或寄存器配置,决定从Flash、系统存储器(如STM32的BootLoader)或RAM启动程序加载:将应用程序(App)从存储介质(如Flash、网络)加载到内存(如RAM)并跳转执行OTA升级支持:接收新固件并更新到App区域,同时校验数据完整性在STM32等MCU中,Boot代码通常位于Flash的起始地址(如0x08000000。
2025-04-28 10:25:30
478
原创 【HAL库&CubeMX】关于延时函数的使用
借用系统的开机时间,可以边等待边完成其它任务,不占用CPU,比较推荐这种方式。用这种程序会一直等待不能做其它工作,优点是实现简单,适用于断时的单任务等待。if((now-startTime)>1000)//等待时间到。//延时1000ms。需要用到函数 HAL_GetTick()while(1){//循环开始。
2025-04-21 11:46:53
276
原创 MA702寄存器列表及SPI读写方式分析
通过上述分析,可高效配置MA702传感器的角度测量、ABZ输出及磁场检测功能。通过合理配置这些寄存器,可适配不同的机械结构和磁场环境,确保高精度角度测量。
2025-04-15 13:48:41
886
原创 DRV8323RS寄存器说明
自学自记:DRV8323RS寄存器主要由故障寄存器、驱动控制寄存器,高侧低侧驱动寄存器,过流保护及电流监测控制寄存器组成;
2025-04-15 10:23:55
644
原创 Cube IDE常用快捷键
STM32CubeIDE快捷键很多,可以通过 Help > Show Active Keybindings…查看当前可用快捷键;也可以在 Window > Preferences > General > Keys 中查看修改快捷键。STM32CubeIDE常用快捷键。编辑器视图上移/下移(可按住)在当前行的下一行插入空行。行下移/上移(可按住)最大化/默认当前窗口。显示大纲(方便跳转)
2025-04-15 09:57:16
529
原创 AWG CWG线规格
2 :由表上归纳出AWG与英寸的关系如下:AWG = -19.93156857*lg线径inch - 9.73724。1 :由表上中的线径均指线的外径,单位换算:1 inch = 25.4 mm;3 :I正常(A) = D外径(mil)2/500;I最大(A) = D外径(mil)2/438.489。* :4/0表示 0000,3/0表示 000,2/0表示 00,1/0表示 0。
2025-04-13 15:48:07
163
原创 arm_math.h、arm_const_structs.h 和 arm_common_tables.h
在 中,arm_math.h和是 CMSIS-DSP 库的核心组件,用于实现高效的数学运算、预定义结构和查表操作。以下是它们在 FOC 控制中的具体应用场景:以下的的函数名称可能不一致,但.H文件中可以找到;arm_math.h。
2025-04-13 11:01:19
807
原创 Keil 5 找不到编译器 Missing:Compiler Version 5 的解决方法
点击选项卡 Project->Manager->Project Items->Folders/Extensions->Setup Default ARM Complier Version -> Add another ARM Compiler Version to List。重新查看编译选项可以看到已经添加上了 version5 的编译器了:(图中标红的两个选项只要有一个就可以了)也可以直接点击下载文章开头的文件。3. 配置 keil 的编译器。
2025-04-04 12:28:18
770
原创 FOC调试步骤
使用相对式编码器,在上电时,并不知道转子的位置,因为需要先设定Angle、IqRef为0,IdRef设置为合适值,此时电机转子会自动旋转到零点位置处,然后再把编码器的输出角度值矫正为0,完成编码器值与转子电角度的重合。Angle值、编码器返回的角度值的波形如左边的两个图。我们先来验证d轴,将IqRef设置为0,IdRef设置为一个合适的正值,此时电机是不会旋转的,用手转动电机也是可以转动的,只是不同于自由转动状态,此时旋转电机时会感到阻力较大,有一个力始终在维持电机处于当前位置。下面依次验证d轴与q轴。
2025-04-03 10:13:46
1096
1
原创 MIT FOC资料下载地址
自学自记:mit开源资料电机控制器硬件:https://github.com/bgkatz/3phase_integrated电机控制器软件:https://os.mbed.com/users/benkatz/code/Hobbyking_Cheetah_Compact_DRV8323/SPIne硬件:https://github.com/bgkatz/SPIneSPIne软件:https://os.mbed.com/users/benkatz/code/SPIne/
2025-03-28 22:33:15
215
原创 FOC调试过程中的所有波形
4.霍尔闭环下角度增量霍尔值和角度值。3.IF下开环角度和霍尔反馈角度。5.霍尔闭环下速度设定和反馈值。1.VF模式下UWV波形。2.IF下ab和iq波形。
2025-03-12 17:13:46
295
原创 STM32F407定时器时钟频率和时钟源
APB2总线时钟为2分频即84M,TIM1、TIM8~TIM11的时钟为APB2时钟的两倍即168M。(4)而如果APB1和APB2分频数不为1,那么TIM1、TIM8~TIM11的时钟为APB2的时钟的两倍,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟的两倍。(3)当APB1和APB2分频数为1的时候,TIM1、TIM8~TIM11的时钟为APB2的时钟,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟;
2025-03-06 21:56:24
583
原创 FOC的ADC采样电流不平滑
尽管现在各个相关公司已经有了电机控制库,但是我还是想先自己尝试写一下矢量控制,毕竟自己亲手来一遍才清楚其中的奥妙与玄机,写着写着就写了一年的无感FOC,现在把之前的一些笔记博文再拿出来整理一下。由简入难,方波搞差不多了,然后就从有霍尔的矢量控制开始做。首先就是SVPWM了,。SVPWM参考博客:SVPWM和电流采样点-CSDN博客在做好SVPWM之后,就是SVPWM产生的三相正弦波的电流采样了,只有电流采样准确,矢量控制的坐标转换才能正确。因此电流采样的重要性不言而喻。
2025-03-02 18:33:41
1121
原创 SVPWM和电流采样点
定义每个扇区中先发生的矢量用为Tx,后发生的矢量为 Ty。可以看出 A,B,C 之间共有八种组合,但由判断扇区的公式可知 A,B,C 不会同时为 1 或同时为 0,所以实际的组合是六种,A,B,C 组合取不同的值对应着不同的扇区,并且是一一对应的,因此完全可以由 A,B,C 的组合判断所在的扇区。3、配置CHx和CHxN空闲时的电平,调用TIM_CtrlPWMOutputs(TIM1, DISABLE)后,就进入空闲状态了,高侧没什么用,让空闲时低侧的管子导通,可以使相线连在一起,起到锁定的作用。
2025-03-02 18:12:04
1402
原创 在线计算FOC的kp ki
在FOC(Field Oriented Control,磁场定向控制)电流环中,KP(比例增益)和KI(积分增益)的计算是电流环参数整定的关键步骤。这两个参数的整定直接影响到电流环的响应速度、稳定性和精度。
2024-10-05 10:15:34
3118
3
原创 FOC直流无刷电机控制算法——理论
根据我们之前的描述可知,我们从电机U V W三相检测到的反馈电流为正弦波,同时处于静止的abc三相坐标系,谁会愿意在三相坐标系上去计算呢,受过九年义务教育的我们,都只喜欢在二维坐标系上去进行简单计算的嘛,聪明的先辈们也体会到计算的复杂性,太难的东西不利于推广,因此经过先辈们的艰苦奋斗,找到了一种巧妙的解决方式——坐标变换。通过上述示意图,我们应该可以清晰的理解六步换相的基本原理了,通过控制线圈的导电顺序,根据右手螺旋定则产生合成磁场,根据磁铁的异性相吸,同性相斥原理,吸引转子磁场进行转动。
2024-08-09 09:22:45
4426
1
原创 编码器输出类型
旋转编码器的输出形式,包括集电极开路输出(Open Collector Output)、电压输出(Voltage Output)、互补输出(Complementary Output)和线性驱动输出(Line Driver Output),它们各自有不同的特点和应用场景。原理:在集电极开路输出的基础上,通过在电源和集电极之间加入一个上拉电阻,使得集电极和电源之间能有一个稳定的电压状态。输出电平稳定,适用于需要稳定电压信号的场合。类型:分为NPN集电极开路输出和PNP集电极开路输出,取决于晶体管的类型。
2024-08-09 08:57:55
1491
原创 电源芯片并联使用-AMS1117
2.比如这个号称可以直接并联的LDO,实际上的架构还是在输出上串了一个很小的ballast电阻,只不过因为需要的阻值很小,用PCB走线就可以实现了。1.按照正规大厂Rohm的技术文档介绍,直接并联的两个LDO,只要其输出电压有很小的差异,就会造成电流分配的很大差异。,那可能是总电流的余量留得很足?用2个1A的LDO并联去输出1A(或0.8A),相比较用1个1A的LDO来说,一定程度上分散了电流。这也有助于形成一种负反馈:输出电压高的LDO分担到比较多的电流,导致结温上升而又降低了输出电压,
2024-02-03 12:24:30
4418
原创 中断与事件区别
了.图中红色虚线箭头,标出了外部事件信号的传输路径,外部请求信号经过编号3的或门后,进入编号5的与门,这个与门的作用与编号4的与门类似,用于引入事件屏蔽寄存器的控制;,首先外部信号从编号1的芯片管脚进入,经过编号2的边沿检测电路,通过编号3的或门进入中断挂起请求寄存器,最后经过编号4的与门输出到NVIC中断检测电路,请求一个中断或事件,即当软件中断/事件寄存器的对应位为”1”时,不管外部信号如何,编号3的或门都会输出有效信号.的对应位为”0”,则该请求信号不能传输到与门的另一端,实现了中断的屏蔽.
2024-01-25 10:35:38
683
原创 c语言除号/,求伺服电机脉冲值反馈
1、int/int : 结果为int型,如1/2,结果为0。4、float/float : 结果为0.500000。3、float/int : 结果为0.500000。2、int/float : 结果仍为0。用的int,float类型分别做除数。c语言中的除号是“/”。
2024-01-18 11:46:17
523
原创 MOS管驱动电流计算以及分立器件驱动电路
在分析时,如果不能确定晶体工作在那种状态,可以先假设一种状态(放大状态或饱和状态),然后根据已知的数据,通过计算集电结的偏转状态来确定其工作状态。说明pnp晶体管的电流和电压都和npn型晶体管的相反,那么在分析pnp型晶体管的工作状态时,就可以将其电压和电流取绝对值。我们知道NPN型晶体管有三个工作区(截止区,放大区,饱和区),同样PNP型三极管也有三个工作区。(2)当u1 = -2V,晶体管导通,晶体管可能工作在放大区,也可能工作在饱和区,此时假设晶体管工作在放大区。图2 pnp型晶体管的特性曲线。
2024-01-15 22:11:04
4440
原创 光栅尺的供电方式和输出信号
(淘宝网有售),把差分信号转集电极开路输出信号。这种转化接纳办法所带来的问题,与TTL电平信号转化接纳是一样的。有些高速计数模块(FX3U-2HC、AJ65BT-D62D、AJ65BT-D62-S1等)能够直接接纳RS422差分信号。这种输出办法,能够运用两个反相信号来抵消外界的电磁搅扰,特别适用于搅扰恶劣的环境。PLC的主单元和高速计数模块(如FX2N-1HC、FX3U-2HC、FX3U-4HSX-ADP和CC-Link计数模块AJ65BT-D62等等)能够。,集电极开路输出说白了,便是电子开关。
2024-01-14 09:15:04
2785
原创 SOP-8 SOIC-8 SO-8封装区别
SOP封装的应用范围很广,而且以后逐渐派生出SOJ(J型引脚小外形封装)、TSOP(薄小外形封装)、VSOP(甚小外形封装)、SSOP(缩小型SOP)、TSSOP(薄的缩小型SOP)及SOT(小外形晶体管)、SOIC(小外形集成电路)等在集成电路中都起到了举足轻重的作用。两种封装的具体尺寸,包括芯片的长、宽、引脚宽度、引脚间距等基本一样,所以在PCB设计的时候封装SOP与SOIC可以混用。SOP 是一个比较通用的叫法,后来才有了 SOIC 的封装,SOIC 封装在外形上和 SOP 几乎一样。
2024-01-12 21:28:18
16296
原创 单片机I/O口驱动MOS管
②MOS管是电压控制型,驱动电压必须高Vgs(TH)才能正常导通,不同MOS管的阈值电压是不一样的,一般为3-5V左右,饱和驱动电压可在6-8V。通过前面也了解到,MOS管的饱和压降>3.3V或接近,如果用3.3V来驱动的话,很可能MOS管根本就打不开,或者处于半导通状态。单片机一般讲究低功耗,电压也越来越低,一般单片机供电为3.3V,所以它的I/O最高电压也就是3.3V。三极管不导通,MOS管通过电阻R3,R4分压,为栅极提供合适的阈值电压,MOS管导通,答案是可以的,但这种型号不好找,这里给大家。
2024-01-12 20:34:27
11457
6
原创 c语言中负数的读取
1.以字节为例,其取值范围是 -128 ~ 127,即-2E7 ~ 2E7-1, 用最高位表示其符号,0表示正数,1表示负数。注意:char类型的0 没有+0 和 -0 的区分,即使想区分,按照上述操作,得到的都是 0000 0000。举例:-1 取绝对值0000 0001 -> 取反1111 1110 ->加1得到 1111 1111。-128 存储数值 1000 0000。-127 存储数值 1000 0001。-126 存储数值 1000 0010。1>.对负数取绝对值,用二进制表示。
2024-01-12 19:44:13
1036
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人