迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

PSoCを使ったL meterの試作・続き2

結局スイッチにはリレーを使うことにしました。
先の記事だとインダクタに直列にC3が入ります、この値が小さいと発振周波数に影響します。
かといって大きくすると今度はR2との時定数が問題となります。
リセット後やインダクタを換えた時などトランジスタのコレクタ電位が安定するのに時間がかかってしまうのです。
PSoC_L_meter2.jpg

ここで使ったリレーはオムロンのG6L-1Pです。
シリコンハウス共立で入手しました、270円也。

G6L_1P.jpg

よく使われているG5V-1より小さいんです。
ただコイル電流が36mAとG5V-1の30mAと比べて増えています。

PSoC_Lmeter_20091028_1.jpg

PSoC_Lmeter_20091028_2.jpg
測定中。
上の行、左側の数字はリレーON時の発振周波数(ただし単位は10Hz、ゲートタイムが0.1秒なので)。
右の数字はリレーOFF時の発振周波数です。
下の数字は(勿論)インダクタ値です。
表示が愛想無い(笑)のですが、自分で使う分にはこれで充分かと。

今頃になって気がついたのですが、あとコンデンサを一個追加すればLC meterが作れちゃうんですよね。
最初からそうすればよかった。

これでとりあえず、完成とします。

スポンサーサイト

フランクリン発振回路の発振波形

試作中のL meterはHCU04を使ったフランクリン発振回路を使ってます。
測定端子に200mHのインダクタをつないだときの波形です。
縦軸0.5V/div、横軸20μs/divです。
フランクリンHCU04

手持ちのLC meterはよく知られたLM311を使ったフランクリン発振回路を使ってますが、インダクタ測定モードにして、200mHのインダクタをつないだときの波形です。
縦軸0.5V/div、横軸20μs/divです。
フランクリンLM311
はっきりと歪みがわかります。
どちらも発振周波数はほぼ同じなのですが、この歪みの理由がちょっとわかりません。

PSoCを使ったL meterの試作・続き

回路をちょっと変更しました。
リセットスイッチswとC3を追加しました。C3の値は暫定的です。


C3を付けることにより2SC2500のコレクタをプラスに保つことが出来ます。
C3が無いとLxをつないだ時のコレクタ電圧の直流電位はコイルの直流抵抗はせいぜい数Ωですから
ほぼ0Vです。
下図のVLxは0Vを中心にスイングします。トランジスタがカットオフの時は右図のように単なるダイオード接続と同じですから、ここでVLxがマイナスになると上側のダイオードが導通することがあるわけです。これは発振に影響を与えます。
C3を追加することにより、コレクタがマイナスになるのを防ぎます。
posc_L_meter_トラブル
これによって測定精度は向上しました、と言うより悪化要因を一つ取り除けた事になります(多分^^;;)


ストロベリーリナックスさんのLC meter

