1/3、荷物が入荷した。

注文の追跡では処理がズレていたのに、2つが同梱されていた。なぜ?


まず、

USBリレーモジュール5V4ch

のチェック。2chリレー用に作成したチェックプログラムを4ch用に若干手直しして作成し、

import hid # HIDAPIライブラリ使用/HIDライブラリ使用不可(インストールしてはダメ)
import time

# ATmega8Aは、NotePC不可。リレーのUSB供給電力不足に陥りやすい。
# リレー1個ずつのONは可能だが、2個同時は難しい(Aspire 5742)

# リレーモジュールのVIDとPID
VID1 = 0x16c0 #制御チップAtmel TINY45/ATmega8A
PID1 = 0x05df
# VID2 = 0x0519 #制御チップCH552G
# PID2 = 0x2018

# リレーモジュール2を1よりもWin11に先に認識させると、正常に認識しないことがあり
# 制御チップTINY45とCH552Gでは、左右が逆になるので注意
# リレーモジュール1の制御コマンド
RELAY_ON_CMD11 = [0x00, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00] #制御チップTINY45 右1
RELAY_OFF_CMD11 = [0x00, 0xfd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00]
RELAY_ON_CMD12 = [0x00, 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00] #制御チップTINY45 右2
RELAY_OFF_CMD12 = [0x00, 0xfd, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00]
RELAY_ON_CMD13 = [0x00, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00] #制御チップTINY45 右3
RELAY_OFF_CMD13 = [0x00, 0xfd, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00]
RELAY_ON_CMD14 = [0x00, 0xff, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00] #制御チップTINY45 右4
RELAY_OFF_CMD14 = [0x00, 0xfd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00]
# リレーモジュール2の制御コマンド
# RELAY_ON_CMD21 = [0x00, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] #制御チップCH552G 左1
# RELAY_OFF_CMD21 = [0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
# RELAY_ON_CMD22 = [0x00, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] #制御チップCH552G 左2
# RELAY_OFF_CMD22 = [0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]

# HIDデバイス1を開く
device1 = hid.device() #制御チップTINY45
device1.open(VID1, PID1)
# HIDデバイス2を開く
# device2 = hid.device() #制御チップCH552G
# device2.open(VID2, PID2)

# リレー1をONにする
device1.send_feature_report(RELAY_ON_CMD11) #制御チップTINY45
# device2.write(RELAY_ON_CMD21) #制御チップCH552G
time.sleep(2) # 一時停止2秒
# リレー2をONにする
device1.send_feature_report(RELAY_ON_CMD12) #制御チップTINY45
# device2.write(RELAY_ON_CMD22) #制御チップCH552G
time.sleep(2) # 一時停止2秒
# リレー3をONにする
device1.send_feature_report(RELAY_ON_CMD13) #制御チップTINY45
time.sleep(2) # 一時停止2秒
# リレー4をONにする
device1.send_feature_report(RELAY_ON_CMD14) #制御チップTINY45
time.sleep(2) # 一時停止2秒
# リレー1をOFFにする
device1.send_feature_report(RELAY_OFF_CMD11) #制御チップTINY45
# device2.write(RELAY_OFF_CMD21) #制御チップCH552G
time.sleep(2) # 一時停止2秒
# リレー2をOFFにする
device1.send_feature_report(RELAY_OFF_CMD12) #制御チップTINY45
# device2.write(RELAY_OFF_CMD22) #制御チップCH552G
time.sleep(2) # 一時停止2秒
# リレー3をOFFにする
device1.send_feature_report(RELAY_OFF_CMD13) #制御チップTINY45
time.sleep(2) # 一時停止2秒
# リレー4をOFFにする
device1.send_feature_report(RELAY_OFF_CMD14) #制御チップTINY45
time.sleep(2) # 一時停止2秒

# HIDデバイスを閉じる
device1.close()
# device2.close()

チェックしてみた。

リレー1~4まで2秒間隔でON、次にリレー1~4まで2秒間隔でOFF。

ON/OFFランプは正常に点灯/消灯するが、リレーの切り替わる音が怪しい。

1番は正常にカチカチ、2番は音がしない、3番は切れるときに音がする、4番も切れるときに音がする、ように思える。

検査用のLEDセットにノートパソコンを使用し、LEDを1番と2番、3番と4番のセットで接続、確認してみた。

どうもリレーを駆動する電流が足りて無いようで、LEDがまともに点灯しない。

プログラムを修正して、1番と2番だけ順に点灯させようとすると、正常に動作する。少なくとも2chリレーとしては使用できそうだ。

3番と4番だけ順に点灯させようとすると、3番は点灯するが4番もリレーが入った時点で消灯、4番は点灯せず、3番リレーが切れると4番が点灯するため、まともに動作しない。


USBの片側使用で1A給電が期待できるタワー型パソコンで検証もしたいが、カバーを開けての系統確認が必要なので、また今度。

それとも5Vの補助電源を接続していないと、4chは正常に駆動できないのか?

12Vモデルを買った方が、外部に取り出した12Vを分岐させるだけで楽?

コメント

このブログの人気の投稿