(优作)风力摆控制系统

2024-05-26 10:44
文章标签 控制系统 风力 优作

本文主要是介绍(优作)风力摆控制系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     本系统由瑞萨 100LGA 单片机控制模块, 6050 三轴陀螺仪加速度模块,直流风机及其驱
动模块,显示模块,键盘模块,蜂鸣器模块以及风力摆机械结构组成, MPU6050 采集风摆姿
态,单片机处理姿态数据后通过 PID 精确算法调节直流风机以控制风力摆,本系统实现了风
力摆在仅受直流风机为动力控制下快速起摆、画线、稳摆的功能,并能准确画圆,且在受风
力影响后能快速回复画圆状态,双 PID 组成双闭环控制系统具有很好的稳定性。另外本系统
具有良好的人机交互系统,各参数及测试模式可由按键输入并通过显示屏显示,智能性好,
反应速度快。
关键词:瑞萨 100LGA 单片机 MPU6050 PID 算法 人机交互
一、 设计任务
根据题目要求,系统主要实现驱动直流风机,使其按照一定规则运动,包括左右摆动,
可控幅度摆动,定向摆动。圆周运动以及制动。其关键在于对于直流风机的精密控制。系统
方案框图如下:
设计单元理论分析
1. 硬件部分
(A) 100LGA 单片机资源分布图,如图 2 所示。
显示方案实现:
使用 1602 显示屏,能够同时显示 16x02 即 32 个字符。
控制算法分析
本系统采用 PID 算法来控制风机转动的速度,风机开始工作后,姿态采集模块不
断采集当前风力摆姿态角状态,并与之前的状态比较,使得风力摆的运动状态逐渐
趋向于平稳, PID 算法控制由舵机转动角度比例 P 、角度误差积分 I 和角度微分 D
成。
其输入 e t )与输出 U t )的关系为:
风力摆转动角度比例 P :对风力摆角速度进行比例调整,即对舵机转动速度调整,
比例越大,调节速度越快,但不能过大,过大可能造成四风机因工作状态突变而是
摆杆不稳定,
角度误差积分 I :使系统消除稳态误差,提高无差度,加入积分调节可使系统稳
定性下降,动态相应变慢。本系统追求更快更稳完成对风力摆的控制,因此,本系统
对积分调节的需要就非常弱,即保证在不需要时系统不会受到影响。
角度微分 D :微分作用反应风力摆角度的变化率,即角速度,具有预见性,能预
见偏差变化的趋势因此能产生超前的控制作用,在偏差还没有形成之前已被微分调
节作用消除,因此,可以改善系统的动态性能、在微分时间选择合适情况下,减少
调节时间
附录 3-部分程序
/***************************************************************************
********************************************
* DISCLAIMER
* This software is supplied by Renesas Electronics Corporation and is only
intended for use with Renesas products.
* No other uses are authorized. This software is owned by Renesas Electronics
Corporation and is protected under all
* applicable laws, including copyright laws.
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS
SOFTWARE, WHETHER EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM
EXTENT PERMITTED NOT PROHIBITED BY
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED
COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED
TO THIS SOFTWARE, EVEN IF RENESAS OR
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
* Renesas reserves the right, without notice, to make changes to this software
and to discontinue the availability
* of this software. By using this software, you agree to the additional terms
and conditions found by accessing the
* following link:
* http://www.renesas.com/disclaimer
*
* Copyright (C) 2011, 2014 Renesas Electronics Corporation. All rights reserved.
****************************************************************************
*******************************************/
/***************************************************************************
********************************************
* File Name : r_cg_KeyScan.c
* Version : RL78/G13 V2.02.01.01 [21 Jan 2015]
* Device(s) : R5F100LG
* Tool-Chain : CA78K0R
* Company Name : Getsoon Electronic Co,Ltd. Shanghai,China
* Description : This file implements device driver for TAU module.
* Creation Date: 2015-1-21
****************************************************************************
*******************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_KeyScan.h"
//uint8_t array_key[2];
uint8_t temp = 0;
volatile unsigned char num_keyboard;
uint8_t testvalue;
/***************************************************************************
********************************************
* Function Name: delay
* Description : nop instruction wait.
* Arguments : None
* Return Value : None ****************************************************************************
*******************************************/
void delay(uint8_t t)
{
for(;t>0;t--);
for(;t>0;t--);
}
/***************************************************************************
********************************************
* Function Name: Keyboard_scan
* Description : check key state.
* Arguments : None
* Return Value : None
****************************************************************************
*******************************************/
uint8_t Keyboard_scan(void)
{
num_keyboard=0;
KEY_PORT = 0xff;
P7.3=0;
temp = KEY_PORT;
temp=temp&0xf0;
/*check four lower bits*/
if(temp!=0xf0)
/*first check*/
{
delay(100);
/*delay some time*/
temp = KEY_PORT;
temp=temp&0xf0;
/*check four lower bits*/
if(temp!=0xf0)
/*second check*/
{
temp=KEY_PORT;
temp=temp&0xf0;
switch(temp)
{
case 0xe0: num_keyboard=1; break;
case 0xd0: num_keyboard=5; break;
case 0xb0: num_keyboard=9; break;
case 0x70: num_keyboard=13; break;
}
}
testvalue=num_keyboard;
} KEY_PORT = 0xff;
/*as above*/
P7.2=0;
temp=KEY_PORT;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(100);
temp=KEY_PORT;
temp=temp&0xf0;
if(temp!=0xf0)
{ temp=KEY_PORT;
temp=temp&0xf0;
switch(temp)
{
case 0xe0: num_keyboard=2; break;
case 0xd0: num_keyboard=6; break;
case 0xb0: num_keyboard=10; break;
case 0x70: num_keyboard=14; break;
}
}
}

