- 博客(662)
- 资源 (13)
- 问答 (1)
- 收藏
- 关注
原创 FOC控制算法---通俗讲解(可以看懂的)
FOC控制算法,即磁场定向控制算法,是一种先进的电机控制技术。它通过精确控制电机磁场的大小和方向,实现了电机运动转矩的平稳、噪声的降低和效率的提高。简而言之,FOC算法能够对无刷电机进行精细的驱动控制,达到传统控制方法无法实现的性能。
2024-03-29 15:39:31 25
原创 灯哥驱动器端口讲解----foc电机驱动必看
CS:是电流采样的引脚,三项采样电流,现在只给了两路,另外一路算出来就行了。SDA,SCL:I2C的引脚用来读取编码器的计数值。tx,rx:引出来了一路串口,没有用。in:三项电流输入,驱动电机使用。
2024-03-28 22:30:23 97
原创 之前一直测试我的电机转速不能够读取到准确的i2c角度值,其实不是设备的问题,是串口通讯的原因
之前一直测试我的电机转速不能够读取到准确的i2c角度值,其实不是设备的问题,是串口通讯的原因。我设置位1m的串口波特率就可以看到比较准确的好的角度计算数值了。
2024-03-28 20:41:23 53
原创 stm32控制电机--计算电角度以及电角度和机械角度的对应关系---以及foc的控制算法模型及过程(推荐)
1,电角度和机械角度的关系。2,foc模型工程(推荐)
2024-03-26 14:33:11 142
原创 simulink里枚举量的使用--在m文件中创建枚举量实践操作(推荐)
本文将介绍一种非常重要的概念,枚举量,以及它在simulink状态机中的使用,并且给出模型,方便大家学习。:实际上是用一个名字表示了一个变量,能够比较方便的表示标志信息。
2024-03-22 13:51:05 267
原创 timer:compare 比较模式,stm32F446re Timer Compare Interrupt,输出pwm,timer interrupt ,timer iqr(推荐参考)
使用timer中断以及比较模式的时候需要在simulink里进行配置,才可以,之前只在stm32cubemx里配置,是不能中断任务的,最后看了参考链接之后才把这个功能调通了。
2024-03-01 21:52:59 217
原创 比较输出模式:ccr比较寄存器,arr自动装载寄存器, psc分频器都是什么意思?定时中断,定时器的配置和使用
(比较寄存器的值CCR)依次为999、1999、2999和3999,这表示在一个时钟500ms周期内,通道1、2、3和4分别在100ms、200ms、300ms和400ms的时候翻转其对应通道引脚的状态。输出比较四个通道 Output compare preload (输出比较预装载)均为Disable, CH Polarity。(通道输出有效状态)均为高电平,输出比较的其他模式如其字面意思较为好理解,这里不再过多阐述,具体的参数配置如。四个通道从上到下其 Pulse。
2024-02-29 18:29:41 265
原创 使用cython实现C++调用python(以python3为例)
使用cython实现C++调用python(以python3为例) - AI嵌入式小菜菜的文章 - 知乎。使用cython实现C++调用python(以python3为例)
2024-02-29 09:12:38 26
原创 自动驾驶框架:自动驾驶汽车定位-感知-规划-决策-控制概述,按照我的架构图理解:决策决定的是速度,规划决定的是路径(架构理解推荐)
自动驾驶汽车定位-感知-规划-决策-控制概述。规划-决策-控制知识。
2024-02-27 08:33:49 552
原创 一般情况下,硬件中使用Repeating Sequence出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的
把timer values 修改为0 1就好了,如果是0,0.1就不行,不会有下面的波形。一般情况下,出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的。
2024-02-26 20:16:07 208
原创 stm32时钟的理解--stm32f4,时钟由16MHZ,提高到72MHZ。HSI是内部时钟源 然后经过PLL锁相环,提高时钟频率就能提高到72MHZ,如果不用锁相环的话,就频率会很低
然后有了 72MHZ的频率后,就给其他模块用,什么Timer\主程序等等。
2024-02-26 19:29:42 192
原创 stm32:timer模块,如何计数,计数模块很简单,但是需要注意分频的设置,分频设置为7199。一般情况下,出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的
反面案例:如果设置分频为71的话就不是这个样子了,下图为设置为71的样子,是不对的。然后计数寄存器里的值65535作为默认值,也可以在matlab里修改。计数模块很简单,但是需要注意分频的设置,分频设置为7199,计数模块很简单,但是需要注意分频的设置,分频设置为7199,
2024-02-26 19:07:46 122
原创 ati vision标定完毕后,如何刷写,ATI VISION使用方法
2,使用hexview对比一下原来的hex。3,然后用memo tool刷写。从cal文件导出hex。将数据覆盖进去就可以了。
2024-02-23 10:15:14 81
原创 PMSM之FOC控制05-让电机开环转起来,参考案例,注意驱动器输出的是电压信号,也是正旋波。根据角度计算转速,需要用到timer的采样功能,记录采样时间,然后计算转速
小猫爪:
2024-02-21 16:52:39 195
原创 公式集和子句集,以及谓词的关系是什么
子句集(Clause Set):子句集是由一组子句组成的集合,每个子句是一个或多个文字的析取式(或运算),通常用于表示CNF形式的逻辑表达式。公式集(Formula Set):公式集是由一组逻辑公式组成的集合,每个公式可以是原子命题或复合命题,通常使用逻辑运算符(如与、或、非等)来连接。从公式集到子句集:通过将公式转换为CNF形式(合取范式),然后提取其中的子句即可得到子句集。从子句集到公式集:通过将子句中的文字重新组合并结合使用逻辑运算符,可以得到原始的逻辑公式集。这个过程通常称为"反解析"。
2024-02-21 09:46:29 194
原创 使用ATI重新添加新的a2l文件,新建策略,并且并保存标定文件后,没有数据的问题,是因为没有导入HEX
4,新建工程,添加设备后,添加屏幕文件,但是没有数据,reload也没有 数据。5,原因是没有导入HEX,在file中选择import,导入hex即可。1,从原来的策略的模板中重新保存一个模板。2,新建策略,导入A2L文件,保存策略。
2024-02-19 14:39:58 207
原创 【Simulink模块】Data Store 数据储存模块-如何实现在Simulink中变量全局引用
【Simulink模块】Data Store 数据储存模块-如何实现在Simulink中变量全局引用
2024-02-19 11:31:04 133
原创 stm32 --I2C controller read 模块的使用:使用stm32读取编码器是AS5600的i2c值, 主要是配置参数很麻烦,第一次掌握的不是很好,最后也是弄好了(重要-I2C)
我用的编码器是AS5600。
2024-02-17 22:36:13 253
原创 stm32:pwm output模块,记录一下我是用smt32,输出pwm波的记录--(推荐:----------------实现--重要)
我是实现了输出pwm波,频率固定,占空比可以不断调整的方法,将PA0接到示波器上,可以看到是一个标准的PWM波,如图下面示波器图。
2024-02-16 17:39:59 863
原创 STM32定时器专题一(输入捕获、输出比较、PWM、高级应用介绍)
输入捕获与输出比较对立,是检查输入引脚获取到的信号,通过通用/高级定时器TIMx,对其时间相关的参数进行测定,例如脉宽、频率、周期、占空比等。输出比较是对于已有的信号,自定义要求,当计数器满足要求时,便输出有效,否则输出无效(可以是电平,也可以是模拟信号)定时器通过将预设的比较值与计数器的值做匹配比较,以实现各类输出,如PWM输出、单脉冲输出等。主要依靠对输入信号的边沿(上升/下降)进行抓取,通过定时器进行计数,来达到其目的。除此之外,输入捕获还有自带的滤波降噪等简单的信号处理。
2024-02-14 22:02:32 221
原创 matlab发送串口数据,并进行串口数据头的添加,我们来看下pwm解析后并通过串口输出的效果
uintt16位的话会在上面前面加上00,16位的话一定是两个字节,一共16位的数据。如果是unint8的话就不会,
2024-02-12 22:01:14 687
原创 stm32:timer capture模块:记录一下,我使用stm32实现pwm波输入,以及对频率和占空比的计算,同时通过串口输出(stm32-timer capture)(实现-重要)
参参见我另外一篇,做了串口的输出以及unit16位和unit8位的对比,如果你的频率很高,那么就需要选择uint16,因为unint8只有0-255。我们得到matlab的值来计算一下,看得到的值和我用pwm发射器发生的值是不是一样的。我们得到18850*100/22180 = 84.98和我们实际得到的周期值一样。我们得到1000 000/22180=45和我们实际的发射的值一样。其中TemPIpre表示的是CH2输出的值,TemPIpul表示的是CH1输出的值。timer3的ch1是选择的是。
2024-02-12 21:58:31 438
原创 fatal error: rtiostream_utils.h: No such file or directory, rtiostream.h
fatal error: rtiostream_utils.h: No such file or directory我的设置:
2024-02-12 17:59:45 175
原创 STM32CubeMx+MATLAB Simulink串口输出实验,UART/USART串口测试实验
STM32CubeMx+MATLAB Simulink串口输出实验
2024-02-12 10:45:56 766
原创 STM32CubeMX,定时器之定时功能,入门学习,如何设置prescaler,以及timer计算PWM输入捕获方法(重要)
72M的主时钟,7200分频后,单个计数时间是0.0001秒,最大计时长度是0.0001*65535=0.65535秒,所以最小频率不能小于1.5Hz。我的计算(8000/8000 000)*500=0.5s也就是支持500ms的周期,一般我们就按照计算的值来作为周期了。计算的方式很多,我喜欢用这种计算方式,比较直接,当然可以选择下面两种计算方法,这三种计算方法分别在上面的参考链接里。主频72MHZ,最大计数次数5000,所以系统的最小采样频率是:2HZ,最大采样频率是72MHZ。
2024-02-10 13:50:37 1335
原创 Matlab2019b与STM32F407基于模型的联合开发,使用Matlab联合STM32CubeMX以及Keil开发一个STM32的简单程序-,时钟自定义配置 (老版本的开发方式--参考查阅)
Matlab2019b与STM32F407基于模型的联合开发
2024-02-08 08:28:54 138
原创 示波器的电压怎么和测量的电压不一样,空比增加以后 示波器显示的电压反而降低了?
这两天在调电机,发现我用pwm信号,发送给示波器,但是示波器测量的电压和万用表测量的完全不一样,而有奇怪的现象,空比增加以后 示波器显示的电压反而降低了。最后发现是通道没有设置,要设置成直流模式。点ch1,然后设置如图这个直流的位置。
2024-02-06 23:04:19 261
原创 如何理解SVPWM中的马鞍波?相电压和线电压,FOC中的电机控制,相电压是马鞍波,线电压正旋波
马鞍波本质是正弦波叠加了基波三倍频率三角波得到的波形。叠加三角波的本质原因是为了提高电压的利用率,当相电压整体较大时,叠加一个负电压让整体下移,当相电压整体较小时,叠加一个正电压让整体上移。以下尝试在尽可能少使用公式的情况下分析SVPWM的具体实现。
2024-02-05 14:08:05 525 1
原创 开发simulink 以及stm32半物理仿真碰到的问题,以及处理方法,Error:External Mode Open Protocol Connect command failed(实测有用)
串口实现的,但是在测试的时候发现,这个串口可以正常发送和接收数据,但是一旦把这个串口只让其进行版物理仿真就报错。直接刷写程序是可以的,最后查到问题了。我要实现半物理仿真,就是通过matlab实现可以直接控制stm32板子,实际上是通过xcp on。然后点击simulink上的观测按钮就可以直接和stm32平台进行通讯了。3,还是使用串口3,但是重新需要设置一下com口,因为重新插拔了一下,按照这个设置方法就可以。2,重新加载ioc文件。
2024-02-03 22:26:02 558
原创 电机控制策略以及基本概念,foc电机控制的基本概念,电机控制----FOC框架讲解,如何理解SVPWM中的马鞍波?
D挡位输出-240N,电机转速到5000后最大输出-90N。R挡最大输出240,电机转速5000后最大输出90N.1,电机请求扭矩,显示恒扭矩,然后是恒功率。
2024-02-01 16:51:20 396
原创 DRV8313和L298N都是电机驱动,一个是驱动三相FOC无刷直流电机的,一个是驱动有刷电机,使stm32控制无刷电机简单入门知识,永磁同步电机(PMSM)和直流无刷电机(BLDC)有区别
设计用于接受标准的TTL逻辑电平,并驱动诸如继电器,电磁阀,直流电机和步进电机等感应负载。由STMicroelectronics制造。但是,其效率较低,因为芯片内部的电压降较大。支持双电源,可以提供更高的电流输出。具有集成的场效应晶体管(FET)。是一种高压,高电流的双全桥驱动器。可以直接驱动双极性电机和步进电机。控制接口较多,使用起来相对复杂。体积较大,需要较多的外围元件。具有电源过压和过流保护功能。由德州仪器(TI)制造。适用于三相电机驱动。
2024-02-01 15:05:15 299
原创 stm32--simulink开发之--timer的学习,硬件输入中断,触发事件,STM32通用定时器之输出比较模式与PWM模式(重要理解)
说明:“freq count — Frequency count of timer scalar” 的使用方法是,你可以设置一个常量值(constant),当计数器的计数值达到这个常量值时,就会触发一个事件,具体来说,你可以这样操作:首先,创建一个定时器实例,然后,使用 set_timer 函数来设置定时器的频率3。这个函数的参数就是你提到的常量值,也就是你希望在计数器达到多少时触发事件,最后,当计数器的计数值达到你设置的常量值时,就会触发一个事件。这个功能在你需要精确控制计时器的运行时非常有用。
2024-01-31 22:07:21 398
原创 timer的几种用法,总结一下,stm32在simulink中如何开发?可以很方便的在参数中设置需要的输出频率,如下图可以直接设置输出1Hz变化,不用再去计算预分频系数和自动重载技术器的系数。
中断线通常由格式为IRQ后跟一个数字的索引标识。例如,在使用两个可编程中断控制器(PIC)的基于x86的计算机系统上,组合的线被称为IRQ0到IRQ15。定时器输出比较模式是一种定时器工作模式,它可以在定时器计数器达到某个特定值时触发一个事件。定时器中断请求是一种硬件信号,它会暂停正在运行的程序并允许一个特殊的程序(中断处理程序)运行。它可以很方便的在参数中设置需要的输出频率,如下图可以直接设置输出1Hz变化,不用再去计算预分频系数和自动重载技术器的系数。timer的中断触发功能,进行函数的触发。
2024-01-31 11:34:27 333
原创 ait从工程保存策略的方法-xcp标定和观测
选择templates,选择save as,重新命名就可以把策略保存下来了。点击file,选择properties。右键,选择->open file。
2024-01-30 17:19:49 73
一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之
2023-04-03
文件同名代码,修改两个文件夹中文件的名称,让文件对应起来,程序亲测好用
2022-04-28
神经网络预测天气的气温数据集免费资源
2022-01-01
javaweb管理系统,大学就业信息管理系统源码,毕业设计参考必看,毕业生必看,附完整源码何运行截图
2021-08-08
网上花店管理系统完整代码,大作业学生毕设参考学习
2021-05-12
android扫一扫查询excel,扫一扫查询数据库数据
2021-02-19
Deepstream里如何如何调用多个模型?
2022-09-06
no model name “PIL“ and Command “/usr/bin/python3 -u -c “import setuptools, tokenize,错误的解决方法
2022-08-18
java类方法的设计需要注意什么?
2020-08-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人