2014年12月4日 星期四

JMDM-COM10MR繼電器使用心得

上淘寶買了 10路繼電器輸出模塊 負載220V25A 串口通訊 串口控制器(JMDM-COM10MR,深圳市精敏数字机器有限公司)
内含:
JMDM-COM10MR 繼電器
12V電源適配器(可選24V) - 紅接1 黑接3
RS232 傳輸線 ( 要接USB需另買RS232轉USB傳輸線 )

共有10路輸出:
背面
側面(紅色數字為第幾號開關)
側面 (紅色數字為第幾號開關)
Linux控制方式:
事前設定:( /dev/ttyUSB0非唯一,依你繼電器插入後linux所抓到的device,可能是/dev/ttyUSBx )
# stty -F /dev/ttyUSB0 raw speed 9600 -crtscts cs8 -parenb -cstopb
# chmod 777 /dev/ttyUSB0
接收:
# cat /dev/ttyUSB0

查詢:
# echo -en 'O(00,40,1)E' > /dev/ttyUSB0 # 命令控制器返回第 1 路~第 10 路数据
OA(00,0000000000)E  # cat /dev/ttyUSB0收到的結果

控制:控制成功繼電器會發出開關的聲音,可用萬用表測有沒有迴路,中間和左邊兩個有通為0關閉,中間和右邊兩個有通為1打開)
# echo -en 'O(00,00,1)E' > /dev/ttyUSB0 # 所有继电器输出全開
OA(00,1111111111)E  # 用'O(00,40,1)E'查詢,在cat /dev/ttyUSB0收到的結果
# echo -en 'O(00,00,0)E' > /dev/ttyUSB0 # 所有继电器输出全關
OA(00,0000000000)E  # 用'O(00,40,1)E'查詢,在cat /dev/ttyUSB0收到的結果
# echo -en 'O(00,01,1)E' > /dev/ttyUSB0 # 第 1路继电器输出"开启"
OA(00,1000000000)E  # 用'O(00,40,1)E'查詢,在cat /dev/ttyUSB0收到的結果
# echo -en 'O(00,01,0)E' > /dev/ttyUSB0 # 第 1路继电器输出"關閉"
OA(00,0000000000)E  # 用'O(00,40,1)E'查詢,在cat /dev/ttyUSB0收到的結果
# echo -en 'O(00,02,1)E' > /dev/ttyUSB0 # 第 2路继电器输出"开启"
OA(00,0100000000)E  # 用'O(00,40,1)E'查詢,在cat /dev/ttyUSB0收到的結果
# echo -en 'O(00,02,0)E' > /dev/ttyUSB0 # 第 2路继电器输出"關閉"
OA(00,0100000000)E  # 用'O(00,40,1)E'查詢,在cat /dev/ttyUSB0收到的結果

注意:
1. 勿傳送hex,傳送的是字符(ASCII)
2. 淘宝和pdf文档里 关闭指令:O ( 00,N,0)E 开启指令:O ( 00,N,1)E
O ( 00,N,1)E => "(" 前後多了空白 所以没反应... 要把空白去掉,继电器吃到错误的代码不会报错回来

同時先關再開某個output(同時送兩個指令)到繼電器:
# echo -en 'O(00,00,0)E O(00,01,1)E' > /dev/ttyUSB1 #中間以一個空格隔開,就能同時關閉所有電燈再開某個電燈,而不會為了等serial port而慢一秒亮燈。

Windows(Win7)控制方式:
賣家會提供windows的執行檔(免安裝和安裝板)
安裝板裝好後要另外把他們提供的dll檔放到該目錄下
更新Win 7 的Prolific USB-to-Serial Comm Port 的驅動程式(電腦需連上網路)
( 開始 -> 設備和打印機 -> "未指定"中的Prolific USB-to-Serial Comm Port 右鍵 -> 屬性 -> 硬件 -> 屬性 -> 驅動程序 -> 更新驅動程序 )
設定COM port
開始 -> 設備和打印機 -> "未指定"中的Prolific USB-to-Serial Comm Port 右鍵 -> 屬性 -> 硬件 -> 屬性 -> 端口設置 -> 高級 -> COM端口號選"COM2"
廠商提供的應用程式 通信串口選擇:串口一 ( 注意必須在打開程式時預設選擇串口一,不然報錯後依然跑不動,串口設錯請設定串口後關閉程式重開,勿點擊按鈕讓程式自動關閉 )



沒有留言:

張貼留言