2021/08/22
秋月電子で
ペルティエ素子を購入しました。
ペルティエ効果(Peltier effect)は、Wikipediaの解説によると、異なる金属を接合し電圧をかけ、電流を流すと、接合点で熱の吸収・放出が起こる効果のことですね。愛用しているネッククーラーもペルティエ効果を利用して首を冷やしてくれます。夏の必需品です!
今回、ペルティエ素子を使いたかったのは、電圧をかけて熱の吸収・放出を行うのではなく、逆に温度差で電圧を起こす
ゼーベック効果(Seebeck effect)を利用して、発電を試みようと思い立ったからです。持続する熱源があれば、ペルティエ素子の一方を熱源に接触させ、もう一方から放熱することで、バッテリレスでマイコンなどが動かせそうです。よくある話ですが。実際に自分の目で確認したかったので、早速実験の準備をしました。
実験には、以下のものも
モノタロウで調達しました。
・
銅板 厚さ 0.3mm、幅 150mm、長さ 300mm、L9020・
放熱用両面テープ HF-S43、1パック(3枚) (サンハヤト)
ペルティエ素子の両面に放熱用両面テープを使って銅板を貼り付けました。こんな感じになりました。

次に、温度差と発生する電圧の関係を調べるために、1wireの温度センサを準備しました。
・
デジタル温度センサ(1wire)DS18B20+コネクタに取り付け、

ペルティエ素子の発熱側、吸熱側に1個ずつ放熱用両面テープを使って貼り付けました。

実験回路図は以下の通りです。Raspi-Picoを使って、High側とLow側の温度と発生した電圧のデータを計測し、SDカードにデータを保存しました。

1wireの信号線DQには4.7kΩの抵抗を接続するようにマニュアルに書かれてありましたが、手元の1kΩの抵抗で代用しました。
Raspi-Picoのプログラムは以下の通りです。
# Temperature Sensor data logging for Raspberry Pi Pico
import utime
if __name__ == '__main__':
import utime
import machine, onewire, ds18x20, time
from machine import Pin, SPI
import os
import sdcard
# Runnung lamp
led = Pin(25, Pin.OUT)
ds_pin = machine.Pin(0)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
# ADC
vol_mes_temp = machine.ADC(0)
conversion_factor = 3.3 / (65535)
# SD card (SPI setting)
spi = SPI(0, sck=Pin(2), mosi=Pin(3), miso=Pin(4))
sd = sdcard.SDCard(spi, Pin(5))
os.mount(sd, '/sd')
os.chdir('sd')
roms = ds_sensor.scan()
print('Found a ds18x20 device')
print(roms)
while True:
led.value(1) # Measurement Start
# Voltage Measurement
vol_mes = vol_mes_temp.read_u16() * conversion_factor
# Temperature Measurement
temp = []
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
temp.append(ds_sensor.read_temp(rom))
print(temp[0], temp[1], vol_mes)
# SD Card output
with open("/sd/temp_measure.txt", "a") as file:
file.write(str(temp[0]) + "," + str(temp[1]) + "," + str(vol_mes)+ "\r\n")
led.value(0) # Measurement End
utime.sleep(2)
実験の外観はこんな感じです。

条件を変更しながらSDカードに記録された結果は以下の通りです。横軸は時間軸です。

温度差がない(グラフの黄色線がゼロに近い)場合は、電圧(緑色線)はゼロに近いことが分かります。また、A:室温からB:氷水に浸けた場合は、吸熱側の温度(グラフの青色線)が大きく下がりますが、発熱側の温度(グラフの赤色線)も下がるため、温度差(発生電圧)も抑えられてしまうことが分かりました。Cで発熱側に湯を接触させることで発生電圧は0.4Vまで上がりました。ただ、マイコンを動かすには、まだまだ電圧が足りません・・。
温度差と発生電圧をプロットすると以下の通りになりました。

一瞬ヒステリシスがあるのかなと思いましたが、条件を刻々と変えているので、データが安定していないだけですね・・。およそ10℃の温度差で0.323V発生するようです。
マイコンを動かすには温度差をさらに大きくする必要がありますが、現実的に難しい場合は、ペルティエ素子を直列に複数個接続するしかないかもしれません。次回は複数個で試そうと思います。