TinyJoypad名刺化奮闘記 No.3(END) -完成。そして反省-


2023年12月31日
前回のあらすじ
Autodesk Fusion360で設計した基板をJLCPCBに発注しました。
年末のごあいさつ
前回記事から約1か月ほど経過してしまいました。
12月は忙しくなることが見えていたので、ニキシー管時計も11月に終わらせたかったものの、結局終わりませんでした。
基板は結構前に来ていたものの、実装をする暇がなく結局年末になってしまいました。
基板着弾
こちらがやってきた基板です。

(もし、この基板をどこかで見かけるようなことがあっても、温かい目で見逃してください)
TinyJoypadベースのものですが、Atmega系列のマイコンを利用できるので、まあまあ拡張性があると思います。
思ったより見た目は綺麗でいいものです。
TinyJoypadのゲームをコンパチする
TinyJoypadは名前にもtinyの文字がある通り、ATtiny85で動作する事を想定したものです。
TinyJoypad公式サイトから出ているゲームはディスプレイ操作用コードをライブラリに委ねていました。
これにより、ディスプレイ用ライブラリの中身を少し弄ればatmega用にすぐ転用できます。これは前回行いました。
ボタンの入力検知も変更はあまり入り組んだものではありませんでした。こちらも前回行っています。
他のゲームも同様にこのあたりを変更すれば容易にatmega用に転用できそうです
ただし、TinyJoypad公式以外の所で入手したプログラミングコードはこの限りではありませんでした。
特に、avrマイコンの特有な割り込み用レジスタを弄るようなコードをatmega用に転用するのは少々手間がかかりました。
基板実装
着脱した基板に各部品を数枚の名刺にはんだ付けして、いざ実行してみます。

動きました。遊ぶこともできます。しかし...

4枚実装したうち、2枚がこのような事態に陥りました。
ブレッドボード上では動くのに基板に移動した途端、チカチカして再起動を繰り返しています。
原因は何か?
さて、問題は何だったのでしょうか。
本来なら、ここでオシロスコープを用いた分析を行うべきですが私の周辺にオシロスコープはありません。(買う資金もない)
というわけで現状の知識から原因を予想します。
まず始めに、この症状は"基板側の問題"であることを確認しました。
マイコン、電池切れ、プログラム、はんだ付けが問題であった訳では無い事の確認です。コンデンサを接続してのノイズ対策も行いました。
考えられる要因として大きいのは、挙動からみて電源です。
電源周りで問題が大きそうなのは2つです
その1: 電池ホルダーの歪み
これは単純に電池ホルダと電池の接触不良によりブレが起こっている可能性です。
一応電池ホルダを手で抑えて動かしては見ましたが、あまり効果が得られなかったため、本命はその2です。
その2: 基盤回路の電源に乗ったノイズ
要するに、電源供給線に問題があったということです。
発注した後に知ったのですが、基盤は慣習的にGNDベタという領域を確保するようです。私はこれを知らず、GND線を通常の配線と同じように引いてしまいました。
GNDは電子の供給ラインなので文字通り生命線になっているはずです。加えて、線をGNDで挟むように配線する事でノイズ対策を行う事もあるようなので、私の配線はノイズに非常に弱くなってしまったと考えられます。
こうなってしまうものはどうしようもありません。実際に動いた基板もあるので、ノイズないし各基板によるブレと考えるのが妥当でしょう。
この記事は備忘録とし、次回の基板制作の糧と致します。
締め
次回基板を発注する際はこれに気をつけて作っていくことにして、本シリーズを締めさせて頂きます。
それでは来年また別のシリーズでお会いしましょう。よいお年を!
飛行物体