このキットはだいぶ前に買ったのですが、引越の際に行方不明に(汗
先日出てきましたので、ケースに入れてみました。穴あけが面倒なので透明なプラケースに押し込みました。
電池が入りませんが、普段は蓋をしておき、使うときだけ蓋を外して電池をつなぐようにします。
そんなに使わないだろうから、これでいいでしょう。


LC_meter1.jpg

手持ちの100mHを測ったところです、9桁も表示は必要ないかと・・・。
LC_meter2.jpg

今PSoCで作ってるL meterはこれの簡易版みたいなものです。

新しいPSoC本・PSoCマイコン・スタートアップ

PSoCマイコン・スタートアップが11月12日に発売の予定!
PSoC基板&書き込み器付きで3990円はお得ですね。
これは楽しみだわ。

表紙からするとCY8C21434対応だそうです。

PSoCを使ったL meterの試作


以前からフランクリン発振回路を使って実験してましたが、とりあえず組んでみました。

Lmeterの原理
原理図です、swを閉じたときの発振周波数をf1、開いたときの発振周波数をf2とすると
Lx=((f1/f2)^2-1)*L
となります、上の式にCが入らないのが特徴です、さらに周波数はその比が解ればいいので、長期の測定精度には影響されません(短期は別)

よく紹介されているLCmeterでは最初にf1を測って記憶しておき、以後f2だけを測ってLxを計算するようになっていますが、ここでは毎回f1とf2を測定してLxを求めるようにしてみました。

問題なのはswに何を使うかです、頻繁に開閉を繰り返すのでメカニカルリレーは論外です。
最初はPSoCの出力をオープンドレインにしてswとして使ってみたのですが、ダメ。
ならばMOS-FETならばどうか、オンしているときはいいんですが、オフ時の容量が大きすぎてダメ。
2SC1815でもダメ、結局飽和電圧の低い2SC2500を使って何とかOKとなりました。

回路図です、パスコンや74HCU04の未使用端子の処理は描いてません。
PSoC_L_meter_20091025053204.jpg

警告を守って実験中


CPU_ClockをSysCllk/4にしました、パステルマジックさんでこの件について質問したところ、Warningには従った方が賢明である、とアドバイスをいただきました。
一見問題なく動作していてもトラブルの元をかかえていることになるかもしれません。

SysClk/4にしたことで動作電流は約55μAとなりました。
SysClk/1で25μA
SysClk/2で35μA
SysClk/4で55μA
SysClk/NとしてNを横軸、動作電流を縦軸にしてグラフを書くと直線になります。
SysClk/8とするとおそらく95μA流れるはずです(試してませんが)

diginv.jpg
DigInvを追加しました、InputはCPU_32_KHzにしてあります、これを外部に出して32.768KHzの水晶による発振周波数を測ろうという魂胆です。
直接水晶の端子にプローブあてると周波数が変化したり、発進が停止したりします。

測ってみると32.775KHz前後で結構ふらつきます、ちなみに周波数カウンタのゲートタイムは1秒です。もうちょっと安定しているのかと思いました。

警告を無視して実行中・・・

CPU_ClockをSysClk/4から SysClk/128の間にしておけ、というLevel 1のWarningを無視してSysCllk/2にして実験中です。

CR2032で動作させています、消費電流は約35μAです。
試しにCPU_ClockをSysClk/1にしたら25μAぐらいになりました。
100μAの電流計が出てきたので使ってみたのですが、最初メーターが振り切れたままでPSoCが動作しませんでした。
この電流計、内部抵抗が1KΩもあります。電源投入時に数mA流れるようで、そのため電圧降下を起こしてしまい、CPUが正常に起動しないようです。
そこで電流計と並列にショットキーバリアダイオードをつないでみました、電流計による電圧降下をバイパスするためです、結果はうまくいきました。

extosc.jpg32.768KHzの水晶を付けてみました、基板の切れ端にコンデンサと一緒に載っけました。


RSコンポーネンツでお買い物・CY8C24223およびDRCのWarning

RSコンポーネンツで入手しました、CY8C24223Aです。



アナログブロック6、デジタルブロック4と27443の半分です。


7segLED_24223A_20091017085151.jpgこれを使って飽きもせずに7セグメントLCDを制御してみました。
グローバルリソースです。
このままビルドすると問題が発生します。

warning24223.jpg

DRCからのwarningです。

Starting DRC for sevensegLCD_sleeptimer_24223 ...
Processing top level rules...
Level 1 Warning - Configuration sevenseglcd_sleeptimer_24223: For a Power Setting of 2.7V / 12MHz CPU_Clock must be set to a value between SysClk/4 to SysClk/128
Level 2 Warning - Configuration sevenseglcd_sleeptimer_24223: When 32K_Select is set to external Crystal, Port_1_0 and Port_1_1 should be set to High Z.
Level 5 Warning - Configuration sevenseglcd_sleeptimer_24223: Analog Power: Type SC Analog PSoC Blocks are powered Off.
Processing base device rules...
Base Device CY8C24223A-24PXI:
Processing part rules...
Processing user module rules...
Done



Level 5のWarningは無視します、消費電流を減らすためにアナログブロックをオフするのが目的だからです。
問題はLevel 1やLevel 2のWarningです、特に上記のLevel 1 Warning は SysClk/1 にしてもとりあえず動くきます、そのうちトラブルの原因になるのでしょうか?

7セグメントLCDをPSoCで制御する・SPIMクロックの違いによる消費電流

settingSPIM_LCD.jpgテスト条件
PSoCにはCY8C27443を使った。
sleep timerは64Hzにセット。
グローバルリソースおよびSPIMの設定は左図の通り。
SPIMのクロックをあれこれ換えて消費電流を測った。



クロック
(MHz)
周期
(μS)
電流
(μA)
80.1360
0.81.25100
0.42.50160
0.244.17220
0.25.00260
0.156.67340
0.110.00480
0.0812.5600

結果は左の表の通り。
SPIMへのクロックが高いほどすなわち周期が短いほど消費電流が小さいという考えてみれば当たり前の結果となった。
プログラムはスリープタイマによりスリープが解除されたらセグメントデータをSPIMで送って再びスリープするというもの。
だからSPIMの動作中はCPUが「起きて」いるのでその間電流が流れる。
消費電流を抑えたかったらなるだけ早くCPUを「寝かしつける」必要があるということになる。
同じ理由でCPUクロックは早いほうがいい。

続きを読む »

7セグメントLCDをPSoCで制御する


10分のタイマとしてみました、ただし表示が0になっても音が出るわけでもなく、10分からのダウンカウントを繰り返すだけです。
消費電流は約60μA、sleep timerを使っています。
あれこれ実験してみて、LCDの制御は2線式で充分じゃないかと思いました。
いまさら作り直す気はありませんが。

続きを読む »

7セグメントLCDを3線だけで制御する2

3線でLCDを駆動する

組んでみました。


とりあえず0.5秒毎に全セグメントの点灯・消灯をくりかえすようにプログラムしてます。
ちなみにここで使っているLCDは秋月のSP-521です。

追記
カウントアップするようにした動画です。

続きを読む »

7セグメントLCDを3線だけで制御する

7segLCD4.jpg

HC164からHC595へ考えあって変更した、と言ってもまだ組んでいないのだが・・・。
これにより3線式となる。
HC164だと32bit分のデータを転送する間に各出力がドタバタするのか何となく気に入らんのだ。

追記(10/09)
昨日の回路に一部間違いがあったので、訂正しておいた。

7セグメントLCDを2線だけで制御する・続

さきの記事にコメントをいただいた。
試してみようと思っていたのだが、他に目がいってしまい、放置したままだった。
7segLCD_20091008142332.jpg
LCDとHC164との接続は上のようにする。先の記事のパクリである(汗

とりあえず、やる気が出てきました。
PSoCの方はSPIMを使えば出来るはずだ。(まだやってないけど)

PSoC:3チャンネル電圧計・続き

threeinputvoltmater3.jpg
M.H.EさんのPSoC ミニCPUボードに組んでみました。

threeinputvoltmater2.jpg
テスト中。さてケース考えないと。

 | HOME | 

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

百均のUSB LED電球(2) Aug 13, 2017
百均のUSB LED電球 Aug 11, 2017
状態変数型バンドパスフィルタ(2) Aug 05, 2017
状態変数型バンドパスフィルタの解析、発振回路に応用するため。 Jul 30, 2017
CJMCU Beetleを試す Jul 29, 2017
Arduino 互換ボード SS MICROを試す Jul 22, 2017
店の電飾(3)無限鏡(infinity mirror) Jun 25, 2017
店の電飾(2)回路の変更とスケッチ Jun 25, 2017
店の電飾 Jun 18, 2017
Arduino Pro Microを試す。(3)HIDとして使う(2) Jun 15, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

このブログをリンクに追加する

月別アーカイブ

08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (409)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (32)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん