■ トピック関連記事
電源シーケンサー完成(おおげさな...) 投稿者:oldman 投稿日:2016/06/04(Sat) 17:05 No.484

何でも質問掲示板の
「MCの主回路用サージ吸収ユニット 投稿者:TR 投稿日:2016/02/27(Sat) 16:41 No.504」
へのレスで ディレイタイマー用の「5V 4ch Relay module」を購入してしまったと書きましたが、やっとディレイタイマー部分が完成しました。
5V電源on-(100mS)-リレー0_ON-(500mS)-リレー1_ON-(500mS)-リレー2_ON-(800mS)-リレー3_ON
のシーケンスを以下のプログラムで動かせました。
(左側の黄色いショートピンは RA2ピンで電源シーケンスを再開させる為のものです)
MainLoop:
LATC = 0x0F;
TIME_LINE = - CHATTER ;
TIMER_E = 0;
TimerLoop:
if (TIMER_E > 0)【
TIMER_E-- ;
if (TIME_LINE <= 30000) 【 TIME_LINE++; 】
if (RA2=1)【 goto MainLoop; 】
if (TIME_LINE > RL3ON) 【 LATC = 0x00; goto TimerLoop; 】
if (TIME_LINE > RL2ON) 【 LATC = 0x08; goto TimerLoop; 】
if (TIME_LINE > RL1ON) 【 LATC = 0x0C; goto TimerLoop; 】
if (TIME_LINE > RL0ON) 【 LATC = 0x0E; goto TimerLoop; 】

goto TimerLoop;

何故 Relay module入手から2カ月も掛かったというと、
Windows10にアップグレードする前に自作パソコン(5年前に組立)をリニューアルすべく、CPU,MoBo,Memを購入してDVDからクリーンインストールしようとしたら最新のMoBoにはIDEが無く、泣く泣くsata接続DVDを追加購入し、やっとWindows10環境を構築できました。
ついでに、PICも最新の物(PIC 16F1823,1825)を購入し、最新の開発環境(MPLAB X IDE v3.30)にするも、所有しているPICkit2が使えない事が判明し、価格が安いAliExpressに(互換)PICkit3を発注して二週間のロスが発生し、やっと動作確認まで辿り着きました^^;

まあ、ワンコイン以下でユニバーサルシーケンサーが作れたので良しとします。

※中括弧がNGみたいなので、'【'と'】'で代用しました...。greater等も全角にしました。

Re: 電源シーケンサー完成(おおげさな...) - oldman   2016/06/05(Sun) 17:24 No.485
昨日は ソースリストの投稿がうまくゆかず、かといって .doc や .xls でのアップはリジェクトされるしで諦めてしまいました。
しかし、簡単に安くシーケンサーが作れるよという事が全然伝わりそうも無いので再チャレンジします。

まずはプログラム(写真・拡大出来ます)ですが、PIC16F1823(\100@秋月)の割込みルーチンが実質5行、メインのロジック部分が25行と非常に小さなプログラムです。
(コンパイル結果も プログラムが193ワード(9%)・データ10バイト(8%)と小さいです)

PIC16F1823の配線も、+5V, GND, RA2, RC0, RC1, RC2, RC3 のみなので、残っていたユニバーサル基板(片面)を小さくカットして Relay moduleの入力ピンに載せてしまっています。

MPLAB- X IDEは( http://www.microchip.com/mplab/mplab-x-ide )からダウンロード出来ます。
今回ゼロから最新の開発環境を構築して、(判れば大した事では無いですが)焦った事は以下です。
1.日本語サイト(www.microchip.com/ja/mplab/mplab-x-ide)からはダウンロード出来ません!
 まあ、単にメンテされていないだけみたいで、英文サイトに行けば問題なしです。
2.プロジェクトのプロパティでコード系を日本語(utf-8など)に設定していないとコメントが文字化けする
 あたり前ですが、英文のままだと苦労して入れた日本語コメントが読めなくなります。
3.デフォルトだとWatchdogタイマーが2秒で勝手に動き出し、プログラムがリスタートします
 WDTCON(ソフト制御)でdisableにしたつもりでも、WDTE = SWDTENとしなければダメです。
 (意図しないパターンで点滅を繰り返されて 数時間悩みました^^;)
4.cの文法を完全に忘れてしまっていた
 #defineとconst intに辿り着くのに手間取ってしまいました。
 (意図した通りに動いており この記述で問題ないでしょう)

...と、PICへのお誘いのメッセージを追加します...

Re: 電源シーケンサー完成(おおげさな...) - Kow   2016/06/08(Wed) 05:52 No.486
oldmanさん、こんにちは!

熱い(!)ご投稿ありがとうございます。

しかしまったく私ついていけていません・・・勉強しますね(汗
処理 記事No 暗証キー

- Joyful Note -