sinara-hw / Thermostat

2-channel temperature controller
5 stars 3 forks source link

V2.0 testing #73

Closed hartytp closed 4 months ago

hartytp commented 4 years ago

On top of the tests we performed on v1.0, I suggest the following tests for v2.0:

gkasprow commented 4 years ago

Measurement of temperatures inside of the enclosure is simple from one side and tricky from the other side. Usually, I use a set of tiny PT1000, thin wires, DMM and rotary switch. But this is problematic and takes a lot of time. To make my life easier, I designed a simple box with various configurations of sensors that do exactly what we need. It took me 2 days including PCB, enclosure, 3D printing, and basic firmware. But this will pay off. The box will dump measurements to the SD card, serial port or via the MQTT.

gkasprow commented 4 years ago

I plan to produce 5 units for me ASAP. If sb wants, I can make a few more.

gkasprow commented 4 years ago

V2 photos 2020-05-13 23 31 46 2020-05-13 23 33 05

astro commented 4 years ago

I'm using the green output connectors which are usable through the enclosure. ~The labelings for TEC1/TEC2 on the board, and 0/1 on the enclosure should be swapped.~

Actually, it's the SENS pins that are swapped.

gkasprow commented 4 years ago

@astro open dedicated issue, please.

gkasprow commented 4 years ago

I finally got the multi-channel PT1000 measuring box, TECs, sensors, thermal sheets. I'm playing with parameters and Python scripts right now.

gkasprow commented 4 years ago

after playing with PoE switch the Thermostat stopped responding.. The PHY LEDs are on continuously, I see a startup message on the USB port. After some time the PHY LEDs go off.

gkasprow commented 4 years ago

I replaced the PHY and Ethernet works again.

gkasprow commented 4 years ago

I was using a 15W PoE switch before and nothing happened. Today I switched to 30W one and after a few plug-unplug cycles the PHY stopped to work

jordens commented 4 years ago

This looks so much like the issue on Stabilizer that it makes a PCB manufacturing error a bit unlikely (those are two different boards), right?

gkasprow commented 4 years ago

Exactly. The PoE and PHY circuit is identical in both cases.

gkasprow commented 4 years ago

the PHY Ethernet signals are protected using TVS diodes. Anyway, I will probe them with the scope during plug/unplug action.

gkasprow commented 4 years ago

the thermal test parameters: tec = Client() #(host="localhost", port=6667) tec.set_param("s-h", 0, "t0", 32651) tec.set_param("s-h", 1, "t0", 32651) tec.set_param("s-h", 0, "b", 3977) tec.set_param("s-h", 1, "b", 3977) tec.set_param("pwm", 0, "max_v", 5) tec.set_param("pwm", 1, "max_v", 5) tec.set_param("pwm", 0, "max_i_pos", 4) tec.set_param("pwm", 1, "max_i_pos", 4) tec.set_param("pwm", 0, "max_i_neg", 4) tec.set_param("pwm", 1, "max_i_neg", 4) tec.set_param_short("pwm", 0, -3) tec.set_param_short("pwm", 1, -3) tec.set_param("report mode", "off")

gkasprow commented 4 years ago

obraz

10h50 - power on, network connection. The board was warm due to previous experiments 10h59 - execution of the script listed above. 11h05 - board enters thermal protection mode. The LM75 has some hysteresis which causes oscillations and periodic disabling of the power stage. 11h15 - a small fan (40x40x10, 12V, 40mA) was placed partially covering one endcap. Some fraction of the flow passes via the enclosure cooling the PCB. 11h24 - the fan voltage was set to 6V, 23mA. 11h37 - the fan voltage was set to 4V, 15mA 11h43 - the fan voltage was set to 3V, 12mA; the fan placement changed slightly 11h45 - the fan voltage was set to 6V, 23mA

The board consumes 27.5... 29W of power, depending on the temperature inside. I used external 12V power to not damage the Ethernet PHY by PoE. That's why the PoE converter is not hot.

gkasprow commented 4 years ago

the conclusion is:

gkasprow commented 4 years ago

here is the raw data full power passive and fan.zip

gkasprow commented 4 years ago

I installed a sandwich of the copper-filled thermal sheet, alu block, and again the sheet between inductors and the enclosure. Another sheet was placed between the driver ICs and enclosure. Assembly of it is very problematic but let's see what we get. Yet another one connects PCB below the DC/DC with the enclosure. To make insertion possible, I placed mica pads on top of the sandwich.

gkasprow commented 4 years ago

It seems the thermal pads helped a lot. One of the enclosure sensors died during measurements, but we have two of them. It was misbehaving before. At 1h38 the fan was turned on running at 6V/23mA At 1h51 fan speed was ramped up, 12V/40mA Power consumption is 29,7W obraz

Next test will be with PoE supply

gkasprow commented 4 years ago

The raw data is here TH pads full power passive and fan.zip

gkasprow commented 4 years ago

The PoE has its own thermal shutdown that activates after exceeding 95 degrees. obraz 1h17 - the script was executed

gkasprow commented 4 years ago

The AG5300 datasheet says about 85degrees, I'm measuring the temperature on the inductor, not the IC, so that makes sense.

hartytp commented 4 years ago

@gkasprow okay, so thermal sheets and a bit of forced air let the unit run at max power dissipation while remaining at pretty low temperatures. As you note, we may also be able to make some (small?) improvements by looking for lower loss inductors.

But, how practical are these changes? Do we think they will work in practice/production?

