« 2015年4月 | トップページ | 2015年6月 »

2015年5月

2015年5月24日 (日)

PIC周波数カウンタ・試作その4

Pic_frequencycounterk3





前回の実験でゲート信号の精度が問題になったので、ゲート信号生成専用のPICを設けることとし、手持ちのある8ピンのPIC12F629で制御してみることにしました。

ゲート信号生成専用のPICにより処理することで、そのPIC内で割込み信号源が1つになるため安定した動作になることを期待しています。

ゲート信号精度の追求はこれからですが、ゲート時間切り替えも含めて、オシロスコープでざっと確認したところ、問題無く動作できているようです。

構想からデバッグ完了まで、1週間に8時間程度しか作業できない中で、1ヶ月ほど要しています。今回はアセンブラで書いて、自分なりにPICについて理解できたと思います。

ゲート時間の信号精度を確定するには割込み処理回りで発生する遅延分の補正が必要なので、その遅延時間分の定数値による補正ロジックは組み込んで動作しています。

あとは実験して補正値を決めるのみかと思います。本体側のPIC16F873のファームウェアは試作その3で作成したものをベースに、Cで書いてみるつもりです。

「TXCOgateCtlK1.zip」をダウンロード

| | コメント (0) | トラックバック (0)

2015年5月13日 (水)

ついにアフリカツイン新型発表

Africatwin2150512a


いつか新型が出ると思っていたのですが、ついに新型アフリカツインがアナウンスされました。

やはりヨーロッパがメインの市場なのでホンダの英国法人からの発表になっています。

市場対応の観点でそれは当然なのでしょうが、日本国内での、この大排気量オフローダーカテゴリーの人気の無さは何とかならないかと思います。

まあ、大排気量のオフローダーは、基本的にでかいマシンだから小柄な人には扱いずらいので、ある意味ライダーを選ぶバイクなのです。結果としてヨーロッパ人種に比べて相対的に小柄な日本人には売れにくいバイクなんではありますが....そこが魅力でもある訳です。

できれば試乗してみたいものです。やはり1000ccといった排気量は正常進化として納得できる内容と思えます。日本国内版は出してくれるんでしょうか。あるいは輸入マシンって扱いなんでしょうか。あるいは九州工場で注文生産するのか。価格はどうなるか....疑問は山ほどあり有りです。

借金しても欲しくなるほどの魅力があるか、試乗させてくれないことには何とも言いようがないですが、ホンダの製品だから期待を裏切ることはあるまいと思います。

これから数か月、ホンダの発表を注視しておくしかなさそうですね。

| | コメント (0) | トラックバック (0)

2015年5月11日 (月)

PIC周波数カウンタ・試作その3

32.7KHz付近で上手く桁上げができず、とんでもない数字になる問題は解決しました。

FRMSを信号源として、7MHz程度までは測定できましたが、1MHz測定で7Hz程度、7MHz付近で50Hzほど表示が変動します。そのためゲートタイムが数μ秒オーダーで変動しているものと推定されます。

FRMSの信号確度が問題ですが、これ以上の精度での検証は無理のような気がします。

何だか期待していた精度とはずいぶん差があり、がっかりしています。
Cで書いたコードを少し改定するだけで、クリチカルに周波数読みが変わるので、精度の観点でもう少し工夫が必要の様です。

やはり、PICで周波数カウンタを作るにはLCDの方が負荷が軽くて扱いやすいのでしょう。特に、アセンブラでは無くCでコードを書く場合はなおさらコード実行速度の点でアセンブラより不利なので、無理がありそうです。

今回の周波数カウンタは実験室レベルとしては合格ですが、測定機にはなりえないですね。ゲートタイム設定に専用のPICを使うと言った方法が有効かもしれません。

さらに試作・実験を継続するか迷っています。

参考までに実験したコードは以下の通りです。

「PIC_FreqCounterK2Rev1.4.zip」をダウンロード

| | コメント (0) | トラックバック (0)

2015年5月 9日 (土)

PIC周波数カウンタ試作・その2

Pic_frequencycounterrf_ampk1

Img_0724



RF-AMP部を試作して評価中です。今回は、Pカッターでプリント基板を引っ掻いてランドを作って回路を作りこみました。

ランド張り付け法に似ていますが、こちらは、ランドが剥がれることがありませんので、機械的強度は有利かと思います。

とりあえず1MHzくらいまでは確認して問題無さそうです。

しかし肝心の周波数カウンタの本体プログラムにバグがあって32.7KHz付近(恐らくカウント値7FFFH付近)で上手く桁上げができず、とんでもない数字になります。未だ原因追求中です。

一難去ってまた一難と言う感じです。

| | コメント (0) | トラックバック (0)

2015年5月 8日 (金)

PIC周波数カウンタ試作・その1

Pic_frequencycounterk2_2

Img_0722
Img_0723





未だバラックセットで、低周波しか確認できていませんが安定して周波数カウントができるようになりました。上の写真は、NE555で作成した1.5KHz付近の発振器を計測中の状況です。

下の写真は、7セグメントLEDをユニバーサルプリント基板に配線してい状況です。1セグメント分で10ピンとトランジスタ2個+抵抗数本ですから結構大変な配線です。

これをユニバーサル基板で配線するのは根気しかないです。世間の人が、7セグメントLEDを避けてLCDモジュールを使う理由はここらあたりが確実に原因と思います。

プログラムはcで書いています。開発環境はMPLAB X IDE v2.35で、フリー版のxc8コンパイラを使っています。オブジェクトサイズが、大きくてメモリサマリーは、以下のような状況となりました。プログラムコードはまだまだ書けそうですが、データ領域はほぼ使い切った感じですね。

Memory Summary:
    Program space        used   89Ch (  2204) of  1000h words   ( 53.8%)
    Data space           used    A1h (   161) of    C0h bytes   ( 83.9%)
    EEPROM space         used     0h (     0) of    80h bytes   (  0.0%)
    Data stack space     used     0h (     0) of    16h bytes   (  0.0%)
    Configuration bits   used     1h (     1) of     1h word    (100.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)

タイマー0で周波数カウント、タイマー1でゲート信号作成、タイマー2で7セグメントLED表示タイミング作成と言った実装です。

Microchip社のアプリケーションノートAN592を参考にして、タイマー0のプリスケーラを読み取る処理をcで書いてみました。問題無く動作しているようです。

ここまで来るのにいろいろドラマがありました....やっぱり何事も経験してみるのが一番です。ネット検索して得られる知識は、上っ面の情報でしかないものです。

ソースコードは1本です。参考までに公開いたします。ただし、実験途中なのでこれからまだまだ改版します。(32KHz付近を超えて計測できない障害があります。)

「PIC_FreqCounterK2Rev1.2.zip」をダウンロード

素のままでどの程度の周波数まで測れるかRFアンプを作成して実験継続します。外部プリスケーラを追加して1GHzくらいまでは測れるようにしたいものです。まだまだ先は長そうですが、じっくり取り組みます。

| | コメント (0) | トラックバック (0)

« 2015年4月 | トップページ | 2015年6月 »