エントリー

カテゴリー「デサルフェーター」の検索結果は以下のとおりです。

デサルフェータ―3号機(準備)

既に半年も前から計画し車にデサルフェータ―3号機を取り付けようと思いながら時間が掛かってしまっている

まずは少しづつ準備してたことを整理してみる

原理

Alastair Couper氏が雑誌に発表した記事を見直す

  • 鉛蓄電池は充放電すると電極に硫酸鉛の結晶が付き(サルフェーション)劣化して寿命となる
  • 硫酸鉛の結晶には共振周波数(2~6MHz)があり,鉛蓄電池にパルス(2~6MHz)をかけることで硫酸鉛の結晶を溶解させ性能を回復させる方法が発見された(実際は別件の実験中に効果を発見したらしい)
  • 12Vの鉛蓄電池に2~6MHzで30~50Vくらいのパルスをかけることで徐々に改善されていくが,実際の回路では直接鉛蓄電池に高周期のパルスを加えることは難しいので,コイルの逆起電力によるリンギングを発生させる
  • このリンギングを共振周波数(2~6MHz)になるよう調整しサルフェーションを除去する
  • 共振周波数は3.26MHzであるとの説がある
方針
  • デサル動作をエンジン始動中のみだと短すぎるのでバッテリー電圧をチェックしながら常時動作させる
残容量(%)
電圧目安(V)
備考
100 12.6  
  75 12.4 ※1
  50 12.2 ※2
  25 12.0  
  • 動作終止電圧を※1と※2として切替られるようにする
  • 電圧チェックもあるため555の代りに融通の利くAttiny13aを使用する
回路

基本回路は以下のとおり(部品は暫定)

Desulfator_3.png

部品選定

以下の主部分の部品は調整予定で実験後に決定する

部品名 仕様 備考
D1 1N5822 ショットキーだがER504と同程度のカバリータイムで順方向電圧損失が少ないので採用
FET 2SK2232 2SK4021と検討
L1 100μH 47~220μH位で実験予定
L2 470μH 680μHでも良い
L3 1mH 決定
C1 470μF 100μF~で実験中,セラミックコンデンサに置き換えたいが・・・
調整内容

(1)L1の磁気飽和までの時間

FETのON時間になるがL1が飽和するまでONにすると部品が破壊されるので最大時間は知っておく必要がある

調べてみても(頭悪いし年のせいもあり)良く理解してないけど,コイルに最大電流から63.2%まで減衰したところが時定数となり,時定数×5で約100%(つまり飽和)となるようなので,時定数を求めれば大体の時間が判るはず

  時定数=L(H)/R(Ω) (注)Lの抵抗もRに含む

L1を充電の際のRは僅かで約1Ωだろう(100μHのコイルは0.1ΩでFETが0.5Ω位,尚充電ではL2も絡む)

なので,100μHだと100μs×5=500μsと考えて良い

充電されたコイルの放電は充電時間と同じになるので充放電を含めた時間は1クロックタイムを超えてはならない

(2)FET

リンギングピーク電圧が40~60Vあるので余裕の電圧耐性があってスイッチングスピードが速いのが良いのかと思うのだけど実験してみないと判らない

(3)Attiny13a

FETに切れの良い電圧(一気に高電圧等)を掛ける方がリンギングを発生しやすい(本来リンギングを発生させないようにする)

555で制御する場合12VをFETに掛けていたので,AVRの5VのPWM制御でも問題ないか確認する必要がある

5Vでよろしくないなら12Vをドライブすることになる

(4)C1

リンギングピーク電圧を上げるために容量アップしてる傾向があるのだけど実際のところはどうなのか?

実験結果

パルス発生器も改良して実験

IMG_20180616_131220917.jpgIMG_20180617_180937348.jpg

(1)FETに与えるON時間は3~4μs

これまで7μs位のON時間を与えていたので5~10μsの変動で確認

