Topics

Integrated Heater on OnStep


Khalid Baheyeldin
 

Here is another nice feature added to OnStep in version 4.x (which is now in beta, and more or less stable).

One reason I ported the FYSETC S6 board to OnStep is to remove one power supply (the one I use for the dew heater). Both the FYSETC S6 and the MKS Gen-L (and the not recommended RAMPS) provide integrated heaters that are ready for use. Both boards are all 3D printer boards, and that is why they have heaters (for the heated bed, extruders, ...etc.)  This means that, from an electronics point of view, there is a pin assigned to the heater, and a MOSFET. Other OnStep boards can support heaters, but you need to a) find a spare PWM pin, and b) wire in a MOSFET yourself. Much nicer to have all this integrated.

I went for a very simple solution (for 'normal' commoners, not the elite): a passive heater with no feedback from an actual heater thermometer (a One Wire DS18b20), nor aware of the ambient temperature (via the BME280 sensor). So in effect it is exactly like the DIY passive PWM dew heater that I built from a PWM dimmer.

All you need is to connect the screw terminals on the S6 heaters to your dew heater strip. On the FYSETC S6, they are labeled E0, E1, BED, ...etc.

I used the first heater, and changed this in Config.h:

#define FEATURE1_PIN           Heater0Pin
#define FEATURE1_NAME          "DEW"
#define FEATURE1_PURPOSE       ANALOG_OUTPUT

Both the WiFi web page, and the Android app provide an interface for a passive heater. It is just a silder from 0% to 100%.

After setting the heater to 100%, the C8 heated shield went up from 21.5C ambient, to 27C. I am hoping this should be enough in the single digit overnight temperatures in the next few days.

I am not sure if the heated bed heater should be used or not. It has much more wattage and more heat, and is probably overkill for dew heaters.

You also need to make sure that your power supply can handle both OnStep (with both motors at slewing speed) as well as the heater(s).  I tested slewing, and it worked fine, so the 19V laptop power supply is up for the job.

Actual testing under the stars has to for wait the smoke from the Pacific coast fires to clear up (yes, it reached the eastern time zone, but high up in the atmosphere causing a persistent haze).


Khalid Baheyeldin
 

And for those who want more functionality, which I am not yet using, you can:

1. Add a BME280 sensor (I2C or SPI), which will measure the ambient temperature and humidity.  OnStep then calculates the dew point from that, and adjusts the heater output.

2. Take it a step further, and add a DS18b20 thermometer that measures the temperature of the thing you are heating (mirror, lens, ...etc), and OnStep will use that, along with the BME280 inputs, and adjust as needed.

For now, I am just doing what I have done in the past, and have a manual heater, with one less power supply ...


Dave Schwartz
 

I'm the crazy one going for the whole ball of wax... a BME280 on the SPI bus to get the dewpoint at the controller plus DS1820 sensors to be able to control the output of mirror, diagonal and guide scope heaters in proportion to how close each heater is to the dewpoint (i.e. 'set and forget").

The configuration looks like:

#define FEATURE1_NAME          "DHEATER1" // "FE..", Name of feature being controlled. Adjust
#define FEATURE1_PURPOSE       DEW_HEATER //    OFF, SWITCH, ANALOG, DEW_HEATER, INTERVALOMETER. Adjust
#define FEATURE1_TEMP              DS1820 //    OFF, DS1820, n. Where n is the ds18b20 s/n for DEW_HEATER temperature. Adjust
#define FEATURE1_PIN           Heater0Pin //    OFF, AUX, DS2413, n. Where n is ds2413 s/n (gpio0) or n=0 to 255 (pin#.)      Adjust
#define FEATURE2_NAME          "DHEATER2" // "FE..", Name of feature being controlled. Adjust
#define FEATURE2_PURPOSE       DEW_HEATER //    OFF, SWITCH, ANALOG, DEW_HEATER, INTERVALOMETER. Adjust
#define FEATURE2_TEMP              DS1820 //    OFF, DS1820, n. Where n is the ds18b20 s/n for DEW_HEATER temperature. Adjust
#define FEATURE2_PIN           Heater1Pin //    OFF, AUX, CHAIN (ds2413 gpio1,) n. Where n=0 to 255 (pin#.) Adjust
#define FEATURE3_NAME          "DHEATER3" // "FE..", Name of feature being controlled. Adjust
#define FEATURE3_PURPOSE       DEW_HEATER //    OFF, SWITCH, ANALOG, DEW_HEATER, INTERVALOMETER. Adjust
#define FEATURE3_TEMP              DS1820 //    OFF, DS1820, n. Where n is the ds18b20 s/n for DEW_HEATER temperature. Adjust
#define FEATURE3_PIN           Heater2Pin //    OFF, AUX, DS2413, n. Where n is ds2413 s/n (gpio0) or n=0 to 255 (pin#.)      Adjust

