推荐阅读最新更新时间:2024-03-16 16:17
STM32F407的定时器时钟频率
//实验的思路为对TIM3进行初始化后,进入死循环等到TIM3的溢出中断,当TIM3_CNT的值等于TIM3_ARR时, 就会产生TIM3的中断,进入中断处理函数;TIM3_CNT从0开始计数。 // 看一下时钟频率 根据时钟树得到TIM3挂载在APB1时钟上,APB1来自SYSCLK时钟,是来自PLLCLK,有HSE时钟经过分频-倍频-分频得到的; stm32F407中时钟HSE的频率为8M,在systemInit()中,先分频M=8;再倍频N=336;再分频P=2;得到SYSCLK的频率为168Hz,在使用定时器TIM时,需要进行分频,APB1的时钟频率为42Mhz,这里进行了4分频。
[单片机]
STM32F405与STM32F407CAN配置
STM32F405与STM32F407CAN配置略有不同,不同之处在于407多了一个电平拉高拉低模式,配置时一定要注意。 其次,要开CAN2,必须开CAN1,因为CAN1是主,CAN2是从;开了CAN中断,一定要写中断处理函数并及时清除中断标志位,否则程序会卡死。 405的配置: GPIO_InitTypeDef GPIO_InitStruct; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_A
[单片机]
最优控制、模糊控制、神经网络和PID控制,哪种控制方法最好?
控制系统设计人员始终追求的就是为应用找到最佳的控制方法。除了经典的PID控制外,本文还探讨了最优控制、模糊控制和人工神经网络控制。 每一个控制系统的用户/设计人员,都经常会被问到同一个问题:哪种控制方法最好。现在,比几十年前有了更多的选择,控制方法的问题尤为重要。很久以前,“黄金”解决方案(实际上是唯一的)是比例-积分-微分(PID)控制器。虽然PID控制本身没有什么问题,但实际存在的限制使其它控制方法在许多应用中更受欢迎。现在,还有哪些控制方法可供选择? 除了经典的PID控制外,本文还研究了最优控制、模糊控制和人工神经网络(或基于神经网络的控制)。在工厂应用的受控系统分析中,可以看到经典PID控制器的局限性。虽然可以有很
[嵌入式]
Stm32F407 SPI1 全双工DMA 收发数据
最近被 ESP8266 的设计整崩溃了, 一个半的 串口 真的 坑。 为了让 我毕设中的 ESP8266 和 Stm32F4 单片机进行数据传输,我需要找到一种除了 串口意外的 通讯方式(吐槽一下,要是用串口的话 真的太简单啊) 最终我盯上了 SPI 的协议 所以就有这个博客。 这是我的 一个试验程序。 声明一下 这个博客中的主要代码不是我写的,是我在网上找到的 原作者是 在这里向原作者致敬,如果您不希望我写这个博客 那么请联系我。 我这里只是分享一下代码的思路(我的代码做了一定的自己的修改) 这是GPIO的 初始化部分,其中的PA4是NSS 引脚 这里我使用的是软件NSS所以就单独配置一下输出 手册中的引脚复用
[单片机]
如何使用AVR单片机进行自整定PID控制器的设计
本文介绍了基于AVR单片机的自整定PID控制器的设计.该控制器以FESTO水位为控制对象,控制核心为ATmega128单片机.采用继电自整定PID算法,并用LED数码管实时显示控制情况.实验结果表明,本设计可以根据实际情况在线自整定PID参数.控制效果快速,平稳,超调量小。 PID控制器是过程控制中所用的主要控制器-由于其算法简单.鲁棒性好和可靠性高等特点,被广泛应用于工业过程控制.但是PID参数的整定一般需要经验丰富的工程技术人员来完成.既耗时又费力,加之实际系统有滞后和非线性等因素,增加了PID参数整定的难度.如何在线自整定PID参数,以符合过程控制的要求。是目前控制器设计中的一个重要课题,它不仅能减少操作人员的负担,还可
[单片机]
基于STM32L151//STM32F407的矩阵键盘程序(不规则接口)
最近在做一个有关按键的项目,需要用到矩阵键盘,上网找了很多都是基于一些规则接口的程序,感觉无语,因为画PCB由于布线原因 不太可能矩阵键盘的几条线是连接连续的GPIO口,所以经过我自己思考,做出了自己基于STM32的不规则程序, 由于每种矩阵键盘的连接原理有时是不同,所以首先先讲明我的矩阵键盘的连接原理 4条行线初始化时全为1,列线全为0,由于我的列先有接10K的电阻,有按键按下时,被按下的列线为1, 行线一次置为1、0、0、0,1,0,0�,0,1,0�,0,0,1 基于STM32L151//STM32F407的矩阵键盘程序(不规则接口): 行接口:PA8,PA12,PB3,PB4 列接口:PA11,P
[单片机]
STM32F407 TIM1的PWM输出
//TIM1 PWM部分初始化 //PWM输出初始化 //arr:自动重装值 //psc:时钟预分频数 void TIM1_PWM_Init(u32 arr,u32 psc) { //此部分需手动修改IO口设置 GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE); //TIM1时钟使能 RCC_AHB1P
[单片机]
基于组态王的远程PID控制系统的开发与实验研究
1 引言 工业现场中大部分的控制系统的控制器是PID控制器,其PID参数的整定需要一定的控制理论知识和丰富的经验。对于现场缺乏自动化技术人员的企业,其PID参数往往远离最优值。PID参数的优劣直接影响着生产质量。为了改变生产中的这种不利状况,开发一个远程PID参数整定系统,显得非常必要。在实验室中并不具备灵活的可变的控制对象,故本系统的开发选用了NI虚拟仪器LabVIEW软件构建控制对象。在实验室中,以构建一个PID控制器的远程监控系统为例,在LabVIEW上的实验对象进行仿真实验,研究控制效果。 2 远程监控系统简介 系统中PID控制器作为下位机,并通过其自带的串口通信功能连接到上位机,即工控计算机的COM口
[工业控制]