fc2ブログ

Latest Entries

CPUの創りかた TD4 を作る(基板組立、部品)

 4bit CPUで使用する基板が中国から着荷したので、部品を実装しました。
 自分でCPUを創る電子工作の楽しさを多くの人と分かち合うため、プリント基板の頒布をしています。

 着荷した基板 CPU基板160x100mm ROM基板100x100mm
  20210920_082341133_iOS.jpg

 CPU基板の組み立て後
  20210920_121712431_iOS.jpg

 ROM基板の組み立て後
  20210920_124458962_iOS.jpg

【回路図】
 本と異なる点、アレンジ内容の詳細は本ブログの過去記事を参照ください。
  CPU基板
   回路図(pdf):https://web.nucky.jp/td4/CPU-Board.pdf
  ROM基板
   回路図(pdf):https://web.nucky.jp/td4/ROM-Board.pdf

【頒布基板の注意点】
・ACアダプタは5Vの安定化されたものを使用してください。
 電源回路は省略していますので、5V以外のACアダプタを接続するとIC類が壊れます。
・電子ブザーの取付
 基板に+、-の記載がありません。上側が+です。
 また、ブザーの足間隔7.5mmに対し、基板の穴間隔5mmとなっています。
 このため、足を一度内側に曲げ、再び真っすぐに戻して実装します。
 (少し基板から浮き上がります。)
  2021.10.20追記 基板Rev.Bにて改版し改善しました。
 (+のシルク追加、穴間隔7.5mmに修正済)
・74HC161のLD表示
 負論理のためアクセス時、LEDが滅灯する仕様です。
 2021.10.20追記 基板Rev.Bにて改版し、アクセス時点灯に変更済。
・無極性電解コンデンサ(C3)のシルク
 基板のシルク印刷に+がありますが、部品が無極性なので、無視してください。
・CN2ピンソケットの足を90度曲げてから実装してください。
  曲げる際に足が折れやすいので注意してください。金属疲労で簡単に折れます。折れてしまったら、位置を合わせてはんだ付けして直す手もあります。
 (作者は曲げ済の6Pと10Pのコネクタを削って隣接させる荒業でしたが上記のほうがカンタンに製作できます。)

【使用部品リスト】
 主に秋月電子で購入できる部品を中心に製作しています。

 PartsCabi.net(秋月電子の通販カートに必要部品を一度に入れられます。)
  https://partscabi.net/list/378e5f1c-158e-4c94-9d4c-3aa6b04cff6d
  (抵抗など1袋で複数個数で販売されている商品がありますので注意ください)

 秋月電子の通販品番を参考に記載しておきますが、LEDの色や、スイッチの色などは、ご自分の好みに合わせて部品をアレンジしてみてください。

 2021.10.20追記 一部のロジックICは秋月電子では取り扱いがないため、別の店舗等で調達が必要でしたが、プリント基板と一緒に頒布するようにしました。

 2022.2.14追記 秋月電子で74HC153が入手不可となったため、頒布品に追加しました。

 2023.11.8追記 ※秋月電子の品切れや購入数量制限に伴い部品表更新(同等品を再指定)

<CPU基板部品表>2023.11.8更新
部品番号 種類 仕様 個数 秋月品番
BZ 電子ブザー UDB-05LFPN 1 P-09704
C1 電解コンデンサ 100uF/25V 1 P-17877※
C2,4 電解コンデンサ 10uF/50V 2 P-17897※
C3 無極性電解コンデンサ 10uF 1 P-15102
CN1 DCジャック2.1mm MJ-179P 1 C-00077
CN2 ピンソケット 14P 15mm 1 C-09667
CP1~13 積層セラミックコンデンサ 0.1uF 13 P-15927
IC1 ロジックIC 74HC74 1 I-10879
IC2~5  〃 74HC161 4 頒布
IC6~7  〃 74HC153 2 I-10924 頒布
IC8  〃 74HC32 1 I-12877
IC9  〃 74HC283 1 頒布
IC10  〃 74HC10 1 頒布
IC11  〃 74HC540 1 頒布
IC12  〃 74HC00 1 I-10856
IC13  〃 74HC14 1 I-14054※
JP1~3 ピンヘッダ 2/3P 2.54mm 3 C-00167等
 〃 ジャンパーピン 2.54mm 3 P-03876等