资源分享

直流风机风力摆控制系统(原理图+PCB+程序源码+论文)基于瑞萨100LGA单片机icon-default.png?t=N7T8https://download.csdn.net/download/xcltapestry/89358314

这篇关于(优作)风力摆控制系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1004239

相关文章

【单片机毕业设计选题24024】-房间自动除湿控制系统

系统功能: 系统分为手动和自动模式,上电默认为自动模式。自动模式下如果获取到湿度 值大于设定的湿度值则自动打开风扇,手动模式下手动开关风扇。 系统上电后显示“欢迎使用除湿控制系统请稍后”,两秒钟后进入主页面显示。 第一行显示系统模式,手动或自动模式 第二行显示获取到的温湿度 第三行显示设置的湿度阈值 第四行显示风扇状态和系统报警状态,风扇状态有开关状态,系统状态和OK和 NG状态。

基于S7-200PLC的全自动洗衣机控制系统设计

wx供重浩:创享日记 那边对话框发送:plc洗衣 获取完整无水印设计说明报告(含程序梯形图) 1.自动洗衣机PLC控制的控制要求 1.1全自动洗衣机的基本结构、工作流程和工作原理 1.自动洗衣机的基本结构 2.自动洗衣机的工作流程 自动洗衣机的单循环工作流程示意图: 3.自动洗衣机的工作原理: 洗衣机的进水和排水分别有进水电磁阀和排水电磁阀控制。进水时,控制系统使进水电磁阀打开,将水

基于simulink的PEM燃料电池控制系统建模与仿真,对比PID,积分分离以及滑模控制器

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PID控制器 4.2 积分分离PID控制器 4.3 滑模控制器 5.完整工程文件 1.课题概述 基于simulink的PEM燃料电池控制系统建模与仿真,对比PID,积分分离以及滑模控制器。 2.系统仿真结果 (完整程序运行后无水印)

基于STM32的智能温室控制系统

目录 引言环境准备智能温室控制系统基础代码实现:实现智能温室控制系统 4.1 温湿度传感器数据采集4.2 光照传感器数据采集4.3 控制系统实现4.4 用户界面与数据可视化应用场景:智能温室管理与优化问题解决方案与优化收尾与总结 1. 引言 智能温室控制系统通过使用STM32嵌入式系统,结合多种传感器和控制设备,实现对温室环境的实时监测和自动化控制。本文将详细介绍如何在STM32系统中实现一

基于STM32和人工智能的智能交通信号控制系统

目录 引言环境准备智能交通信号控制系统基础代码实现:实现智能交通信号控制系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景:智能交通管理与优化问题解决方案与优化收尾与总结 1. 引言 随着城市化进程的加快,交通拥堵成为现代城市的一大难题。智能交通信号控制系统通过结合STM32嵌入式系统和人工智能技术,可以实现对交通流量的实时监测和智能控制,从

极端天气频繁之下,新能源风力发电风机巡检建设智能化超高清化趋势明显

这个6月,中央气象台连发7天高温预警,全国多地气温超40度,全国出现40℃以上高温的范围持续增加,6个国家站日最高气温突破6月极值。极端热浪不仅冲向中国,几乎北半球的所有地区,也同样被这股热浪影响。 随着气温每日只增不减,不禁令人油然而生的心底一凉:三体高温世界是否将降临人间? 连日的高温不仅直接影响人体健康,还会加剧干旱、引发山火,给户外工作者造成生命安全危险,也给农业生产和城市供电系统带来

《平衡小车控制系统》电子设计大赛校赛感悟

我们学校举行了一次电子设计大赛选拔赛,虽然我们在测试的时候全部都可以完成,最后考核的时候因为方案选择问题以及各种设计逻辑等原因没能成功晋级,但我能从这次备赛中学到很多东西,遂分享一下,与广大网友交流经验。(只讲思路,代码太烂了就不提供了) 题目如下: 考察点: 基础部分:1.小车循迹 2.停车+蜂鸣器 3.控速停车 发挥部分:1.视觉云台,激光打靶 2.上下坡 3.字模识别+信息传输

定点计算与浮点计算在MCU上的较量:以电机控制系统算法实现为例

在嵌入式系统尤其是电机控制算法的实现过程中,定点计算与浮点计算的选取始终是一个重要议题。电机控制系统对实时性和计算效率有着极高要求,而MCU(微控制器)作为其核心处理器,其计算模式的选择直接影响整个系统的性能。本文将围绕定点计算与浮点计算在电机控制系统软件实现中的应用、优劣势以及具体案例展开讨论。 一、定点计算 定点计算是基于整数或二进制补码表示实数的方法,无需专门的浮点运算单元(FPU)

【单片机毕业设计选题24004】-基于STM32和阿里云的智能鱼缸控制系统

系统功能: 此设计采用STM32单片机将采集到的环境温度,TDS值,PH值等显示在OLED上,并将这些信息上报至阿里云平台。系统可通过阿里云平台或按键开关加热继电器,增氧继电器,水泵继电器和舵机. 主要功能模块原理图: 电源时钟烧录接口: 单片机和按键输入电路: 继电器控制电路: 资料获取地址 系统主要功能模块代码 初始化代码: /* USER

iMatrix平台的权限管理系统是一个基于角色的访问控制系统

iMatrix平台的权限管理系统(ACS)是一个基于角色的访问控制(Role-Based  Access Control)系统。熟悉RBAC的朋友应该知道,在RBAC中,权限和角色是相关的,用户通过成为适当的角色而得到这些角色的权限。ACS正是运用了一个用户可以拥有多个角色和一个角色可以分配给多个用户的映射模型极大简化了权限管理。下面具体阐述一下:首先,ACS提供对角色的维护功能,开发者