草庐IT

基于PID控制参数法改变PWM的占空比的STM32F4温控实例

 最近的工程要用到PID算法,在这里与大家分享一下。本文章适合直接上手PID,直接将PID与STM32结合运用起来,比较适合没有接触过PID的新人或者是算法与STM32结合不熟悉的新同学,如果要详细了解PID算法与调整算法还是需要深入了解一下PID算法。这里介绍一个讲PID算法很详细的博主     PID参数调整,个人经验(配输出曲线图)建议可以先看一下这篇文章再看我下文的内容。首先我的工程是要STM32F4作为主控系统去实现温度控制在37℃,加热装置是一个很普通的通过大小不同的电流驱动的加热片,所以首先第一步是先搭建一个闭环的系统,即是一个封闭的系统(包括有加热模块,采集温度模块和处理模块)

PID温控实验平台搭建(四)——PID温控系统实验代码讲解

PID温控实验平台搭建(一)PID基础知识介绍(二)PID进阶知识介绍及源码分享(三)从零开始搭建STM32温控实验平台(四)PID温控系统代码讲解(五)最终实验现象与总结文章目录前言一、主程序功能描述二、部分代码讲解1、PID程序2、PWM输出3、DS18B20传感器代码4、OLED显示总结前言最近,我突发奇想去翻阅了一些我本科期间所做的一些小项目,发现都挺有意思的!当年做这些项目的时候可走了很多弯路,所以想着可以将它们上传到网络上,并通过我的讲解文章可以帮助你们少走一些弯路!今天,我要分享的是一个PID温控实验平台的搭建,因为我想要讲的详细一点,所以打算做成一个系列,手把手地教你学习和认识

k210的简单PID巡线

目录1.前言2.简介3.代码讲解1.调用自带的库文件2.将I/O18和 I/O19分别注册为UART1_TX和UART1_RX功能并设置串口3.向STM32F103单片机发送数据包4.基本初始化5.主程序代码1.寻找色块部分2.巡线部分 3.侦测关键点部分 4.完整代码1.前言        最近在复刻电赛送药小车和跟随小车,发现巡线部分使用灰度循迹已经不能很好的完成了,于是开始琢磨摄像头循迹,一开始发现ccd摄像头非常不错,它由一个1x128的光电二极管阵列、相关的电荷放大电路以及一个内部像素数据保功能组成。ccd可以直接返回偏差值,价格也合适,准备入手时却发现它只能寻白底黑线,那只能含泪p

java - Htop 显示具有不同 pid 的多个 java 进程

我的linux机器上的Htop在启动一个java程序/JVM后显示了许多“进程”。我确实了解JVM运行多个线程(用于实际程序、垃圾收集等)。但是为什么htop将它们列为具有不同pid的多个进程。这些过程究竟是什么? 最佳答案 实际上,只是htop默认情况下将每个线程显示为一个单独的进程。您可以将行hide_userland_threads=1添加到您的~/.config/htop/htoprc文件中以仅显示一行。见https://unix.stackexchange.com/questions/10362/why-does-htop

java - Htop 显示具有不同 pid 的多个 java 进程

我的linux机器上的Htop在启动一个java程序/JVM后显示了许多“进程”。我确实了解JVM运行多个线程(用于实际程序、垃圾收集等)。但是为什么htop将它们列为具有不同pid的多个进程。这些过程究竟是什么? 最佳答案 实际上,只是htop默认情况下将每个线程显示为一个单独的进程。您可以将行hide_userland_threads=1添加到您的~/.config/htop/htoprc文件中以仅显示一行。见https://unix.stackexchange.com/questions/10362/why-does-htop

java - 如何获取我刚刚在 java 程序中启动的进程的 PID?

我已经使用以下代码启动了一个进程ProcessBuilderpb=newProcessBuilder("cmd","/c","path");try{Processp=pb.start();}catch(IOExceptionex){}现在我需要知道我刚刚启动的进程的pid。 最佳答案 由于Java9类Process有新方法longpid(),所以很简单ProcessBuilderpb=newProcessBuilder("cmd","/c","path");try{Processp=pb.start();longpid=p.pid(

java - 如何获取我刚刚在 java 程序中启动的进程的 PID?

我已经使用以下代码启动了一个进程ProcessBuilderpb=newProcessBuilder("cmd","/c","path");try{Processp=pb.start();}catch(IOExceptionex){}现在我需要知道我刚刚启动的进程的pid。 最佳答案 由于Java9类Process有新方法longpid(),所以很简单ProcessBuilderpb=newProcessBuilder("cmd","/c","path");try{Processp=pb.start();longpid=p.pid(

c++ - Node 配置文件中的 ___mac_get_pid 符号是什么?

我正在分析一些在OSX上运行的多进程nodejs代码。我看到了:[C++]:tickstotalnonlibname2339863.6%63.8%___mac_get_pid什么是___mac_get_pid?它的名字肯定暗示它是一些“在Mac上获取PID”的代码,但时间似乎过长了。谷歌搜索没有提供任何有用的信息。 最佳答案 __mac_get_pid是mac_get_pid库函数背后的系统调用。它在手册页mac_get中有描述:http://man.cx/mac_get(3)mac_get_pid..getthelabelofaf

Boost电路实战详解!(高效率同步整流,PID闭环追踪)

文章目录寄语什么是BOOST电路BOOST同步升压电路设计要求设计方案驱动电路电压采样电路总体电路代码实物图总结寄语提示:若想实战演练,请先熟悉文章操作流程哦,不然会有危险!!大家好!鸽了两个月的电路博主回归啦,这段时间一直在忙研究生开学的事儿,也算是适应了环境。加上最近到网上弄了一个boost电路的单子,正好趁这个机会,给想要做Boost升压电路的小伙伴们,一次实战演练交流!下面是注意事项:Boost电路在开始测试时建议接一个大电阻的输出负载,原因在于输出带有电容,电容一直在储能,给电容电压一个输出。博主实测过,Buck电路空载测试没问题,但是Boost电路不要空载测试,实际电感充电时间会很

ios - "host connection <NSXPCConnection: 0x538ee0> connection from pid 42 invalidated"适用于 iOS 今日小部件

我正在开发一个iOS今天的小部件,它非常实用。但是,在真实iOS设备上运行时,我偶尔会看到:hostconnectionconnectionfrompid42invalidated这似乎不是什么大问题,只是当发生这种情况时小部件似乎几乎要重新加载,偶尔会在今日屏幕中留下空白,直到iOS重绘它并重新加载所有内容。有没有人遇到过这个?我在我的应用程序中根本没有使用NSXPCConnection,所以我假设这是框架中内置的东西,但我不确定 最佳答案 NSXPCConnectionAPI用于在Xcode客户端和iPhone上的应用程序之间执