Gyus, no a band gap is never necessary. Just design the control loop properly. This works no matter how large or small the heat load is. Why spending so much effort on a technically ambitious design and then waste the potential in the last step.
Gyus, no a band gap is never necessary. Just design the control loop properly. This works no matter how large or small the heat load is. Why spending so much effort on a technically ambitious design and then waste the potential in the last step.
Don't worry, I have no intention of compromise. That is why I am planning for firmware before implementation. I am fairly confident after an 8 hours session of thinking, planning and modeling today I am on the right track now.
My thoughts are now on current limiting. The current monitoring signal is derived before the L/C LPF, so I have implemented a 2.5 x Nyquist frequency integrator in software to derive average current. I am using this to gain control the PID output. Not yet tested, but I feel my theory is valid.
At the end of the day, the source code will be available under GPL v3, so if your not happy with the results you have the choice to either contribute to development by providing patches or revisions, or if you feel so inclined branch the code or create your own project using the code.
This space for rent.
It would be extremely handy if one could open the loop in software and also have an interface for writing and reading the "open ends". Then determining the open loop response would be a snap, and that's necessary for properly determining the PID parameters. The direct cut-n-try method is quite painful and you are never sure whether you reached the optimum. Since the whole setup is digital anyway, why not make use of all of its potential.
I have you covered here. As I mentioned earlier, a few nights ago I started an application that provides:
Display values: P_Term, I_Term, D_Term, PV
Display and edit: P_Gain, I_Gain, D_Gain, Integral Windup Guard
Real time values & graph: Setpoint, Temperature
This communicates with the MCU via RS-232 and permits on the fly tuning with gain's stored in EEPROM. You can also disable the PID loop and determine the step response.
This will be available in H/W v2 as it requires asynchronous communications.
This space for rent.
You’re a beast dude! I’m just glad I had such a competent partner on this little joint venture project.
The hardware goes with the software, It’s a package deal..
Once the V2 is up and running I’ll probably do a couple of versions with an LD-driver (3A and 7A) on board.
I put the following on the PCB “Solar D-TEC V1.00”
I added this plus a diode; I had to change the circuit on the flag out a little due to the LED on the flag out to keep the LED form being sinked on the MCU out during PWM lows. See the update schematic..
Since its weekend and the PCB-Manufacturer have not started production yet, I was able to re-upload the file, so the PCB is up to date.
In the V2 the flag out is going on an MCU-I/O, is that ok with you?
Last edited by Solarfire; 02-20-2011 at 01:35. Reason: schematic update
Dude, R25 should be inline with MCU pin 5 and the bridge PWM input... It's purpose was to current limit the MCU output when the o/temp protection kicks in... As it is now, the open-collector will only add 560R load to the PWM signal, but it won't stop it. No biggy on this release, I doubts it will ever trigger.
Yeah cool.
Since this controller will cool and warm, I thought a good name could be "Solar-fire-n-ice".![]()
This space for rent.
Cool. Might have been easier if you had sent me the eagle file.
I did a little more planning and documentation tonight for the V2 firmware. I have added the variables that may be read or read/write from the RS232 port. I also documented manual tuning. If I feel brave once V2 is up and running, I would like to tackle an auto-tune feature.
I have prepared the GNU GPL v3 license covering the software.
Frank, you might want to look at the TAPR Open Hardware License. http://en.wikipedia.org/wiki/TAPR_Open_Hardware_LicenseCode:Project: Solar fire-n-ice: An advanced bipolar PID software controller for Peltier devices. Credits: This is a Photonlexicon community project http://photonlexicon.com Hardware platform: Atmel ATTiny24/44/84 MCU Hardware developers: Frank Hill (Solarfire) VooDooI@online.de Wayne Osborn (dnar) wayne.osborn@dnaresearch.com.au @author Wayne Osborn wayne.osborn@dnaresearch.com.au, Copyright (C) 2011. @see The GNU Public License (GPL) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Last edited by dnar; 02-20-2011 at 15:53. Reason: Updated license details
This space for rent.
Hi,
A few suggestions:
Can we also connect the overtemp line to an unused input on the v2 design? I know it is unlikely to ever be needed, but I cant think of a reason not to do it, since it should only need a pullup.
Are there any hardware issues with using this design over a wider temp range? I have a couple of ideas of where to use this, but will be needing up to +95C, down to -30C (using a +5C water cooled TEC).
Also, for a future (?V3) design, how hard would it be to drive 2 LMD18200 bridges, driving 2 TECs, but temp controlling the same thing, i.e. 2 TECs in parallel to boost the heating/cooling capacity?
Regarding the temp monitoring signal conditioning, could we add a header that has this type of pinout:
1. 0volts
2. Vsupply
3. (something like) 1-4volts temp out (from on board NTC sig conditioning)
4. 1-4 volts temp in (to MCU, maybe via span and zero adj?)
with a link on pins 3 and 4 for normal operation with the on-board NTC sig conditioning.
This way, for any more esoteric analog sensor signal conditioning, a small sub board/breadboard could be made to just do the sig conditioning for whatever sensor type it is for.
I realise that these suggestions are beyond what a diode or SS laser TEC cooler design needs to do, but if this little TEC controller works as well as I think it might, I can see it being used all over the place, as an easy, drop in module to temp control all kinds of stuff.
Cheers,
Pete