電子工作始めました。

〜 試作品(動作確認用基板) 〜
<前のページ><次のページ>


4月10日

PICライターキットを組み立てて、
サンプルプログラムの書き込みと、実行用の回路組み立て。で、実行。
うまくいった。

学習用に簡単な回路作って、自分でプログラム作って動かしてみる。・・・動かない。
プログラムを書き換えて動かそうかと、ICソケットからPICを引き抜く。と、
力あまって、飛んで行きました(涙
飛んでいった方向を、探したけれど見つからない。



4月17日
飛んでいったPIC、探しても見つからないので、買いに行く事に。
う〜ん、この1ヶ月、毎週、日本橋に行っている気がします。そんなに近くないんだけど・・・
通販で買った方が安くつくのがわかっていても、お店で買うほうが好きなので。
(しかし、300円弱のものを買うために、交通費3k円っていうのもなぁ)
ついでに、3端子レギュレータも買ってみる。パスコン用のコンデンサも一緒に買ったのに、
レジで、店員さん「レギュレータ用のコンデンサ、サービスでお付けしときます」
・・・って、買ったほうのコンデンサ要らなくなった・・・まあ5円なんで、良いんですけど。

さて、
先週書き換えたプログラム書き込んで動かそうかと、もう一度回路を確認すると・・・
電源繋ぎ間違っていました。そら、動かないは・・・。
回路修正して、PICに書き込んで、実行。
動きました!!

動かしたプログラムは、内蔵発信回路使用、内蔵モジュールのPWMでLEDの明るさ制御。
の2点をテストして、学習しようと思ったもの。

LEDが、じわっと明るくなってゆきましたよ。

テスト回路

1つ問題が発覚、今回使用しようと思っていたPIC16F628Aが、私の持っているPICライターに対応していなかった(笑
書き込みができるが、上書きができない。ワンタイム品なのかと、デターシートを見ると、flash ramになってるし、少し悩みました。
バージョンアップ用の基盤を増設すれば対応するようで、一安心。別の型番のPIC使うと言う手もありますが。


一般的な16F84Aではなく、16F628Aを使用しようとした理由は、84では、ポートの数が1つ足りないことにありまして
7セグデコーダ使おうかとか思っていたのですが、628なら内部クロック使えるんで、その分足がI/Oポートに使えるし部品も少なくなり一石二鳥
ついでに、ソフトウェア制御しようと思っていたPWMもハード的に付いてますし。しかも、なぜか84Aより安い


ともあれ、今作ろうとしているものに必要な要素は、全てクリアーできました。

(追記:えっ。なぜ、PIC16F88を選択しなかったのかって?それはこの時、存在を知らなかったんですよ。)

4月21日
基板
とりあえず、回路 決めました。基板への部品の配置は、こんな感じでいけるかなあと並べてみました。(配線はしていません)
配線が厄介なので、ダイナミック点灯用に結線された5桁の7セグ使っています。欠点はちょっと高い事(涙。
3端子レギュレータは、最大容量300mAの78N05に変更。
ICソケットに、PICが入ります。制御は、プログラムでしますんで、7セグのダイナミック点灯+LED1個(写真には、配置していないです)
だけで構成できました。あと、スイッチが入ります。当初、思っていたよりも単純な回路になりました。
トランジスタは、試行錯誤で並べたので、足がぐにゃぐにゃです(笑。
こんな曲げ方ありなのかなあ?とか思いながら強引に配置しています。

この部分は、トランジスタアレイにした方が、すっきりしますね。(コストは上がりますが・・・)。

やればできるもんですね。

あとは、プログラムを組むだけです。




いや、違った、フィギュア部分を造らないといけないんでした(笑




4月24日
さて、今週は、使用しようと思っていたチップが、持っているライターで対応していなかったので、
ライターのバージョンアップキットを購入。製作。ヘッダピンをはんだ付けするだけのキット・・・って、
パターンがむちゃくちゃ細かくて、はんだごて届かないんですけど・・・。悪戦苦闘の末、何とか完成。

**

というわけで、ライターもできたのでソフトを造りはじめるが、ハードの構成は決めたものの、
接続するポートとか細かなところを決めていなかったので、ポートの割り当てを確実にするために、ハードを先に組み立てる事にする。
悪戦苦闘の末、何とか完成。ハードの動作確認用に、ソフトの骨格部分だけ組んでみる。
動かしてみる・・・。表示が変・・・。でも、何か表示されてるってことは、基本的には間違ってないってことで、
ソフトを確認・・・・。何度も修正と実行を繰り返し、ようやく原因発見。
あうっ・・・16進数で指定しておきながら、0x09の次を0x10にしていた。(正しくは0x0a)
まあ、良くある事ってことで。今度こそいけるかと思いきや、やっぱり、おかしい。
ポートRA5に接続されているセグメントが点灯しない。
データシートを確認してみる・・・。あっRA5は、入力ポートのみになっている。気が付かなかった。
別のポートに繋ぐ必要があるわけだが、ポートAはあと、RA4しかあいていない。RA4は、電源に繋がっていないのでプルアップしないといけないとある。
正直、よくわからない。ポートBに持っていってもいいが、プログラムする事を考えると、1つだけポートbに持ってくるのは、効率悪い。
かといって、いまさら、ポートAとポートB入れ替えるのも結構大変だ。
というわけで、今の試作品は、RA4をプルアップして使う事に。
最終的には、BとAを入れ替えると思う。(プログラムの変更がややこしくなりそうだが)

というわけで、何とか完成した試作品。今日の日付を表示させてみました。
あ、そうそう、トランジスタが並んでいた部分、トランジスタアレイにしました。あと、LED追加。
ソフト側は、あとタイマでカウントアップさせるルーチンを組み込めば完成。

基板
後一桁ほしいなぁ(ニヤリ。
一応、テスト動作用に使ったリスト。タブの変換が上手くいかなかったので、画像ファイルでスマン。
リスト
注)ハードの動作確認用に組んだもので、細かな点で数箇所、間違っています。

2005年4月27日
先のプログラムに、カウントアップ部分を試行錯誤の上組み込む。
おかしい、・・・100倍ぐらいのスピードでカウントアップしていく。
タイマの設定か内部クロックの設定がおかしいんだろうなあと。

参考書を参考に作っていたので、個別のPICでは仕様が違うのかもと、データ−シートを見ると、
やっぱり、内部クロックの値が思っていたものと違った。
32.15kHZで動かすつもりが、4MHzで動いているようだ。


2005年4月28日
内部クロックについては、データ−シートに、仕様が変わっていますよ〜って旨が書かれていた。
内部クロックは、48kHzと4MHzが使用できるようだ。プログラムの構成要素の大半が、ウェイト
であるので、48kHzを使用して、プログラムしてみたが、微妙に(1割程度)カウントが速い。
内部クロックにそんなに精度がないのはわかっていたが、調整できるようにすべきか、このまま行くか、
外部クロックつけるか。そもそも、1秒1カウントにする必要もないんですよね?

ここでデータ−シートを見ると、+15% -20%程度の誤差はあるらしい。
4MHzモードだと、もう少し誤差は少ないみたい。

なんしか、この間から「動かない → データ−シート見る」を繰り返しているような・・・。
おもわず、先に見ておけよと、自分で突っ込みを入れてしまった。
データ−シートは、メーカーサイトで公開されているんだけれども、PDFで180ページあるんで、先に目を通す気にならないんですね(笑。

<閑話休題>
4MHzモードにした方が、表示のちらつきも減らせて良いでしょうけど・・・・
一番低いクロック選択するのは、消費電力抑えるため云々より、私の性格ですね。


2005年4月29日
ためしに、内部クロックの4MHzを使用して、プログラムを改変してみる。
手持ちの時計との誤差は、1%位。時計としては誤差は大きいが、許容範囲か?

触ってると、ハードも、ソフトも、どんどんいじりたくなってくるので、
ひとまず、このあたりで、試作基板は、完成という事にしておきます。

さて、ケース(?)の方も造り始めましょうか。


<前のページ><次のページ>

トップページに戻る

Copyright ©Sukiyaki Workshop  2001-2005  All rights reserved.