On the App, there are three sections (see attached) where it displays the current delta from the dewpoint of each sensor, you can turn each on or off individually and set the deltas from the dewpoint at which the heater will be getting 0% power, where it will get 100% power and it will automatically scale the power when between those two.

This beats the pants off the old $$$ Kendrick premier dew controller and still exceeds the capabilities of the yet-to-be-released new $$$$ premier controller. With the S6's built-in MOSFET-controlled heater outputs, this cost about US$15 in parts.

I have a fourth DS1820 (for TELESCOPE_TEMPERATURE) and am currently working on setting up a temperature-compensated focuser. It currently behaves a little strangely (a topic for a different thread) but that can displace another external $150 controller essentially for free.

I don't think there are any telescope controllers out there at any price that can compete with OnStep!

On 2020-09-15 7:31 p.m., Khalid Baheyeldin wrote:
And for those who want more functionality, which I am not yet using, you can:

1. Add a BME280 sensor (I2C or SPI), which will measure the ambient temperature and humidity.  OnStep then calculates the dew point from that, and adjusts the heater output.

2. Take it a step further, and add a DS18b20 thermometer that measures the temperature of the thing you are heating (mirror, lens, ...etc), and OnStep will use that, along with the BME280 inputs, and adjust as needed.

For now, I am just doing what I have done in the past, and have a manual heater, with one less power supply ...


Khalid Baheyeldin
 

On Tue, Sep 15, 2020 at 08:58 PM, Dave Schwartz wrote:
I'm the crazy one going for the whole ball of wax...
You belong to the elite class. I am just a commoner ...

With the S6's built-in MOSFET-controlled heater outputs, this cost about US$15 in parts.
The other thing I noticed, is that there are a few LEDs on the S6, one for each heater.
The LED for the respective heater lights up once you have the slider to more than 0%.
A good visual indicator when testing. Unfortunately, this will be inside the case under normal
operation.


Khalid Baheyeldin
 

I am happy to report that an integrated OnStep passive heater works well.
It is working as I am typing this, with the temperature outside at 8C.
Set it to 50%, like I did on my manual PWM dimmer heater, and forget about it.
No fogging, no other side effects that I can see ...

So, if you don't have/want a BME280 or DS18b20 sensors, you still can have
a decent dew heater with no wire and power supply clutter.


Khalid Baheyeldin
 

Here is a video of how I got the passive dew heaters connected and configured to work with the FYSETC S6.
The level is set using the Android App, or the web interface.

Note to the impatient: the above was tested with the V1.2 S6 board. FYSETC is now shipping  V2.0, which does not work with OnStep yet. So be patient and wait for a green light signal on that latest version.


Dave Schwartz
 

And I can verify that fully automatic dew heaters using ambient conditions (sensed by a BME280) and 'at-the-heater' sensors (using DS18b20's) work.

I just hooked up a small Kendrick Firefly strip (normally used for a camera lens) to the Heater0 output and stuck the associated DS18b20 sensor into it. In the app, I turned on the heater, cranked up 'Span' to 19.0 degrees and its currently holding the dew strip 'delta-from-dewpoint' value at 16.5C. The LED on the heater port is pulsing briefly at a 2-second interval to maintain this.

Not really sure why its not holding at 19.0 but I think it has something to do with the 'Zero' value being a fair bit lower that 'Span' (which seems to be the upper target temperature)... when I crank up 'Zero' closer to 'Span' the on-time of the pulse gets longer and the temperature gets closer to the 'Span' target (e.g. with 'Zero' at 17.7 the strip is now holding between 18.3 and 18.9).

Also not really sure why 'Span' is called 'Span' in the app when it seems to be what is called 'Offset' in the Wiki. 'Offset' (from the dewpoint) seems to be the better name for the target.

On 2020-09-28 6:34 p.m., Khalid Baheyeldin wrote:
Here is a video <https://www.youtube.com/watch?v=IKIqGpSh_6I> of how I got the passive dew heaters connected and configured to work with the FYSETC S6.
The level is set using the Android App, or the web interface.

Note to the impatient: the above was tested with the V1.2 S6 board. FYSETC is now shipping  V2.0, which does not work with OnStep yet. So be patient and wait for a green light signal on that latest version.