Objects迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。正弦波発振回路のリンク2015-04-29ネットをうろついて見つけた記事のリンクです。Oscillatorから引用されてます。LED-Cdsフォトカプラ。オペアンプによる正弦波発振回路はまたやってみたいんです。DDSにも興味がありますが・・・。過去記事をリストアップしてみました。上のリンクと同じオールパスフィルタを使っています(CRの位置が反対ですが)。0LT3080を使った電子負荷の実験(3)2015-04-26LT3080を使った電子負荷の実験(2)の続きです。電子負荷は電源の特性を測定するときに使います。特性を測るには下図のように電流計と電圧計をつなぐことになります。前の実験ではR2の両端電圧を測って電流を求めようとしましたが、これでは下図のようにI4が加わるため誤差が出ます。このI4、すなわちVcontrolピン(4ピン)の電流はデータシートにあります。下図で引用してあります。Current=0.5Aなら10mAですので大体2%程度です。これから出力トランジスタのHFEは50程度と推計できます。ところでTjというとジャンクション温度のことなんでしょうか?だとすればデータシートのグラフにはTj=-50°Cのデータが載ってますが、どうやって測ったんでしょう??それはさておき、R2の両端電圧から電流を求めたのでは約2%の誤差が出るということになります。これぐらいなら実際の測定にはたいした影響は無いのですが、どうせやるなら正確にやりたいので回路図にあるようにR1を追加しその両端電圧からVcontrolピン(4ピン)の電流を求めて引き算すれば補正が出来ると考えました。今、回路をあれやこれやと考え中。電圧も測らなきゃならないし、どうせなら電池電圧も表示できればいいかも。表示はLCDで、そうなると例によってPSoCを使うので電源に5V必要で、電池で動作させたいからDCDCコンバータが必要で・・・と膨らむ一方です^^;;手持ちに16bitADCのADS1110が複数個あるので2個使ってやろうと思ったのですがI2Cアドレスが同一!となるとI2Cバスをアナログスイッチで切り替えてはどうか・・・。SDAとSCLの両方切り替えではなく、片方だけの切り替えで出来るのだろうか・・・。逸れていきます、いつものことですが。どこでもベープをばらす2015-04-26ADS1110を使ったハイサイド電流モニターの実験(2)の続きです。ADS1110とMPC3425の比較をやってるうちにうっかりICを二つも昇天させてしまいました。CY8C24123とPCF8574Aです、どちらもまだ手持ちがあったので実験は続けられましたが・・・。気分転換(?)に使わなくなったどこでもベープをバラしてみました。中のファンです、単三電池四本で動かしてます。実験中の電流モニターをつないでみました。最初は50mAほど流れ、14mAほどで落ち着きます。LCD1行目左は電流、右はADコンバータの読み出し値。2行目左は最大電流、右は制限電流で単位はmAです、これを超えると電流供給を遮断します。デジタルスイッチで100mAステップで設定できます。このファン、風量はさほど無いのですが、静かなので何かに使えないかな・・・。0MCP3425はADS1110と同等品ではありません(2)2015-04-24先の記事の続きです。上の四個はADS1110、下はMPC3425です。オフセットを測ってみました。設定は16bit、PGA=8です。ADS1110はAD変換値が-37、0、-50、20なのに対しMPC3425はどちらも0でした。してこのような違いがあるのかとデータシートから抜き出してみました。Errorが30μV(typ)なのに対しADS1110は1.2mV(typ)と大きく違います。データシートからグラフを抜き出しました。(赤字は私が加えました)やはり大幅に違います。ADS1110では最初にオフセットを測って記憶しておき、以後のAD変換ではオフセットを引けば使えるんですが、そんな手間かける必要の無いMPC3425の方がいいですね、秋月で手に入りますし・・・。いい勉強になりました。データシートはちゃんと読まなければ。0ADS1110を秋月の変換基板に乗せる2015-04-22ADS1110は手持ちにまだあるので秋月のSOT23変換基板に乗せました。したらオフセットがゼロ!、今使ってるのはオフセットが-37も出てたんですが・・・なぜでしょう?まだ数個もっているので試してみます。左が秋月のSOT23基板。0LM10を使った定電流回路の覚え書き2015-04-19LM10を使った定電流回路の覚え書き。以前実験した回路で使ったのですが、ちゃんと書いていなかったので記録しておきます。動作説明です、自分がわかればいいので端折ってます^^;;以前の記事にも載せたのですが、LM10を使った設定値約1mAの定電流回路と0.5mAの定電流ダイオード二本並列との比較です。0LT3080を使った電子負荷の実験(2)2015-04-18作った電子負荷の特性を調べてみました。4.5V~14Vまで可変できる手持ちの電源を使いました。1000mA近く流すと13.5V以上で低下が見られます。下図に示すLT3080のデータシートによると電流制限が働いたようです。次に下図の0.1Ω抵抗の両端電圧と負荷電流(5pinに流れ込む電流)を測定しました。このときの電圧は4.5Vです。0.1Ωの両端電圧を測れば電流がわかると思ったのですが、LT3080のオペアンプ部の電流と出力トランジスタのベース電流も流れ込むため若干のずれがあります。変化は直線的ですので補正は容易に思えますが、温度による影響を受けるんじゃないかと思います。トランジスタのHFEは温度で変化するので当然ベース電流も変化します。そのあたりの影響はまだ見積もれていません。0LT3080を使った電子負荷の実験(1)2015-04-18リンクさせていただいている電気の迷宮さんがLT3080を使った電子負荷を発表されていたので、実験してみました。実験の様子です、自作の5V電源につないでいますが、念のため5.1Ωの抵抗を直列に入れてます。動作確認後に抵抗を外しましたが、当然電流値は変化しません。可変抵抗には手持ちにあった10回転ポテンショメーターを使っています。実験基板です、大きな顔をしているのはオークションで手に入れた0.1Ω10Wの抵抗です、誤差±10%なのがちょっと残念ですが、それに流すのは1Aまでなのでこんな大きなワット数は必要ないんですけど・・。これ以外の抵抗とコンデンサはすべて手持ちで間に合わせました。これで1Aまで流せます。実は以前オペアンプとトランジスタを組み合わせて電子負荷を作ったことがあるのですが、こちらのほうがはるかに簡単です。LT3080を放熱する必要があるので、ケースに押し込んでみようと思ってます。7さんには感謝しています。0MCP3425はADS1110と同等品ではありません2015-04-14以前の記事でMCP3425はADS1110と同等品だろうなどと書いたのですが、違いました。書いた手前、確かめてみようと秋月に部品を注文したついでにMCP3425も買いました。届いたので早速実験したら、動きません(汗もう一度データシートを詳しく比較したら違ってました。modeなのですが、MCP3425では逆なのです!!!bit3-2でサンプルレートを選びますが、ADS1110とMCP3425では設定値が異なります。MCP3425には30SPSの設定が無く、15SPSの設定値がADS1110と異なります。REGISTERです。設定を直してからはちゃんと動くようになりました。驚いたのは入力が無いときのオフセットが0だということです、私が今実験しているADS1110では-37ほどあるんです。PGA8倍のとき)取り急ぎ書きましたので、ちょっとわかりにくいところがあるかもしれませんが、MCP3425はADS1110と同等ではありません。気をつければ同じように使えますが、オフセットゼロの分MCP3425が上です。0プラグイン変更2015-04-13月別アーカイブプラグインを変更。これですっきりしました。これを見ると2005年からはじめて2011年までは結構更新してましたが、2012年はほぼ休止状態。理由はわたくしごとなので詳しくは書きませんが・・・。サイドバーの全記事表示プラグインを上の方に移動、。覚え書きのつもりではじめたブログですが、カテゴリーやタグをええ加減にしていたため、どこに何を書いたかよくわからんのです。全記事表示にして探したほうがはやい^^;;読み直してみると製作したのにぬけていることが多い、載せなきゃ。mode)があります。bitが0になるまで待つか、変換に必要な時間だけ待ってからデータを読み出します。bitが1の場合、出力レジスタ内のデータは既に読み出されており、新しくありません。0の場合、出力レジスタ内のデータは新しく、まだ読み出されていません。bitが0になるまで待ってからデータを読み出します。bitが0になるまで待ってから読み出せばどちらのモードでも問題ないように思えますが、複数の入力をスイッチで切り替えてAD変換する場合、連続変換モードだとスイッチ切り替えのタイミングがAD変換のタイミングと非同期になるので、スイッチ切り替え直後の変換データがおかしなことになる場合があります。ADS1110はサンプル&ホールド回路を持っていません。いう場合は単発変換モードにしておきます。ASC1110は16bitモードだと15spsだから変換に66mS程度かかる。rxBuf[0]*256+rxBuf[1];}恥ずかしながらPSoCでの読み出しコードです。I2Cmユーザーモジュールを使ってます。registerの値が入ります。registerのbit7)が0になるまでdo-whileループを回します。|G_ADC_setting);によって変換を開始させてから80mSほどディレイを入れてあります。I2Cバスを無駄にスイッチングさせないためです。I2Cバスは抵抗でプルアップしてあります、私の実験回路では4.7KΩ。バスがHレベルなら電流は流れませんが、Lレベルになると約1mAほど流れます。I2CバスのSCLおよびSDAがどれぐらいの頻度でスイッチングしているかはわかりませんが平均デューティー比がともに50%と仮定するとSCLで約0.5mA、SDAでも約0.5mA、計1mAが変換終了まで流れることなります。今回の実験では問題になりませんが、電池動作の場合に少しでも消費電流を抑えたいならこういう方法も有効でしょう。コメントアウトしてあるコードは、ディレイを入れないときdo-whileループが何回回るのか知るために入れてみたものです。0ADS1110を使ったハイサイド電流モニターの実験(2)0.1mA刻みにする。2015-04-05ADS1110のPGAゲインは4倍のままで、ソフトで0.1mA刻みに対応してみました。写真は5.1Ω10Wのセメント抵抗を負荷としたときです。5Vで5.1Ωですから、980mAになるはずですが、直列につないだデジタルテスターの内部抵抗、0.1Ωの電流検出抵抗、PhotoMOSリレーAQY272のオン抵抗、ワニ口クリップの接触抵抗などで低くなっています。ちなみにこの時のPhotoMOSリレーの両端電圧は58mVでしたのでオン抵抗は0.066Ωと計算できます。AQY272のデータシートによるとオン抵抗は0.11Ω(平均)となっています。セメント抵抗は正の温度係数を持っているようで、0.1mAまで表示できるようにしたので加熱により時間とともに電流値が減少していくのがわかりました。0ADS1110を使ったハイサイド電流モニターの実験(1)2015-04-04先のローサイド電流センサーの実験ですが、一旦中止します。PSoCのADCユーザーモジュールはやめて、手持ちのI2C接続16bitADコンバータADS1110を使い、ハイサイド電流モニターの実験をしました。ADS1110は秋月電子で売っているMCP3425と同等品のようです。2015/04/14訂正、同等ではありません。MCP3425のデータシートにはハイサイド電流モニター回路が載ってます。ADS1110で試したら動作したので、過電流保護回路を追加しました。-0.2V~5.2VまでとなりますのでVin+=VDDでも問題ないようです。回路図です、過電流時の遮断には先の実験と同じくPhotoMOSリレーを使いました。PSoCはCY8C24123Aを使いました。usage).となりました。Compressionしてあります、しないとメモリーが足りませんから。デジタルスイッチで設定電流を100mAステップで1000mAまで設定できるようにしました、負荷となる実験回路の保護が目的ですから、あまり細かく設定できなくてもいいだろうと判断しました。実験中、LCD一行目左側は測定電流、右側はADコンバータのオフセット値です。起動時にPhotoMOSリレーをオフにしてAD変換しオフセット値を測っておき、以後の測定値から引くようにしています。LCD二行目左側は最大電流、右側は制限電流で測定電流がこの値を超えるとPhotoMOSリレーをオフにします。前の実験基板と比べてみました。シンプルになりました。ADS1110の設定は16bit、PGAゲイン4倍です。前の実験ではPSoCのADCユーザーモジュールの設定を13bitにしていましたが、AD変換値がバタつくので数回の平均をしていました。今回のは平均を取らなくても安定しています。専用チップだけのことはあります。ADS1110のPGAゲインを8倍にすれば0.1mA刻みに出来るはずです。65歳リンクはご自由に。念のため記しておきます。このブログの内容を参考にされるのなら、あくまで自己責任にてお願いします。(09/03)山崎弘一:スマホとmicro:bitをBluetoothでつなぎたいのだが・・・。