エントリー

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

第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

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

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

(追記)

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

 

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

前回版デサルフェーターでは12KHzで稼動させると発熱が半端でないことで高クロック化できなかった

そのためではないと思うがポータブルバッテリには効果がなかったので高クロックでどうなるか試してみたい

そこでこちらで紹介されている555タイマの制御方法ならばON時間を短く調整でき発熱を抑えられるのではないと思い2号機を製作することにした

先ずはクロックを20KHzで試してみる

回路図

  • ON時間は調整できるようにとR1を半固定にした(約8KΩに設定)
  • R2(66KΩ)は、C1とともに調整しつつ最終的に100KΩと200KΩの合成となる

R1

R2

C1

クロック(555 3pin)

8K 200K 0.0022μF 3.384KHz
8K 200K 470pF 14KHz
8K 100K 470pF 26KHz
8K 100K 0.0022μF 6.51KHz
8K 100K 0.001μF 13KHz
8K 66K 0.001μF 19KHz

さくっと組み立て(最終ではない)

完成ボード

丁度良いので2つのオシロスコープ(キット)でポイントを比較してみた

①555の6ピン

双方とも変わらず

②555の3ピン(FETへの出力)

解像度が低いからか?方形波に見える

③デサルフェータの出力(バッテリ接続端子)

双方とも1MHzサンプル帯域250KHz(実質以下)程度では厳しい

(続く)

ページ移動

  • ページ
  • 1
  • 2

ユーティリティ

タグクラウド

検索

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

Feed