前回は ATtiny26Lを使用して、内臓のA/D コンバータを使いニッケル水素電池の充電コントロール実験を致しましたが今回は ATtiny13A を使用しての実験を行いました。 PC が20Pから8Pになったので基板スペースがかなり余裕ができ必要な回路の殆どが72*48のユニバーサル基板に収まりました、当初入出力ピンが少なくなったので「ISP」との共存も出来る様に考え検討致しました結果可能でしたので製作に取り掛かったしだいです。 このケースは100円ショップで購入致しました。 放熱器は「秋月電子」でちょっと大きめと謳ってた物です、定電流部がかなりの熱を出しますのでこの程度の大きさは必要です。 ちょっと余談になりますが100円ショップなどで300円程度で車用の携帯充電器が販売されてるので中の基板を取り出しノイズフィルターなどを追加してこの装置の定電流部の代わりにすれば、電池1個〜2個直列の充電は旨く出来ます。 ただし改造なしでは0.5A程度の電流なのでタイムオーバー変数の数値を充電完了時間を測定し30分ぐらいの余裕を加えてタイムオーバー停止する様に変更すればかなりのエコ充電器になりそうです。 当然ですがマイコン部は5Vの安定化部をそのまま使います。 この実験装置は0.8〜0.9Aぐらいの充電電流で各時間を設定しています。 また電池の直列数が多くなると、電圧も上げる必要があります、今回の実験装置は電池の直列数に必要な電圧を用意して供給する事を前提にしています。 10本直列では19Vぐらい必要でした、ノートパソコンの電源が19Vのタイプが多いのでそれを使ってみました、10本直列で旨く充電できました、ただしこれで直列2本などに使うと放熱器の容量がオーバーして使えません、直列2本では9Vぐらいで丁度良いです。 携帯充電器の出力電圧と出力安定電流を変更すればかなり良い充電器になりそうですね、いずれ挑戦します。 これは製作直後の実験の様子です、ISPの6Pソケットにプログラマーからの配線が刺さっています、現在は写真の赤LEDも緑LEDと同じ方向に基板図を変更致しました、この写真通りだとLED色を間違えて半田付けをしたときは両方を変更しなければいけません、方向を同じにすればコネクタを差し替えるだけで済みます、実は私自身間違えて苦労しました・・・・・。 写真の左側が電源入力です、そばにあるダイオードはLM338Tの保護用です、電源無接続のままプログラマーを接続してパソコンのUSBなどに接続すると5Vの逆方向電圧がかかりICが損傷する可能性があるので逆方向電圧をバイパスする為です、配線図で D1 に該当します。 手前側の2個のネジ付きスペーサーは裏側の配線時に水平に保つ為の仮取り付けです。 赤黒の蓑虫クリップは充電電圧測定用に使用している物です、他の詳細は基板実装結線図を作りましたので以下をご覧下さい。 |
基板裏側パターン面 |
装置の動作についての説明です。 メイン電源スイッチは先で述べたトグルスイッチで兼用しています、センターで電源OFFです。 電池が2本以下なら下側へ、3本以上10本までは上側です。 電池を2本装着してメインスイッチを下側へONしますと強制充電中のLEDだけ点灯しますが未だ待機状態ですが装置へ通電した事を目視できます。 この状態で充電開始させない理由は一般の充電器は停電すると全て初期状態になり電気が 復旧して通電が開始すれば再び充電が開始します、一般の充電器は追充電を許可しているタイプと電池を使いきってから充電するタイプなどあります、追充電を許可タイプは問題 なく停止しますが、それでないタイプの場合は過充電はもとより火災などの危険も考えられます、この実験装置は30分間は強制充電なので、30分間では火災に至る事は無いと思いますが過充電は免れません、よって停電から再通電しても充電開始しない様にプログラムしています。 PB-1 と PB-2 の押しボタンに付いての説明 PB-1 は INT-0 割り込みを採用しました。 1回押すと充電開始され、充電中の赤LEDが点滅を始めます、もう1回押すと強制充電解除になり緑の強制充電中のLEDが消灯します、此処までは割り込み処理なので PB-1 は押し続けなくてもさくさくと動作しますから快適です、これ以向は割り込み禁止状態になります。 PB-1の最後の動作は強制充電解除後、充電完了停止するまでの間に3秒以上押し続けると赤LEDが点滅を停止して点灯状態になりタイムオーバー停止と全く同じ状態で停止します。 此処までの動作を1つのボタンで再現しました、コンピューターならではですね。 PB-2 は何をするのか? 大げさな事はしません、配線図を見れば分かります、接続先は RST ピンです、以上のどの動作より優先でPB-2を押された瞬間にこのマイコンは初期状態に復帰します。 代わりに電源を一旦切断すれば同じ状態ですが、電源の入り切りはタイムラグを入れないとマイコンが誤動作する可能性もありますから要注意です。 |
ATtiny13AでBASCOM-AVRのエラー続出について。このCPUをBASCOM-AVRで操作未経験の方は必ず遭遇するエラーだと思いますので、対処方法を以下の画像などで記述致します。 始めは予告なしにこのエラーが出て焦りました。 Out of SRAM space この意味が分からず指定行の変数のタイプを変更したりしました、しかし必要なタイプの変数なので変更などしたら、まともなプログラムなんかできっこないですよね。 諦めかけていましたが次の日にまたアタックして手当たり次第にしっ掻き回した結果解決しました。 黄色の楕円内のOptionsをクリックして、マウスの矢印が写ってるCipを選択するとBASCOM-AVRの初期設定の画面が起動します。 上の画像からこの画像に変わります。 Chip の窓で逆三角をクリックして attiny13a を見つけて選択してこの画像と同じにします。 次 HW Stack を 16 に変更。 次 Soft Stack を 8 に変更。 次 Framesize を 16 に変更。 この画像での変更は此処までです。 Chip タブから三つ目の 12,SPI,1WIE タブをクリックして以下の画像を出します。 ここで ATtiny13A のSPIの設定を済ませます。 窓の逆三角をクリックしてそれぞれ画像の様に設定すればここは終わりです。 ここ迄の設定でエラーは出なくなると思いますが、折角ですからもう少し設定していきます。 次の設定はこの画像でも見えています Programmer タブをクリックで以下の画面にします。 ここで使用しているプロクラマー(書き込み器)の設定します。 私は HIDaspx というプログラマーを使っていますので、画像の様に設定しました、各自使用しているプログラマーに適合した設定にしてください。 Programmer の窓はBASCOM-AVRの既定装置以外は逆三角から操作して写真と同じにします。 Otherの Progrm はプログラマーに付属している必要なソフトウェアーを保存したアドレスを右のフォルダのアイコンをクリックして保存したフォルダーを選択すれば自動的に書き込まれます。 Parameter は1の数字を大きくすればドス窓の開いている時間が長くなる様ですが試していません。 右のUse HEX fileにチェックを入れます、設定はこれでおしまいです、最後に下側にあるOKをクリックして終了します。 ここでの設定を済ませて置けば、コンパイラ後、緑の書き込みアイコンをクリックするだけで自動的に書き込み完了しますから便利になります。 |
充電開始、停止をリレーで制御した装置、プログラムは変更なし。 |
配線図で変更になった箇所は、スイッチがロータリースイッチで4回路3接点タイプになりました。 IC-2にリレー接点とR14が追加されています。 ADC-IN に自動分圧回路を追加しました、記末のFET制御の場合と同じ動作です。 |
基板図はFETの箇所がリレーに置き換わっています。 D3がリレーコイルの逆電圧防止部品になり、D4 R6は不要になり R14 が追加です。 |
エクセル形式ファイル | テキスト形式コピー用 | テキスト形式 印刷用 |
2012/3/28 プログラム追加 145〜148行 206〜216行 理由、ADCの入力が5Vを超えると制御不能になり、過充電になる為。 4.25Vを超えたら充電を停止し、強制充電中のLEDを点滅。 復帰はリスタートを押すか電源接断でスイッチは3個以上の側にして初期状態からスタートさせる。 此れで間違って電池を3個以上の接続で2個以下側のスイッチで充電して過充電になるのを防げます。 エクセル形式のプログラムファイルは「シート1」がコピー用です、其のまま「BASCOM-AVR」へコピー貼り付けでOKです。 「シート2」は「BASCOM-AVR」のプログラム色に出来るだけ近い色にしましたので違和感無く見られると思います、コメント付きです、暇がないと此処までは出来ない感じですが・・・・かなりの暇人?? テキスト形式ファイルは昨今エクセルは使えませんって言う方は少数かと思いますが、その様な方の為に追加しました。 コピー用はエクセルのコピー用と全く同じ感じで使えます、印刷用は日本語のコメント付きですがモノクロですから「BASCOM-AVR」のプログラム色で馴染んだ方はちょっと違和感があるかも知れませんね。 |
プログラムの概要をさらっと記述します。
|