
STM32
文章平均质量分 76
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 · 879 阅读 · 0 评论 -
研发人员的职业素养
研发人员的职业素养文/Mike 20210716第一条、责任1、对自己负责,对别人负责不同的岗位所要求的职业素养是不同的,职业素养的内涵其实是专业技能(基础技能、方法论),其次是职业所要求的职业操守。而决定专业技能和职业操守的是人性中的驱动力及责任感。责任,一种是对自己的负责,一种是对别人负责,对自己负责的故事。王阳明在平定宁王叛乱之后,心学昌盛,全国各地前来求学者,络绎不绝,有一个人从很远的地方,历经千山万水,一路上虎豹丛林,险些丧命,后来终于拄着拐杖出现在了王阳明面前,他问王阳明,我历经险阻原创 2021-07-16 15:19:25 · 1908 阅读 · 0 评论 -
陀螺稳定云台控制流程图
陀螺稳定云台控制流程图控制流程图手持云台控制流程图,主要是一个串级PID,位置环和速度环,当然了FOC电流环,不在这个流程里,位置环100HZ,速度环500HZ,该流程图单独拿三轴的一个轴出来分析。地球坐标系的角度环生成速度给定,然后乘以旋转矩阵,转到电机坐标系去,然后陀螺仪的信号乘以旋转矩阵转到电机坐标系作为速度环的反馈,然后再做一个PID,输出作为力矩给定,送给FOC的d轴,q轴为0,无须弱磁控制。IMU处理四元素的方式进行数据更新,生成欧拉角和旋转矩阵。...原创 2021-05-26 14:09:30 · 1137 阅读 · 1 评论 -
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 · 2893 阅读 · 8 评论 -
单片机如何发出类似和弦的声音
蜂鸣器声音优化1、优化思路蜂鸣器的控制,在单片机领域,大多数人都是给一定周期的脉冲,蜂鸣器就会发出声音,而本质上,蜂鸣器只是一个金属弹片,声音大小取决于弹片的幅值,而幅值取决于施加的电压大小。电压大小可以使用PWM进行控制,所以这里跟电机的控制一样,可以使用SVPWM进行调制。一个调制频率一个运行频率。在蜂鸣器弹片的发声时间宽度内,用调制频率下PWM波形进行驱动。但是用这种方式,需要使用两个定时器,并进行串联。这种方式会多耗费一个定时器资源。还有一种方式,是直接使用PWM波形进行驱动,脉宽控制电压,周原创 2020-06-08 17:34:28 · 2656 阅读 · 2 评论 -
如何应对千年虫
1、问题2019年4月6号,由于GPS的周计数溢出,导致很多GPS模块的时间回到了99年,但是GPS模块由于价格便宜,甚至有的GPS模块连原厂都找不到了,这种情况下,那么多物联网的定位产品怎么办呢?2、解决办法由于GPS周计数变量采用的是10位的变量,那么也就是说在1024个星期之后,计数器就会从零重新开始计数。这样就导致年份直接倒退了20多年。那么怎么解决这个问题呢。我们在读到GPRMC的...原创 2019-12-20 14:30:10 · 1089 阅读 · 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 · 207 阅读 · 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 · 4865 阅读 · 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 · 259 阅读 · 0 评论 -
keil里面while循环条件已经为假了,可是跳不出去的问题
1、背景笔者把公司里面很古老的一套程序从IAR的编译环境移植到KEIL环境下,启动文件等问题全部都解决了,能正常编译了。但是卡在了一个while(send_flag)的一个循环里面。send_flag,是中断里面的一个发送完成标志,在中断里面,发送完成后,该标志位在终端里面置0,可是退出中断后,在变量观察窗口send_flag已经变成了0了,可是程序就是跳不出去。卡死在while循环。2、原因...原创 2019-04-12 10:17:21 · 5708 阅读 · 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 · 7456 阅读 · 16 评论