久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3348|回復: 1
打印 上一主題 下一主題
收起左側

單容 雙容 水箱水位控制 pid us100超聲波傳感器STM32源程序

[復制鏈接]
跳轉到指定樓層
樓主
       我是學自動化控制的,因為都知道的原因,沒法回到學校,我們這個學期學習過程控制,各種各樣的pid控制算法(單回路、串級、前饋、分程等等),非常想去實驗室親手操作體驗他們的控制效果。 剛好老師布置了一個單容自衡水箱的實驗,其實要說完成這個實驗非常簡單,你只需要一個塑料水瓶和一個水龍頭就好了。但是我想借此機會做一個除了完成任務也可以練習各種控制算法的裝置,以加深我對各種控制的理解。
       一開始我選用的是水壓原理的液位傳感器,但是它的測量誤差可以達到5cm,但是對于我的40cm水箱(酒盒)來說誤差比例太大了。最后經過考慮我選用浮板加超聲波傳感器的方法。正好手里有一塊us100超聲波傳感器,看資料說他自帶看門狗、溫度補償等很好的功能。我用圖中的材料做出來這樣一個雙容水箱的模型。哈哈,是不是很丑。水泵那個寶8塊錢買的,當時怕壞我買了兩個,現在看來用這兩個電機可以完成分程控制的實驗了,哈哈。大水箱用一個水桶就可以了。水管是內徑8mm的,好像是2元一米。開關是1元一個,轉換頭2元一個。換買了一個4分孔的電鉆打孔器好像是3元,還有一些膠帶,防水膠,螺絲等小東西。
     控制器我選擇stm32f103zet6,因為手里正好有這個和其下載器。我打算把液位用波形的形式展現出來,這樣好觀察控制效果。因為之前做智能車,調d車的陀螺儀和加速度計的卡爾曼濾波用的就是這個方法,輕車熟路還是那個模擬示波器(師哥寫的),還是那個協議。就很快移植完成了(從k60到32)。然后就是讀取us100超聲波傳感器的數據了,因為它支持串口通訊,所以也很輕松。給他發個字符0x58(好像是,具體見其手冊)。成品做完以后,當天下午調了一下簡單pid與積分分離式pid,后者比前者要好很多。當我的水位離目標水位太遠時,前者的積分會積很多的誤差,導致系統的超調特別大,而且到達平穩的時間很長。后者積分分離式,把積分調節靜態誤差的能力發揮到了極致,很棒。
     當然這個東西缺點超級多,也算給大家個參考吧!加油,努力過好每一天。
     第一次寫怎么多的文字,哈哈,獻給親切的51論壇。


單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include "timer.h"

  7. int main(void)
  8. {               
  9.          u16 led0pwmval=0;
  10.         u8 dir=1;        
  11.         delay_init();                     //延時函數初始化         
  12.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
  13.         uart_init(115200);         //串口初始化為115200
  14.         uart2_init();
  15.          LED_Init();                             //LED端口初始化
  16.         TIM2_Int_Init(999,7199);//10Khz的計數頻率,計數到100為100ms  
  17.          TIM3_PWM_Init(899,0);         //不分頻。PWM頻率=72000000/900=80Khz
  18.         
  19.            while(1)
  20.         {
  21. //                 delay_ms(10);         
  22. //                if(dir)led0pwmval++;
  23. //                else led0pwmval--;

  24. //                 if(led0pwmval>900)dir=0;
  25. //                if(led0pwmval==0)dir=1;                                                                                 
  26. //           
  27.         }         
  28. }
復制代碼

所有資料51hei提供下載:
pi調節水位.7z (189.14 KB, 下載次數: 67)
exe文件: 虛擬示波器v0.1.3.zip (4.22 MB, 下載次數: 48)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:743360 發表于 2020-7-24 15:48 | 只看該作者
樓主,接線的原理圖能不能發個?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天操天天天 | 国产高清视频一区二区 | 毛片免费观看 | 久久国产精品-国产精品 | 成人av高清在线观看 | 狼色网 | 日韩中文一区二区三区 | 美日韩中文字幕 | 伊人久久精品 | 久精品久久 | 国产清纯白嫩初高生视频在线观看 | 国产精品国产成人国产三级 | 国产精品无码久久久久 | 成人免费在线观看 | 亚洲国产欧美一区 | 一区二区三区在线看 | 中文字幕专区 | 日韩欧美在线播放 | 中文字幕精品一区二区三区精品 | 国产精品视频一区二区三区四区国 | 男女一区二区三区 | 一级毛片免费 | 午夜视频免费在线观看 | 黑人粗黑大躁护士 | 成人污污视频 | 久久久久久久久久久久久久av | 日韩中文字幕视频 | 二区三区视频 | 久草热线 | 久久久精品一区二区三区四季av | 亚洲高清久久 | 日韩一区二区黄色片 | 日本一区二区三区免费观看 | 成人在线免费观看 | 亚洲一区欧美一区 | 99成人| 欧洲精品在线观看 | 国产精品一区二区视频 | 国产欧美一区二区三区在线看 | 国产精品久久久久久 | 国产高清在线视频 |