LED1~33 LED 3mm 各色 33 I-11577等※
Q1 トランジスタ 2SC1815 1 I-13491
R1~9,13~19,
R28~49
カーボン抵抗1/4W 2.2kΩ 38 R-25222
R10,21  〃 1KΩ 2 R-25102
R11,22,23,24  〃 100KΩ 4 R-25104
R12,27  〃 100Ω 2 R-25101
R20  〃 10kΩ 1 R-25103
R25  〃 3.3kΩ 1 R-25332
R26  〃 33kΩ 1 R-25333
SW1 基板用トグルスイッチ 1回路2接点 1 P-02399
SW2 DIPスイッチ 4P 1 P-00586
SW18,19 タクトスイッチ 各色 2 P-03651等
ICソケット 14P 5 P-00006
 〃 16P 7 P-00007
 〃 20P 1 P-00009
スペーサー MPS-08-0 4 P-10090
ACアダプタ 5V 2A 1 M-11996等

<ROM基板部品表>2023.11.8更新
部品番号 種類 仕様 個数 秋月品番
C1,2 積層セラミック
コンデンサ
0.1uF 2 P-15927
C3 電解コンデンサ 100uF/25V 1 P-17877
DN0~15 ダイオードアレイ CE880 16 I-15458
IC1,2 ロジックIC 74HC138 2 I-10013
JP1 ピンヘッダL型 40P 1 C-01627
LED0~15 LED 3mm 各色 16 I-11577等※
R0~15 カーボン抵抗1/4W 2.2kΩ 16 R-25222
RN1 集合抵抗 8素子 10kΩ 1 R-11910
S0~15 DIPスイッチ 8P 16 P-00587
ICソケット 16P 2 P-00007
スペーサー MPS-08-0 4 P-10090

【動作の様子】

 製作した基板を動作させた様子をYoutubeにアップしています。






入手可能な PIC12LF1840 で ワンコインデコーダ を作る

2023.4.17追記 PIC12F1822の在庫は復活したようです。

2023.4.3追記 ポイント用ソフトを更新しました。特定環境下で動作しない問題を解決しました。

(Config2 のBORV設定を高にすると動作しないことがあったので低に設定しなおしました。)


==============

 秋月電子にて、現時点で入手可能な「PIC12LF1840」で「ワンコインデコーダ」を作る記事です。


 注意点がありますので、チャレンジされる方はよくお読みください。

 ※初心者の方にはお勧めしません。

 ※ワンコインデコーダの製作経験者、もしくは、電子工作に精通されている方向けです。


