5年前の記事で書いた水晶発振回路を実装した。
5年も放置したのでクリスタルのパッケージが汚れたが、ちゃんと16MHzで動いてくれた。ブレッドボードに差すため、ピンは部品とは反対側に配置してあります。
配線はこんな感じ。
出力はエミッタそのままなので、電圧の1/2を中心とした波形が出力。チップ抵抗などを使って小さくとも思ったが、ある程度大きなほうがいいだろうと思って手持ちのリード線部品で組みました。抵抗やコンデンサの値は過去の記事の通り。
5年前の記事で書いた水晶発振回路を実装した。
5年も放置したのでクリスタルのパッケージが汚れたが、ちゃんと16MHzで動いてくれた。ブレッドボードに差すため、ピンは部品とは反対側に配置してあります。
配線はこんな感じ。
出力はエミッタそのままなので、電圧の1/2を中心とした波形が出力。チップ抵抗などを使って小さくとも思ったが、ある程度大きなほうがいいだろうと思って手持ちのリード線部品で組みました。抵抗やコンデンサの値は過去の記事の通り。
DCモーターのPWM制御をしたが、あくまでも一方的なチョッパ制御である。
実際のモーターはエポキシ樹脂の撹拌機として使うのだが、混ぜているときに回転数を制御して、プロペラの先を空気中に出すと高速回転になってしまってプロペラのエポキシが飛び散る。
理想的には負荷によらずモーターの回転数を制御したいのだが、モーターの回転数制御をどうするかという問題がある。
方法は2つ。
・モーターは高速で回し、減速ギアを経由してプロペラを混ぜる。撹拌による抵抗による回転数減少が僅かになるように。
・モーターの回転数を検知し、減速したときにはduty比率を上げる。
DCモーターは回転していると逆起電圧が発生するので、この電圧を利用してモーターの回転数が制御できないかと思った。
逆起電圧は回転数に比例なので比較的制御性も良さそう。
しかし、かなりノイズが多いはずなので、適当なフィルタは必要だろう。
モーターに電力供給していないとき、両端に電位差があるはずなので、この電圧を読み取れば回転数制御ができると思っているが、うまく行くだろうか。
PWMと協調制御になるのでマイコン必須だな。
制御の流れは
・ボリューム位置から一旦PWMを指定
・MOSFETをOffにしたタイミングでモーター電圧を読み取る(上の回路図でVotlageと書いたところ)
・PWMのdutyを変更する
マイコンはどのピンもADCがあるので、まあ適当に使えるだろう。PWMはOC0AとOC0B端子限定なので1,3ピンのみ。Reset端子を入出力に設定すると次のマイコン書き込みで困るので使わない。
Attiny10のピン配置。
時定数はとりあえずなのだが、こんな回路になるだろうか。
モータースイッチングは120Hzなのでそれよりも高めのカットオフ周波数にしないとな。
コロナの影響で時差勤務。現在11時出勤20時退勤が勤務時間なので、朝ちょっと暇。
モーターPWM制御のハードを作った。
使うマイコンはATTiny10というSOT23サイズのもの。下の写真の6pinがそうです。隣はN-MOSFETですが、最終的にはもう少し大きなパッケージのを使いました。
ユニバーサル基盤にDIPサイズはいい感じの大きさである。
ユニバーサル基盤にSOT23の3pinパッケージを配置するのもギリギリできる。
6pinのSOT23は少し厳しいが、これを見て思いついた。
2pinと5pinを上に曲げちゃえばいい。
まずはマイコンにプログラムを書き込んでおき、実装に入る。
その間、友人からもらったオシロのセリフキャリブレーションを実施。上がPDS5022Sで下がPDS7102T。
PDS7102Tは受け取ったときに少し0点がずれていたがこれで直った。つまみが小さいものになっているが、なるほど、小さい方が使い勝手がいい。大きいダイヤルの凹みに指を入れてグリグルすると軽すぎるオシロは後ろに逃げていくのだ。
実装は・・・空中配線です。マイコンが一つ35円と安いので多少の失敗は損失として小さい。
MOSFETは2SK4017を使った。米粒パッケージを2つも空中実装したくなかったので。
なんとか形になった。空中配線で4x4のユニバーサル基板に穴が余ったのでゲートドライブの端子でLEDを光らせることに。
電源3.3Vで青色LEDは少し電圧が足りずでとりあえず1kΩが少し大きかったようだ。動作確認なのでこれで構わない。
動かすと少し不満はあるが、ちゃんと動いている。
なおLEDを適当に掴んだら足が刺さった。めっちゃ痛かった。テープにまとまったパッケージだが、前に切り取ったLEDの足が刺さった。
太陽電池の電圧をMPPT制御したいが、ダウンコンバートの場合、ハイサイドスイッチをしないと出力電圧のフィードバックが難しい。
フォロカプラなどで出力電圧をフィードバックできるならば、このような形態でのスイッチング回路も一応可能ではあるはず。
LTSpiceでシミュレーションすると
V(n001)が電源電圧20Vで、V(n003)がC1の下側の電圧。なので、負荷には20-8=12Vの電圧がかかっている。
グランドが共通じゃないので、出力電圧のフィードバックが難しいのが面倒くさいところ。
いっそ8Vの部分から分圧してフィードバックするか。
こんな感じにして・・・ん?太陽電池みたいに電圧変動する場合はこれだけだとうまく行きませんね。MPPTするなら電源電圧監視もあるので、そちらで電源電圧を把握、R3, R4の分圧で出力電圧を把握としたらまあ、できなくもないか。
DCモーターの回転数を制御する目的で色々やりましたが、最終案としてまとまった。
回路は次のような感じ。VRは少し遠いところにするのと、スイッチングのノイズがあるので、ADCに入れる信号は少しノイズフィルタをしたいのでCRフィルタを一つ入れてます。いらないかも?
あと、マイコン書き込みのとき、VRからマイコン端子直結だとVRの位置次第では書き込めないので、それを無視できるようになるかもと思って入れてます。
最終のプロトタイピング。
電源電圧の変動具合の確認。3.34Vが3.04Vと0.3Vほどのドロップ。時々もう少し低い周波数で電圧ドロップがあるがうまく波形を残せない。
ブレッドボード上だとどうしても配線の抵抗が重なってくるので、当初は電圧低下が2.5Vくらいまで下がってしまって困ったなあ(3.3Vから2.5Vなので24%電圧ダウン)と思っていましたが、電源だけは少しましな配線にしたらこの程度になりました。あまり電源電圧の変動は好みじゃないけどコンデンサをあまり大きくすると小さなマイコンを使ったメリットがなくなるので微妙なところ。
スイッチング周波数を120Hzにした理由は高周波だとモーターに電流が入らないから。当初8kHzくらいと思っていたが、耳障りなので30kHzくらいのスイッチングにしたら応答性が悪い上にDuty比が低い時にモーターが回らなくなった。周波数が高すぎるとモーターのコイルが当然のように電流を流さないので動かないわけです。
多分、高周波スイッチングをする場合は上のようにDC-DCコンバーターの出力にモーターが繋がれるような回路にしないとうまく動かないものと思います。
しかし、部品点数が増大するのはあまり良くない(ホビーならいいけど、量産するならコストアップにしかならない、部品点数増大は信頼性低下にもなる)ので、120Hzのスイッチング周波数に落ち着きました。
明日はユニバーサル基盤に作っていこうと思う。でも、ユニバーサル基盤を使うんだったら、はじめからATTiny13Aのような8pin DIPのマイコンで良かったんじゃないかとも思ってしまう。
友人からオシロスコープをお下がりで貰った。本当にありがとう。
もらったお城はOWON PDS7102Tというもの。現在使っているのはもう12年も使っているPDS5022Sというもので、STN液晶がだめになって交換したりした。
最近STNのコントラスト調整用のボリュームがおかしくなってコントラスト調整にストレスを感じていたので新調しようと思っていたところでRigolのDS1054Zあたりに目をつけていたところだった。
このオシロはYoutubeのレビューでも良さそうだったのが決め手だったが・・・・
さて、話はとんとんで、あげるよと話をもらってからあっという間にもらってしまった。
ある日、私の勤務先の近くに居ると電話をもらい、そのまま私の勤務先で会ってオシロをもらうという申し訳無さ一杯だった。
早速使ってみるとTFTはいいね。素晴らしい。
左側のビヘイビア電圧源がS8100Bのモデル。データシートのパラメータから、Vout = -0.00813T+1.748であることがわかる。Tは摂氏温度。
出力インピーダンスが高いらしいのでまずはボルテージフォロワで受ける。
その後1.6Vをレバーの支点にして4.7倍増幅。1.6VはLT431の2.495Vを参照する。
横軸がVoltになっているが温度だと思ってもらいたい。上記の増幅率では-20度くらいで0Vくらい、80度でリニアリティーがなくなるくらいのレンジまで増幅している。
まあ、こんなもんか。もちろん入出力rail-to-railのオペアンプを使えば電源電圧まで振れるけどまずは汎用LM358でトライ。
LM358は
・入力の制限が(電源電圧-1.5)Vまで=3.5Vまで:入力は最大2VなのでOK
・出力は電源30Vで28Vまでとあるので、(電源電圧-2)Vくらい@10kオーム:今回は3VくらいまでならOKだろう。
探すとボルテージフォロワでテストしているひとがいて3.5Vくらいからクリップと書いてる人もいるがそれは入力側もクリップしているからなんとも言えない。
なお気温の測定にて80℃なんて測定しないだろうから、50度くらいを上限にして増幅率変えようかな。
当初オフセットをして増幅するのにどうしようかなと思っていたがなんの事はない。反転増幅回路でVrefを用意したらいいだけだった。備忘録として絵を残しておく。
反転増幅回路はVrefを支点としたシーソーなので次のように絵解きができる。
今回Vref=1.6Vなので上のように計算が可能である。実際に上記の式とLTSpiceの比較は次のようになかなか良い。LTSpiceが必ずしも正しくないだろうから上限3.5Vくらいを見ておけばいいだろう。
気温-20度から50度のレンジは0.14V~3.20VくらいなのでマイコンのADCリファレンス電圧を3.3Vくらいにしておくといいかもしれない。
→現在1.6VをLT431から生成しているが、LT431で3.2Vを作って電圧半分にしたものをリファレンス電圧にしたらいいのではないだろうか。LT431がなかったらLDOの3.3Vレギュレータで。
さてマイコン側の仕様:
マイコンは10bitのADCなので分解能は1024階調。ただし、階調を使い切るのか、ADCしたあとの演算を楽にするのかで迷いますが、製品誤差をマイコンで吸収したいのでどうしてもマイコン側で計算するのであまりこだわらずに設定してしまえばいいでしょう。
上記の倍率だと8.13mV/Kの4.7倍で38.2mV/Kの変化量。ADCの基準電圧を3.3Vとして、これを1024快調に分けるとADCの最小分解能は3.22mV。大体0.1度くらいの分解能が期待できる。仮に2.495Vを基準にすると2.44mVが分解能なので0.06℃の分解能。この場合、検出可能な温度は41.5度くらいが上限。気温計としては十分じゃないでしょうか。
マイコンはATTiny13AとシフトレジスタICで組もうかとも思ったがどうせピンの数が増えるならATMega88などでいいだろうと思ってしまったのでATMega88を前提にしていく。
ピンアサインは上のようになっている。7セグはカソードコモンのタイプを使って次のような回路かと思っています。
出力段がカレントミラーになっている増幅回路に出会ったのでメモしておく。
R5は信号を受ける場所についていた抵抗。R5をちょっと横にずらしたのは、ケーブルで2~3mほど離れたところに設置される風をイメージ。
オペアンプは適当に選んだので適切なものかわからないけど、こんな回路。
電流出力にするとちょっと遠くに線を引いていってもノイズが少なくできるのかな。
ちなみに、左の電流源になっている場所は、本来ならばフォトトランジスタです。
C1のコンデンサ、容量不明だったのだがローパスなのだろうか。(シミュレータで回すと50pFより1nFにしたほうが高周波の減衰大きいので)
スーパーキャパシタを探し求めていたが、FIT(GK3)に搭載されているEDLCが12Vの電圧直接入力OKっぽいということで、探してみた。
ヤフオクで12,000円だったが、高いな。6500円で落札という記録もあったので、少々悔しい次第。
もうちょっと小さいかと思ったが、結構でかいのが来た。写真の色味が異なるが、撮影環境が違うので勘弁してください。
セルバランス回路が入っているようだ。
EDLCそのものは裸で取り付けっれている。
チップ抵抗がたくさん付いているが、あれで放電させるのだろう。一定電圧を超えたらチップトランジスタをONにして放電するようだ。
冬はバイクのセルモーターが心なしか弱々しく回るで、これでアシストしてやろうかと思っていたのだが、少々でかかった。
さて、容量の実測だが、放電してから電源装置の1A出力にて充電し、電圧の上昇っぷりから容量を算出する。
きれいな直線となった。ここから計算される容量は175F。あれ、一つ1200Fが6直列だから200Fくらいあると期待したが、中古品なのでしょうがないだろう。
キャパシタそのものの内部抵抗は測定できていないが、EDLCメーカーのデータシートを見る限り、0.8mΩ程度らしい。一つ1mΩとしても全体で6mΩしかない。
200A流したとしても1.2Vしか電圧降下しないから、これ車のセルモーター回せるのではないかと思ってしまう。私の車はアイドリングストップ車なので、鉛電池の充放電サイクル数が高くなりがちで、バッテリー寿命弱いのではないかと思う節があるので、鉛電池に並列に接続するなどしたら鉛電池の劣化による内部抵抗増大をこいつで賄えないだろうか。
でも、搭載位置が問題なのよね。
特に活用するでもなく、部品が増えてしまいまいました。
RSオンラインを見ていたらこんな電気二重層コンデンサを見つけた。
3000Fで5300円は安い気がする。旧価格10458円とあるので、在庫処分価格なのだろうか。在庫は後2つらしいが気になる。
M6端子が2つでネジ止めできるのもいいと思う。
内部抵抗が0.26mΩしかないようなので扱いによっては相当な大電流駆動の電源に使えるのではないかと。
製品仕様を追加。Φ60.5mm×L138mmと比較的大きなサイズである。
こんなデバイスを見つけたので買ってみた。
なんと5桁表示してくれる。どの程度正しいのかはわからないが、分解能が高いのはなかなか良さそうだ。
入力電圧が3~30Vというのも素晴らしい。QuickCharge3.0への対応なのだろうが、太陽電池の発電電力量のログに使えるのではないかと思う。
今はタブレットへの充電電流測定しかしてませんが。
まだアイディアの段階で具体的には動いてないからメモ代わりに。
オートグラフ(引張試験機)で物に荷重を与え、破壊する荷重を求めているが、破壊点が明瞭にわからない。クラックが走っていくのだが完全に壊れないのである。
健全な部品は一気にクラックが走り、荷重が変動するのだが、問題のある部品はクラックがゆっくり進展するようで、荷重変化からの検出は難しい。
クラックが入るのは間違いないので渦電流などで検出できるだとうと踏んでいる。
調べてみると1kHz程度の周波数で十分に検出できるらしい。オーディオアンプでも増幅できる周波数帯なのでかんたんなファンクションジェネレータとオーディオアンプでコイルに通電し、流れる電流・電圧をオシロでモニターorなんとか位相を検出してクラック入ったタイミングを検出できるのではないかと悶々と考えている処。
部品が鉄なので、コイルを使った発振回路を作っておき、クラック発生でコイルのLが変化するようにしておき、共振周波数がずれるのを検出しても良いかもしれない。
部品が小さくてひずみゲージが貼れないので変わり種のアプローチを検討中。
自作のCDI、こっちでも部品を作ってみようと思ったので部品を買い揃えていこう・・・
最近色々な自作CDIのサイトを見ているが倍波整流は
ツエナー:1N5388BG (200V 5W) ←φ4×L10mmくらいの大きなもの
サイリスタ:TIC126N-S (800V 7.5A/Peak 100A)
コンデンサ:ECWFE2J105J (630V 1uF) ←これもでかい
ダイオード:1N4007と思ったけど、RSはバラ売りがないので、別で買うか・・・
IGBT
秋月では200Vのツェナーが手に入らないから、マルツとおもったけど、マルツでも部品が揃いきらないので、RSコンポーネンツで揃えてみることに。
サイリスタも800V以上のものが手に入るが、コンデンサの耐圧が足りない。よってレギュレーター回路は入れておこうかと。
レギュレータ回路に問題があったら消せばいいしね。
200Vのツェナーは0.01mAから0.1mA程度の電流で良さそうなので、3直列の600V電圧にたいして最大電圧800Vを仮定すると電位差200Vで0.1mA程度流したい。
抵抗値は2MΩ。かなり大きいな。510kΩ 0.4mA、発熱80mW程度の設計値にしておこうかな。ここの抵抗はサイリスタが導通している間は倍波整流された電圧をショートするので1/4Wよりは大きいものがいいのだろうか。
しかし、現状のCDIが壊れてないならそれで良いんじゃないかと。
倍波整流をつけるならこんな回路。
倍波整流しなければこれ。
キルスイッチは点火コンデンサへの充電が停止するようになっているが、ふとサイリスタのゲートをGNDに落としてもいいのではと思った。
ただ、一つ問題があってそれをやるとコンデンサに電荷が残ったままエンジンが停止する。暫くすれば放電するから問題ないとは思うが、人が触ると危なそうなので、充電を停止し、最後に一回スパークさせてコンデンサの電荷がなくなってエンジン停止がよろしいのでは無いかと思った次第。
ふと、自作CDIとはどんなものか作ってみたくなった。
参考ページはコチラである。<http://www.geocities.jp/babulunooya/cdi/cdi1.htm>
回路図を起こし直すと大体こんな感じ(少し変更した)
発電機からの電気を整流してC2に蓄える。サイリスタにトリガがかかるとC2が一気に放電してスパーク発生という回路だ。
C1要るのかな?DCカットの目的だろうが、要らないような気がする。
サイリスタのトリガ回路にLEDが入っているが、そもそも2SC1815のベースにはせいぜい2.5Vしか電圧がかからないから、2SC1815のエミッタは2V程度の電圧になるはずでコレクタにLEDを入れておく必要が無いと思う。
サイリスタが25Aの大物だとゲート電流40mA程必要なので、それに耐えうる設計をせねばならない。
今夜はもう眠いのでまた明日考えよう。
一部変更した。SCRへのサージ保護回路としてZNRを。RCスナバでも良かったかな。600Vの素子なので8割位の470V ZNRで良いかなと思っている。
フォトカプラの周辺はトリガのタイミングを決めている要素があるようなのでまだいじらないでおく。
9/3追記
9/6訂正済み。
※D2として入っていたダイオード(GNDからジェネレータコイルへ流すダイオード)を外したが、やはり参照先のHPの回路には同じ場所にダイオードが入っている。・・・なんだろうな。
参照先のHPを見ていたらキルスイッチの位置と倍波整流が無いことに気がついた。
キルスイッチはコンデンサの放電ではなく、ジェネレータのショートによりコンデンサへの充電停止を行うもの。コンデンサショートじゃスイッチ寿命心配だよね。発電コイルはショートさせても大電流が流れるようなモードにはならないので問題ありません。
データシートにはキルスイッチに対して不要と思われるダイオードあり。なくても良いと思うが、何らかの理由があるのかと思って残してある。D1は無くても問題ない気がする。倍波整流しないからD2も無くて良い気がする。しかし、メーカーはコストに大変うるさいハズなので余計な部品は極力排除するだろう。だから、何らかの目的があるのではないかと思っています。
サイリスタの保護素子としてのバリスタはやはり470Vじゃないと600V耐圧の素子に大しての保護として不十分だと思うので、変更しないほうが良さそう。サイリスタが800V耐圧ならば680V耐圧のバリスタでも良いだろう。
電池は廃棄する時危険がないように放電した状態で捨てなくてはならないらしい。
例えばフォークリフトは48Vの電池で動いている。コレを捨てるとなるとやはり放電してから捨てなくてはならないので、放電器を作ってみようということになった。
はじめは10Ωの抵抗で放電させていたが、ちょっと工夫したら電池電圧が下がった時に抵抗をバイパスして放電電流を上げ、早く放電するようなものが作れるのでは無いかとの考えに至った。
で、次の回路。LM358はコンパレータの代わりに入れてあるもので、実際にはコンパレータで動作させると思う。なおコンパレータはオープンコレクタだったりするので、プルアップ抵抗が必要な場合があることにご留意を。