![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 63
MikeInNJ
这个作者很懒,什么都没留下…
展开
-
FOC控制之小A小B小C是如何追求小D的
随着电动汽车的热火,关于FOC控制技术的文章这几年在网络上可谓是一搜一大把,各种理论分析,公式推导,应有尽有。通过这些文章,可以看出大佬还是很多的。另外也有FOC的开源硬件。而在大几年前,第一次做这种项目的时候,想找个开源硬件参考下代码,搜遍了全球最大的同性交友网站(github),也没有找到。只找到一些开环的VF控制的。而大几年前关于FOC控制技术,是各个芯片公司的独家秘笈。一般是不外传的,只对合作方开放。比如TI的电机控制库,ST的motor control workbench3.0 4.0啥的,英飞凌原创 2022-12-06 16:49:46 · 741 阅读 · 1 评论 -
ICM42688初始化流程
ICM42688陀螺仪的初始化过程,相对来说这块陀螺仪的整体素质是非常棒的原创 2022-12-01 13:34:25 · 3381 阅读 · 14 评论 -
ESP32的内存布局
应用程序的内存布局{IDF_TARGET_NAME} 芯片具有灵活的内存映射功能,本小节将介绍 ESP-IDF 默认使用这些功能的方式。ESP-IDF 应用程序的代码可以放在以下内存区域之一。IRAM(指令 RAM)ESP-IDF 将内部 SRAM0 区域(在技术参考手册中有定义)的一部分分配为指令 RAM。除了开始的 64kB 用作 PRO CPU 和 APP CPU 的高速缓存外,剩余内存区域(从 0x40080000 至 0x400A0000 )被用来存储应用程序中部分需要在RAM中运行的代码原创 2021-12-16 10:42:59 · 1685 阅读 · 0 评论 -
freertos任务间通信的集中基本方式和基础函数
1 消息通知1.1 等通知ulTaskNotifyTake( pdTRUE, portMAX_DELAY ); 1.2 给通知static TaskHandle_t xTaskToNotify = NULL;/* The peripheral driver's transmit function. */void StartTransmission( uint8_t *pcData, size_t xDataLength ){ /* At this point xTaskT原创 2021-09-07 16:45:38 · 614 阅读 · 0 评论 -
电机的力矩计算
1. 转动惯量的公式1.1 转矩如何计算转矩等于转动惯量乘以角加速度,然后我们要注意一下单位,转矩的单位是NM,转动惯量的单位是kg*m2,角加速度单位是rad/s2。M = I*BM是转矩,I 是转动惯量,B是角加速度。1.2 关于单位转矩=转动惯量*角加速度,转矩单位是N.m,转动惯量单位是Kg.m^2,那么角加速度单位是什么,如果是rad / s^2,怎么推算的?rad不是物理量单位,是角度单位,以rad做角度单位时,rad无需写明,除非强调时。即角速度单位就是s^-1,角加速度单原创 2021-09-01 19:09:23 · 11844 阅读 · 0 评论 -
研发人员的职业素养
研发人员的职业素养文/Mike 20210716第一条、责任1、对自己负责,对别人负责不同的岗位所要求的职业素养是不同的,职业素养的内涵其实是专业技能(基础技能、方法论),其次是职业所要求的职业操守。而决定专业技能和职业操守的是人性中的驱动力及责任感。责任,一种是对自己的负责,一种是对别人负责,对自己负责的故事。王阳明在平定宁王叛乱之后,心学昌盛,全国各地前来求学者,络绎不绝,有一个人从很远的地方,历经千山万水,一路上虎豹丛林,险些丧命,后来终于拄着拐杖出现在了王阳明面前,他问王阳明,我历经险阻原创 2021-07-16 15:19:25 · 1633 阅读 · 0 评论 -
陀螺稳定云台控制流程图
陀螺稳定云台控制流程图控制流程图手持云台控制流程图,主要是一个串级PID,位置环和速度环,当然了FOC电流环,不在这个流程里,位置环100HZ,速度环500HZ,该流程图单独拿三轴的一个轴出来分析。地球坐标系的角度环生成速度给定,然后乘以旋转矩阵,转到电机坐标系去,然后陀螺仪的信号乘以旋转矩阵转到电机坐标系作为速度环的反馈,然后再做一个PID,输出作为力矩给定,送给FOC的d轴,q轴为0,无须弱磁控制。IMU处理四元素的方式进行数据更新,生成欧拉角和旋转矩阵。...原创 2021-05-26 14:09:30 · 891 阅读 · 1 评论 -
同时有多个远程git仓库导致出现403错误不能推拉
出现这个问题一般都是windows凭据管理器自动保存了以前的密码进去之后编辑,换成你当前操作的git账户和密码就可以了原创 2021-05-19 14:25:46 · 176 阅读 · 0 评论 -
3年5年10年的嵌入式工程师,他们的区别在哪里
嵌入式工程师与嵌入式工程师的区别在哪里1、维度1.1、基础知识1.2、项目心态1.3、技术架构1.4、技术视野1.5、成熟方案1.6、一通百通1.7、选型能力1.8 、其他能力2 、还有其他要说的做过很多项目,招了一些人,自己也面试了很多次之后,我开始思考,一个工作1年,工作3年,工作5年,工作10年的嵌入式工程师到底有什么不同,工作年限到底给他们带来了什么。我在参加了一些公司的面试后发现,招聘方并不清楚他们所要求的10年工作经验后面所代表的内涵。我在面试了很多求职者之后,我发现工作很多年的工程师并原创 2021-02-18 18:08:03 · 2523 阅读 · 8 评论 -
单片机如何发出类似和弦的声音
蜂鸣器声音优化1、优化思路蜂鸣器的控制,在单片机领域,大多数人都是给一定周期的脉冲,蜂鸣器就会发出声音,而本质上,蜂鸣器只是一个金属弹片,声音大小取决于弹片的幅值,而幅值取决于施加的电压大小。电压大小可以使用PWM进行控制,所以这里跟电机的控制一样,可以使用SVPWM进行调制。一个调制频率一个运行频率。在蜂鸣器弹片的发声时间宽度内,用调制频率下PWM波形进行驱动。但是用这种方式,需要使用两个定时器,并进行串联。这种方式会多耗费一个定时器资源。还有一种方式,是直接使用PWM波形进行驱动,脉宽控制电压,周原创 2020-06-08 17:34:28 · 2355 阅读 · 2 评论 -
如何应对千年虫
1、问题2019年4月6号,由于GPS的周计数溢出,导致很多GPS模块的时间回到了99年,但是GPS模块由于价格便宜,甚至有的GPS模块连原厂都找不到了,这种情况下,那么多物联网的定位产品怎么办呢?2、解决办法由于GPS周计数变量采用的是10位的变量,那么也就是说在1024个星期之后,计数器就会从零重新开始计数。这样就导致年份直接倒退了20多年。那么怎么解决这个问题呢。我们在读到GPRMC的...原创 2019-12-20 14:30:10 · 1002 阅读 · 0 评论 -
TCP、UDP、HTTP
本文复制粘贴而来,非原创,整理下知识点。涉及版权问题,可以联系我先来一个讲TCP、UDP和HTTP关系的1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。因此,HTTP本身就是一个协议,是从W...转载 2019-04-15 10:54:24 · 162 阅读 · 0 评论 -
STM32的HAL库串口编程
1、需求1、收到数据,放入缓存2、取出数据进行协议解析2、问题HAL库的接收函数,指定接收固定数长的数据。//中断方式接收HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);//非中断方式接收HAL_StatusTypeDef HAL_UART...原创 2019-04-15 09:38:52 · 4781 阅读 · 0 评论 -
gitignore
方法工程文件开始进行git init的时候没有加入gitignore文件,后来想到要加入,可以通过下面的指令进行。第一、.gitignore文件要放在.git文件夹外面,你在哪里运行的git init,就应该吧.ignore文件放在哪里第二、运行下面的指令对工程文件进行重新跟踪。git rm -r --cached .git add .git commit -m "update .gi...原创 2019-04-22 10:33:45 · 209 阅读 · 0 评论 -
keil里面while循环条件已经为假了,可是跳不出去的问题
1、背景笔者把公司里面很古老的一套程序从IAR的编译环境移植到KEIL环境下,启动文件等问题全部都解决了,能正常编译了。但是卡在了一个while(send_flag)的一个循环里面。send_flag,是中断里面的一个发送完成标志,在中断里面,发送完成后,该标志位在终端里面置0,可是退出中断后,在变量观察窗口send_flag已经变成了0了,可是程序就是跳不出去。卡死在while循环。2、原因...原创 2019-04-12 10:17:21 · 5410 阅读 · 5 评论 -
三分钟教你玩转cubeMX+USB+FATFS+FREERTOS
1、真的只要三分钟吗?可能还不要,cubeMX的强大,你想都想不到,话不多说,直接开始。2、配置过程2.1、配置时钟选择外部时钟源,我的板子是12M晶振。按照下面选择时钟2.2、调试接口配置SYS里面选择调试接口,这个地方不要忘记了,否则烧写不了程序。2.3、USB配置忽略我配置的其他东西,选择USB_OTG_FS后,选择Host_Only。下面在USB_HOST里面选...原创 2019-03-20 18:01:16 · 6911 阅读 · 16 评论 -
嵌入式开发命名约定
c/c++程序风格约定文/Mike往往我们做单片机程序开发的时候,很少去注意程序的架构和命名规范,然而只要是涉及到代码开发,这都是不可回避的问题,很多小公司做嵌入式的开发,在技术上没有传承性,项目总是因人而异。很多较大型的代码写到最后总是捂不住各种冒出来的bug,其实最大的问题是根基没有打牢。当然,主要是程序架构的问题,架构的清晰性,程序的可读性,可维护性,模块化都是需要设计和约定的。复杂的...原创 2019-03-05 11:19:17 · 2462 阅读 · 0 评论