kuroの覚え書き

96の個人的覚え書き

PIC

PICライター(2)

PIC

DC-DCコンバータはとりあえずトランジスタを外して回路を簡略化したところ、無事13Vを出せるようになった。やっぱりまずは簡単な回路から始めないといかんなあと思った次第。 で、肝心のライター部分もなんとか配線完了。これでPIC16F819や12F675などの書き…

PICライター

PIC

16f819や12f675の書き換えがJDMライターではうまくいかないので新たなライターを作成する。 http://www.geocities.jp/orange_denshi/ を参考にまず13V生成のためのDCーDCコンバータを作る。 実体配線図を作り、基板を作成したところなぜか13Vは発生せず、18V…

センサー配置換え

PIC

ヨシムラの温度センサーをつかってPICで水温計を作ってきたがふとノーマルのセンサーの配線をうまく使えないかと考え、試行錯誤してみた。現状下図の左のように10オーム抵抗でセンサー入力を分圧しているのだが、右のようにセンサーと抵抗の位置を入れ替えて…

回転数ロガーのローパスフィルタ

PIC

しばらく放置状態であった回転数ロガーに再着手。 とにかくノイズが乗ってしまい4パルスの幅を計測しているのに結構な頻度で3パルスもしくは2パルス分をカウントしてしまっていた。そこでローパスフィルタの抵抗値とコンデンサ容量を振ってみることにした…

RC フィルター

PIC

抵抗とコンデンサからなるBPF --->I In >---[C1]---+----[R2]---+----> Out V | | E [R1] [C2] | | --- --- /// /// 1 fc =

ハードウェアも完成

PIC

PICプログラム、データ解析用エクセルシート、Clie用シリアルケーブルは完成していたが肝心の計測器のハードウェアがブレッドボード上のバラック状態だったので、基板にハンダ付けを行った。 だいたい4cmx5cmくらいのユニバーサル基板上に適当に配置し、ハン…

Palmだけでデータ解析

csvファイルの読み込みができないDocuments-to-Go 6のエクセルシートは改行の入った文字列もセルに分割して代入してくれず、1つのセルにどかんとペースとしてしまうため、折角1行1データのデータをシリアル転送しても計算式に一括代入して計算させること…

回転数ロガー完成

PIC

できた。結局4パルスの間隔を計測→バイナリデータを10進数に変換→RS232Cで送信という手順にした。 計測にはTMR1でプリスケーラ8に設定しているので65535x8=524280カウントまで可能になっている。 1200RPM時で20Hzなので4パルスだと4/20秒、つまり200msec…

BCD変換して転送

PIC

多分変換は1msec程度だろうということで数msecでデータ取得〜送信までできるだろう。 12000rpmのとき200Hzだからパルス間隔は5msecで、4パルスごとに計測するから20msec あるのでたぶん間に合うだろう。 ということで以下がプログラム。アセンブラは正常に…

タコメータプログラムVer2

PIC

とりあえず作成してみた。未だ動作試験はしていない。データ送信する前にBCD変換をした方があとの処理が良いような気もするが、時間が足りるかちょっと心配なのであった。 LIST P=PIC16F648A INCLUDE "P16F648A.INC" __CONFIG _BOREN_OFF & _WDT_OFF & _PWRT…

シリアルケーブルの作成

