電子工作100 – 電池カイロ改良版の製作

Electronics Project 100 – Making An Electric Back Warmer

 

 

概要   Introduction

   今回は7年前の電子工作38「電池カイロの製作」の改良版を作る。具体的にはニクロム線ヒーター部のサイズを大きくし、流れる電流を増やして発熱量を大きくした。ハードの面では機械式リレーの代わりにホトモスリレーを使い、USBモバイルバッテリー為の基板側コネクターに電源用マイクロUSBAタイプのメスを使った。温度設定用のプログラムはほぼ前のものと同じである。

 


回路図   Circuit Diagram

  ヒーターの熱源と12F675を駆動する電源には5VのUSBリチウムイオン電池を使う。カイロの利用時間と半固定ボリュームで設定する加温の程度によって2000―5200mAh位の容量のものを想定している。5Kの半固定ボリュームは回転することによって0−5Vの電圧を作成して12F675のGP0に読み込ませ、プログラムでいろんな加熱パターンが生成される。ヒーター部に電流を送ったり、切ったりする目的にホトモスリレー(TLP241A)を用いた。可動部がなくて劣化が少なく、尚且つ、電流を2Aまで電流を流せる優れもの。ヒーター部は直径0.6mmで長さ143cmのニクロム線を大きさ90x70mmの基板にニクロム線の殆どが片側に出るように巻いて作成した。抵抗値は5.3 ohm、これだと電流が800mA程流れ電池の消耗が激しいことが分かったので、1.1 ohm (1W)の抵抗を基板上部に追加し、合計抵抗値6.4 ohmとし、720mA程度の電流が流れるようにした。この後付の抵抗1.1 ohmも発熱し、ヒーターの一部を形成する。

 

    電池カイロの構成: 左がニクロム線ヒーター; 真中がコントロール基板(最上部左の丸いものが温度設定用ボリューム、その右手が電源用マイクロUSBAタイプメスソケット、上から2段目に12F675が見える、その下左が電源スイッチ、右側に4ピンの黒いホトモスリレーが見える、最下部の差し込みコネクタはニクロム線ヒーターに繋がっている); 右側の白いのが5VUSBリチウムイオン電池(5200mAh)である。当然別のタイプの5VUSBリチウムイオン電池も使える。その右手の青い装置は電流・電圧計で、ニクロム線ヒーターを繋いだ状態で0.72Aの電流が流れているのが分かる。

 

リチウムイオン電池と蓋付プラスチックケース(85x60x24mm)に収納した基板

 

ニクロム線ヒーターの作成: 左の写真のように、大きさ90x70mmの基板にニクロム線を上下に16連這わせてある。ニクロム線の殆どの部分が加温する片側に出るようにした。そしてニクロム線が交差して短絡しないように細いテフロン被覆線で30ヶ所以上固定してある。右の写真は基板の裏側を示す。最上部の赤い線の端に2本の抵抗(2.2ohm X2で1.1ohm)がニクロム線の一方の先端につないである。抵抗値を増すためである。

 

上の右の写真で、追加した抵抗の部分を拡大したもの

 

実際にニクロム線ヒーターを使う場合には、上の基板を丈夫なテッシュペーパーで3―4重巻きし、その上から木綿糸で固定する。更に、身体に接するニクロム線側の反対側にアルミ箔引きシートをアルミ面を内側に向けて設置し、最後に全体を8x13cmのチャック付きプラスチック袋に入れた。このアルミ箔引きシートは外側に出ようとする熱波を内側に反射する効果がある。赤外線非接触温度計で測定した動作中のヒーターのプラスチック袋表面の温度はヒーター線側で最大で38−40Cに達し、ヒーター線側面と温度が低い裏面との温度差は5−7Cであった。

 

使用したアルミ箔引きシート、裏地はプラスチックで出来た生地

 

結果&コメント

1)     今年の冬に備え、より実用的な電池カイロの製作を目指した。

2)     加温設定用のボリュームは時計回り方向で加温時間が増す。

3)     千石電商で購入したニクロム線(¥500)のスペックは直径0.6mm、3.82ohm/mで、実際に0.5mの抵抗を測ったら2.0ohmであった。つまり実測値は4ohm/mであった。

4)     比較的高い電流を扱えるホトモスリレーが秋月電子で¥130で販売されているのを見つけ、早速購入して使ってみることにした。TLP241Aで2Aまで扱える。今までは500mAが最大だったのでいろんなことに使えそう。劣化がなく、高速で、使い方が簡単なのが良い。

5)     電池の持ち: 容量5200mAhの5VUSBリチウムイオン電池を考えてみる。ニクロム線ヒーターがONの状態で720mAの電流を消費するので、5200/720=7.22hrs(時間)持つ計算になるが、試用してみたところそんなに持たないようだ。ただ、ボリュームを調整してヒーターへの通電時間/非通電時間を50/50%にすれば理論的には2倍持つことになる。

6)     写真に示した5VUSBリチウムイオン電池(ELECOM DE-M01L-1920 5200mAh)もそうだが、INPUT: DC5.0V/500mAとあるように充電に時間がかかるのが不便。4時間位で充電が完了する最新の急速充電タイプが良い。

7)     今回は勉強をかねてニクロム線ヒーターを自作したが、ネットで調べると(例えば eBay上で)使えそうな工場製造のヒーターエレメントが結構出回っていることが分かった。

 

 

