- 博客(34)
- 收藏
- 关注
原创 直流无刷电机控制(三)Clarke变换和Park变换
Clarke变换与Park变换将直流无刷电机三相绕组产生的磁力分析变换为转子dq轴的磁力分析,建立了三相绕组电压与转子受力之间的关系。
2025-03-31 08:43:24
516
原创 直流无刷电机控制(一)六步换相(有感霍尔)附六步换相实现代码
直流无刷电机的转子为永磁铁,定子为换相线圈,有别于有刷电机通过电刷或者换向器换相,无刷电机通过控制器电子换相。
2024-05-15 09:00:00
7565
原创 滤波算法(一)一阶低通滤波器理论设计&算法实现
一阶低通滤波器的物理模型来源于一阶RC滤波器,其输出信号与电容的容抗和电阻的阻抗形成的电路网络有关,此电路网络是由电阻分压网络衍生而来。在3dB带宽系统中(即半功率系统),信号幅值增益为-3dB()时的频率为滤波器的截止频率。一阶低通滤波器传递函数即(这里的。那么根据RC滤波器输出信号公式且。
2024-04-01 08:00:00
4581
原创 经典控制算法(二)离散时间PID控制器&PID算法实现
因为计算机处理为数字处理,反馈环节采样和作用环节处理并未理想连续而是离散的。utKpetKi∫0teτdtKddtdetunKpenKii0∑neiKden−en−1))n:采样次数。
2024-02-09 08:30:00
5041
原创 经典控制算法(一)线性系统时域分析&连续时间PID控制器
PID即proportional(比例),integral(积分),differential(微分)。PID控制算法是一种将反馈环节获取的信号转换成控制环节的信号的一种算法。此算法可以使系统处于一种趋于稳定的状态。utKpetKi∫0teτdtKddetdtutKpetKi∫0teτdtKddtdetKpK_pKp:比例增益KiK_iKi:积分增益KdK_dKd。
2024-01-24 09:00:00
1668
原创 STM32ADC采样&Matlab串口实时绘图脚本
F042的ADC为12bitADC,采样所得到的值为04095,ADC引脚输入的最大电压为芯片的供电电压,若测量电压大于这一值,需要使用运算放大器进行转换。故该ADC是将0~3.3V分成了4096份进行比较采样。采样时间在cubemx设置为1.5Cycles。因为只使用了ADC的一个引脚所以中断方式且判定ADC采样结束,其可以不使用DMA通道。
2023-12-25 15:42:53
1101
原创 使用MATLAB的polyfit进行刹车伺服电机扭矩与刹车扭矩的曲线关系拟合
某型无人机使用了伺服电机上转子轴固定一10cm左右刹车线带动刹车机构进行刹车动作,这时就需要知道伺服电机输出多少扭矩使刹车机构产生摩擦从而生成多大刹车扭矩的关系。目前可以使用excel表格进行曲线关系拟合,也可以使用matlab的polyfit函数进行函数曲线拟合做到同样的效果。
2023-09-01 23:24:11
358
原创 绪论:从OSI模型到嵌入式通信协议
而对于嵌入式通信协议我们一般关注物理层,数据链路层和网络层。即ISO/IEC7498标准,定义了网络互联的七层框架。
2023-06-30 19:19:18
180
原创 SPI协议梳理附SSD1306OLED屏幕驱动
SPI(Serial Peripheral Interface)也采用串行通信的思想;是一种简单的双向四线制的全双工总线协议,SPI协议标准涉及OSI模型的物理层,数据链路层。
2023-06-29 16:07:39
1290
原创 SDIO协议梳理附SD卡读写以及FATFS移植实例
SDIO也采用串行通信的思想;一种与SD-Card,SD-MMC或者SD总线设备通信的协议,基于命令和数据流。SDIO协议标准涉及OSI模型的物理层,数据链路层和网络层。
2023-06-26 10:08:33
1306
原创 I²C总线协议梳理附STM32平台I2C总线SSD1306OLED屏幕软件模拟方式驱动
I²C也采用串行通信的思想;是一种简单的双向两线制的半双工总线协议,其引脚少,硬件实现简单,扩展性强,以I2C(之后均已I2C,IIC代指I²C,Inter-Integrated circuit)地址进行设备选择,相较SPI协议省去了片选线。I2C协议标准涉及OSI模型的物理层,数据链路层和网络层。
2023-06-16 21:06:39
856
原创 串行通信&UART协议梳理附STM32平台采用DMA以UART方式收发不定长信息
例如一字节信息即八位需要一位一位由高位到低位或由低位到高位逐位传输,而并行通信则是多bit带宽线路,传输以字节信息可能是八位同时发送,通过信号线判断所在位的信号,缺陷在于多条线信号同步要求很高,在实际干扰环境下通信效率可能不如串行通信。UART是一种将串行通信思想付诸实现的一种,串行,异步通信总线协议,囊括了232,485等各类接口标准规范和总线标准规范。直到这里串行通信的概念只是一个十分笼统的理论模型,并没有规定任何协议而只是一个通信思路。UART,SPI,I²C,CAN都是串行通信的思想。
2023-06-16 14:58:53
256
原创 Assembly&C混合编写与ARM跳转指令
相对跳转,BL指令跟B不同:在跳转之前,会先将当前指令的下一条指令地址保存到LR寄存器中,然后才跳转到标号执行。这样做的好处是:当我们想从标号地方返回时,可以直接将LR寄存器中的返回地址赋值给PC,程序就可以返回到原来的程序中继续执行了。无论是汇编语言子程序,还是C语言子程序,在跳转到子程序之前,都要将返回地址保存起来。当子程序执行完毕,将LR寄存器保存的返回地址,重新赋值给PC,处理器就可以返回到主程序继续执行了。将汇编一段指令视为函数,在C程序中使用extern声明,C默认从R0开始使用寄存器。
2023-06-07 09:45:17
196
原创 STM32F1XX嵌套中断向量控制器(NVIC)与相关寄存器
这就是应用了上述第一点的中断机制,即高抢占优先级中断程序可以在低抢占优先级中断程序运行过程中插入运行,等高优先级的程序运行结束后CPU又回过头来运行低优先级中断程序。IP[4m],每一组IP有8bit,管理着一条中断线也就是对应着一个中断, [7:4]为有效分级位,[3:0]为无效保留位。同时引入中断分级和嵌套中断管理机制。每一位代表着每一个对应中断的使能,失能,IABR为只读寄存器,每一位代表着对应中断正在中断。ISER中断使能寄存器,ICER中断失能寄存器,IABR中断活动寄存器。
2023-06-07 00:31:54
569
原创 浅谈C标准库fgets&fputs函数,并与fread&fwrite函数比较
浅谈C标准库fgets&fputs函数,并与fread&fwrite函数比较
2023-03-19 15:34:18
299
原创 Linux系统结构与shell脚本的变量,判断语句if else/case in,循环语句for while和shell函数
Linux系统结构与shell脚本的变量,判断语句if else/case in,循环语句for/while和shell函数
2023-02-18 16:00:38
488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人