ClieをPICにつなぐためのシリアルケーブルを作成した。結果きちんと通信できるようになった。 最初どうしても変なデータしか送られなかったので、配線を間違えたかなと基板をチェックしてみたら なんとADM3202ANが逆向きに刺さっていた(汗 正しい方向にさし…

キャプチャ機能で作り直し

PIC

さて、とりあえず回転数ロガーができたのだけど、このプログラムでパワー計測をシミュレートしてみたところ 今ひとつなことが判明してしまった。理由は1000rpmから12000rpmの間のカウンタデータが荒すぎるため。 12000rpmでもパルスカウントは60しかないため…

インターバルに回転数データを転送する事に成功

PIC

TMR1を使った割り込みで500msec間隔で回転数データを取得、ASCIIデータに置換後シリアル送信し、PCで受信する事にようやく成功した。これでパワーチェックができる。 ただしデータ回収する側がまだPCでしか確認できていない。これではノートPCを背負って走る…

シリアル通信に成功

PIC

PICで作成したタコメータの回転数をrs232c通信によりPC(もしくはPalm)に送ることに挑戦していたのだが なかなか成功しなかった。 昨日もやはりだめだったんだけど、今日ソース中にいらないコメントが入っていることに気がついた。 その点を修正してアセンブ…

参照ページ

PIC

http://speana-1.hp.infoseek.co.jp/index.htm PIC16F648Aでシリアル通信をしたいのだがどうもうまく行かない。 欲張らずにテストプログラムから試してみる必要がありそうだ。 なお、CLIE SJ30とPC間のシリアル通信には成功しているので PIC-CLIE間でも通信…

PIC16F648Aを使ってみる

PIC

先日から調べ物をしていた通り、PIC16F648AとPIC12F675を新たに購入してみたわけだが。 16F648Aは18pinで16F84Aの拡張版という感じ。12F675は8pinで16F819の弟分という感じ。 16F648AはAD変換機能はなくコンパレータが内蔵されており、USARTでシリアル通信が…

12f675対応ライター

PIC

http://www.ht-net21.ne.jp/~mkanari/writer.html http://www.geocities.co.jp/NatureLand-Sky/8265/

本日の参照ページ

PIC

pic12f675を使った計測アダプター http://61.203.228.144/2_ELEC/%8Cv%91%AA%83A%83_%83v%83^/%8Cv%91%AA%83A%83_%83v%83^.htm pic12f675を使ったシリアル接続温度計 http://oasis.halfmoon.jp/other/pic-ic/675-temp-sensor.html

AD変換テストプログラム完成

PIC

LCD表示できたので次のステップとしてAD変換を試してみる。 アセンブリの際初めて気がついたのだがテキストの改行コードはCR+LFでないとエラーになるらしい。 さすがWINDOWS融通が利かない。 LIST P=PIC16F819 INCLUDE "P16F819.INC" __CONFIG _BODEN_OFF & …

PIC16F819のポートBのみでLCDを表示する

PIC

これでちょっとはまってますが、なんとかプログラムかけた。 未だ実機テストはしてない。できたらだいぶ進歩するんだけど。 #ブレッドボードでバラックテストしてみたところきちんとLCDに表示された。めでたし。 次はとりあえずAD変換を試してみて温度計を完…

調査の結果

PIC

PIC16F819にもいろいろ制約があることがわかってきた。 LCD表示についてPORTBだけで制御するのはどう探してもそういう例を見つけられない。 なので制御線3本はやはりPORTAから引くことにする。 PORTAは8ピンでアナログ入力ピンはそのうち5本。単純に考え…

PIC16F819をどう使うか

PIC

AD変換モジュールが5系統使えるので 水温、油温、気温、電圧 の測定をできるようにしたい。 1、温度、電圧表示モード 2、回転数表示モード 3、回転数、温度ログモード(馬力計測モード) 4、ログ転送モード なんてできるとすばらしい。 で、ポートの使い方…

タコメータプログラムOK?

PIC

とりあえずアセンブルしてテスト基板に接続したところ、LCDに000と表示されるところまでできた。 しかし肝心のパルスをどうやって入力したらいいのかを理解していない。 適当にRA4をプルアップしておいてスイッチでグランドに落とせばいいのか? ちょっと要…

タコメータープログラムその後

PIC

内容を吟味して一から作成し直した。 LIST P=PIC16F84 INCLUDE "P16F84.INC" ;**************************************************** ; 変数定義とレジスタ割付 ;****************************************************BYTE0 EQU 0DH ;周波数カウンタ0 BYT…

タコプログラム一応完成

PIC

とりあえず完成。アセンブルはエラーなくできたけど、ちゃんと表示されるだろうか。 液晶パネルがVmaxについたままなので試してみる事ができない。 やっぱり開発用にもう一個液晶要るなあ。 LIST P=PIC16F84 INCLUDE "P16F84.INC" __CONFIG _HS_OSC & _WDT_O…

タコなプログラミングその2

PIC

まだまだ未完+バグだらけと思われるが ; LIST P=PIC16F84 INCLUDE "P16F84.INC" __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF ;FLAG定義部 OVERFLW LPCNT1 LPCNT2 BYTE0 BYTE1 BYTE2 DIGIT12 DIGIT34 DIGIT56 DIGIT78 WORK1 TEMP ;****************…

タコなプログラム

PIC

「電子工作のためのPIC16F活用ガイドブック」とくびっぴきでプログラムを書いてみた。 といってもまだサブルーチンだけ。 ;タコメータ用計測実行サブルーチン ;ゲートタイムは0.6秒 ;PORTAのRA4がゲート制御用ピン ; ;使用するFLAGは ;OVERFLW ;TEMP ;LPCNT1…

タコメータ+シフトタイミングライト+データロガー開発をスタート

PIC

とにかく回転数をカウントできるようにしないと。 回転数(rpm)を計るには周波数カウンタを作ればいいわけだ。 Vmaxの場合タコメータは1つのシリンダの点火パルスをカウントしているはずで、4サイクルなので2回転で 1点火と思いきや排気行程の時にも点火…

デジタルメーターがおかしい

自作温度計がおかしい。温度が30度くらい高い目に表示されるようになっている。 サーミスタがそうそうおかしくなるとも考えにくいし配線がおかしくなったとしても抵抗値が下がることはないだろう。考えられるのはコンデンサがパンクしてしまっていることかな…

簡易AD変換についての考察

PIC

よくよく考えてみたらLEDテスト基板と実際のメーターの基板ではセラロックが違うため、テスト基板でのAD変換値を元に式を作るとLCDでは違う数値を出してしまうはずであることに気がついた。 実際現在実装済みの温度計のAD変換回路では1kΩ抵抗で91を示したが…