freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

步進(jìn)電機(jī)的遠(yuǎn)程實(shí)時(shí)控制系統(tǒng)-資料下載頁(yè)

2025-08-21 20:10本頁(yè)面

【導(dǎo)讀】Basic的串行通信控件MSComm和RS485總線完成兩者之間的通信?,F(xiàn)步進(jìn)電機(jī)速度的實(shí)時(shí)顯示。上位機(jī)要發(fā)出正轉(zhuǎn)、反轉(zhuǎn)、加速、減速及檢測(cè)速度。因?yàn)槭沁h(yuǎn)距離的通訊,指令的傳輸要通過(guò)485總線,而數(shù)據(jù)的發(fā)送和接。收則要依靠VisualBasic的通信控件。通過(guò)通信接口,用戶可以利用計(jì)算機(jī)與。行的結(jié)果表明該系統(tǒng)的實(shí)用性和可靠性。

  

【正文】 Timer1. Interval = 10 ′ 定時(shí)器常數(shù) Comm1. PortOpen = True ′ 打開串行口 timer1. Enabled = False ′ 禁止發(fā)送 = 10 ‘ Slider控件的最大值為 10 = 10 ′ 默認(rèn)延時(shí)最長(zhǎng) ,速度最慢 End Sub 控制代碼發(fā)送模塊 Private Sub Option1_Click() If = True Then = Z ‘正轉(zhuǎn)代碼 End If End Sub Private Sub Option2_Click() 南京林業(yè) 大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 23 If = True Then = F ‘反轉(zhuǎn)代碼 End If End Sub Private Sub Option3_Click() If = True Then = A ‘加速代碼 End If End Sub Private Sub Option4_Click() If = True Then = S ‘減速代碼 End If End Sub Private Sub Option5_Click() If = True Then = C ‘檢測(cè)代碼 End If End Sub Private Sub Option6_Click() If = True Then = ‘默認(rèn) End If End Sub Private Sub mand1 Click() Timer1. Enabled = True ′ 啟用定時(shí)器發(fā)送 End Sub Private Sub timer Timer1 () =text1. Text ′ 發(fā)送相應(yīng) 控制 代碼 End Sub 南京林業(yè) 大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 24 速度調(diào)節(jié)模塊 在此模塊中,用到了 Slider控件,初始化模塊中 Slider的最大值屬性設(shè)為 10。因?yàn)橄挛粰C(jī)(步進(jìn)電機(jī))速度的快慢是由延時(shí)程序的長(zhǎng)短來(lái)調(diào)節(jié)的, 加一個(gè) slider 控件 ,通過(guò)此控件控制下位機(jī)所調(diào)用的延時(shí)程序的循環(huán)次數(shù) ,從而 實(shí)現(xiàn)步進(jìn)電機(jī)速度的控制 。程序代碼如下: Private Sub mand1 Click() Timer1. Enabled = True ′ 啟用定時(shí)器發(fā)送 End Sub Private Sub timer Timer1 () Text1. Text =Str() =text1. Text ′ 發(fā)送相應(yīng) 控制 代碼 End Sub 附加功能模塊 上位機(jī)( PC機(jī))所接收的數(shù)據(jù)可以保存在指定的文件中,當(dāng)要對(duì)以前 接收的數(shù)據(jù)進(jìn)行分析時(shí)也可以進(jìn)行數(shù)據(jù)還原,也就是從指定的文件中重新取出來(lái)。 在此軟件中保存數(shù)據(jù)的文件為 ,用記事本可以打開該文件,也可以從該文件中讀取數(shù)據(jù),在編輯、運(yùn)行和幫助下拉菜單中還包含有串行口的選擇、清零、開始運(yùn)行等功能。部分代碼如下: (1) 數(shù)據(jù)保存 Private Sub shu_Click() Open For Output As 1 For i = 1 To 20 Write 1, Data(i 1) Next i Close 1 End Sub (2) 數(shù)據(jù)復(fù)原 南京林業(yè) 大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 25 Private Sub shu1_Click() Dim i As Integer Dim char As String * 1 Dim st1 As String Open For Input As 1 For i = 1 To 20 Get 1, i, char st1 = st1 + char Next i Close 1 = st1 End Sub (3) 串行口的選擇 Private Sub 1_Click() = 1 End Sub Private Sub 2_Click() = 2 End Sub (4) 清零 Private Sub QING_Click() = = = True End Sub 還原時(shí)可以先清零,這樣不出錯(cuò) (5) 開始 Private Sub KAI_Click() = ture 南京林業(yè) 大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 26 End Sub 用戶只要單擊結(jié)束按鈕,程序就會(huì)關(guān)閉串行通信的信道并退出程序。為提高系統(tǒng)通信的可靠性,可在 PC機(jī)和單片機(jī)之間開始數(shù)據(jù)傳送前采用軟件握手通信的方法,即將 PC機(jī)鍵盤的輸入發(fā)送給單片機(jī),單片機(jī)接收到 PC機(jī)發(fā)來(lái)的數(shù)據(jù)后,回送同一數(shù)據(jù)給 PC機(jī),并在 PC機(jī)屏幕上顯示出來(lái)。只要 PC機(jī)屏幕上顯示的字符與鍵入的字符相同,即表明 PC機(jī)與單片機(jī)間通信正常。 基 于 VB 實(shí)現(xiàn)開關(guān)量的控制 在此控制系統(tǒng)中,在上位機(jī)( PC機(jī))和下位機(jī)(單片機(jī)控制系統(tǒng))的通信中,上位機(jī)要向下位機(jī)發(fā)出一系列的控制指令,單片機(jī)在收到數(shù)據(jù)后要分析是什么命令,然后按照指令進(jìn)行運(yùn)作。于是設(shè)定當(dāng)單片機(jī)收到字符“ Z”,步進(jìn)電機(jī)就進(jìn)行正轉(zhuǎn);同理,字符“ F”表示反轉(zhuǎn)、“ A”表示加速、“ S”表示減速、“ C” 表示檢測(cè)速度。 軟件抗干擾措施 指令冗余及軟件陷阱 單片機(jī)最容易受干擾的是內(nèi)部程序計(jì)數(shù)器 PC的值,在受到強(qiáng)烈的干擾后, PC值被改變,改變后的值又是隨機(jī)的,具有不確定性,往往會(huì) 使單片機(jī)將程序 從正確位置跳轉(zhuǎn)到一個(gè)不確定的區(qū)域繼續(xù)執(zhí)行,或?qū)⒉僮鲾?shù)當(dāng)作操作碼來(lái)執(zhí)行, 引起程序的混亂。 CPU取指令過(guò)程是先取操作碼,后取操作數(shù)。如何區(qū)別某個(gè)數(shù) 據(jù)是操作碼還是操作數(shù),這完全由指令順序決定。 CPU復(fù)位后,首先取指令的操 作碼,而后順序取出操作數(shù)。當(dāng)一條完整指令執(zhí)行后,緊接著取下一條指令操作 碼、操作數(shù)。這些操作時(shí)序完全由程序計(jì)數(shù)器 PC控制。因此,一旦 PC因干擾而 出現(xiàn)錯(cuò)誤,程序便脫離正常運(yùn)行軌道,出現(xiàn)“亂飛”,出現(xiàn)操作數(shù)數(shù)值改變以及 將操作數(shù)當(dāng)作操作碼的錯(cuò)誤。當(dāng)程序“亂飛”到單字節(jié)指令上時(shí), 便自動(dòng)納入正 軌 。當(dāng)程序“亂飛”到雙字節(jié)指令上時(shí),若恰恰在取指令時(shí)刻落到其操作數(shù)上, 從而將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e(cuò) 。當(dāng)程序“亂飛”到某個(gè) 3字節(jié)指令上時(shí), 因?yàn)樗鼈冇袃蓚€(gè)操作數(shù),誤將其操作數(shù)當(dāng)作操作碼的出錯(cuò)機(jī)率將更大。為了使“亂 南京林業(yè) 大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 27 飛”程序在程序區(qū)迅速納入正軌,應(yīng)該多用單字節(jié)指令,并在關(guān)鍵地方人為地插 入一些單字節(jié)指令 NOP,或?qū)⒂行巫止?jié)指令重寫??稍陔p字節(jié)指令和 3字節(jié)指令之后插入兩個(gè)單字節(jié) NOP指令,這可保證其后的指令不被拆散。因?yàn)椤皝y飛” 的程序即使落到操作數(shù)上,由于兩個(gè)空操作指令 NOP的存在,不會(huì) 將其后的指令 當(dāng)操作數(shù)執(zhí)行,從而使程序納入正軌。 在軟件設(shè)計(jì)中,軟件陷阱被安排在以下兩個(gè)區(qū)域 : (1) 未被使用的中斷向量區(qū) :在實(shí)際的單片機(jī)應(yīng)用系統(tǒng)中,并不是每一個(gè)中 斷都會(huì)被用到,存在未用的中斷向量區(qū)域。當(dāng)這些未用的中斷在干擾的作用下激 活而引起中斷的話,將導(dǎo)致程序發(fā)生混亂,所以,在這些未用的中斷向量區(qū)設(shè)置 軟件陷阱。 (2) 沒有被用到的 ROM空間 :因?yàn)椴捎玫某绦虼鎯?chǔ)器的容量為 8K,而整個(gè)控 制程序遠(yuǎn)遠(yuǎn)小于 8K,此外程序也不是按順序執(zhí)行的,存在很多跳轉(zhuǎn),在這些程 序之間,也存在大 量的閑置的空間,當(dāng)程序“亂飛”到這些空間時(shí),需要很長(zhǎng)時(shí) 間才能走出這些未用的空間,而且此時(shí)程序己經(jīng)脫離了正常的運(yùn)行軌跡,若繼續(xù) 運(yùn)行下去,控制系統(tǒng)將工作在不正常的狀態(tài)下,這樣得到的輸出也是不符合要求 的,所以,很有必要設(shè)置軟件陷阱以及時(shí)捕獲程序的“亂飛”,使程序回到正確 的運(yùn)行軌跡上來(lái)。 從上面可以看出,軟件陷阱都安排在正常程序執(zhí)行不到的地方,所以也不會(huì) 影響程序的執(zhí)行效率,此外,在存儲(chǔ)器沒有使用的單元中全部填充 OFFH值,即 復(fù)位指令 RST的目的代碼值,這樣在程序“亂飛”至此區(qū)域時(shí),就會(huì)被復(fù)位,以 免系統(tǒng)癱瘓。 當(dāng)“亂飛”的程序在遇到軟件陷阱之前已形成死循環(huán)時(shí),軟件陷阱就無(wú)能為 力了,此時(shí),要靠設(shè)定的 WATCHDOG來(lái)使程序回到正常的運(yùn)行軌跡。 數(shù)字濾波 這種措施是利用單片機(jī)執(zhí)行一定的程序計(jì)算方法,減少噪聲在有用信號(hào)中的比例,其實(shí)質(zhì)是程序?yàn)V波。數(shù)字濾波克服了模擬濾波器的不足,與模擬濾波器相比,它具有以下幾點(diǎn)優(yōu)點(diǎn) : (1) 數(shù)字濾波是用程序?qū)崿F(xiàn)的,不需要增加硬件設(shè)備,所以可靠性高,穩(wěn) 南京林業(yè) 大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 28 定性好。 (2) 數(shù)字濾波可對(duì)頻率很低的信號(hào)濾波,克服了模擬濾波的缺陷。 (3) 數(shù)字 濾波可以根據(jù)信號(hào)的不同,采用不同的濾波方法或?yàn)V波參數(shù),具 有靈活、方便、功能強(qiáng)的特點(diǎn)。 常用的數(shù)字濾波方法有 :算術(shù)平均值法,系統(tǒng)濾波法,加權(quán)平均值法,一階 慣性濾波法,中位值法等。算術(shù)平均值法適合于具有隨機(jī)干擾的信號(hào)濾波,且具 有算法簡(jiǎn)單,編程容易實(shí)現(xiàn)的優(yōu)點(diǎn)。結(jié)合本系統(tǒng)的特點(diǎn),我們采用了算術(shù)平均值 濾波法。對(duì)某一電流或電壓值采樣多次 (15次 ),計(jì)算其平均值,作為該點(diǎn)的采樣結(jié)果。 RS485 串行通信抗干擾 (1) 總線匹配 對(duì) RS485 總線是否進(jìn)行終端匹配取決于據(jù)傳輸速 率、電纜長(zhǎng)度及信號(hào)轉(zhuǎn)換速率。只要數(shù)據(jù)速率在 250kbps以內(nèi),電纜長(zhǎng)度不超過(guò) 16m,一般可以不加終端匹配。當(dāng)需終端匹配時(shí),有多種匹配方案可以選擇,最簡(jiǎn)單的就是在總線兩端各接一只阻值等于電纜特性阻抗的電阻,一般在 100~120 Ω(如圖),能減少由于不匹配而引起的反射、吸收噪聲,有效地抑制了噪聲干擾。但匹配電阻要消耗較大電流,不適用于功耗限制嚴(yán)格的系統(tǒng)。 一種比較省電的匹配方案是 RC匹配( 如圖 ),利用一只電容 C隔斷直流成分,可以節(jié)省大部分功率,但電容 C 的取值是個(gè)難點(diǎn),需要在功耗和匹配 質(zhì)量間進(jìn)行折衷。除上述兩種外,還有一種采用二極管的匹配方案 (如圖 ),這種方案雖未實(shí)現(xiàn)真正的匹配,但它利用二極管的箝位作用,迅速削弱反射信號(hào)達(dá)到改善信號(hào)質(zhì)量的目的,節(jié)能效果顯著。 圖 二極管的匹配方案 (2) 通信速度和通信可靠性 由于 485總線是異步半雙工的通信總線,在某一個(gè)時(shí)刻,總線只可能呈現(xiàn)一種狀態(tài),所以這種方式一般適用于主機(jī)對(duì)分機(jī)的南京林業(yè) 大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 29 查詢方式通信,總線上必然有一臺(tái)始終處于主機(jī)地位的設(shè)備在巡檢其它的分機(jī),選用合適的通信協(xié)議及控制方式非常重要?,F(xiàn)在一般 采用的是數(shù)據(jù)包通信方式,通信數(shù)據(jù)是成幀成包發(fā)送。在 485芯片的通信中,尤其要注意對(duì) 485 控制端 DE 的軟件編程。為了可靠地工作,在 485 總線狀態(tài)切換時(shí)需要做適當(dāng)延時(shí),再進(jìn)行數(shù)據(jù)的收發(fā)。具體的做法是在數(shù)據(jù)發(fā)送狀態(tài)下,先將控制端置“ 1”,延時(shí) 1ms左右的時(shí)間,再發(fā)送有效的數(shù)據(jù),一包數(shù)據(jù)發(fā)送結(jié)束后再延時(shí) 1ms 后,將控制端置“ 0”。這樣的處理會(huì)使總線在狀態(tài)切換時(shí) ,有一個(gè)穩(wěn)定的工作過(guò)程。 ( 3)失效保護(hù) RS485標(biāo)準(zhǔn)規(guī)定接收器門限為177。 200mV ,但是,當(dāng)總線電壓在177。 200mV中間時(shí)接收器輸出狀態(tài)不確定 。由于 UART 以一個(gè)前導(dǎo)“ 0”觸發(fā)一次接收動(dòng)作,所以,接收器的不定態(tài)可能會(huì)使 UART 錯(cuò)誤地接收一些數(shù)據(jù),導(dǎo)致系統(tǒng)誤動(dòng)作。一般的做法是給總線加偏置,當(dāng)總線空閑或開路時(shí),利用偏置電阻將總線偏置在一個(gè)確定的狀態(tài)(差分電壓≥ 200mV)。如將接收門限200mV/50mV ,也可很好地解決這個(gè)問(wèn)題。 ( 4)地線與接地 由于工程環(huán)境比較復(fù)雜,現(xiàn)場(chǎng)常有各種形式的干擾源,電子系統(tǒng)的接地是一個(gè)非常關(guān)鍵而又常常被忽視的問(wèn)題,接地處理不當(dāng)經(jīng)常會(huì)導(dǎo)致不能穩(wěn)定工作甚至危及系統(tǒng)安全。所以 485 總線一定要有良好的接地及保 護(hù)措施。雖然 RS485 接口采用的是差分傳輸方式,具有一定的抗共模干擾的能力,但當(dāng)共模電壓超過(guò) RS485接收器的極限接收電壓,即大于 +12V 或小于- 7V 時(shí),將在信號(hào)線上產(chǎn)生干擾電流,輕則影響正常通信,重則損壞接口。另外就是電磁輻射問(wèn)題,驅(qū)動(dòng)器輸出信號(hào)中的共模部分需要一個(gè)返回通路,如果沒有一個(gè)低阻的返回通道(信號(hào)地)就會(huì)以輻射的形式返回,源端整個(gè)總線就會(huì)像一個(gè)巨大的天線向外輻射電磁波。因此,盡管是差分傳輸,對(duì)于 RS485 網(wǎng)絡(luò)來(lái)講一條低阻 的信號(hào)地還是必不可少的,接地示意圖如 圖 所示 。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1