加热算法,加热温度控制加热功率,加热功率控制加热速度(PWM)
uint8_t user_heating_algorithmPID(void)
{
uint32_t temp_1;
uint16_t Adcn;
nrfx_err_t err_code;
HEATING_ENABLE();
nrf_delay_us(1000);//ÑÓʱ1000us=1ms
err_code = fu_peripheral_saadc_sample_convert(FU_SAADC_CHANNEL_LOADER, (nrf_saadc_value_t*)&Adcn);
APP_ERROR_CHECK(err_code);
uMachine_V.heating_V = uGetOutPut_Voltage(Adcn);
if(uMachine_V.Heating_Temperature < uMachine_V.Heating_SET_Temperature)
{
temp_1 = uMachine_V.heating_V*uMachine_V.heating_V/1000;
if(uMachine_V.Heating_Temperature > Heating_ctr_power)//Heating_ctr_power=(Heating_top_SET_Temperature-(Heating_top_SET_Temperature/5))
{ if(uMachine_V.Heating_power > Constant_temperature_power) { uMachine_V.Heating_power=uMachine_V.Heating_power-((uMachine_V.Heating_power*(uMachine_V.Heating_Temperature-Heating_ctr_power))/(uMachine_V.Heating_SET_Temperature-Heating_ctr_power)); } else { uMachine_V.Heating_power = Constant_temperature_power; } } if((uMachine_V.heating_V <= 14000)&&(temp_1 < (uMachine_V.Heating_resistance * uMachine_V.Heating_power)))//ÏÞÖÆµçѹΪ10V£¬ÍòÒ»µç×è²âÊÔ²¿×¼£¬µçѹ¾Í¿ÉÄÜÉýµÃºÜ¸ß { if(uMachine_V.heating_speed < 70) { uMachine_V.heating_speed++; } } else { uMachine_V.heating_speed--; } HEATING_ENABLE(); if(uMachine_V.heating_EN != 2)uMachine_V.heating_EN = 1; } else { HEATING_DISABLE(); uMachine_V.heating_EN = 0; } fu_pwm_duty_set(uMachine_V.heating_speed, FU_PWM_CH_ATOMIZER); return 0; }
加热算法,加热温度控制加热功率,加热功率控制加热速度(PWM)的更多相关文章
- SIMATIC PID温度控制
SIMATIC PID温度控制 // VAR_INPUT ------------------------------------------------------------------- #if ...
- Python之路【第二十四篇】Python算法排序一
什么是算法 1.什么是算法 算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出.简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果. ...
- Ceph剖析:数据分布之CRUSH算法与一致性Hash
作者:吴香伟 发表于 2014/09/05 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 数据分布是分布式存储系统的一个重要部分,数据分布算法至少要考虑以下三个 ...
- 深入JVM-垃圾回收概念与算法
一.认识垃圾回收 谈到垃圾回收(Garbage Collection,简称GC),GC中的垃圾,特指存在于内存中的.不会再被使用的对象.对于内存空间的管理来说,识别和清理垃圾对象是至关重要的. 二.常 ...
- C语言100道经典算法
经典的100个c算法 C语言的学习要从基础,100个经典的算法真不知道关于语言的应该发在那里,所以就在这里发了,发贴的原因有2个,第一个,这东西非常值得学习,第二个,想..........嘿嘿,大家应 ...
- 三维网格形变算法(Laplacian-Based Deformation)
网格上顶点的Laplace坐标(均匀权重)定义为:,其中di为顶点vi的1环邻域顶点数. 网格Laplace坐标可以用矩阵形式表示:△=LV,其中,那么根据网格的Laplace坐标通过求解稀疏线性方程 ...
- ISODATA算法
ISODATA算法是在k-均值算法的基础上,增加对聚类结果的'合并'和'分裂'两个操作,并 设定算法运行控制参数的一种聚类算法. 全称:Iterative Selforganizing Data An ...
- C语言100个经典算法
POJ上做做ACM的题 语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生后 ...
- 深入理解Java虚拟机 - 垃圾收集算法与垃圾收集器
1. 垃圾收集算法 JVM的垃圾收集算法在不同的JVM实现中有所不同,且在平时工作中一般不会深入到收集算法,因此只对算法做较为简单的介绍. 1.1 标记-清除算法 ...
- 【HDU 2255】奔小康赚大钱 (最佳二分匹配KM算法)
奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
随机推荐
- Open review Mitigating Propagation Failures in PINNs using Evolutionary Sampling
与Mitigating Propagation failures in PINNs using Evolutionary Sampling - Orange0005 - 博客园 (cnblogs.co ...
- C# 实现窗体底部滚动字幕
使用的控件 panel和label及其定时器. 实现原理 通过定时器定时将label的位置在panel上进行移动,实现滚动的视觉效果,此处将label放在panel上的好处是可以单独设置滚动字母的背景 ...
- c#获取当前进程使用内存
public static string GetMemory() { Process proc = Process.GetCurrentProcess(); ...
- mybatis获取参数值的方式
示例: 总结:
- 统计学习导论(ISLR)(三):线性回归(超详细介绍)
统计学习导论(ISLR) 参考资料: The Elements of Statistical Learning An Introduction to Statistical Learning 统计学习 ...
- C#连接数据库实现开发图书管理系统操作代码
//客户端登录界面(Form1.cs窗口体系) using System; using System.Collections.Generic; using System.ComponentModel; ...
- docker 安装后报错处理
问题场景: Docker服务安装之后启动报错 日志如下: time="2022-03-20T21:51:16.116163560+08:00" level=info msg=&qu ...
- Operator包的应用
# -*-coding:utf-8-*- import operator print(operator.add(1,1)) # 加 print(operator.sub(2,1)) #减 ...
- C#读取XML字符串及将XML字符串反序列化为对象
在开发中遇到调用接口范围XML格式结果情况,获取结果中我们需要的信息则可能需要这两种数据处理: 1.如何将xml字符串转换为xml对象,及查询想要的节点: 通过XmlDocument对象加载xml字符 ...
- 时钟频率(HZ)与数据传输速率(bit/s)的关系-转载
(24条消息) 时钟频率(HZ)与数据传输速率(bit/s)的关系_子曰小玖的博客-CSDN博客_速率和频率的关系 时钟频率(HZ)与数据传输速率(bit/s)两者是相同的概念.举例:IIC传输位速率 ...