Please review design of controller for Peltier

I wish to make an Arduino-controlled Peltier-device heater/cooler. Please look at on my plan and let me know if I've screwed up something.

I really like bananas, but I have trouble keeping them for long. I don't heat or cool my house very much, and so when it's cold out, my bananas never lose that green tinge and hardness. Or in the summer they get brown and yucky much too quickly. I want to make a box that will keep them at 72°F regardless of room temperature. Or maybe I'll experiment with slightly different temperatures. (Yes, I know I've got too much time on my hands. That's a wonderful thing about being retired.)

I want to make half a dozen of these boxes, to give to friends who share my frustration and relatives who can't duck me giving them one. I figure I'll make the boxes relatively fancy, probably wood with inlaid pictures of bananas, and maybe a double-layer plexiglas door. I figure I'll make the inside layer out of sheet metal (0.02" aluminum?) to conduct the heat, with the Peltier and a heat sink on the bottom and insulation between the inner metal box and the heat sink.

I bought some 15V 3.7A Peltier devices. I want to use a wall wart rated at 12VDC @ 1.5A. Based on the temperature difference (8 Kelvins max) and the conductivity values for wood and the size of the box, I think I'll need to move at most 3-4 watts of heat on a continuous basis. Even at only 50% efficiency, that's still well under the 18 watts I have available.

Since I need it to heat sometimes and cool other times, I need an H circuit controller for the Peltier. I found one based on the SN754410NE at nkcelectronics.com for $11. That chip is rated at 1A, so I think I'd need a 10 ohm 10 W resistor in series to limit the current. I plan to use pulse-width modulation, probably around 500 Hz, to drive the Peltier module.

Since I don't need to program the controllers but once, I think I'd use a BBB (Bare Bones Board) from ModernDevices.com. I'd get just one of the USB modules to use for programming, then remove that before installing the programmed board in the box. I'd have a couple of buttons and an LCD display so the user can set the desired temperature. I can't find a display cheaper than a 16x2, so that's what I'll use, even though I only need a few characters of output. ModernDevices again, for $9.

For sensing temperature, I'd use a couple of LM35s, one mounted to the inside metal box, one mounted to the outside heat sink.

OK, so to connect it all together:

12VDC input, plugs into BBB, which is mounted on the bottom near the heat sink. Motor controller shield plugs into BBB. The two LM35s connect to two of the A/D pins. The LCD connects to an output header. The two buttons connect to an input header. The Peltier connects to the output header on the motor controller, with the 10 ohm resistor in series with it.

The program would check the inside temperature and decide whether to run or idle. If it needs to run, set either heating mode or cooling mode. Then set the pulse width proportional to the temperature difference. I'm sure I'd have to determine the best parameters by experimentation. If the outside heat sink gets too hot, shut down and put a message on the display. This probably means that someone blocked the airflow on the heat sink and continuing to run risks ruining the Peltier module.

Press the red button for 2 seconds to go into "temp setting" mode. Click it again to toggle between up and down. Click the green button to actually move the setpoint. Press and hold the red button for 2 seconds, or just wait for 60 seconds to get back into run mode.

The display shows the setpoint temperature, the current inside temperature, the current heat sink temperature, and maybe the recent percentage of how much the device has run. If that number gets too high, maybe something is wrong, like blocked airflow.

So, what details have I gotten wrong? What might you change to improve this?

Thanks much,
Pat

That chip is rated at 1A, so I think I'd need a 10 ohm 10 W resistor in series to limit the current.

A 10R resistor across 12V gives 1.2A. Yes I know some voltage is dropped across the Peltier but don't you think you are running the H bridge too close to it's maximum rating, it's best practice to use a device at only 80% of maximum rated value.

Most devices like this I have seen use forced air cooling on the outside of the heat sink.
When the temperature difference across a Peltier exceeds a certain value it goes into heating mode rather than cooling so you need to shut down at this point.
Otherwise is sounds good.

Hi Mike,
OK, bump the resistor to 15 Ohms. Thanks.

Dunno why I'm so opposed to forced-air cooling, but I am. I'm going to try it without and see what happens. This is why I wanted the second thermistor, but I had in mind more protecting the Peltier from premature failure. I didn't know about the mode switch issue for high dT. Can you point me to something about this so I can figure out where to set the limits?

(A friend moved from the Washington DC area to Manchester last year. She really enjoys being there and hasn't had too much culture shock.)

Thanks,

Pat

I didn't know about the mode switch issue for high dT. Can you point me to something about this so I can figure out where to set the limits?

It should be in the data sheet. I just looked at a HPE-71-10-08 and it says [ch8895]Tmax. 69°

OK on Manchester, great place and it's getting better.

Hi Mike,
I hope that 69 degrees is C, but even if it's F, that's way outside the envelope of what these gadgets should encounter. I'll program it to shut down way before then.

Of course Manchester is getting better; Zoe moved there. That improved the place a lot the day she arrived ;^)

Thanks again,
Pat

Has anyone used these two boards together?

Freeduino Motor control shield from NKC Electronics: http://www.nkcelectronics.com/freeduino-arduino-motor-control-shield-kit.html

Bare Bones Board kit from Modern Device: http://www.moderndevice.com/products/bbb-kit

Can anyone tell me whether they are likely to play nicely with each other?

(Yes, I know I'm showing my ignorance of Arduino standards here. I think that, according to the specs, they are supposed to work together. But I'm unsure enough that I'd like to have someone more knowledgeable than me reassure me. Thanks.)