やはり7μsを超えるとD1,L2の発熱が酷く80℃位になってしまう

そこで思い切って5μs以下に下げてみると,4μsまでは7μsと変わらないリンギングを発生できた

3μsにするとパワーが落ちているようで発熱がほとんど無い4μsがベストのようだ

(左:2SK2232-100μH-3μs,右:2SK2232-100μH-4μs)

2232-100uF-3us.jpg2232-100uF-4us.jpg

(2)FETを2SK4021に変更

次に2SK2232と2SK4021で異なるのか比べてみると,明らかに2SK4021の方がピーク電圧が高くなったので変更

FETに与えるON時間は2SK2232の場合と同じく4μsの方が良さそう

(2SK4021-100μH-4μs)

4021-100uf-4us.jpg

ここで耐圧は低いが安価でON抵抗が低い2SK4017を試したみたところまったくリンギングが発生しなかった(RDSが関係するのか?)

(2SK4017-100μH-4μs)

4017-47uF-20k-3us.jpg

(3)AVRで問題なし

5V駆動で問題なさそうだ

(4)220μF以上なら問題なさそう

200~400μF位でしか確認してない

100μFでも問題ないか別の機会で確認する

(5)L1を47μHに変更

FETに与えるON時間が4μsで十分ということはL1も小さくて問題ないということになる

そこで10μHでも十分そうだが余裕のある47μHで試してみたところ良好だったので変更(100μHよりピーク電圧が上がったようにも思えるがオシロがへぼなので確証が得られていない)

(左:2SK4021-47μH-3μs,右:2SK4021-47μH-4μs)

4021-47uF-3us.jpg4021-47uF-4us.jpg

基板に実装(2018.6.17)

実験はブレッドボード上だったので接触抵抗が入り正確なデータ取得とはならない

なので実験用のボードに結果を実装して確認した

部品名 仕様 備考
D1 1N5822 決定
FET 2SK4021 決定
L1 47μH 100μHから変更
L2 220μH 470~680μHから変更
C1 440μF 220μF × 2個
IMG_20180617_175207715.jpgIMG_20180614_192634454.jpg

newBoard-1.jpg

newBoard-2.jpg

ピーク電圧は45V位まである

リンギング周波数は0.05μs位で20MHzとなり少し高いか

第3次デサルフェータ―計画

自動車とUPSやポータブルバッテリ用にデサルフェータ―を新規に考えてみようと思いデサルフェータ―3号機を検討

まずはこれまで作製したデサルフェータ―について検証してみた

  • パルス発生部とバッテリー接続部の波形をオシロで再確認
  • 消費電力としてバッテリー接続時の消費電流を計測
1号機

元記事に近い形の回路でPチャネルのFETを用いて作製してある

IMG_20171112_110146.jpg

設計では12kHz動作であるがコイルやダイオード類の発熱がもの凄いため6kHz動作にした(切り替えで12kHzも残してある)

6kHz時の波形(上:パルス発生部,下:バッテリー接続部)

1_b_ff6k.jpg1_13v_ff6k.3-2.jpg

FETのON-OFF間隔となるパルス幅は約7μs,ピーク電圧は約40Vである

掃引時間を高速に変えるとリンギングが見え,パルス発生部も出力に影響してなのかFETをONした部分(0Vになったところ)から電圧が上がっている

消費電流(6kHz時)は32mAで低消費

IMG_20171119_200853.jpg

参考までに12kHz時の波形(上:パルス発生部,下:バッテリー接続部)は6kHzの倍になる

若干6kHz時より波形の上下が増えて派手になっている感じはする

1_b_ff12k.jpg

消費電流はクロックが倍になっただけで10倍以上となり,パーツの発熱のせいかしばらくすると700mAを超えた

IMG_20171119_200905.jpgIMG_20171119_201026.jpg

2号機

555を正論理出力にしてNチャネルのFETを用いた

