精品教程:多點(diǎn)矩陣控制系統(tǒng)軟硬件設(shè)計(jì)
網(wǎng)站:bbs.21ic.com
多點(diǎn)矩陣控制系統(tǒng)多點(diǎn)矩陣控制系統(tǒng)包括軟件部分和硬件部分,下面主要介紹下硬件設(shè)計(jì)部分,其構(gòu)架如圖1所示。
1、多點(diǎn)矩陣控制系統(tǒng)
多點(diǎn)矩陣控制系統(tǒng)原理主要是通過(guò)控制電機(jī)來(lái)達(dá)到相關(guān)的效果,在視覺(jué)上有沖擊感,給人印象深刻。
該系統(tǒng)主要由硬件和軟件兩大部分組成,硬件部分包括主控器,中繼器和驅(qū)動(dòng)器,軟件部分包括客戶(hù)端,協(xié)議,主控程序和驅(qū)動(dòng)程序等。
2、多點(diǎn)矩陣控制系統(tǒng)構(gòu)架
其構(gòu)架圖如圖1所示:
圖1 多點(diǎn)矩陣控制系統(tǒng)架構(gòu)
3、硬件部分
3.1主控器
主控器的功能主要是接收客戶(hù)端發(fā)送的指令,通過(guò)USB來(lái)進(jìn)行通信,目前主控這部分
采用的是STM32F103CB,其主要參數(shù)指標(biāo)如圖2所示:
其工作電壓是0~3.6V,最高工作頻率可達(dá)72MHz,所對(duì)應(yīng)的接口有USB2.0,3路UART,2路IIC,2路SPI以及還有CAN,其Flash為128Kbytes,SRAM為20Kbytes。
在能耗方面具有三種工作模式:睡眠模式,待機(jī)模式和停止模式,其模式的設(shè)置可以詳見(jiàn)手冊(cè)。
圖2 STM32F103CB 參數(shù)特點(diǎn)
其主控的MCU部分原理圖如圖3所示,其工作電壓為是3.3V,工作溫度范圍:-40~85℃。在功耗方面也很低,工作模式下電流約為50mA,待機(jī)模式下電流約為300uA。這里把需要能用的通信接口都 預(yù)留出來(lái),方便后期開(kāi)發(fā)。
圖3STM32F103CB
3.1.1串口轉(zhuǎn)485
485的接口IC采用的SN75176A,性能方面優(yōu)于MAX485,具體表現(xiàn)如表1所示:
表1 SN75176A與MAX485對(duì)比
SN75176A |
MAX485 |
||||||
工作
電壓 |
工作
溫度 |
接收使能到高 |
接收使能到低 |
工作
電壓 |
工作
溫度 |
接收使能到高 |
接收使能到低 |
0~7V |
0~70℃ |
10ns |
12ns |
0~12V |
0~70℃ |
20ns |
20ns |
SN75176A內(nèi)部邏輯見(jiàn)圖4
圖4SN75176A內(nèi)部邏輯圖
MAX485內(nèi)部邏輯見(jiàn)圖5
圖5MAX485內(nèi)部邏輯圖
由圖4和圖5可見(jiàn),內(nèi)部邏輯大體類(lèi)似。
UART轉(zhuǎn)485電路如圖6所示:接口做了防靜電處理,靜電等級(jí)空氣8kV,接觸6kV,對(duì)應(yīng)的自恢復(fù)保險(xiǎn)絲能夠起到良好的保護(hù)作用。
圖5UART轉(zhuǎn)RS485
3.1.2TF卡
考慮到后期會(huì)用到脫機(jī)工作的需求,所以可以將程序保存在TF卡里,MCU通過(guò)SPI的通信方式將命令讀取來(lái)執(zhí)行相關(guān)的動(dòng)作。TF卡如圖6所示
圖6TF卡引腳說(shuō)明
其電路如圖7所示,工作電壓是3.3V
圖7TF卡SPI通信方式
3.1.3BOOT選擇啟動(dòng)方式
BOOT的啟動(dòng)方式有用戶(hù)閃存,ISP下載以及內(nèi)部的RAM,通過(guò)BOOT0置零和置1來(lái)
選擇對(duì)應(yīng)的啟動(dòng)方式,具體見(jiàn)圖8所示:
圖8 BOOT啟動(dòng)方式的選擇
3.1.4MicroUSB接口
通過(guò)該接口可以和上位機(jī)進(jìn)行通信,收發(fā)命令。接口防靜電采用了TPD2E001DZDR通過(guò)它可以有效的
抑制靜電干擾,保護(hù)了后級(jí)主控MCU。電路如圖9所示:
圖9Micro USB接口
3.1.5DC TO DC
該主控器是采用了外部適配器供電,適配器規(guī)格為AC220V TO DC24V2.5A,該
MCU的工作電壓為3.3V,SN75176A的工作電壓為5.0V,所以先將24V通過(guò)AP1509穩(wěn)壓出5V,然后見(jiàn)5V通過(guò)
LDO穩(wěn)壓出3.3V,具體如圖10所示:
圖10 DC TO DC
3.1.6下載接口
該MCU具有兩種下載接口模式,分別為JTAG和SWD,為了操作簡(jiǎn)便,使用起
來(lái)更加便利,因而采用了SWD的方式,SWD下載線的定義為:VCC,SWDIO,SWCLK,GND。
3.1.7復(fù)位電路
該復(fù)位電路是在關(guān)鍵時(shí)刻能起到復(fù)位作用,通過(guò)按下按鍵,復(fù)位口檢測(cè)到低電平,然
后觸發(fā)MCU進(jìn)行復(fù)位操作,電路具體如圖12所示:
圖12復(fù)位電路
3.1.8指示燈
該指示燈可以通過(guò)程序來(lái)控制燈的亮滅,從而知道程序是否有響應(yīng)等等,其狀態(tài)可以自由定義,很便捷。具體如圖13所示:
圖13指示燈
3.2中繼器
中繼器的功能主要是將一路485分成8路485輸出,保證其每一路的輸出能力,能夠將承載的設(shè)備最大化。
圖14 一路分多路輸出
在輸入口通過(guò)SN75176A識(shí)別485接口,然后轉(zhuǎn)換成串口來(lái)發(fā)送信號(hào),其供電方式是采用了AP1509,其最大輸出電流可達(dá)2A,完全滿(mǎn)足要求,具體如圖15所示:
圖15 分路供電
在接收到分路信號(hào)后,需要通過(guò)光耦進(jìn)行隔離處理,然后在通過(guò)SN75176A轉(zhuǎn)換出485電器接口,總共有8路輸出。
為了保證每?jī)陕范加凶銐虻墓ぷ麟娏?,而不浪費(fèi)資源,采用AP1509能夠足夠的提供每?jī)陕返墓ぷ麟娏?,具體電路如圖17所示:
圖17 每?jī)陕饭╇姴糠?/span>
3.3驅(qū)動(dòng)器
驅(qū)動(dòng)器的功能主要是驅(qū)動(dòng)步進(jìn)電機(jī)的正轉(zhuǎn),反轉(zhuǎn),轉(zhuǎn)動(dòng)角度,速度調(diào)節(jié)等。
3.3.1 主控MCU
該MCU采用的和主控器上的是一樣的,方便后期物料管理方便,詳細(xì)參數(shù)就不一一羅列。
3.3.2 驅(qū)動(dòng)電路
該步進(jìn)電機(jī)驅(qū)動(dòng)采用的是TI 的DRV8825,其工作電壓范圍:8.2V~45V,最大可達(dá)2.5A。
的驅(qū)動(dòng)能力,在步進(jìn)電機(jī)驅(qū)動(dòng)控制方面應(yīng)用比較廣,可以達(dá)到32細(xì)分。電路圖如圖19所示
圖19 步進(jìn)電機(jī)驅(qū)動(dòng)
細(xì)分模式選擇如圖20所示:
圖20 細(xì)分模式選擇
3.3.4 RS485轉(zhuǎn)UART
RS485通過(guò)SN75176A轉(zhuǎn)換成UART,把數(shù)據(jù)發(fā)給MCU來(lái)做處理。如圖21所示:
圖21 RS485轉(zhuǎn)UART
3.3.5 DC TO DC
該驅(qū)動(dòng)器采用獨(dú)立的適配器供電,電源是AC220V~DV24V2.5A,穩(wěn)壓方式和主控器是一樣,具體如圖22所示:
圖22 DC TO DC電路
3.3.6 BOOT啟動(dòng)方式選擇
BOOT通過(guò)選擇0或1來(lái)切換啟動(dòng)方式,具體如圖23所示:
圖23 BOOT啟動(dòng)方式選擇
4、軟件部分
4.1客戶(hù)端
客戶(hù)端只要是將圖片的灰階度轉(zhuǎn)換成對(duì)應(yīng)的ID和數(shù)據(jù),然后通過(guò)USB接口傳送到主控器,經(jīng)過(guò)主控器識(shí)別解碼后,再生成DMX512的數(shù)據(jù)格式來(lái)通訊。在客戶(hù)端的圖片采集其每個(gè)對(duì)應(yīng)的ID的圖片值,也就是灰度值,通過(guò)灰度值來(lái)確定電機(jī)要轉(zhuǎn)的圈數(shù)。舉例如圖24所示:
圖24 舉例圖
灰度色值表如圖25所示:
圖25 灰度色值
4.2協(xié)議
DMX 是Digital MultipleX 的縮寫(xiě),意為多路數(shù)字傳輸(具有512條信息的數(shù)字多路復(fù)用”)。DMX512控制協(xié)議是美國(guó)舞臺(tái)燈光協(xié)會(huì)(usITT)于1990年發(fā)布的燈光控制器與燈具設(shè)備進(jìn)行數(shù)據(jù)傳輸?shù)墓I(yè)標(biāo)準(zhǔn),全稱(chēng)是USITTDMX512(1990);
DMX512 在其物理層采用EIA-485差分信號(hào),結(jié)合可變尺寸,基于分組的通信協(xié)議。它是單向的。DMX512不包含自動(dòng)錯(cuò)誤檢查和糾正功能,因此不適用于危險(xiǎn)應(yīng)用,如煙火或舞臺(tái)裝置的移動(dòng)。電磁干擾,靜電放電,不正確的電纜端接,電纜過(guò)長(zhǎng)或電纜質(zhì)量都可能造成虛假觸發(fā),但是在連接控制器(如照明控制臺(tái))與調(diào)光器和特效設(shè)備等都有廣泛應(yīng)用。
4.2.1 DMX512指令幀介紹
每一個(gè)DMX 控制字節(jié)叫做一個(gè)指令幀,稱(chēng)作一個(gè)控制通道,可以控制燈光設(shè)備的一個(gè)或幾個(gè)功能。一個(gè)DMX 指令幀由1個(gè)開(kāi)始位(S)、8個(gè)數(shù)據(jù)位(D0-D8)和2個(gè)結(jié)束位(E)共11位構(gòu)成,采用單向異步串行傳輸,如圖26所示。
圖26 DMX512 定時(shí)程序的幀結(jié)構(gòu)(上圖)和信息包結(jié)構(gòu)(下圖)
圖26 中虛線內(nèi)控制指令中的S 為開(kāi)始位,寬度為一個(gè)比特,是受控?zé)艟邷?zhǔn)備接收并解碼控制數(shù)據(jù)的開(kāi)始標(biāo)志;
E為結(jié)束位,寬度為兩個(gè)比特,表示一個(gè)指令幀的結(jié)束;
D0~ D7為8 位控制數(shù)據(jù),其電平組合從00000000一11111111 共有256個(gè)狀態(tài)(對(duì)應(yīng)十進(jìn)制數(shù)的0~255),控制燈光的亮度時(shí),可產(chǎn)生256個(gè)亮度等級(jí),0000~ (0)對(duì)應(yīng)燈光最暗,11111111(255)對(duì)應(yīng)燈光最亮。
DMX512指令的位寬(每比特寬度)是4 us,每一個(gè)指令幀11位,故指令幀寬度為44 us,傳輸速率為1/44us = 250kbps。
4.2.2 DMX512信息包
一個(gè)完整的DMX512信息包(Packet)由一個(gè)MTBP位、一個(gè)Break 位、一個(gè)MAB位、一個(gè)SC 和512個(gè)數(shù)據(jù)幀構(gòu)成,如圖27所示:
圖27 數(shù)據(jù)幀
MTBP(MarkTimeBetween Packets)標(biāo)志著一個(gè)完整的信息包發(fā)送完畢,是下一個(gè)信息包即將開(kāi)始的“空閑位”,高電平有效。
Break為中斷位,對(duì)應(yīng)一個(gè)信息包結(jié)束后的程序復(fù)位階段,寬度不少于兩個(gè)幀(22 比特)。程序復(fù)位結(jié)束后應(yīng)發(fā)送控制數(shù)據(jù),MAB位,由于每一個(gè)數(shù)據(jù)幀的第一位(即開(kāi)始位)為低電平,所以必須用一個(gè)高電平脈沖間隔前后兩個(gè)低電平脈沖,這個(gè)起間隔、分離作用的高電平脈沖即MAB(MarkAfter Break),此脈沖一到,意味著“新一輪”的控制又開(kāi)始了。
SC(StartCode)意為開(kāi)始代碼幀(圖1中的第0幀),和此后到來(lái)的數(shù)據(jù)幀一樣,也是由11 位構(gòu)成,除最后的兩個(gè)高電平的結(jié)束位之外,其他9位全部是低電平,通常將其叫做第0 幀或第0通道(Channel No 0),可理解為一個(gè)不存在的通道(NonexistentChanne1)。
表2 DMX512 信息包定時(shí)表
表2 是DMX512 信息包的定時(shí)表,表中NS意為自己設(shè)定,寬度沒(méi)有嚴(yán)格限制,由程序設(shè)計(jì)者自行決定,比如MTBP的寬度可以介于0~1秒之間,其他建議采用典型值。
控制臺(tái)每發(fā)送一個(gè)信息包,可以對(duì)全部512個(gè)受控通道形成一次全面的控制。發(fā)送一個(gè)信息包的時(shí)間大約是23 ms,每秒鐘將對(duì)所有512個(gè)受控通道完成44 次控制,即受控光路的刷新頻率44 Hz,如果實(shí)際受控通道少于512個(gè),那么刷新頻率將相應(yīng)提高。
5 軟件流程圖
軟件流程如圖28所示:
以上所說(shuō)的硬件主要包括主控器,中繼器和驅(qū)動(dòng)器,主控器主要是起到主機(jī)的作用,中繼器主要起到中繼的作用,驅(qū)動(dòng)器主要起到驅(qū)動(dòng)電機(jī)的作用。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!