久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機PID控制垂直風力擺設置角度源程序
[打印本頁]
作者:
17633806124
時間:
2020-12-19 10:31
標題:
51單片機PID控制垂直風力擺設置角度源程序
#include <reg52.h>
#include "i2c.h"
#include "delay.h"
#include "display.h"
#include "math.h"
#define uchar unsigned char
#define uint unsigned int
#define AddWr 0x90 //寫數(shù)據(jù)地址
#define AddRd 0x91 //讀數(shù)據(jù)地址
void timer0_init(); //定時器0初始化
void motor_run();
void control();
uchar time;
uint motor_pwm;
double count=0; //定義占空比,并初始占空比為26%
sbit PWM=P2^3;
sbit Motor_CW=P2^4;
sbit Motor_CCW=P2^5;
float angleset=50;
float angel;
uint nowerror;
long sumerror;
uint lasterror;
float output;
float kp=0.56,ki=0.008,kd=1;
extern bit ack;
bit flag;
//bit WriteDAC(unsigned char dat);
/*------------------------------------------------
主程序
------------------------------------------------*/
uchar ReadADC(uchar Chl)
{
uchar val;
Start_I2c();
SendByte(AddWr);
if(ack==0)return (0);
SendByte(Chl);
if(ack==0)return (0);
Start_I2c();
SendByte(AddRd);
if(ack==0)return (0);
val=RcvByte();
NoAck_I2c();
Stop_I2c();
return(val);
}
void motor_run(uint pwm)
{
if(time<pwm) //定義電機的轉速
{
PWM=1;
}else
{
PWM=0;
}
if(time>100)
{
time=0;
flag=1;
}
}
/****************************pid*****************************/
void timer0_init()
{
TMOD=0x01; //定時器0工作于方式1
TH0=(65536-100)/256;
TL0=(65536-100)%256;
TR0=1;
ET0=1;
EA=1;
}
/**************定時0中斷處理******************/
void timer0_int() interrupt 1
{
TR0=0; //設置定時器初值期間,關閉定時器
TH0=(65536-100)/256;
TL0=(65536-100)%256;
TR0=1;
time++;
motor_run(motor_pwm);
}
uint XIANFU_Pwm(uint pwm)
{
if ( pwm <0) pwm = 0;
if (pwm>=100) pwm= 100;
return pwm;
}
float PID_Control(float angleset,float angel)
{
angel=ReadADC(0x40);
nowerror=angleset-angel;//當前誤差
sumerror+=nowerror; //誤差求和
if(sumerror>2500)
sumerror=2500;//限幅
output = kp*nowerror+ki*sumerror+kd*(lasterror-nowerror);
lasterror=nowerror;
return output;//增量輸出
}
void control()
{
motor_pwm=(uint) PID_Control(angleset,angel);
motor_pwm= XIANFU_Pwm(motor_pwm);
//motor_run(motor_pwm);
}
main()
{
float angleAD;
Motor_CW=0; //電機正反轉
Motor_CCW=1;
timer0_init();
while(1)
{
if(flag==1)
{
flag=0;
control();
}
angleAD = ReadADC(0x40); //絕對角度數(shù)字值AD值
display(angleAD);
//WriteDAC(angleAD);
}
}
程序.zip
2020-12-19 10:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
98.71 KB, 下載次數(shù): 17, 下載積分: 黑幣 -5
51程序
作者:
admin
時間:
2020-12-19 21:13
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产不卡在线
|
欧美久久一区二区三区
|
殴美黄色录像
|
午夜精品久久久久久久99黑人
|
国产成人精品999在线观看
|
中文字幕av中文字幕
|
色婷婷综合久久久久中文一区二区
|
色婷婷久久久亚洲一区二区三区
|
在线视频国产一区
|
亚洲1区
|
日韩欧美国产综合
|
成年人黄色一级片
|
国产人成精品一区二区三
|
久久er99热精品一区二区
|
精品美女久久久
|
国产日韩欧美在线一区
|
国产综合视频
|
精品99久久久久久
|
亚洲精品99999
|
久久av综合
|
h视频在线观看免费
|
91色视频在线观看
|
国产一区二区在线免费
|
精品久久久久久亚洲精品
|
久久区二区
|
久久久久亚洲精品
|
日本三级视频
|
欧美456
|
国产精品福利一区二区三区
|
国产98色在线 | 日韩
|
国产精品免费一区二区三区四区
|
北条麻妃99精品青青久久主播
|
欧美a在线
|
色橹橹欧美在线观看视频高清
|
久久精品视频一区二区三区
|
国产精品久久久久aaaa九色
|
亚洲国产aⅴ精品一区二区 免费观看av
|
天天色天天射天天干
|
久久噜噜噜精品国产亚洲综合
|
粉色午夜视频
|
国产精品国产成人国产三级
|