Electronics-Related.com
Forums

FPGA as heater

Started by John Larkin April 10, 2017
On 11 Apr 2017 09:52:20 -0700, Winfield Hill
<hill@rowland.harvard.edu> wrote:

> Here's my fan speed controller. Quite serious. >https://www.dropbox.com/s/7gsrmb9uci1wdb9/RIS-764Gb_fan-speed-controller.JPG?dl=0 > > First there's an LM35 TO-220-package temp sensor > mounted to the heat sink, amplify and offset its > 10mV/deg signal by 11x, to generate a fan-speed > voltage, present to a TC647 fan-speed PWM chip, > add optional MOSFET for when using a non-PWM fan. > E.g., cool, fan runs at 0%, ramps its speed over > a 30 to 40 degree range, thereafter runs at 100%. > TC647 chip senses stalled fan, makes error signal. >
Complicated. Here's my simple controller. https://www.dropbox.com/s/u6b7ujxv3y5g20p/Tnduction_fan_controller.pdf?dl=1 The ATtiny88 is about as cheap as the LM35. The microprocessor allows many things other than simple linear control. It has derivative action, for instance, to catch a rapidly heating heat sink before it gets very hot. Other features include a POST that, among other things, spins the fan to full speed for about a second before settling down into the control loop. I've found some fans that have enough bearing stiction that they won't start at the 20% of full voltage that idle provides. So the full power pulse gives them a starting kick. The 3rd output is designed to allow any voltage up to the transistor's limit to be controlled. I designed this controller for a device that had a 45 volt fan. The board is tiny - about the size of 2 postage stamps. The LM35 in a surface mount package is on the bottom of the board. The board is designed to be glued in place with the LM35 in contact with the heat sink. I use the E6000 neoprene adhesive available at Wal-mart in their marine department or in calking gun tubes from McMaster. It is VERY strong but pulls loose from the substrate when stretched. I'm going to open source this design so as soon as I get a round tuit, I'll put the CAD files (KiCAD) and firmware source and hex on http://www.neon-john.com. John John DeArmond http://www.neon-john.com http://www.tnduction.com Tellico Plains, Occupied TN See website for email address
Neon John wrote...
> > Complicated. Here's my simple controller. > >https://www.dropbox.com/s/u6b7ujxv3y5g20p/Tnduction_fan_controller.pdf?dl=1 > >The ATtiny88 is about as cheap as the LM35. The microprocessor allows >many things other than simple linear control. It has derivative >action, for instance, to catch a rapidly heating heat sink before it >gets very hot. Other features include a POST that, among other >things, spins the fan to full speed for about a second before settling >down into the control loop. I've found some fans that have enough >bearing stiction that they won't start at the 20% of full voltage that >idle provides. So the full power pulse gives them a starting kick. > >The 3rd output is designed to allow any voltage up to the transistor's >limit to be controlled. I designed this controller for a device that >had a 45 volt fan. > >The board is tiny - about the size of 2 postage stamps. The LM35 in a >surface mount package is on the bottom of the board. The board is >designed to be glued in place with the LM35 in contact with the heat >sink. I use the E6000 neoprene adhesive available at Wal-mart in >their marine department or in calking gun tubes from McMaster. It is >VERY strong but pulls loose from the substrate when stretched. > >I'm going to open source this design so as soon as I get a round tuit, >I'll put the CAD files (KiCAD) and firmware source and hex on >http://www.neon-john.com. > >John >John DeArmond >http://www.neon-john.com >http://www.tnduction.com >Tellico Plains, Occupied TN >See website for email address
Thanks John, that is pretty simple. Of course the processor requires a program, but if you put it up, that's good. And include the controller code-burning instructions. -- Thanks, - Win
On Fri, 14 Apr 2017 11:47:57 -0400, Neon John <no@never.com> wrote:

>On 11 Apr 2017 09:52:20 -0700, Winfield Hill ><hill@rowland.harvard.edu> wrote: > >> Here's my fan speed controller. Quite serious. >>https://www.dropbox.com/s/7gsrmb9uci1wdb9/RIS-764Gb_fan-speed-controller.JPG?dl=0 >> >> First there's an LM35 TO-220-package temp sensor >> mounted to the heat sink, amplify and offset its >> 10mV/deg signal by 11x, to generate a fan-speed >> voltage, present to a TC647 fan-speed PWM chip, >> add optional MOSFET for when using a non-PWM fan. >> E.g., cool, fan runs at 0%, ramps its speed over >> a 30 to 40 degree range, thereafter runs at 100%. >> TC647 chip senses stalled fan, makes error signal. >> > >Complicated. Here's my simple controller. > >https://www.dropbox.com/s/u6b7ujxv3y5g20p/Tnduction_fan_controller.pdf?dl=1 > >The ATtiny88 is about as cheap as the LM35. The microprocessor allows >many things other than simple linear control. It has derivative >action, for instance, to catch a rapidly heating heat sink before it >gets very hot. Other features include a POST that, among other >things, spins the fan to full speed for about a second before settling >down into the control loop. I've found some fans that have enough >bearing stiction that they won't start at the 20% of full voltage that >idle provides. So the full power pulse gives them a starting kick. > >The 3rd output is designed to allow any voltage up to the transistor's >limit to be controlled. I designed this controller for a device that >had a 45 volt fan. > >The board is tiny - about the size of 2 postage stamps. The LM35 in a >surface mount package is on the bottom of the board. The board is >designed to be glued in place with the LM35 in contact with the heat >sink. I use the E6000 neoprene adhesive available at Wal-mart in >their marine department or in calking gun tubes from McMaster. It is >VERY strong but pulls loose from the substrate when stretched. > >I'm going to open source this design so as soon as I get a round tuit, >I'll put the CAD files (KiCAD) and firmware source and hex on >http://www.neon-john.com. > >John >John DeArmond >http://www.neon-john.com >http://www.tnduction.com >Tellico Plains, Occupied TN >See website for email address
The LM35 is supposedly not c-load stable, but most things are c-load stable with enough c. It is a kinda tricky part. -- John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com
On Friday, April 14, 2017 at 8:48:05 AM UTC-7, Neon John wrote:
> Complicated. Here's my simple controller.
I'm not sure I get how this works. Should D1 and L2 be swapped? -- john, KE5FX
On 14 Apr 2017 10:07:41 -0700, Winfield Hill
<hill@rowland.harvard.edu> wrote:


> Thanks John, that is pretty simple. Of course the processor > requires a program, but if you put it up, that's good. And > include the controller code-burning instructions.
I'll put up the code and instructions on programming. I used Atmel's Studio development environment (unfortunately based on Microsoft Studio) for development (use GNU-C suite backend) and use AVRDUDE in a command script to program in production. The genuine Atmel programmer is about $35 from Digikey et al but there are plenty of articles on the web about how to build $5 programmers. I notice that AVRDUDE even has a model based on a parallel port. Check out http://www.avrfreaks.com. John John DeArmond http://www.neon-john.com http://www.tnduction.com Tellico Plains, Occupied TN See website for email address
On Fri, 14 Apr 2017 10:58:11 -0700, John Larkin
<jjlarkin@highland_snip_technology.com> wrote:


>The LM35 is supposedly not c-load stable, but most things are c-load >stable with enough c. > >It is a kinda tricky part.
It is in this design. There are several hundred of these boards in service in our products. I added the cap because the processor was picking up lots of RFI from the intense RF field inside the induction heater. John John DeArmond http://www.neon-john.com http://www.tnduction.com Tellico Plains, Occupied TN See website for email address
On Fri, 14 Apr 2017 15:56:43 -0700 (PDT), "John Miles, KE5FX"
<jmiles@gmail.com> wrote:

>On Friday, April 14, 2017 at 8:48:05 AM UTC-7, Neon John wrote: >> Complicated. Here's my simple controller. > >I'm not sure I get how this works. Should D1 and L2 be swapped? > >-- john, KE5FX
You are correct. The production part is designed in Eagle but since Autocad destroyed Eagle, I quickly replicated the design in KiCAD. Too fast, it seems. Sorry about that. John John DeArmond http://www.neon-john.com http://www.tnduction.com Tellico Plains, Occupied TN See website for email address
On Sat, 15 Apr 2017 10:23:42 -0400, Neon John <no@never.com> wrote:

