スポンサーリンク
公開日 2018年2月9日 最終更新日 2018年2月9日 by JE2UFF_Toshi
前回の続きで電源制御部の検討をしました。前回からの変化点としては、SSPA側で何かトラブルが発生した時、例えば過電流とか高温とかでアラームが出ると、その信号を受けてPre電源以外を切る部分を追加しました。
追加したって威張るほどじゃなく、数行追加で終わりと言う簡単なもの。
// SSPA Power supply control program
// v1.1 9.FEB.2018
const int PRE_LED = 3;
const int PWR_ON = 4;
const int SSR1 = 6;
const int SSR2 = 7;
const int PWR_LED = 9;
const int ALARM = 10;
const int ALM_LED = 11;
int val = 0;
int alm = 0;
void setup() {
pinMode(PRE_LED, OUTPUT);
pinMode(PWR_ON, INPUT);
pinMode(SSR1, OUTPUT);
pinMode(SSR2, OUTPUT);
pinMode(PWR_LED, OUTPUT);
pinMode(ALARM, INPUT);
pinMode(ALM_LED, OUTPUT);
digitalWrite(PRE_LED, HIGH); // PRE PWR (+5V) LED on
}
void loop() {
// Waiting SSPA PWR SW ON
val = digitalRead(PWR_ON); // SSPA PWR SW condition check
if ( val == HIGH ) {
SSR_ON; // AC into each PSU
} else {
SSR_OFF; // wait AC
}
alm = digitalRead(ALARM); // ALARM input check
if (alm == HIGH) {
SSR_OFF; // POWER CUT
digitalWrite(ALM_LED,HIGH);
}
}
// SSR ON process
void SSR_ON(void) {
digitalWrite(SSR1, HIGH); // Main AC connect to PSU
delay(1500); // Wait 1.5s
digitalWrite(SSR2, HIGH); // 突入電流保護抵抗バイパス
digitalWrite(PWR_LED, HIGH);// Main PWR LED on
}
// SSR OFF process
void SSR_OFF(){
digitalWrite(SSR1, LOW);
digitalWrite(SSR2, LOW);
digitalWrite(PWR_LED, LOW);
}
いちようコンパイルではエラー無し。アキバに行って、SSRとかの部品を買いに行って実験でもはじめるかなぁ。
ABOUT ME
スポンサーリンク
スポンサーリンク