プログラム電子工作38Warmer675VR.basを参照のこと)

12F675のGP0から5Kのボリュームで選択される電圧 0 - 5Vを読み込んで、その値によってHeatmode1 から Heatmode11のいずれかに飛んでホトモスリレーをON/OFFさせ、ニクロム線ヒーターに通電したり、非通電したりする。Heatmode1では、ヒーターへの通電が10秒、非通電が60秒の繰り返し(最小の加温)。Heatmode2では、ヒーターへの通電が20秒、非通電が60秒の繰り返し。以下、Heatmode XXでは次第に通電時間が長くなり、Heatmode10では通電時間が150秒、非通電時間が60秒の繰り返し。最後のHeatmode11の場合は、常時通電するモード(最大の連続加温)。要求する加温の程度と電池の容量によって適当なボリューム位置を選択する必要がある。

'****************** Electric Back Warmer *******************

'Warmer675VR2017.bas (modified from Warmer675VR.bas)  2017.10.16

'The heating level of this battery warmer can be changed by 5k-VR input

.'Compiled by PicBasic Pro V2.50A

'******** Pin connection ******************

'Pin 1: Vdd (5.0V)

'Pin 8: Vss (GND)

'Pin 7: GPIO.0: input from voltage divider made of Vdd(+5V), GND and 5k-VR

'Pin 6: GPIO.1: not used

'Pin 5: GPIO.2: not used

'Pin 4: GPIO.3: input - connected to MCLR via 4.7kR and Vdd

'Pin 3: GPIO.4: output - connected to Pin 1 of Photomos relay

'Pin 2: GPIO.5: not used

'********* Program starts from here ***************

ANSEL=%01000001

'sets Fosc/4MHz (bit6-4=100) and GPIO.0 as ADC input (analog)

ADCON0=%10000011

'bit7=1(right justified),bit6=0 (Vdd used as volt reference for ADC),

'bit5-4=00(unimplemented), bit3-2=00(GP0-Anlog Input),

'bit1=1 (starts right away), bit0=1(on operation)

TRISIO=%001001

CMCON=7                'turns off comparator function

Define ADC_BITS 10     '10-bit ADC used

Define ADC_CLOCK 3     'Internal clock used

Define ADC_SAMPLEUS 50 'Polling is not needed due to use of ADCIN command

 

Vin var WORD        'Storage for ADC data

RelaySW var GPIO.4  'Relay ON/OFF

 

ADCloop:

Vin=0

RelaySW=0

 

ADCIN 0, Vin  'Read Vin from GPIO.0 (AN0) (range 0 - 1023)

Pause 20

 

'Divisions of input values (volt) from 5k-VR

If (41>Vin) then goto ADCloop

if (Vin>=41) and (Vin<135) then goto Heatmode1

if (Vin>=135) and (Vin<229) then goto Heatmode2

if (Vin>=229) and (Vin<323) then goto Heatmode3

if (Vin>=323) and (Vin<417) then goto Heatmode4

if (Vin>=417) and (Vin<512) then goto Heatmode5

if (Vin>=512) and (Vin<606) then goto Heatmode6

if (Vin>=606) and (Vin<700) then goto Heatmode7

if (Vin>=700) and (Vin<794) then goto Heatmode8

if (Vin>=794) and (Vin<888) then goto Heatmode9

if (Vin>=888) and (Vin<982) then goto Heatmode10

If (Vin>=982) then goto Heatmode11

 

Heatmode1:

'10-sec ON <-> 60-sec OFF

High RelaySW

Pause 11500  '10 sec

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode2:

'20-sec ON <-> 60-sec OFF

High RelaySW

Pause 23000  '20 sec

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode3:

'30-sec ON <-> 60-sec OFF

High RelaySW

Pause 34600  '30 sec

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode4:

'40-sec ON <-> 60-sec OFF

High RelaySW

Pause 46200  '40 sec

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode5:

'50-sec ON <-> 60-sec OFF

High RelaySW

Pause 58000  '50 sec

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode6:

'60-sec ON <-> 60-sec OFF

High RelaySW

Pause 60000  '60 sec

Pause 9200

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode7:

'70-sec ON <-> 60-sec OFF

High RelaySW

Pause 60000  '70 sec

Pause 21000

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode8:

'90-sec ON <-> 60-sec OFF

High RelaySW

Pause 60000  '90 sec

Pause 44000

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode9:

'120-sec ON <-> 60-sec OFF

High RelaySW

Pause 60000  '120 sec

Pause 60000

Pause 18000

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode10:

'150-sec ON <-> 60-sec OFF

High RelaySW

Pause 60000  '150 sec

Pause 60000

Pause 53000

Low RelaySW

Pause 60000  '60 sec

Pause 9200

Goto ADCloop

 

Heatmode11:

'All time ON

High RelaySW

Pause 60000  '60 sec

Pause 9200

Low RelaySW

Pause 100

Goto ADCloop

 

End

'********* End of Program ***************

'Note:

'melabs U2 Programmer's configurations for 12F675:

'Oscillator - INTOSC, WDTE - Enable, PWRTE - Disable, MCLR - Reset, BODEN - Enable, CD - Not Protected,

'Data EEPROM - Not Protected

'***********************************************

 

Menu Pageへ戻る    (Return to Menu Page)

Topへ戻る    (Return to Top of Paage)