|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
PID |
| 作者:jordanxiao509 欄目:單片機(jī) |
有哪位大哥想學(xué)PID的,我們可以一起探討一下。 有誰要我的PID 程序的,發(fā)E-MAIL給我!。! |
| 2樓: | >>參與討論 |
| 作者: WX1380091 于 2004/10/16 16:39:00 發(fā)布:
能不能給我發(fā)一份,wx1380091@163.com,謝啦。 |
|
| 3樓: | >>參與討論 |
| 作者: johnk_yu 于 2004/10/18 17:56:00 發(fā)布:
給我一份,讓我與你共同進(jìn)步,謝謝!yudonglin@etang.com |
|
| 4樓: | >>參與討論 |
| 作者: huping_8039 于 2004/10/18 20:03:00 發(fā)布:
我也想要一份啊,有一些問題我始終還比較模糊,希望能指點 huping_8039@sina.com |
|
| 5樓: | >>參與討論 |
| 作者: zwyxtc 于 2004/10/20 8:30:00 發(fā)布:
給我一份,謝謝 |
|
| 6樓: | >>參與討論 |
| 作者: zwyxtc 于 2004/10/20 8:31:00 發(fā)布:
給我一份,謝謝! zwymail@e165.com |
|
| 7樓: | >>參與討論 |
| 作者: liuhualove 于 2004/10/20 18:27:00 發(fā)布:
謝謝,給我也一份,了解了解 liu999hua@163.com |
|
| 8樓: | >>參與討論 |
| 作者: likemcu 于 2004/11/4 20:50:00 發(fā)布:
可不可以給一份? likemcu@126.com |
|
| 9樓: | >>參與討論 |
| 作者: 實在很忙 于 2004/11/4 22:22:00 發(fā)布:
什么意思啊 讓我開開眼啊 |
|
| 10樓: | >>參與討論 |
| 作者: mcs-51 于 2004/11/5 0:18:00 發(fā)布:
給我一份intel8086cpu@126.com 你的PID是用于控制電機(jī)的嗎 范圍有多大 |
|
| 11樓: | >>參與討論 |
| 作者: 98dian 于 2004/11/8 11:28:00 發(fā)布:
樓主,我也想要一份,能否相贈? 98dian@163.com 謝謝 |
|
| 12樓: | >>參與討論 |
| 作者: gezhe 于 2004/11/8 21:39:00 發(fā)布:
我想要一份!謝謝! ge-zhe@163.com |
|
| 13樓: | >>參與討論 |
| 作者: 江南客 于 2004/11/9 8:56:00 發(fā)布:
給我一份瞧瞧,謝嘍! xwzh1213@163.com |
|
| 14樓: | >>參與討論 |
| 作者: richard_wz 于 2004/11/9 10:43:00 發(fā)布:
可不可以給一份? richard_wz@jsmail.com.cn |
|
| 15樓: | >>參與討論 |
| 作者: zhan_cl 于 2004/11/9 19:44:00 發(fā)布:
單片機(jī)做個PID算法很難嗎? |
|
| 16樓: | >>參與討論 |
| 作者: gnohyang 于 2004/11/28 19:27:00 發(fā)布:
給我一份PID 程序,謝謝! gnohyang@163.com |
|
| 17樓: | >>參與討論 |
| 作者: 溫spring 于 2005/9/4 23:15:00 發(fā)布:
這是我結(jié)合相關(guān)資料寫的PID控制電機(jī)速度的程序,請高手指點 參考資料:《時間觸發(fā)嵌入式系統(tǒng)設(shè)計模式》 作者:Michael J.Pont #include "reg51.h" #define uCHAR unsigned CHAR #define uint unsigned int //----------私有函數(shù)原型------------------------------------------------------------ static void PID_MOTOR_Set_New_PWM_Output(const uCHAR); // ----------私有常量---------------------------------------------------------------- #define Pulse_Required (100) #define PID_PROPORTIONAL (5) #define PID_INTEGRAL (20) #define PID_DIFFERDENTIAL (5) #define PERIOD 50 #define FRONT 0x02 //電機(jī)前轉(zhuǎn) #define BACK 0x01 //電機(jī)后轉(zhuǎn) bit DIRECTION = 1; // ----------私有變量---------------------------------------------------------------- // 僅用于演示目的 //uint Ticks = 0; // 存儲最新的計數(shù)值和控制器輸出變量 static uCHAR Pulse_measured_G = 80; static uCHAR Controller_output_G = 25; static int Old_error_G = 0; static int Sum_G = 0; static uCHAR TIME = 0; static uCHAR PERCENT = 20; static uint FLAG = 0; //-----------------中斷0.1ms---------------------------------------------------- void Pulse_t0() interrupt 1 { TH0 = 0xff;//(65536 - 100) / 256; TL0 = 0x9c;//(65536 - 100) % 256; TIME++; //累計定時中斷的次數(shù),產(chǎn)生5ms,200Hz的方波 if(TIME == PERCENT) //高電平時間到變低 P1 = 0; else if(TIME >= PERIOD) //周期時間到變高 { TIME = 0; if(DIRECTION) //判斷方向 P1 = FRONT; else P1 = BACK; } FLAG ++; } //-----------------累計脈沖個數(shù)------------------------------------------------- void Count_int0(void) interrupt 0 { Pulse_measured_G++; } /*---------------------------------------------------------------------------------*- PID_MOTOR_Control_Motor() 電動機(jī)主控制函數(shù) -*---------------------------------------------------------------------------------*/ void PID_MOTOR_Control_Motor(void) { int Error = 0; int Control_new = 0; /* if(++Ticks == 100) { Pulse_measured_G = 200; } */ // 期望轉(zhuǎn)速和實際轉(zhuǎn)速之間的差(0~255) Error = Pulse_Required - Pulse_measured_G; // 比例項 // Control_new = Controller_output_G + (Error / PID_PROPORTIONAL); Control_new = Error / PID_PROPORTIONAL; // 模數(shù)轉(zhuǎn)換(如果不需要,設(shè)置為0) if(PID_INTEGRAL) { Sum_G += Error; Control_new += (Sum_G / (1 + PID_INTEGRAL)); } if(PID_DIFFERDENTIAL) { Control_new += (Error - Old_error_G) / (1+ PID_DIFFERDENTIAL); Old_error_G = Error; } // 調(diào)整至8位范圍 if(Control_new > 25) { Control_new = 25; Sum_G -= Error; // 頂死保護(hù) } if(Control_new < -15) { Control_new = -15; Sum_G -= Error; // 頂死保護(hù) } // 轉(zhuǎn)換為所需的8位格式 Controller_output_G = (uCHAR) Control_new; // 更新脈寬調(diào)制設(shè)置 PID_MOTOR_Set_New_PWM_Output(Controller_output_G); } /*----------------------------------------------------------------------------------*- PID_MOTOR_Set_New_PWM_Output() 調(diào)整脈寬調(diào)制輸出值 -*----------------------------------------------------------------------------------*/ void PID_MOTOR_Set_New_PWM_Output(const uCHAR Controller_output_G) { PERCENT += Controller_output_G; if(PERCENT < 5) PERCENT = 5; if(PERCENT > 45) PERCENT = 45; } /*..............................................................................*/ /*..............................................................................*/ void main(void) { IP = 0x01; //置INT1為高位優(yōu)先級 TMOD = 0x01; //T0,T1 16位計數(shù)方式 IT0 = 1; //置INT1邊沿觸發(fā) //設(shè)置定時計數(shù)初值 TH0 = 0xff; //(65536 - 100) / 256; TL0 = 0x9c; //(65536 - 100) % 256; EA = 1; //開中斷 ET0 = 1; TR0 = 1; EX0 = 1; if(DIRECTION) P1 = FRONT; else P1 = BACK; for(;;) { if(FLAG == 1000) // Mock Up of PID Processing { EX0 = 0; //關(guān)中斷 TR0 = 0; PID_MOTOR_Control_Motor(); // PID_MOTOR_Set_New_PWM_Output(rOut); FLAG = 0; Pulse_measured_G = 0; TR0 = 1; //開中斷 EX0 = 1; } } } |
|
| 18樓: | >>參與討論 |
| 作者: 溫spring 于 2005/9/4 23:18:00 發(fā)布:
樓主,能不能發(fā)一份你寫的PID給我,交流交流。謝謝! 我的E-mail:hotspring2651@yahoo.com.cn |
|
| 19樓: | >>參與討論 |
| 作者: lanzhuang 于 2005/9/5 9:03:00 發(fā)布:
也給我一份吧,lanzhuang2001@163.com,謝謝。 |
|
| 20樓: | >>參與討論 |
| 作者: yangyong 于 2006/2/16 17:42:00 發(fā)布:
yangyong@sa.buaa.edu.cn 謝謝!! |
|
| 21樓: | >>參與討論 |
| 作者: fujianhui 于 2006/2/26 9:59:00 發(fā)布:
這位大哥也給我一份。謝謝!fujianhui0817@163.com |
|
| 22樓: | >>參與討論 |
| 作者: yanjueru 于 2006/11/8 11:52:01 發(fā)布:
謝謝也給我一份吧。。。。。!cn88007@126.com |
|
| 23樓: | >>參與討論 |
| 作者: 灰姑娘 于 2006/11/8 12:25:15 發(fā)布:
路過,支持 |
|
| 24樓: | >>參與討論 |
| 作者: 樂天 于 2008/9/23 11:29:03 發(fā)布:
謝謝也給我一份吧。。。。。。lianxiu361@163.com |
|
| 25樓: | >>參與討論 |
| 作者: zq20090902 于 2009/4/12 19:25:08 發(fā)布:
我是正在準(zhǔn)備參加09電子競賽的,控制類,已經(jīng)做了智能小車和懸掛控制系統(tǒng),請發(fā)給我一份,謝謝! |
|
| 26樓: | >>參與討論 |
| 作者: zi 于 2009/4/19 15:26:35 發(fā)布:
給我一份 謝謝 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |