主頁 > 軟體工程 > 求大神教我VB,反饋控制,并進行補償糾正

求大神教我VB,反饋控制,并進行補償糾正

2020-10-01 11:15:25 軟體工程


我打算控制一個電機的位置,但反饋補償部分我不太會,求大神指導
我的要求是:我給電機設定一個值a,但電機運行后,我用傳感器檢測為b(a不等于b),由于存在偏差,我希望通程序式就行糾正,知道電機運行的值等于設定值a

uj5u.com熱心網友回復:

ctrl<------->motor
a0------------>|
|<----------- b0
a1 = a0-b0---> |
|<----------- b1                  
a2=a1-b1-----> |

一般反饋控制,大概就是這個樣子。

多退少補而已。

 

uj5u.com熱心網友回復:

謝謝,whales大神,如果能用VB表現出來就更好了

uj5u.com熱心網友回復:

樓主想要表達的意思是,給電機10000個脈沖,理論上電機應該運動到A點停止,但是,由于步進電機運動存在脈沖丟失的情況,所以,通常情況下,10000個脈沖,電機只能運行到B點(B點比A點距起始點近)。是否是這個意思?
如果是這個意思,最好的辦法就是在電機的轉軸上加一個編碼器,用它來檢測脈沖數,也就是說,電機轉一圈如果必須1000個脈沖的話,編碼器就肯定計數為1000,但發出的控制脈沖肯定是大于等于1000的。
從設計思路上說,你的這個問題應該不是程式的問題,而是電氣設計的問題,增加一個檢測回饋裝置,問題將很容易堅決。

uj5u.com熱心網友回復:

具體的辦法就是給電機發送一個很大的驅動脈沖,使電機運動,用編碼器計數電機運動程序中實際有效的脈沖數,當脈沖數到達想要控制的脈沖數后(也就是電機運動到了要到的位置),立馬停止給電機發送的驅動脈沖。

uj5u.com熱心網友回復:

@貝隆 :
1、對于你說到的這個問題,電機的檢測一般是用Timer回圈掃描的,為了能實時顯示(看的清楚),一般時間比較長,如果電機轉速高的話,會超過設定值的。
2、我的其實是想做成類似于數控機床那樣的設備,電機這邊有500線的編碼器,精度可以滿足,但是那個負載由于傳動齒輪間隙什么的,不一定在電機達到位置時,能夠達到想要的位置。所以才需要進行那種反饋的

uj5u.com熱心網友回復:

這種事情通常由下位機來做的,上位機通常把任務或階段性任務傳給下位機后,就不用管控制那一塊了,最多做個狀態回顯,實時采集與精度控制該由下位機來做,這樣才能保證精度。

uj5u.com熱心網友回復:

以我的經驗來看,樓主的想法是無法實作的。通常控制電機都是用脈沖輸出辦卡或這PLC模塊來控制。至于編碼器的讀數也是如此。PC想要跟上這個速度,是不現實的。

uj5u.com熱心網友回復:

@貝隆
電機是私服電機,有私服驅動器作為下位機,進行驅動控制。我用VB主要是檢測外部負載的位置,根據外部負載的實際位置和設定位置的差值來繼續控制電機運行。把上一步的差值加到下一次的電機運行中

uj5u.com熱心網友回復:

這都是自動化控制的設計問題. 跟VB有啥關系?
關鍵是你自己得了解這個倍訓控制的邏輯流程, 至于反饋補償量, 可以慢慢調節.直到合適為止.

uj5u.com熱心網友回復:

樓主的這些問題都是伺服電機完成的,對于上位機而言,也就是發一個命令,告訴脈沖輸出單元(或者模塊,或者板卡)發脈沖和控制信號就是。說白了,上位機的作業原理是不可能實作你的要求。建議樓主可以了解以下伺服電機的作業原理,你只要明白了伺服電機的作業原理,我想你的問題就不是問題了。
此外伺服電機驅動器本來就是帶有脈沖信號回饋的,我前面所說的編碼器就不需要了。現在的伺服電機做得很強大,這些功能都是很基本的功能。原理也是很簡單的。

還有一種方法,如果你的電機每次都是運動到同一個指定位置停止,那么建議你在這個位置安裝一個光電開關用于定位,每次當電機運行到這個位置就停止發脈沖即可,就不需要脈沖回饋補償什么的了。

uj5u.com熱心網友回復:

參考 10 樓 Veron_04 的回復:
還有一種方法,如果你的電機每次都是運動到同一個指定位置停止,那么建議你在這個位置安裝一個光電開關用于定位,每次當電機運行到這個位置就停止發脈沖即可,就不需要脈沖回饋補償什么的了。

+1

uj5u.com熱心網友回復:

@妞妞他爹
這個問題有見解,謝謝哈

uj5u.com熱心網友回復:

@貝隆 人類
有機會給你們講講數控機床的知識。光電開關就是一個繼電器而已,它只是切斷電源,高度電機就算切斷電源,在大的轉動慣量下還是會運行一會兒的。不是立馬就停的。
感謝你們為我提供的建議,謝謝哈

uj5u.com熱心網友回復:

數控機床不單是什么軟體或電子電路的問題,還有機械問題,還有,如果要加光電開關,肯定要在機械設計上考慮過緩沖速度放在合適的位置,不是亂放的。而且,在處理電機停轉的程序中,不是停止供電就完事的,而是要進行反轉或電磁拉緊的操作。這樣才會減少緩沖造成的問題。所以,這種問題不是單純從軟體考慮的,還要沖電子、機械進行整體設計的。當然,如果你沒有條件在硬體上加剎車系統,就只有靠軟體來解決這種誤差,不過相對來說,精度總是不夠的。

uj5u.com熱心網友回復:

參考 13 樓 u011546874 的回復:
@貝隆 人類
有機會給你們講講數控機床的知識。光電開關就是一個繼電器而已,它只是切斷電源,高度電機就算切斷電源,在大的轉動慣量下還是會運行一會兒的。不是立馬就停的。
感謝你們為我提供的建議,謝謝哈

光電開關,不是繼電器,準確的說它是一個提供DI信號的器件。此外就你說的電機轉動慣性的問題,這其實很容易解決,而且在實際的作業中我也經常處理這樣的問題。解釋如下:

你給伺服電機驅動器一個很高頻率的脈沖,那么伺服電機就將以很高的速度運行,當你的電機以最高速度運動一定脈沖數時(這個脈沖數可以在除錯的程序中定,比如總的脈沖數的90%,或者運動到距離光電開關合適的距離是的脈沖數),你就減小脈沖的輸出頻率,降低頻率后,電機的運動速度就會減慢,慢到你認為合適的速度(這個速度你可通過除錯獲取),慢速運動到光電開關的位置,電機很容易就停止運行了,根本沒有你所說的慣性問題。
PS:無論是脈沖輸出卡還是PLC模塊,都是有加速或者減速的函式的,也就是說,電機速度增加和降低都不是臺階式的,而是有上升或下降曲線的。這個你可具體去參閱資料。

uj5u.com熱心網友回復:

多一句嘴,脈沖數的多少,決定了你的工件運行的距離遠近。

uj5u.com熱心網友回復:

提醒:小心慷訓誤差。

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/144963.html

標籤:VB基礎類

上一篇:程式運行出錯winocc.cpp

下一篇:跪求GDI+在VB6.0環境下 畫扇形的函式及使用方法

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more