2015年7月20日月曜日

STM32のクロック設定の自動生成


stm32f40xのクロックの設定は「system_stm32f4xx.c」で定義されている。
標準では、外部クロック8MHzが接続されている前提で168MHzで動作するように設定されている。
マウスでは、外部クロックではなく、内部クロック16MHzを使うので、設定を変更する必要がある。
これは普通にやると非常に面倒だ。

そこで、以下のページにあるエクセルファイルを使って自分の環境に即した「system_stm32f4xx.c」を生成する。エクセルのマクロを有効化してGenerateボタンで生成できる。 

STSW-STM32091のページ


マウスの基板にマイコンを実装した。半田ブリッジがないことを目視で確認してから、電源-グランド間の抵抗値がおかしくないことを確認した。具体的には1MΩくらいあれば十分だと思う。

まだLEDを実装していないので、シリアルで通信できることが出来れば良しとする。



ちょっと反省は、プッシュスイッチと、電源用LEDが近すぎた。プログラム書き込みモードにするときに、プッシュスイッチを押しながらスライドスイッチをオンする必要があるのだけれど、プッシュスイッチを押す指でLEDが隠れてしまうのだ。それほど実害はないのだけれど、次回の課題とする。

もうひとつ。今は電源LEDの電流制限抵抗に2.2kΩを使っているのだけれど、まだ値が小さいようで少し明るい。明るいということは、電流を喰っているということなので、もう少し大きくしてもいいかもしれない。10kΩくらいかな?これは、適当にいらない基板で試してみればいいと思う。


電源周りで少し気になる点が。バッテリ駆動なので、電圧が少しずつ下がるのは仕方ないと思うけれど、レギュレータを通した後の電圧も、時間とともに低下するのだ。リポ電池の電圧は約3.8Vで、使って言うレギュレータは入出力間電圧は0.1Vの3.3V出力なので3.3Vは低下しないと思うのだけれど。
使っているレギュレータは秋月で購入したNJM2863F33。


確認したプログラムは以下。


2015年7月13日月曜日

電源部分の実装

ハーフマウス用の基板と部品がそろったので、そろそろ動き始める。
まずは、基板のショートチェック。
電源とグランド間がショートしていないかを、部品の未実装状態で確認する。
日本で作った基板の場合は、ほとんど必要のない作業だけれども、海外の安い基板メーカーで作った場合は自分でチェックしたほうが良い。
もしもショートしていたりしたら、電源つないだ途端に炎上しちゃうだろう。

それと、パターン切れの確認。
細いパターンを中心に行なう。これは目視で適当に。本当はランド間をテスタで導通チェックをしたらいい。


とりあえず、異常はなさそうなので、電源周りの部品を実装して、LEDが点灯するところまで進めた。




一歩でも前に。

2015年7月8日水曜日

ハーフマウス用の基板到着

FusionPCBから基板が届いた。
今週は時間が取れないので、今は見るだけ。見て、見て、妄想する。

いつか迷路を走るときを夢見る。