>On Fri, 14 Apr 2017 10:58:11 -0700, John Larkin ><jjlarkin@highland_snip_technology.com> wrote: > > >>The LM35 is supposedly not c-load stable, but most things are c-load >>stable with enough c. >> >>It is a kinda tricky part. > >It is in this design. There are several hundred of these boards in >service in our products. I added the cap because the processor was >picking up lots of RFI from the intense RF field inside the induction >heater. > >John >John DeArmond >http://www.neon-john.com >http://www.tnduction.com >Tellico Plains, Occupied TN >See website for email address
LM35 output is an emitter follower with a weak pulldown. An ideal RF detector. And it latches up if it possibly can. LM71, SPI interface, is a nice part. -- John Larkin Highland Technology, Inc lunatic fringe electronics
On 2017/04/11 7:26 PM, John Larkin wrote:
> On Tue, 11 Apr 2017 21:09:52 -0400, krw@notreal.com wrote: > >> On Mon, 10 Apr 2017 20:06:57 -0700, John Larkin >> <jjlarkin@highlandtechnology.com> wrote: >> >>> On Mon, 10 Apr 2017 22:15:50 -0400, krw@notreal.com wrote: >>> >>>> On Mon, 10 Apr 2017 18:13:13 -0700, John Larkin >>>> <jjlarkin@highland_snip_technology.com> wrote: >>>> >>>>> We have a ZYNQ whose predicted timing isn't meeting decent margins. >>>>> And we don't want a lot of output pin timing variation in real life. >>>>> >>>>> We can measure the chip temperature with the XADC thing. So, why not >>>>> make an on-chip heater? Use a PLL to clock a bunch of flops, and vary >>>>> the PLL output frequency to keep the chip temp roughly constant. >>>> >>>> Why not? Don't bother with the output frequency, just vary the number >>>> of flops wiggling. >>> >>> That would work too. Maybe have a 2-bit heat control word, to get >>> coarse steps of power dissipation, 4 groups of flops. I suppose a >>> single on-off bit could be a simple bang-bang thermostat. >>> >>> The PLL thing would be elegant, proportional control of all the flops >>> in the distributed heater array. >> >> You can do the same thing with the flops. Use a shift register to >> enable flops in a "thermometer code" sort of thing. Too low - shift >> right. Wait. Still to low - shift right. Wait. Too high - shift >> left... >> >> There are all sorts of algorithms that can be built into spare flops. >>> >>> I'm thinking we could reduce the overall effect of ambient temp >>> changes by some healthy factor, 4:1 or 10:1 or something. >> >> Seems reasonable. IBM used to add heater chips for the same purpose >> (bipolar circuits run faster at high temperature). > > CMOS is slower at high temps. Somewhere between about 1000 and 3000 > PPM/K prop delay. >
Do you use that property of CMOS (slower the warmer it gets) as an automatic negative feedback loop for your heater? John
On 4/15/2017 12:21 PM, John Robertson wrote:
> On 2017/04/11 7:26 PM, John Larkin wrote: >> On Tue, 11 Apr 2017 21:09:52 -0400, krw@notreal.com wrote: >> >>> On Mon, 10 Apr 2017 20:06:57 -0700, John Larkin >>> <jjlarkin@highlandtechnology.com> wrote: >>> >>>> On Mon, 10 Apr 2017 22:15:50 -0400, krw@notreal.com wrote: >>>> >>>>> On Mon, 10 Apr 2017 18:13:13 -0700, John Larkin >>>>> <jjlarkin@highland_snip_technology.com> wrote: >>>>> >>>>>> We have a ZYNQ whose predicted timing isn't meeting decent margins. >>>>>> And we don't want a lot of output pin timing variation in real life. >>>>>> >>>>>> We can measure the chip temperature with the XADC thing. So, why not >>>>>> make an on-chip heater? Use a PLL to clock a bunch of flops, and vary >>>>>> the PLL output frequency to keep the chip temp roughly constant. >>>>> >>>>> Why not? Don't bother with the output frequency, just vary the number >>>>> of flops wiggling. >>>> >>>> That would work too. Maybe have a 2-bit heat control word, to get >>>> coarse steps of power dissipation, 4 groups of flops. I suppose a >>>> single on-off bit could be a simple bang-bang thermostat. >>>> >>>> The PLL thing would be elegant, proportional control of all the flops >>>> in the distributed heater array. >>> >>> You can do the same thing with the flops. Use a shift register to >>> enable flops in a "thermometer code" sort of thing. Too low - shift >>> right. Wait. Still to low - shift right. Wait. Too high - shift >>> left... >>> >>> There are all sorts of algorithms that can be built into spare flops. >>>> >>>> I'm thinking we could reduce the overall effect of ambient temp >>>> changes by some healthy factor, 4:1 or 10:1 or something. >>> >>> Seems reasonable. IBM used to add heater chips for the same purpose >>> (bipolar circuits run faster at high temperature). >> >> CMOS is slower at high temps. Somewhere between about 1000 and 3000 >> PPM/K prop delay. >> > > Do you use that property of CMOS (slower the warmer it gets) as an > automatic negative feedback loop for your heater?
That would likely not work nearly as well as directly measuring the temperature of the die. Notice he said the chip has a built in thermometer. The only issue with using the thermometer is the temperature across the die will vary. Using the delay to control the heater might work well in concept, but would be hard to measure and still only work for the output being measured. Any other outputs will be spread around the die and so not isothermal. But mostly the timing would be hard to measure. He has an oven/refrigerator. He could measure the change in timing over temperature for some number of samples. This would give him an idea of how much spread is involved. There are multiple sources of timing spread and he can control one and sort of control another. He wants an idea of how much timing spread is left. -- Rick C