工业控制常用算法
文章平均质量分 86
卖水果的
这个作者很懒,什么都没留下…
展开
-
C语言计算三角函数
最近接触到CORDIC算法,说是一种使用迭代去计算三角函数的做法。我看了原理,感觉写的晦涩难懂,但本质上先计算一个小角度,然后从小角度的基础上慢慢增加,从而得出大角度的值。但是我转念一想,既然大角度的值可以分解为小角度来计算,我何必搞得这么复杂呢?我们知道sin(A+B) = sin(A)*cos(B)+cos(A)*sin(B);cos(A+B) = cos(A)*cos(B)-sin(A)*sin(B);假设我需要计算sin(30).那么由于:sin(2)=sin(1+1)= sin原创 2021-04-29 16:37:25 · 11963 阅读 · 1 评论 -
用数组方式实现的链表
链表是一种常用的线性表,可以快捷的进行插入和删除。但在常规的做法中,这些操作需要有动态内存分配的支持。偏偏有些编程环境,想要动态内存分配的话,需要额外添加一些库文件,比较繁琐。如何在没有动态内存分配函数的情况下,实现链表的随机删除和插入特性呢?首先,定义一个链表的节点。typedef struct Node{ }...原创 2021-04-26 11:46:02 · 4657 阅读 · 0 评论 -
基于单片机的LCD菜单设计
在小型的单片机设备中,需要使用LCD菜单进行人机交互。对于这种交互的实现,一来无需像在手机上做APP一样,做出花哨的界面效果;二来这种小设备也不支持那样太消耗资源的界面系统。所以这种场合下,需要我们亲自使用C语言去编写一套精简的界面框架代码。定义菜单项的数据类型一个菜单项,有自身的唯一标志码ID,和显示的字符串ItemDisplayStr,和选中它时执行的函数ItemFun。但仅仅这样还不够,因为很多菜单项之间是有逻辑关联的。在一个菜单项下点击跟进、回退,都会转到不同的页面。所以还需要有表...原创 2021-02-21 13:37:02 · 3416 阅读 · 0 评论 -
对传统PID控制算的优化改善
针对传统PID控制算法的优化 一,原理图根据原理图,MCU通过输出0~100%占空比的PWM来控制温度;通过ADC0808来采集温度二,PID控制代码void PIDCalu(PID_para *pid ){ pid->Yn = 0.3906*GetADC(); pid->En = pid->Rn - pid->Yn; pid->SumOfEn += Pid.En; pid->...原创 2021-02-21 11:44:54 · 1703 阅读 · 0 评论