世界的な半導体不足のあおりを受けて、秋月電子で取り扱いのフラットパッケージのPICマイコンの在庫が壊滅的な状況です。

 唯一、在庫がある「PIC12LF1840」を使用してワンコインデコーダを作るための方法を解説します。



 いつまで、在庫があるかわかりませんが、PIC12F1822の在庫が復活するまで、なんとか凌ぎたいものです。


 さて、PIC12LF1840PIC12F1822と違いがあります。それは低電圧版ということです。つまり、電源に5Vを使用するとマイコンが壊れます。

 このため、組み立ての際、3端子レギュレータは「NJM78L33SU3」などの3.3Vタイプを使用してください。


 従って、電圧調整機能がないライター(例:スマイルライターコンボTypeP)を使用して書き込みしようとすると壊れますので注意してください。書き込みには純正もしくはジェネリックのpickit2や3,4を用います。SNAPは電源供給機能がないので使えません。



 33157693_iOS.jpg


 上記理由から、書き込みアダプタのUSB電源供給は禁止です。これはUSB電源が5Vであることが理由です。


 ソフトは12F1822と12F1840はレジスタ構造は同じでプログラム容量は2倍ありますので容易に移植できます。そして、その低電圧版がLF1840ということになります。


 12LF1840版としてアセンブルしたHEXファイルを置いておきます。

   (機械的に変換したのみのため、不具合などあればメールください。)








 Pickit3でIPEを使用して書き込みをする手順です。通常版の手順もよく読んで、このページとの差分をよく理解してください。


 IPEを起動したら、Advanceモードに切り替えます。



 2022-09-07 (1)



 「Mid-Range...」を選択し、使用するマイコンを「PIC12LF1840」を指定。「Apply」します。

 そして、使用するツール「pickit3」などを選択して「Connect」します。




 2022-09-07 (2)


 pickitのPower設定で、pickitから電源供給するためのチェックボックスをチェックして、

 電圧値を確認します。3.25V程度が良いでしょう。



 「Operate」の画面に戻って、LF版のHEXファイルを読み込んで「Prpgram」を押下して書き込みます。



 Pickit2の場合の注意点は以下のような感じとなります。


 2022-09-07 (3)


 マイコンをアダプタに刺した状態で起動すると「PIC12LF1840」を認識します。

 VDD PICKIT2の項目で、3.3Vに設定し、電源のチェックボックスをチェックします。


 LF版のHEXファイルを読み込んで書き込みします。


 モータドライバのTB67H450FNGは2.0-5.5Vの入力に対応しているため、5V版PIC使用時と大差はないと思います。


 ファンクションの出力を直接使用する場合は3.3V出力となりますので、直接白色LEDなどの点灯はVf電圧の関係で厳しいとおもいます。トランジスタなどの外付け回路を使用を検討してください。


 このあたりは各ユーザーさまで工夫していただけると幸いです。

Windows11にPickit2 Programmerをインストールする

 PCを買い替えた際に、Windows11にPICkit2 Programmerをインストールしようとしたのですが、Windows10と同様に途中で止まってうまくインストールできなかったので、やり方を備忘録としてUPしておきます。

 Windows11は、必要な.Net Frameworkが標準でインストールされていないのですが、従前のように同梱版をインストールしてもダメです。

 Windows11の設定を変更する必要があります。

 「スタート」>「設定」を開き、「オプション機能」を選びます。
 2022-06-05 (1)

 「Windowsのその他の機能」を選びます。
 2022-06-05 (2)

 目的の「.Net Framework 3.5。。。」にチェックを入れて「OK」
 2022-06-05 (4)

 「。。自動でダウンロード」を選択します。
 2022-06-05 (5)

 2022-06-05 (6)  

 2022-06-05 (7)

 しばらくすると完了するので「閉じる」で抜けます。 
 2022-06-05 (8)

 これで、PICkit2 Programmerをインストールする準備ができました。

 この後、.Net Programmer同梱していない版を無事インストールできます。



s88N Train Detecor と Auto Reverse Contoroller の接続

 デジタル鉄道模型フォーラムに題記のご質問がありましたので説明図を描いてみました。

 リバース区間はご存じのとおり、左右レールの極性が転極する区間です。

 転極しない区間と、転極する区間では、s88N Train Detector を共用出来ないので、図(1)のとおり、Auto Reverse Controller の下流は検知外区間として設置します。

arc-rev-con1.png



 転極区間においても在線検知をさせたい場合は、図(2)のとおり、転極区間用のs88N Train Detecotorを専用で設けます。

 Auto Reverse Controller の下流にはポイントマシン等の電流を消費するものを接続できないのですが、s88N Train Detecotorは電流を消費しませんので接続可能です。

(s88N Train Detecotorの動作電流はs88にて供給されます。また、s88回路と線路電源回路はフォトカプラにより電気的に絶縁されていますので転極の影響を受けません。)
arc-rev-con2.png


※Auto Reverse Controllerはいずれの場合も転極機能がある「リバース出力」を用います。


「踏切制御ユニット基板」の使い方

「踏切制御ユニット基板」の使い方について解説したいと思います。


【基板の説明】
usaga.png
在線検知センサーを入力する端子は(1)~(3)があります。
使用するセンサー、動作モードに合わせて使用してください。


