■ ステップアップコンバータの出力を Arduino で制御
[2015/05/04 14:27:41]
パルスアーク溶接やスポット溶接に使用する電解コンデンサーの充電電圧を PIC マイコンから制御することを考えています。そこでまず、「ステップアップコンバータの改造」に紹介したよう、ステップアップコンバータの試験と必要な改造を行いま した。その結果、出力電圧制御部2つの抵抗(R4,R6)を交換する事で希望する電圧範囲(12V~35V)の出力が可能となっています。また電圧設定用 のトリマー抵抗をデジタルポテンションメータ (MCP4018) に交換する事で PIC マイコンから制御可能だろうとの予想が立ちました。
今回は、改造したステップアップコンバータのトリマー抵抗をデジタルポテンションメー タ (MCP4018) に交換し、実際にコンピュータからの制御が可能かどうか、確認することにします。
● MCP4018 デジタルポテンションメータ(変換基板が無い!)
秋月電子から購入したデジタルポテンションメータ(MCP4018) ですが、袋から取り出したら、その小ささに驚きました。写真ではそんなに小さいとは思わなかったが実際に見ると本当に小さい素子です。表面実装用のデバイ スをブレットボードで使えるよう変換基板は在庫しているのですが。残念ながらこんなに小さなデバイス用はありません。困りました。購入するにはまた時間が かかります。そこでピン間隔が同じ変換基板を使い誤摩化す事に。
Fig-1: 既存の変換基板を無理矢理使った様子
上記 Fig-2 の写真が既存の変換基板に無理矢理ハンダ付けした様子です。MCP4018 は幅が狭いので手持ちの変換基板では片側の(1,2,3)番ピンしかハン ダ付けでできていません。6番ピンの下にパターンが有ったのでナイフで削りハンダ付け。残りの(4,5)番ピンは、しょうがないのでより線を解いてハンダ 付け。何回か失敗したので時間がかかっている。熱で素子が壊れた可能性があります(大丈夫でした!)。
それにしても表面実装基板をブレットボードで使う、試験するのは本当に面倒ですね。
● トリマー抵抗を取り外す
ステップアップコンバータの改造(抵抗の交換)は「ステップアップコンバータの改造」で終っているので、今度はトリマー抵抗を上記デジタルポテンションメー タに取り替えます。ただ単に基板からトリマー抵抗を取り外すだけです (Fig-2)。
Fig-2: トリマー抵抗を取り外した基板
● 出力電圧の確認
トリマー抵抗を取り外したら、ステップアップコンバータに電源を接続してみて下さい。 トリマー抵抗が外されたので抵抗は無限になりステップアップコンバータは 1.23V になるよう制御します。でも電源の電圧より下げる事ができないので電源電圧-0.6V付近にあるのではないでしょうか。
● デジタルポテンションメータに接続
基板からトリマー抵抗を取り外すと3つの穴が見えます。基板を Fig-2 の方向に向けると左側のランドは四角で R6 に接続されています。中央と右側のランドは丸でグランドに接続されています。左のランドは MCO4018 の5番ピンに接続し、右のランドは MCP4018 の2番ピンに接続します。その様子は Fig-3 の写真の通りです。
● 制御は Arduino で
Fig-3: MCP4018 の制御には Arduino を使用
本番では PIC マイコンを使う予定ですが、試験では取り扱いが簡単な Arduino を使ってみます。 MCP4018 の1番ピンに5Vの電圧を、MCP4018 の3番ピン (SCL) は Arduino の A5 ピンに、MCP4018 の4番ピン (SDA) は Arduino の A4 ピンに接続します。MCP4018 の2番ピンはグランドです。
ステップアップコンバータの出力を Arduino で計測するので 10KΩ:1KΩ で分圧し A0 ピンに接続します。ステップアップコンバータの出力を直接 Arduino に接続すると Arduino が壊れるので注意して下さい。
● 電源は 12V
ステップアップコンバータに接続する電源は 12V にします。これは実際に使う時を想定しています。
● Arduino プログラム
今回は出力制御の試験なので、MCP4018 の抵抗値を設定したら2秒待ち、ステップアップコンバータの出力を計測する。その結果をシリアルで出力するというプログラムにします。
int dly = 2000;
#include "Wire.h"
void setup()
{
Wire.begin();
Serial.begin(9600);
}
void setPot(int val)
{
Wire.beginTransmission(0x2F);
Wire.write(val);
Wire.endTransmission();
}
void loop()
{
int i;
for(i=127;i>=0;i--){
setPot(i);
Serial.print(i);
Serial.print(" ");
delay(dly);
Serial.println(analogRead(0));
}
for(i=0;i<128;i++){
setPot(i);
Serial.print(i);
Serial.print(" ");
delay(dly);
Serial.println(analogRead(0));
}
}
● Arduino プログラムの実行
Fig-4: プログラムを実行しシリアルモニタで確認
Fig-4 はプログラムを実行している時のシリアルモニターの様子です。数値が表示されているだけの単純なものです。左側はデジタルポテンションメータ MCP4018 に送った値。右側が2秒後のステップアップコンバータ出力電圧(電圧換算前)です。これで10分程計測します。
● データ処理
デジタルポテンションメータの抵抗値とステップアップコンバータ出力電圧の関係を見て みます。Fig-4 のシリアルモニターの数値を全部クリップボードにコピーします。で、次のプログラム(CalendarMemo)を実行します。
a = getClipData(0);
b = a•|10/128,11.9/231|;
parametricPlot(b[#,1],b[#,2]);
● データ処理の結果
Fig-5: 抵抗値とステップアップコンバータ出力電圧の関係
上のプログラムを実行すると Fig-5 のグラフが表示されます。「ステップアップコンバータの改造」のシミュレーション結果の Fig-5 とほぼ同じ結果になりました。上記実測値を見ると、ポット抵抗が 9KΩ以上では電圧がほぼ一定です。これはステップアップコンバータに供給している電源電圧が 12V なので出力がこの電圧以下にならないための現象です。
● まとめ
以上の様に、ステップアップコンバータのトリマー抵抗をデジタルポテンションメータ (MCP4018)に置換える事でマイコンから 12V~ 35V の任意の電圧に出力可能である事が確認できました。これでパルスアーク溶接やスポット溶接に使用する電解コンデンサーの充電電圧を PIC マイコンから制御するという目的は達成できると思います。
[2015/05/04 15:37:51] 初稿
© 2015 Nishimura Hiromi (NiS-Lab)