パルス幅の調整に半固定を付けた

万が一のバッテリー上がりを避けるためエンジン始動中のみ動作させるようにしている(短絡ピンで常時動作も可能)

IMG_20171112_110104.jpg

波形(上:パルス発生部,下:バッテリー接続部)

2_b_ff2.jpg2_b_ff6.jpg

FETのON-OFF間隔となるパルス幅は約5μs,ピーク電圧は約40Vである(後に判明したがオシロを購入した時に計測した2号機デサルのデータは電圧/DIVの倍率が間違っていたため正確ではない)

右は掃引時間を高速に変えてリンギングの状態を観ると,パルスの立ち上がり途中でリンギングが発生しているのが判る

消費電流は225mAで多いと考える

IMG_20171119_200728.jpg

考察
  • 出力電圧に関しては1,2号機ともにピークが約40Vであり十分と考える
  • 出力クロックとリンギングについてはどうなのか(判らないため)判断できない
  • 消費電力については,エンジン始動中のみ動作だと普段の利用状況だと短すぎるため効果が薄いのではないかと思い,消費電力を極力少なめにして一週間位の常時動作を可能にしたい(低消費電力化,電圧検知によるインテリジェント化)
  • 掃引時間を低速に変えて1,2号機の出力の違いを比べる

1_b_ff6k2.jpg2_b_ff3.jpg

1,2号機ともにクロック毎に同じ出力電圧ではなくバラツキがあるのが判る

出力パルスは2号機のほうが多く良さそうにみえる

低消費電力化

低消費電力にするためには効率良いパルスの発生を行いたい

そこでパルス調整できる装置をArduinoで作製し調整中

IMG_20171105_095402.jpg

スケッチ

//PWM出力で周波数・デューティ比をダイナミックに変更
//
#include <avr/io.h>
#include "rotary.h"
#include "Wire.h"
#include "AQMI2CLCD.h"

#define PWMPin 10
#define BTNPin 8

#define SELFreq 0
#define SELDuty 1

Rotary r = Rotary(2, 3);
AQMI2CLCD lcd;

unsigned int freq = 20000;    //周波数
int duty = 10;                //指定したいデューティ比

int select = 0;               //変更値選択(0:周波数,1:デューティ比)
boolean forced = false;

ISR(PCINT0_vect) {
   if(digitalRead(BTNPin) == HIGH) {
       select = (select == SELFreq)? SELDuty: SELFreq;
       forced = true;
   }
}

ISR(PCINT2_vect) {
    unsigned char result = r.process();
   if(result) {
        if(select == SELFreq) {
           freq += (result == DIR_CW)? 1000: (-1000);
           if(freq < 1000) freq = 1000;
           if(freq > 50000) freq = 50000;
       } else {
           duty += (result == DIR_CW)? 1: (-1);
           if(duty < 0) duty = 0;
           if(duty > 100) duty = 100;
       }
        forced = true;
   }
}

void setpwm() {
   // TOP値指定(周波数設定となる)
   OCR1A = (unsigned short)(1000000 / freq);

    // Duty比指定 : 1000000 / freq * duty / 100;
   long val = (long)10000 * duty / freq;
   OCR1B = (unsigned short)val;
}

void setup() {
    //LCD初期化
   lcd.setup();

    //pin設定
   pinMode(PWMPin, OUTPUT);
   pinMode(BTNPin, INPUT_PULLUP);

    //調整用ロータリーエンコーダ割込み設定
   PCICR |= (1<<PCIE2) | (1<<PCIE0);
   PCMSK0 |= (1<<PCINT0);
   PCMSK2 |= (1<<PCINT18) | (1<<PCINT19);

    // モード指定
   TCCR1A = 0b00100001;
  TCCR1B = 0b00010010;

    forced = true;
}

