Starting to layout the board. Have a crap ton more components to put down and arrange plus the traces to layout.
It would be a great help if more people could review the schematic I posted in this thread on the 16th of January (second to last post on page 8 of this thread). I am still not convinced I have everything right.
How many layers do you think you'll need? When I tried to layout 2 layer board I quickly realized that TMC2130 package is designed for 4 layers minimum and high speed SPI signals complicate the layout further..
Hmm trying to figure out a good way to handle the fan tach pins. The tach output from a fan is at whatever voltage the fan is being run on. As such I need a circuit that can take in potentially anything from 12V all the way to 24V (or higher) and output 3.3V.
The tacho output from a fan is normally open-drain or open-collector. The main problem is that it is unreliable if you are applying PWM to the fan power supply, especially if you are switching the negative terminal of the fan. In RRF we support the tacho output only when the fan is a 4-wire type with a separate PWM control input.
Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]
Reading the tach on a 3-wire fan will work when the fan is full on, without PWM. This would be the case typically for a hot end heatsink fan. If you try to read it when PWM is being applied via the negative fan power wire, the tach reading will be unreliable.
Edited 2 time(s). Last edit at 01/30/2018 02:11PM by dc42. Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]
I did a little searching, and it looks like the common option when PWMing 3 wire fans is to stop PWMing as you read the tach. If it's short enough, it won't affect the speed, but will give you an accurate speed reading.
Not sure about that actually. Smaller fans tend to be higher rpm. As such the length of time you need to set the PWM to 100% is shorter to get that one full pulse from the tach. Also at higher speeds the air resistance increases which would compensate for the lack of inertia. Lastly as long as you are doing it at a constant interval and as part of a feed back loop that quick pulse at 100% would be factored into the fan speed. Yes small fans would be hard to run at super slow speeds, but I do not think anyone expects them to. The big thing though is I would be less concerned about getting accurate readings and more concerned about getting any reading. I don't really care about having precise fan speeds. I care about making sure that the fan is actually spinning and isnt blocked by something.
Just run some ADC tests and I'm getting .6 precision for 75-300 range and .4degC for 123-300degC
I used 100k (4000 beta) thermistor in a voltage divider so voltage decreased with temperature. ESP32 has three* voltage ranges, 0.1 to VCC, 0.1 to 2.2 and 0.1 to 1.1V for my setup, 75degC was 2.2V so middle ADC range can be used and above 123degC (1.1V) most precise range. At highest resolution ADC step is 0.5mV and 1degC in the 220degC region is 2mV.
* actually there are four ranges but .1 to 1.5V range did not seem like it would be much different from .1 to 2.2V.
Edited 4 time(s). Last edit at 02/14/2018 09:42AM by newbob.