多點矩陣控制系統多點矩陣控制系統包括軟件部分和硬件部分,下面主要介紹下硬件設計部分。
1多點矩陣控制系統多點矩陣控制系統原理主要是通過控制電機來達到相關的效果,在視覺上有沖擊感,給人印象深刻。
該系統主要由硬件和軟件兩大部分組成,硬件部分包括主控器,中繼器和驅動器,軟件部分包括客戶端,協議,主控程序和驅動程序等。
2多點矩陣控制系統構架其構架圖如圖1所示:
圖1 多點矩陣控制系統架構
3硬件部分3.1主控器
主控器的功能主要是接收客戶端發送的指令,通過USB來進行通信,目前主控這部分
采用的是STM32F103CB,其主要參數指标如圖2所示:
其工作電壓是0~3.6V,最高工作頻率可達72MHz,所對應的接口有USB2.0,3路UART,2路IIC,2路SPI以及還有CAN,其Flash為128Kbytes,SRAM為20Kbytes。
在能耗方面具有三種工作模式:睡眠模式,待機模式和停止模式,其模式的設置可以詳見手冊。
圖2 STM32F103CB 參數特點
其主控的MCU部分原理圖如圖3所示,其工作電壓為是3.3V,工作溫度範圍:-40~85℃。在功耗方面也很低,工作模式下電流約為50mA,待機模式下電流約為300uA。這裡把需要能用的通信接口都預留出來,方便後期開發。
圖3STM32F103CB
3.1.1串口轉485
485的接口IC采用的SN75176A,性能方面優于MAX485,具體表現如表1所示:
表1 SN75176A與MAX485對比
SN75176A |
MAX485 | ||||||
工作 電壓 |
工作 溫度 |
接收使能到高 |
接收使能到低 |
工作 電壓 |
工作 溫度 |
接收使能到高 |
接收使能到低 |
0~7V |
0~70℃ |
10ns |
12ns |
0~12V |
0~70℃ |
20ns |
20ns |
SN75176A内部邏輯見圖4
圖4SN75176A内部邏輯圖
MAX485内部邏輯見圖5
圖5MAX485内部邏輯圖
由圖4和圖5可見,内部邏輯大體類似。
UART轉485電路如圖6所示:接口做了防靜電處理,靜電等級空氣8kV,接觸6kV,對應的自恢複保險絲能夠起到良好的保護作用。
圖5UART轉RS485
3.1.2TF卡
考慮到後期會用到脫機工作的需求,所以可以将程序保存在TF卡裡,MCU通過SPI的通信方式将命令讀取來執行相關的動作。TF卡如圖6所示
圖6TF卡引腳說明
其電路如圖7所示,工作電壓是3.3V
圖7TF卡SPI通信方式
3.1.3BOOT選擇啟動方式
BOOT的啟動方式有用戶閃存,ISP下載以及内部的RAM,通過BOOT0置零和置1來選擇對應的啟動方式,具體見圖8所示:
圖8 BOOT啟動方式的選擇
3.1.4MicroUSB接口
通過該接口可以和上位機進行通信,收發命令。接口防靜電采用了TPD2E001DZDR通過它可以有效地抑制靜電幹擾,保護了後級主控MCU。電路如圖9所示:
圖9Micro USB接口
3.1.5DC TO DC
該主控器是采用了外部适配器供電,适配器規格為AC220V TO DC24V2.5A,該MCU的工作電壓為3.3V,SN75176A的工作電壓為5.0V,所以先将24V通過AP1509穩壓出5V,然後見5V通過LDO穩壓出3.3V,具體如圖10所示:
圖10 DC TO DC
3.1.6下載接口
該MCU具有兩種下載接口模式,分别為JTAG和SWD,為了操作簡便,使用起來更加便利,因而采用了SWD的方式,SWD下載線的定義為:VCC,SWDIO,SWCLK,GND。具體如圖11所示:
圖11 SWD下載接口
3.1.7複位電路
該複位電路是在關鍵時刻能起到複位作用,通過按下按鍵,複位口檢測到低電平,然後觸發MCU進行複位操作,電路具體如圖12所示:
圖12複位電路
3.1.8指示燈
該指示燈可以通過程序來控制燈的亮滅,從而知道程序是否有響應等等,其狀态可以自由定義,很便捷。具體如圖13所示:
圖13指示燈
3.2中繼器
中繼器的功能主要是将一路485分成8路485輸出,保證其每一路的輸出能力,能夠将承載的設備最大化。
圖14 一路分多路輸出
在輸入口通過SN75176A識别485接口,然後轉換成串口來發送信号,其供電方式是采用了AP1509,其最大輸出電流可達2A,完全滿足要求,具體如圖15所示:
圖15 分路供電
在接收到分路信号後,需要通過光耦進行隔離處理,然後再通過SN75176A轉換出485電器接口,總共有8路輸出,單路兩路如圖16所示:
圖16 兩路485接口
為了保證每兩路都有足夠的工作電流,而不浪費資源,采用AP1509能夠足夠的提供每兩路的工作電流,具體電路如圖17所示:
圖17 每兩路供電部分
3.3驅動器
驅動器的功能主要是驅動步進電機的正轉,反轉,轉動角度,速度調節等。
3.3.1 主控MCU
該MCU采用的和主控器上的是一樣的,方便後期物料管理方便,詳細參數就不一一羅列,具體可見圖18所示:
圖18 驅動器主MCU STM32F103CB
3.3.2 驅動電路
該步進電機驅動采用的是TI 的DRV8825,其工作電壓範圍:8.2V~45V,最大可達2.5A的驅動能力,在步進電機驅動控制方面應用比較廣,可以達到32細分。電路圖如圖19所示
圖19 步進電機驅動
細分模式選擇如圖20所示:
圖20 細分模式選擇
3.3.4 RS485轉UART
RS485通過SN75176A轉換成UART,把數據發給MCU來做處理。如圖21所示:
圖21 RS485轉UART
3.3.5 DC TO DC
該驅動器采用獨立的适配器供電,電源是AC220V~DV24V2.5A,穩壓方式和主控器是一樣,具體如圖22所示:
圖22 DC TO DC電路
3.3.6 BOOT啟動方式選擇
BOOT通過選擇0或1來切換啟動方式,具體如圖23所示:
圖23 BOOT啟動方式選擇
4軟件部分4.1客戶端
客戶端隻要是将圖片的灰階度轉換成對應的ID和數據,然後通過USB接口傳送到主控器,經過主控器識别解碼後,再生成DMX512的數據格式來通訊。在客戶端的圖片采集其每個對應的ID的圖片值,也就是灰度值,通過灰度值來确定電機要轉的圈數。舉例如圖24所示:
圖24 舉例圖
灰度色值表如圖25所示:
圖25 灰度色值
4.2協議
DMX 是Digital MultipleX 的縮寫,意為多路數字傳輸(具有512條信息的數字多路複用”)。DMX512控制協議是美國舞台燈光協會(usITT)于1990年發布的燈光控制器與燈具設備進行數據傳輸的工業标準,全稱是USITTDMX512(1990);DMX512 在其物理層采用EIA-485差分信号,結合可變尺寸,基于分組的通信協議。它是單向的。DMX512不包含自動錯誤檢查和糾正功能,因此不适用于危險應用,如煙火或舞台裝置的移動。電磁幹擾,靜電放電,不正确的電纜端接,電纜過長或電纜質量都可能造成虛假觸發,但是在連接控制器(如照明控制台)與調光器和特效設備等都有廣泛應用。
4.2.1 DMX512指令幀介紹
每一個DMX 控制字節叫做一個指令幀,稱作一個控制通道,可以控制燈光設備的一個或幾個功能。一個DMX 指令幀由1個開始位(S)、8個數據位(D0-D8)和2個結束位(E)共11位構成,采用單向異步串行傳輸,如圖26所示。
圖26 DMX512 定時程序的幀結構(上圖)和信息包結構
圖26 中虛線内控制指令中的S 為開始位,寬度為一個比特,是受控燈具準備接收并解碼控制數據的開始标志;E為結束位,寬度為兩個比特,表示一個指令幀的結束;D0~ D7為8 位控制數據,其電平組合從00000000一11111111 共有256個狀态(對應十進制數的0~255),控制燈光的亮度時,可産生256個亮度等級,0000~ (0)對應燈光最暗,11111111(255)對應燈光最亮。DMX512指令的位寬(每比特寬度)是4 us,每一個指令幀11位,故指令幀寬度為44 us,傳輸速率為1/44us = 250kbps。
4.2.2 DMX512信息包
一個完整的DMX512信息包(Packet)由一個MTBP位、一個Break 位、一個MAB位、一個SC 和512個數據幀構成,如圖27所示:
圖27 數據幀
MTBP(MarkTimeBetween Packets)标志着一個完整的信息包發送完畢,是下一個信息包即将開始的“空閑位”,高電平有效。Break為中斷位,對應一個信息包結束後的程序複位階段,寬度不少于兩個幀(22 比特)。程序複位結束後應發送控制數據,MAB位,由于每一個數據幀的第一位(即開始位)為低電平,所以必須用一個高電平脈沖間隔前後兩個低電平脈沖,這個起間隔、分離作用的高電平脈沖即MAB(MarkAfter Break),此脈沖一到,意味着“新一輪”的控制又開始了。
SC(StartCode)意為開始代碼幀(圖1中的第0幀),和此後到來的數據幀一樣,也是由11 位構成,除最後的兩個高電平的結束位之外,其他9位全部是低電平,通常将其叫做第0 幀或第0通道(Channel No 0),可理解為一個不存在的通道(NonexistentChanne1)。
表2 DMX512 信息包定時表
表2 是DMX512 信息包的定時表,表中NS意為自己設定,寬度沒有嚴格限制,由程序設計者自行決定,比如MTBP的寬度可以介于0~1秒之間,其他建議采用典型值。控制台每發送一個信息包,可以對全部512個受控通道形成一次全面的控制。發送一個信息包的時間大約是23 ms,每秒鐘将對所有512個受控通道完成44 次控制,即受控光路的刷新頻率44 Hz,如果實際受控通道少于512個,那麼刷新頻率将相應提高。
5 軟件流程圖軟件流程如圖28所示:
以上所說的硬件主要包括主控器,中繼器和驅動器,主控器主要是起到主機的作用,中繼器主要起到中繼的作用,驅動器主要起到驅動電機的作用。
原标題:多點矩陣控制系統
原作者:eyesee2008
本文為21ic有獎征文作品,詳情請見21ic論壇活動專區:第二屆萬元紅包——藍V達人有獎征文活動,如果您也有興趣參與征文,歡迎進入論壇參與活動~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!