void loop() {
    char str[20];

    for(;;) {
        if(forced) {
           forced = false;

          //1行目
          lcd.setLocate(0, 0);
          if(select == SELFreq) {
              lcd.putString((char *)"[ Freq ] Duty ");
          } else {
              lcd.putString((char *)" Freq [ Duty ]");
          }

          //2行目
          sprintf(str, " %2dkHz %2d%% \0", freq/1000, duty);
          lcd.setLocate(0, 1);
          lcd.putString(str);

           setpwm();
        }

        noInterrupts();
       delay(100);
       interrupts();
    }
}

PWM操作の覚書

  • PWM出力の周波数をダイナミックに変更するためには直接レジスタを操作するしかない
  • PWMの周波数はインターバルタイマでカウントアップされたカウンタ値の上限設定で決定する(上限設定しない場合はMAX)
  • インターバルタイマは最大がCPUクロックで分周比の設定もできる
  • デューティ比となるパルスのHIGH(もしくはLOW)時間はカウントアップされた値の上限値が立ち上がりとなる
  • 下がりはカウンタのMAXもしくはカウンタMAXからマイナスされカウンタ値の上限設定と同じなった時となる(2種選択)
  • 上のスケッチは16MHzの分周比8で2Mカウント/秒となりサイクル1Mとして作成している
  • 詳細はこちらを参照

格安オシロスコープでデサルフェータを計測

車載中のデサルフェータ2号機を外して格安オシロスコープで計測してみた

計測

計測イメージはオシロのソフトの機能で出力したもの

ただし出力は単にデスクトップ全体イメージだったのでトリミングした

555の6ピンと3ピン(出力)

555

ON時間は約15μsである

バッテリー接続部

Ringing

パルスの立ち上がりは約0.2μs、リンギングの収束が約0.5μsである

格安オシロスコープでリンギングが確認できてほっとした

で、最大電圧が低いかなっと思うので調整かな

デサルフェーター(2号)の製作(その2)

デサルフェーター2号機20KHz版でポータブルバッテリに接続、しばらく放置したが回復するどころかバッテリ電圧は下がってしまい止めた

このポータブルバッテリは外観チェックは特に異常はないので、いったいどの部分が劣化したのか判らない

デサルフェーター2号機は置いておいても勿体ないので常時車載することにした

そのために追加として、

①常時稼動ではなくエンジンON時稼動とする

②ケースに入れる

を、検討

①は回路にエンジンON時の電圧チェックとしてツェナーを入れればよい(ようだ)

回路図2


エンジンOFF/ON時の電圧(バッテリ端子計測)、12.34/14.60Vだったので13.5あたりをしきい値になるように12Vのツェナーを入れてダイオードで調整しようとしたが美味くいかない

原因はCMOSの555のせいで、低電圧で動作してしまうのがネックになっていた(ダイオードだとゲタが沢山いる)

結果12V+3Vのツェナーで14VしきいでON/OFFになることをブレッドで確認して組み込み

ボードはひとまず完成

②のケースは前のデサルからの長い期間懸案事項で探した(100円ショップいった時は時間制限まで ← 100¥ショップは最長1時間と決めてある、そうしないと延々と居てしまう)

今回は結果タッパー(前回はペン立て)を利用することにした

実はこのタッパーは秋月Cタイプ基板(72×48)では4辺を少し削らないと収まらない

今回は車載であり最終的にシリコーンで固めてしまうつもりだったので4辺の取り付け穴が必要でなく削り取って入れた

と言っておきながら、まだ調整するかもしれないので、基板内側に穴を開けでビス止めw

蓋をした状態、判り難いかな?これ上下逆なのだ(形的にそのままだと美しくないから普通で言う蓋が下で基板を固定)

尚、このタッパーはレンジでも使えるから熱のある環境だと強い味方のケースである(と信じている)

(追記)

後日、車載し運用開始(まだ試行段階かな)

 

ページ移動

  • ページ
  • 1
  • 2
  • 3

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed