Selecting a microcontroller/DSP for Data aquisition from sensors and control  - Page 1
Forum section: electronics / general

author: abhaymv
author_rank: Contributor
timestamp: July 22, 2013, 02:35:14 pm
content: Hey guys! I'm new here, and I hope you guys can help me with something.I need to select a microcontroller (or would a digital signal processor be better?) for the following:Planning to incorporate temperature control of a small area (abt 6 cmX 6 cm) with a Peltier element. (Any better ways to cool it to about 25 degrees?) So I need to:Get a specific value of temperature from a laptop to the microcontroller.Get the temperature of the platform cooled via a temperature sensor (probably an IC sensor from TI.)Compare the difference and output a control signal (possibly a PWM) that can be used to increase/decrease the temperature of the area as per the need.The current waveform output from a photodiode needs to be transferred to the laptop (like a CRO?). Since the current wf is analog, I would guess that this requires anADC. Need one with pretty good precision too.I also need to getsample valuesof voltage and current from a solar cell at regular intervels of time. (To get its V-I chara).While I have interfaced before, I'm still pretty new to this. What MC or DSP should I use? Help please.

author: dr.diesel
author_rank: Super Contributor
timestamp: July 22, 2013, 03:21:04 pm
content: Depending on your experience level, I'd start with an Arduino. Yeah they hide a bunch of the underlying basics, but they are a great place to start and you can work your way back as you learn.They have built in 10bit ADCs with a variety of other protocols as well. Would be perfect for what you're doing.

author: Unknown
author_rank: Unknown
timestamp: July 22, 2013, 03:34:18 pm
content: Certainly don't need anything like a DSP for temperature measurement and peltier PWM control. ANY CPU with a built-in ADC will do that.The required bit resolution of the ADC will depend on the temperature resolution and temperature control range you require.I agree the AVR's would be a good choice as most of them have 10-bit ADC and all have PWM output.You will probably need to do a PID routine to stop the temperature control from oscillating.How do you want to get your CPU and your PC to exchange data? .. USB, Serial or some other method? .. I'd go for a simple serial link as it's easy to to do.

author: abhaymv
author_rank: Contributor
timestamp: July 22, 2013, 03:53:14 pm
content: Thank you for the prompt reply, guys!@dr.diesel:Arduino seems promising. I'll look into it in details. I'm a final year electronics student, btw...@Pippy:Temperature control range is something like 25 degrees to 80 degrees with a permissible error of one degree. I'm thinking of using a TI temperature sensor for it...Could you explain bit more on the oscillating of the temperature control? I was hoping to avoid PID to reduce the complexity...

author: dr.diesel
author_rank: Super Contributor
timestamp: July 22, 2013, 04:18:39 pm
content: You might be able to do 1 degree by calibrating this:https://www.sparkfun.com/products/10988Or this in 11-12 bit mode:https://www.sparkfun.com/products/245Both hitch to an Arduino in seconds.There are several examples of PID available as well.

author: Unknown
author_rank: Unknown
timestamp: July 22, 2013, 04:32:09 pm
content: Don't forget a peltier needs a fairly decent heat sink to dissipate the heat from the hot side, and most likely a fan on the heat sink. Otherwise the peltier will basically just sit there not doing a great deal other than sucking energy from your supply to warm things up even more - peltiers are quite inefficient.Re temperature oscillation/PID .. Basically your creating a servo system that has inertia and lag, so the only way to accurately control it without your software bouncing the temperature up and down around the desired temperature is to use a PID of some sort.By all means start simple without a PID, and see how it goes, that's how I'd start. But I suspect your asking the impossible if you want to maintain a 1 deg C accuracy without any sort of PID loop.

author: abhaymv
author_rank: Contributor
timestamp: July 22, 2013, 04:41:53 pm
content: @dr.diesel: Thanks! I'll have a look!@Pippy:Yeah, I've seen that peltiers are inefficient.Any other way to cool a small area to about 25 degrees?

author: dr.diesel
author_rank: Super Contributor
timestamp: July 22, 2013, 04:44:17 pm
content: abhaymv, fill out your profile!What is the ambient temp, how well can you insulate it, how fast do you need to cool it down?

author: abhaymv
author_rank: Contributor
timestamp: July 22, 2013, 05:07:58 pm
content: Ambient would be about 40 degrees.What do you mean by 'insulating' it?The cooling process can be around two minutes. If unavoidable, even five to ten minutes are okay...

author: dr.diesel
author_rank: Super Contributor
timestamp: July 22, 2013, 05:26:19 pm
content: Can you pack foam around the exclosure to be cooled, so ambient temps are less likely to have an effect on cooling?

author: abhaymv
author_rank: Contributor
timestamp: July 22, 2013, 05:32:30 pm
content: Yeah, I could put it inside a box with foam on the sidewalls. (I think this is what you mean...)The equipment I'm trying to build is meant to test solar cells (called a solar simulator) and its the solar cell I have to cool to this temperature. I have an LED light source directly above it, and the same amount of radiation as the sun's radiation at midday falls on the solar cell continuously. SO, the heating effect because of that radiation should probably be considered....Thank you for all your help, btw!

author: dr.diesel
author_rank: Super Contributor
timestamp: July 22, 2013, 05:56:14 pm
content: Peltiers can cool, but their BTU per watt is really low. Need to calculate it, take the known radiation, convert to BTUs, then compare to the BTU cooling factor of the Peltier.You're gonna need several times more Peltier BTUs to cool faster, but keep in mind the the farther you get from 1:1 the harder it will to keep +- 1 degree.

author: abhaymv
author_rank: Contributor
timestamp: July 22, 2013, 06:00:52 pm
content: Any introductory level treatment of the subject available? I haven't used peltiers before.So there are no alternatives to peltier here? I jokingly told my team we'll build the whole setup inside a refrigerator. That'd take care of cooling the high power LEDs too...

author: dr.diesel
author_rank: Super Contributor
timestamp: July 22, 2013, 06:09:10 pm
content: Let's start with the artificial radiation, got any numbers to play with?

author: abhaymv
author_rank: Contributor
timestamp: July 22, 2013, 06:17:00 pm
content: Okay, we're simulating the sun's spectrum. So the power falling on the cell for a wavelength range would be the same as that of the sun.Precicely speaking, in the visible range:400-500nm range:113.53 W/m^2.500-600nm range:122.8W/m^2600-700nm range:112.53W/m^2 (again)These are the irradiances falling on the solar cell area.I haven't calculated those for IR or UV yet. I'm considering a 6 cm X 6 cm area. 10 cm seems a reasonable distance from the source to the solar cell.

author: dr.diesel
author_rank: Super Contributor
timestamp: July 22, 2013, 06:29:47 pm
content: IR and UV will be pretty significant. Get these numbers and convert to BTUs, from there we can compare to various Peltiers/coolers/Refers.

author: Unknown
author_rank: Unknown
timestamp: July 22, 2013, 06:39:22 pm
content: I bought some cheap peltier devices off ebay, the biggest one was the 12V 60W TEC1-12706, stuck it on a biggish CPU heatsink (no fan), applied 12V and a drop of water, the water was frozen solid in about 20 seconds if I remember correctly.http://www.ebay.co.uk/sch/i.html?_trksid=p2050601.m570.l1311.R3.TR8.TRC0.A0.Xpeltier&_nkw=peltier+module&_sacat=0&_from=R40Only took a few days to arrive here in the UK from China.Easy to buy various ones to try and experiment with. You could lay a few out to cover a larger area if you want. But I'd also use a thin flat copper or aluminium base between the peltier(s) and the solar cell to even out the temperature. And put a good sized heatsink on the hot side of the peltiers.The center of the peltier gets the coldest, the edges not so cold, so that's the reasoning for a thin copper/ally heat spreader base.

author: abhaymv
author_rank: Contributor
timestamp: July 23, 2013, 12:57:13 am
content: Well, the total irradiance would be 759 W/m^2. On a 6 cm X 6 cm area, that is 2.73 W!So I just need to remove about 3 W power from the area? Even after considering the inefficiencies of a peltier, a 10W decive seems sufficient. Did I go wrong somewhere?Woah, those peltiers are cheap! Even after you convert them to Indian rupee. How reliable do you think those are, for continuous operation of about half an hour? I'll need them to work for at least a year.How big would you say were the heat sinks? 1 K/W? 0.5 K/W?Yeah, I'm planning to use a base for the solar cell. What's best? Copper or aluminium?

author: Unknown
author_rank: Unknown
timestamp: July 23, 2013, 05:40:33 am
content: Either copper or aluminium would be fine I expect for the base.Not sure how reliable they are but if you don't continuously power them to their full extent I would think they would last a few years at least, maybe indefinitely.I believe you can reverse the power on Peltiers to swap the hot/cold sides but don't quote me on that, not tried it. But if you can you then you can cool or heat the solar cell side by using a H-Bridge drive.Not sure on the heat sink size, Peltiers create a differential temperature between the two sides, so you need to dissipate the heat from the heat sink using a fan or water cooling etc otherwise the heat sink tends to just keep getting warmer I've found and you'll loose your cooling ability.You'll also need a full thermal pad between the layers, some like these 1mm thick pads ..http://www.ebay.co.uk/itm/New-100mmx100mmx1mm-GPU-CPU-Heatsink-Cooling-Thermal-Conductive-Silicone-Pad-A-/140912429107?pt=UK_Computing_Other_Computing_Networking&hash=item20cf090833Something like the attached photo should work. It'll be base/heat spread where you'll put your temperature sensor and feed that back to your CPU.

author: abhaymv
author_rank: Contributor
timestamp: July 23, 2013, 04:20:33 pm
content: Thank you for all of your help!Thanks a lot for the photo! That really helps! So I can have a small gap between the peltiers? It won't affect the cooling of the area in between too much?On another note, how much accuracy would you say a non-PID controlled temperature controller would have? Would it be atleast within +/- 5 degrees?

author: dr.diesel
author_rank: Super Contributor
timestamp: July 23, 2013, 08:07:23 pm
content: I didn't back check your calcs but I'd have 3-4x more cooling capacity than your emitting. I would then have the internal heat sink (cold side) be something of quite large mass, for thermal "storage", something in the 3-4 pound range or bigger. This will also help stabilize your PID loop and allow for quicker recovery when your swapping cells in and out of the chamber.If this is in a lab, you could easily use a water block on the hot side, really easy construction and can move tons of heat with minimal surface area.