Has anyone found or know of any method to read the temperature of the motor drivers from a distance. I was thinking an infrared temp sensor or if there is a laser temp sensor compatible with an arduino. Would be an effective way to collect temp data on the drivers without interfering with them or the space around them. May be a bit of a stretch though.
Does it have to be from a distance? Why not a wired temp sensor attached to the motor? You’ll need wires running to the Arduino eventually anyway, won’t you?
I would like to read the temperature of the motor drivers on the Ramps board to monitor their heat while the machine is running. But the heat sinks on the motor drivers do not really allow for any sensors to mount to them and I do not want to block any flow from the fan hitting the drivers either. So I am wondering if i can mount something in the electrical cabinet that is aimed at the drivers constantly reading and reporting their temps.
The nice, cheap thermistors that you get for 3D printing are only a couple of mm in diameter, and will fit between the fins on those stick-on heat sinks that come with the A4988/DRV8825 drivers. If you want better contact, you can use a 1/16" drill bit into the side of the heat sink, and a bit of thermal paste.
It’s reasonably safe to assume that both X and Y drivers will generate about the same amount of heat, and Z should be lower. I would basically pick the X or Y driver with the higher VRef (And therefore current setting) and measure that one, as the E2 temperature, and have Marlin just report it back to me. (E1 in the V2 firmware is a dummy value to get around min extrude temp/error conditions.) Maybe I’d use the bed temp, if I wanted to see it in a graph on something like Pronterface, or Octoprint.
Mostly though, I’d rather just put a good heat sink on it, and give it good airflow.
On my Duet Wifi, it reports driver temps, but basically only if it’s overheating. It will, however report the MCU temp, which isn’t a terrible proxy for the driver temp, and I have that set up controlling a fan that directs airflow past the underside of the board directly below the drivers, which is where the cooling surface is.
I would be curious why temp measurement is needed unless you were testing to push the limits (which generally isn’t needed on these things… usually a well placed fan is plenty). That said there are some good thermal images that show how heat spreads out on a typical printer board. Turns out the driver heatsinks will be much colder than the pcb etc underneath. So your idea of using a non contact pyrometer is valid… but yeah finding one with a small enough area and decent accuracy will cost more. I have an ‘Amazon pro’ (whatever that means) pyrometer that works pretty good… shows higher temps than a thermistor on the heat sink… quick scans on my grbl esp32 board helped me design a good fan duct that got them all evenly cool.