STC15W4K56S4單片機(jī)PID控制直流電機(jī)轉(zhuǎn)速
下面是制作出來的實(shí)物圖:
電機(jī)上電運(yùn)行平穩(wěn)
L298N控制電機(jī)轉(zhuǎn)速
STC控制板
單片機(jī)源程序如下:
#include "STC15W4K56S2.h"
#include "Counter1.h"
#include "USART.h"
#include "TIMER.h"
#include "PWM_CONTR.h"
#define u8 unsigned char
#define u16 unsigned int
u16 Speed_Temp=0;
sbit Led=P5^5;
struct _Pid{
u8 SetSpeed; //設(shè)置值
u8 ActualSpeed; //實(shí)際值
int err;
int err_next;
int err_last;
float Kp,Kd,Ki;
}pid;
void Seial_Creat(void);
void Timer_Creat(void);
void PID_Init(void);
u8 PID_Motor(u8 speed, u8 Aurespeed);
void main()
{
Counter1_config();
Seial_Creat();
Timer_Creat();
pwm_Init();
PID_Init();
Led=1;
EA=1;
while(1);
}
void Seial_Creat(void)
{
COMx_InitDefine myComx_initdefine;
myComx_initdefine.UART_Mode=UART_8bit_BRTx;
myComx_initdefine.UART_BRT_Use=BRT_Timer2;
myComx_initdefine.UART_BaudRate=9600;
myComx_initdefine.Morecommunicate=DISABLE;
myComx_initdefine.UART_RxEnable=ENABLE;
myComx_initdefine.BaudRateDouble=DISABLE;
myComx_initdefine.UART_Interrupt=DISABLE;
myComx_initdefine.UART_P_SW=UART1_SW_P30_P31;
myComx_initdefine.UART_RXD_TXD_Short=DISABLE;
USART_Configuration(USART1, &myComx_initdefine);
}
void Timer_Creat(void)
{
TIM_InitTypeDef myTim_inittypedef;
myTim_inittypedef.TIM_Mode=TIM_16BitAutoReload;
myTim_inittypedef.TIM_Polity=0;
myTim_inittypedef.TIM_Interrupt=ENABLE;
myTim_inittypedef.TIM_ClkSource=TIM_CLOCK_12T;
myTim_inittypedef.TIM_ClkOut=DISABLE;
myTim_inittypedef.TIM_Value=63900;
myTim_inittypedef.TIM_Run=ENABLE; //TR0=1
Timer_Inilize(Timer0,&myTim_inittypedef);
}
/********************* Timer0中斷函數(shù)************************/
void timer0_int (void) interrupt TIMER0_VECTOR
{
static u8 Count1=0;
static u8 Count2=0;
u8 Speed_pwm;
if(Count1==10)
{
TR1=0;
Count1=0;
Speed_Temp+=TL1;
Count2++;
if(Count2==4)
{
Speed_Temp>>=2;
Speed_Temp=(Speed_Temp*50)/40;
Speed_pwm=PID_Motor(20, Speed_Temp);
pwm_Change(Speed_pwm, 0x80);
//pwm_Change(0x80, 0x80);
Send1_onedata(0xaa); //發(fā)個(gè)字節(jié)標(biāo)志位
Send1_onedata((u8)Speed_Temp);
Send1_onedata(Speed_pwm);
Speed_Temp=0;
Count2=0;
}
Led=~Led;
TH1=0;
TL1=0;
TR1=1;
}
else
{
Count1++;
}
}
void PID_Init(void)
{
pid.SetSpeed=0;
pid.ActualSpeed=0;
pid.err=0;
pid.err_next=0;
pid.err_last=0;
pid.Kp=2;
pid.Kd=0.2;
pid.Ki=4;
}
u8 PID_Motor(u8 speed, u8 Aurespeed)
{
int incrementspeed;
static u8 speed_value;
pid.SetSpeed=speed;
pid.err=pid.SetSpeed-Aurespeed;
incrementspeed=pid.Kp*(pid.err-pid.err_next)+pid.Kd*pid.err+pid.Kd*(pid.err-2*pid.err_next+pid.err_last);
speed_value+=incrementspeed;
pid.err_last=pid.err_next;
pid.err_next=pid.err;
return (255-speed_value);
}
上一篇:51單片機(jī)IO口模擬UART串口通信
下一篇:51單片機(jī)理通定時(shí)器輸出PWM例程
推薦閱讀
史海拾趣
面對全球化的市場競爭,Elpakco Inc公司積極實(shí)施全球化戰(zhàn)略。公司先后在歐美、亞洲等地設(shè)立了分支機(jī)構(gòu),與當(dāng)?shù)仄髽I(yè)開展合作,共同開拓市場。同時(shí),公司還積極參加國際電子展會(huì),展示公司的最新技術(shù)和產(chǎn)品,提升了公司的國際知名度和影響力。
虹冠電子注重全球市場的拓展,通過建立完善的營銷網(wǎng)絡(luò)和合作伙伴關(guān)系,將產(chǎn)品銷往世界各地。公司在新竹、汐止以及美國硅谷等地設(shè)有研發(fā)中心和生產(chǎn)基地,能夠?yàn)榭蛻籼峁┘皶r(shí)、高效的技術(shù)支持和服務(wù)。同時(shí),虹冠電子還與國內(nèi)優(yōu)秀的晶圓封測大廠等合作伙伴建立了緊密的合作關(guān)系,共同推動(dòng)電源管理技術(shù)的發(fā)展和應(yīng)用。
隨著電競產(chǎn)業(yè)的快速發(fā)展,虹冠電子敏銳地捕捉到了這一市場的巨大潛力。公司投入大量資源研發(fā)電競電源供應(yīng)器產(chǎn)品,憑借其卓越的性能和穩(wěn)定性,迅速在電競領(lǐng)域樹立了良好的品牌形象。同時(shí),虹冠電子還積極與電競行業(yè)內(nèi)的知名企業(yè)和賽事組織合作,共同推動(dòng)電競產(chǎn)業(yè)的繁榮發(fā)展。
近年來,隨著全球?qū)Νh(huán)境保護(hù)和可持續(xù)發(fā)展的重視,HCC Industries積極響應(yīng)號召,制定了綠色可持續(xù)發(fā)展戰(zhàn)略。公司加大了對環(huán)保技術(shù)和綠色產(chǎn)品的研發(fā)投入,推出了一系列符合環(huán)保標(biāo)準(zhǔn)的微電子部件產(chǎn)品。同時(shí),HCC還通過優(yōu)化生產(chǎn)工藝和節(jié)能減排措施,降低了生產(chǎn)過程中的能源消耗和污染排放。這一戰(zhàn)略不僅贏得了客戶和消費(fèi)者的廣泛贊譽(yù),也為公司帶來了更加可持續(xù)的發(fā)展前景。
ECM Electronics Limited.自創(chuàng)立之初,就注重技術(shù)創(chuàng)新。公司投入大量研發(fā)資金,專注于開發(fā)高效、節(jié)能的電子產(chǎn)品。通過不斷的技術(shù)迭代和產(chǎn)品創(chuàng)新,ECM成功推出了一系列具有競爭力的產(chǎn)品,逐漸在市場上建立了良好的口碑。同時(shí),公司還積極與高校和科研機(jī)構(gòu)合作,引進(jìn)先進(jìn)技術(shù),為公司的持續(xù)發(fā)展提供了強(qiáng)大的技術(shù)支撐。
TQFP80轉(zhuǎn)IDC80的轉(zhuǎn)接卡PCB文件(可以方便的在實(shí)驗(yàn)板用上) 哥們我在用AT89C51SND1C做實(shí)驗(yàn)的時(shí)候,發(fā)現(xiàn)它(因?yàn)槭荰QFP80的封裝)不好在實(shí)驗(yàn)板上焊接.于是就做了塊TQFP-80轉(zhuǎn)IDC-80的轉(zhuǎn)接卡.有需要的朋友可以下載來用.另外我還有其他的TQFP封裝轉(zhuǎn)IDC的轉(zhuǎn)接卡的PCB圖和實(shí)物,有需要的朋友可以找我.... 晚上補(bǔ)充附件… 查看全部問答∨ |
|
ATMEL 16L制作LED條屏控制卡 點(diǎn)時(shí)間長就全亮花屏是怎么回事? ATMEL 16L制作LED條屏控制卡 點(diǎn)時(shí)間長就全亮花屏是怎么回事?重新下程序馬上就好使,重新上電也好使,這是怎么回事?是不是EEPROM出現(xiàn)了問題?時(shí)間也對不上了,有誰做過,請指點(diǎn)小弟一下,謝謝!… 查看全部問答∨ |
|
在網(wǎng)上找了好久,就是找不到相關(guān)資料,我的液晶的型號是:QY12864,也不知是用什么驅(qū)動(dòng)芯片的,只是知道是帶中文字庫的,引腳是這樣的: Gnd 、 Vcc 、NC 、RS 、RW、 E 、DB0、 DB1 、DB2、 DB3 、DB4、 DB5 、DB6 、DB7 、PSB 、NC 、/RST、 NC ...… 查看全部問答∨ |
|
使用的是STM32F103VET6,在顯示屏上要顯示漢字,所以要把HZK16加入到Flash中,以前使用的都是8位機(jī),字庫都是放在外置Flash里,現(xiàn)在看STM32F比較便宜,不想放外存了,請問一句如何把這個(gè)260多KByte的文件加入程序中去 使用的IDE是Keil3.5, ...… 查看全部問答∨ |
Build target \'Target 1\'assembling STARTUP.A51...compiling gg.c...linking...*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: _DATA_GROUP_ &n ...… 查看全部問答∨ |
推薦PCB設(shè)計(jì)軟件EAGLE的中文視屏教程 第一講:EAGLE軟件概述,安裝以及界面介紹。 第二講:EAGLE原理圖編輯器的使用. 第三講:EAGLE PCB編輯器的使用。 第四講:EAGLE元件庫編輯器介紹 第五講:手把手教你創(chuàng)建EAGLE元器件庫。 第六講:手把手教你創(chuàng)建具有多個(gè)Gate的庫文 ...… 查看全部問答∨ |
下面就由福州卓躍教育具體介紹以下幾種代表性嵌入式操作系統(tǒng)比較: (一) VxWorks VxWorks操作系統(tǒng)是美國WindRi ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 上汽大眾:汽車網(wǎng)絡(luò)安全漏洞防護(hù)
- 恩智浦推出全新電池控制IC系列 助力新能源解決方案發(fā)展
- 全球首條GWh級新型固態(tài)電池生產(chǎn)線樣件下線
- 總投資455億元!三大動(dòng)力電池項(xiàng)目齊刷進(jìn)度條
- 現(xiàn)代汽車韓國建氫燃料電池廠,2028年投產(chǎn)
- 6月融資一覽:智能汽車芯片、第三代半導(dǎo)體、機(jī)器人成資本焦點(diǎn)
- 艙駕一體“點(diǎn)燃”新戰(zhàn)事
- 汽車智能化2.0引爆「萬億蛋糕」,誰在改寫游戲規(guī)則?
- 2025研華智能系統(tǒng)產(chǎn)業(yè)伙伴峰會(huì)成功舉辦
- 意法半導(dǎo)體公布2025年第二季度財(cái)報(bào)和電話會(huì)議時(shí)間安排
- 【投票瓜分2500元紅包】2022得捷電子創(chuàng)新設(shè)計(jì)大賽優(yōu)秀作品人氣獎(jiǎng)由你來定!
- 積分芯幣兌換情人節(jié)專場
- DEYISUPPORT:【全新FAQ來襲】今夏且聽風(fēng)吟,你不能錯(cuò)過的精華!
- 暢想十二月,設(shè)計(jì)我自己的EEWORLD!
- DEYISUPPORT TI 大咖級工程師在這里,等你來約!
- 提出你的電源問題&技術(shù)解答,提升自我電源知識,贏取好禮
- 看是德科技利用校準(zhǔn)降低儀器測量不確定度、提高測試精度 直播享好禮!
- 有獎(jiǎng)直播:8月21上午10:00 泰克助您應(yīng)對現(xiàn)在及未來的測試挑戰(zhàn)!
- 普通的CSI攝像頭如何快速識別二維碼?
- 2018年安防技術(shù)發(fā)展趨勢
- 讓假肢感到痛,需要什么樣的生物電子黑科技?
- 再次彎道超車?高精地圖的落地之路
- 自由活塞發(fā)動(dòng)機(jī)基本原理及在增程式電動(dòng)汽車上應(yīng)用解析
- 基于51單片機(jī)函數(shù)信號發(fā)生器
- 51單片機(jī)籃球計(jì)分器程序+電路圖
- PIC16F1826定時(shí)器實(shí)現(xiàn)呼吸燈效果主程序
- 51單片機(jī)+74hc595芯片實(shí)現(xiàn)跑馬燈
- 儲(chǔ)能/氫能可申報(bào)!山東征集2020年度能源重點(diǎn)技術(shù)、產(chǎn)品和設(shè)備