I wonder if the most practical solution here would be to say that the compact version is intended for lower powers (e.g. using some software limiting); higher powers should use the EEM version with forced air cooling. Obviously if we can find a nice solution for making this version work at max power that would be great, but we'd need to avoid it without expensive machining or fragile assemblies.

FWIW the use cases I have in mind for this are mainly quite low powers...

gkasprow commented 4 years ago

Thermal sheets do not help that much in case of forced-air cooling. They lower the inductor temperature mostly. They are very problematic in assembly. So I recommend adding a small fan only. I ordered a few of them. It will fit easily. obraz Even with reduced airflow, where the fan noise is minimal, the temperatures are acceptable obraz At 2h25 I reduced the fan voltage. I will add PWM switch so the CPU will be able to regulate the fan speed. I'm running it with 29W consumed from 12V rail.

gkasprow commented 4 years ago

Machining of single side of the enclosure is cheap. 0.5mm precision is enough and the most expensive part is the precise fixing of the extruded part. Since this is not the case, the current impact would be neglidgible. Fan would be fixed by 2 self-tapered screws.

gkasprow commented 4 years ago

we can also glue small heatsink on top of the inductors.

gkasprow commented 4 years ago

I just removed the thermal sheets, and with reduced air flow the temperatures are: obraz

gkasprow commented 4 years ago

I'm curious why the output inductors heat that much. They have 54mOhm resistance. The CMC chokes at the output have 20mOhm and they are not heating that much, They are dissipating nerarly the same amount of heat because there are two coils. I will add more channels to study this issue.

gkasprow commented 4 years ago

They are thermally connected to the driver ICs, so it's quite possible that the inductors are simply acting as the ICs radiators :)

gkasprow commented 4 years ago

It's easy to check if switching losses or conduction losses dominate in the indctors. If we lower the current to a very low value, the inductor should be cold.

gkasprow commented 4 years ago

In steady-state we have obraz which means the inductors are much hotter than the ICs. On the other side, The probe is glued to the top of the IC and to the inductor. And the RTh of inductor is much lower than plasitc package if the IC. We will need a tiy heatsink on top of the inductor anyway. Ignore the 2nd channel

gkasprow commented 4 years ago

reduction of output voltages from 3V to 1V drastically changes temperature distribution in the circuit. It looks like inductors do not heat due to switching losses. obraz Ignore the 2nd channel

gkasprow commented 4 years ago

I attached a small heatsink to the inductors. It reduced the temperatures of:

hartytp commented 4 years ago

@gkasprow how do you plan to make the fan work with the small enclosure? Will you machine an opening in the enclosure?

gkasprow commented 3 years ago

@hartytp I received the 35x35x10 fan. It fits nicely and leaves enough clearance for the air. I will machine the openings like in the drawing obraz

I will do it on my CNC machine, install the fan and repeat all measurements.

hartytp commented 3 years ago

Nice. What's the additional cost of machining the enclosure? Where is the air intake? Grill on one of the panels? Are you also adding heat sinks to lower the thermal impedance?

gkasprow commented 3 years ago

The intake is above the fan. The outlet is on the side where TEC connectors are. The cost of machining would be 2..3EUR @ 20pcs

hartytp commented 3 years ago

:) that's awesome.

Did you get a chance to measure the temperatures?

dtcallcock commented 3 years ago

Will you also test Thermostat in the Eurocard rack configuration (with and without forced air)? Or is it just a safe assumption that if this config works, so will that?

hartytp commented 3 years ago

yeah, my expectation is that in a rack with some decent forced air cooling this will be absolutely fine

gkasprow commented 3 years ago

I will do tests. I'm still waiting for the machined enclosures. Once they arrive I will repeat tests in both configirations

gkasprow commented 3 years ago

I finally received the enclosures. All fits perfectly. It's time to finish tests and make the release. 2021-03-18 12 35 13 2021-03-18 12 35 26

hartytp commented 3 years ago

That looks nice! Will be interested to see how hot things end up, but it definitely looks the part.

Shame we loose the silk for the connectors, but I guess that's unavoidable.

gkasprow commented 3 years ago

the fan is loud at max RPM, the airflow is much higher than I used during thermal tests. I already added PWM control circuit. These new endcaps were 3d-printed but will be laser-cut and attached using screws. The silk will fit under connectors obraz

hartytp commented 3 years ago

:+1:

gkasprow commented 3 years ago

Today I found some time and assembled the test suite. I connected the fan (12V version) to the 5V rail because there is no PWM circuit in v2.2. The fan spins slowly, it's less audible than my laptop in idle mode. However, it seems it is sufficient to cool down the electronics. Both outputs are running at 3A, one is 2.7V, another is 3V. The MEasured current is 2.8A in both channels. The thermostat is supplied from the PoE switch. After 13mins it achieved a steady state. obraz

gkasprow commented 3 years ago

Moreover, the airflow inside is obstructed by 8 thin measurement cables and sensors.

gkasprow commented 3 years ago

An observation - without the USB cable attached, the LAN does not start and the upper red LED is lit.

gkasprow commented 3 years ago

Let's try it with a 12V fan supply. The noise dominates all the noise sources in my lab. The steady-state is achieved after 6 mins. obraz

All temperatures dropped significantly. Only the TEC driver is 3 degrees cooler because it is on the bottom side of the PCB where there is no airflow.

gkasprow commented 3 years ago

I think the results are fully satisfying and we can make a new v2.2 release. The fan and mounting screws are added to the BOM.

gkasprow commented 3 years ago

The internal temperature sensor is placed just about the TEC drivers so we can use it to control the fan RPM and make sure we never exceed let's say 65 degrees. In most conditions that will result in low audible noise operation.