![hi :hi](./images/smilies/5.gif)
分享給大家最近所構想的也當作紀錄一下
廢話不多說,直接進入主題
先說明我的構想功能
利用類比電路、嵌入式晶片8051、arduino與電腦程式完成下列功能
一、功能說明
1.列車自動依照電腦人機介面與程式設定自動改變進路
(預計先設計手動,完善後可以慢慢追加時刻發車等等,照表操課,但硬體要先出來)
2.號誌控制
3.岔道控制
4.列車依照號誌速限行駛
5.有良好的通用性、安排性與維護性(希望可以有模組化的感覺)
二、各別說明
[火車位置迴受]
在板上有看到很多種方法得知火車的位置
最後我想利用的方法是感應電流 (霍爾電流感測IC)
IC約150~200左右一顆
板上也有板友有說明
[微處理晶片部分]
由於盡可能的降低預算,所以預計選用89S51(一片約NT60元),比arduino便宜的多
其他比較簡單的部分就利用邏輯閘、電晶體與繼電器完成電路
"""如有更好的建議也歡迎提出討論"""
非專攻讀電子科系的,可能對於一些電子零件不太熟悉
[自動號誌部分]
目前只規劃支援偵測3個道岔位置(意思是只能偵測前方左中右進路),號誌也分成左中右三個,三個號誌皆是三色號誌(紅黃綠)[或四燈式(紅黃綠黃)],如下圖所示,左顯示左道岔,中顯示直行,右顯示右道岔
由於8051只有4個port可以做為輸出與輸入,而一個port有8個bit所以,4*8=32,所以1顆8051有最多32個輸入輸出腳位,由於想辦法節省預算,所以預計用16個腳位解決上圖顯示的功能,這樣1顆就可以用在單線雙向或是雙線號誌使用。
由於腳位受限於16隻腳位,所以我們要先來想想我們需要擁有那些號誌需要的功能
1.接收前方道岔位置狀態
2.接收火車的位置
3.顯示號誌
4.現在位置 (省電系統,仿台鐵)
5.列車反方向,紅燈顯示
為了讓上面的功能的IO在16隻腳位內完成,所以我們必須作外部簡化,一些可以在外不做的要先完成
A.接收前方道岔狀態 : 這部份比較簡單,就是在道岔供電的地方接一個繼電器或邏輯閘(12V可以用電阻分壓降到5V)
注意 : 注意共地,不然就用繼電器隔離
B.接收火車位置 : 為了節省腳位數,所以我預計利用編碼輸入,先利用邏輯閘編一個簡單的編碼,進入8051之後再利用程式解碼,方法如下所示
上圖使用labview製作截圖並驗證之,左邊為列車位置迴受,1代表第一閉塞區間以此類推,右邊為輸出至8051的編碼
C顯示號誌 : 進入8051後經程式解碼,依照所對應的代碼作相對應的輸出來顯示號誌,而我需要用8051控制的只有紅燈跟黃燈,綠燈則是在完全都沒有紅燈跟黃燈的狀態下才顯示,所以我在外面利用邏輯閘來製作綠燈的顯示,這樣就可以再節省1隻腳位。
而顯示號誌的部分,我利用2隻腳位作紅黃燈的輸出,但會發現這時候是有三個號誌要輸出耶!經過觀察,同一時間其實一次只有一個號誌需要被顯示,所以我的作法是利用下圖來達成
利用兩個輸出腳位來控制繼電器,讓燈號於哪一個號誌顯示(左中右)
這時再利用類似的原理來做其他兩個號誌的紅燈顯示如下圖
(紅燈會於沒有動作的兩個號誌顯示)
最後接至左紅燈、中紅燈、右紅燈
變換為四色燈號模式,速限為下
中速60的意思是,前方岔道過後的號誌為綠燈 (我看文件的解讀)
所以我們必須確定前方是否五個區間是否沒有車輛
利用OR閘來確認前方是否沒有車輛,當沒有車輛就可以顯示中速
問題來了,明明原本只有設計3個燈號輸出,現在要改成四燈式要如何作呢!
由於考慮到四燈式的黃燈會有兩個位置顯示
由且不是中速才在不一樣的位置,所以必須作切換的動作
所以必須偵測前方三個區間是否沒車,如果沒車就會跳到緩速(會由第4顆燈跳到第2顆),所以利用一顆繼電器來作為切換的方式,這時候再利用偵測前方五個區間是否有車,當沒車就可以讓中速燈號啟動,這時利用剛剛的繼電器的常開接點來確保已經切換過去
D省電系統 : 我必須偵測號誌要顯示給駕駛看的那個區間是否有車輛,有車輛就顯示,沒有車輛就經過一段時間後就熄滅燈號 (如果要常態點燈,就接+5即可)
E附加功能 : 當今天要讓列車停車,就在要停車的區間加個邏輯閘即可,讓號誌以為那個區間有車輛,而這部分會經由另外一個8051跟電腦人機介面作連線來下達指令
統計
經以上統計剛好16隻腳位,在範圍內達成功能要求
功能有做出來,如不需要就接地或接常態+5V
這樣比較可以統一化
終端式可以在更加簡化一點,但是這也是適用站場與終端式車站的!
[人機介面]
想利用8051透過TX RX 借由USB的方式來跟電腦程式溝通,利用8051收集必要資訊(列車位置),再利用人機介面下達道岔需開通的方向,再透過8051傳達到外面驅動外部電路達到接換道岔的功能要難道岔與迴授點的數量,大約需要3~4顆8051,用一顆當核心或是並聯再透過預先寫好的溝通方式來進行互相通訊。
[列出速度控制]
我的構想是列出會依照號誌來進行速度上的自動調整,如下表所示
備註 : 要設定的電壓值,須由實驗得知
依照上面把速度分成了5段
控制速度的方式如下
1.繼電器電壓控制 : 在外部將電源先做好,之後利用啟動不一樣的繼電器來達到速控方式。
優點 : 模組間接線簡單,可以有多台火車容量
缺點 : 可能有速度頓頓的感覺
改善 : 加裝電容充放電,但效果要試試看
如果加裝2200uF2的電容+200歐姆,最大電流為60mA,一般馬達啟動約100~200mA,所以不知道可否有幫助。
2.輸出電阻值控制控制器電壓輸出 : 一樣如上圖一樣但由控制器拉一條線來,接回去的是不同的電阻值,來控制控制器依照不一樣的電阻值輸出不一樣的電壓!
缺點 : 很像這樣只能控制一台火車耶! 覺得行不通
3.每個模組的電路板上加裝電壓控制器 : 在每一個模組上都加裝一個小的電壓控制器,可以解決上面路線容量的問題。
缺點 : 成本高了許多,而且在不同供電區間怕有暴衝或停頓的現象出現
備註 : 控制器可以參考版上有板友利用2SD560來製作控制部分
[自動進路] – 需電腦程式控制
須等城市架構與硬體完善後再來慢慢加入此功能,可以由電腦控制進路,就一定可以利用程式自動控制火車行駛。
依照設計正確,電腦只要控制道岔就可以了,其他另外的模組會自我去調整。
三、系統架構
可能還不太了解我所說的架構,所以手繪了一張簡單的系統架構圖,希望對於您的理解是有幫助的!!!
希望大家可以多多提供一些意見
看了一些版友的文章後
所以有了一些想法
利用課餘下班時間
已經想了一個多禮拜了
如有更新再慢慢上傳與大家分享
明天還要上班上課先休息了