【複線 点制御モード】
ctrl-con1.png
 下り線の場合、始動点Aを踏むと踏切が鳴動開始します。
 終止点Bを踏み、列車の最後部が通過すると、警報を停止します。

 上り線の場合、始動点Cを踏むと踏切が鳴動開始します。
 終止点Dを踏み、列車の最後部が通過すると、警報を停止します。

 下り線を逆走した際は、終止点Bを踏むと鳴動しますが、Bを抜けると鳴動停止します。
 その後、Aを踏むと鳴動開始しましが、終止点を踏まないので鳴動持続となります。
 (上り線の逆走も考え方は同じです。)
 この場合、タイマー復帰設定が有効の場合、一定時間経過後、鳴動を停止します。
 RESETスイッチを押しても鳴動を停止できます。

 警報区間に2列車以上在線させると正しく動作できず、1列車目が通過した際に鳴動を停止し、2列車目は無警報となります。始動点増やして並列に接続することで対応できますが、模型の場合、警報区間は概ね短いため「続行対策」は省略しています。

【複線 連続モード】
ctrl-con2.png

 下り線はATを踏んでいる間、警報をします。ATを抜けると警報停止します。
 s88の在線検知の場合、電流を消費する車両の検知をしますので、貨車等で電流消費しない車両の場合、列車の最後部検知が出来ないことを注意してください。(在線検知の仕様です。)
 BTの接続も可能ですが、この例では省略しています。

 上り線はCT又はDTを踏んでいる間、警報をします。DTを抜けると警報停止します。
 上り線は警報区間の途中に信号機を設置したいため、検知区間を分ける必要がある例を示しています。

 連続方式の場合、逆走しても警報持続にはなりません。(警報区間から列車が進出すると鳴動停止します。)

【単線 点制御モード】
ctrl-con3.png
 下り列車の場合、Bを踏んで警報開始します。Cを踏み、進出すると警報を停止します。この際、抜け側始動点Dのマスク処理を開始します。Dを踏んでもマスク中となっているため、警報しません。Dを抜けるとマスクを解除して、上り列車に備えます。

 上り列車の場合、Dを踏んで警報開始します。Cを踏み、進出すると警報を停止します。この際、抜け側始動点Bのマスク処理を開始します。Bを踏んでもマスク中となっているため、警報しません。Bを抜けるとマスクを解除して、下り列車に備えます。

 センサーの不検知、列車の途中折返し等があると警報持続したり、マスク中が継続したりと、動作が不正となるため、タイマー復帰モードが有効の場合は、一定時間で鳴動を停止してマスク処理を解除するようにしています。
(ある意味、強制的に鳴動停止させる危険な機能ですが、模型なので、警報持続も興ざめなところがあるのであえて機能実装しています。)
 警報区間中に駅があり、長時間停車する環境の場合、機能を停止させてください。

<注意点>
 B,Dを同時に跨るような長編成は正常に動作できません。(正確にはBの進出確定に2秒経過させていますが、その間にDを踏むとダメです。)
 動作がおかしい場合、短編成を、スケール速度で走らせてみてください。改善することが多いです。
 実物は、最低でも設計警報時間が29秒程度あるため、65km/hの線区でも警報距離は530m程度確保する必要があります。65km/hのローカル線に500mを超える列車は走行していません。130km/hの線区であれば同様に1050m程度となるため、なが~い貨物列車でも問題ありません。

【単線 連続制御モード】
ctrl-con4.png
 下り列車の場合、ATを踏んで警報開始します。ATとBTを跨った際にBT側のマスク処理を開始します。ATを抜けると警報停止します。BT進行中はマスク処理が継続されます。BTを抜けるとマスクが解除されて、次の上り列車に備えます。

 上り列車の場合、BTを踏んで警報開始します。BTとATを跨った際にAT側のマスク処理を開始します。BTを抜けると警報停止します。AT進行中はマスク処理が継続されます。ATを抜けるとマスクが解除されて、次の上り列車に備えます。

 連続制御のため、途中折返し等で列車が警報区間からいなくなると警報を停止します。(点制御のような鳴動持続にはなりません。)




Appendix

カレンダー

10 | 2023/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -

プロフィール

nucky

Author:nucky
Web Nucky Blogへようこそ!

検索フォーム