Sunday, June 30, 2019

Update 6 on ESP32-based 3D printer control board

Finally managed to test the updated control board.

The MRR ESPA (3D printer control board based on an ESP32 microcontroller) is finally in the final stages of development. Features include:
- Built-in WiFi, which allows a 3D printer to be controlled via an online web interface if the appropriate Marlin firmware (luc-github's Marlin fork) is used. The web interface is basically his ESP3D. There is even support for push notifications but I have not tested this out yet.
- 4 stepper drivers ready for standard A4988 drivers, but with jumper pins which will allow easier connection of TMC2130 drivers in SPI mode. With the jumpers in the right positions, you will only need to use jumper wires for the CS pins (one per stepper driver board).
- Opto-isolated bed heating rail, so that you can use a separate power supply unit of a different voltage (up to 24V) to heat the bed.
- Support for single hotend with part cooling fan.

Here is a test print. A quick one.



The main change from update 5 is that traces carrying high currents were widened and placed on both top and bottom copper layers. The bottom traces are also exposed to help with cooling. I had originally thought the heating problem near the 20A fuse was because the fuse was being used at close to 100% rated current, but I think it is more a case of the traces being too thin for the amount of current being carried. Anyway, after the changes, that area of the board no longer seems to be going above 100 degC when I am heating the bed using 12V (which translated to about 15A of current). When used with a 24V system, it is not a problem at all since the current is much lower, and therefore less heat is being dissipated.

Besides the MRR ESPA, I have also been working on a more advanced version of the board which uses I2S for stepper stream control. This is the MRR ESPE, which will feature the use of serial shift registers (74HC595) to convert an I2S stream into parallel outputs, which can then be used for the step, direction, and enable pins of the stepper drivers. The outputs from the shift register should also work for PWM control of MOSFETs and LCD data, and I will be testing them out. Meanwhile, here is a prototype of the MRR ESPE using I2S for stepper driver control.


It is not doing much, just doing a first-layer test print to help me make sure my bed mesh data is still good.

Anyway, future updates will probably be using the names of these boards in the title to better differentiate between the two (related) projects.

Note: Pre-launch version now available here. Some information on this has been updated here.

No comments: