Welcome! Log In Create A New Profile

Advanced

ESP32 Printer Board

Posted by CthulhuLabs 
Re: ESP32 Printer Board
January 16, 2018 09:32PM
Hmm I think the SAMD21 has oscillator outputs.
Re: ESP32 Printer Board
January 17, 2018 06:33AM
- Pull Up Resistors added to the SD card
- Diodes added to the stepper drivers
- Series resistors added to the ADC
Re: ESP32 Printer Board
January 17, 2018 10:38AM
From my research an external clock for the TMC2130s is not necessary in this application.
Re: ESP32 Printer Board
January 18, 2018 07:28AM
8 pin pcie header from aliexpress.
Re: ESP32 Printer Board
January 18, 2018 08:23AM
Nice find. Wonder if the manufacturer will admit to making that part.
Re: ESP32 Printer Board
January 24, 2018 02:42PM
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.
Attachments:
open | download - layout.png (305.8 KB)
Re: ESP32 Printer Board
January 25, 2018 05:39AM
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..
Re: ESP32 Printer Board
January 25, 2018 07:37AM
I was hoping to have no more than 6 layers.
Re: ESP32 Printer Board
January 30, 2018 11:41AM
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.
Re: ESP32 Printer Board
January 30, 2018 11:46AM
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]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet [www.duet3d.com].
Re: ESP32 Printer Board
January 30, 2018 12:09PM
Interesting. The Einsy Rambo seems to be switching the negative pin and is reading the tach. Circuit is on page 6 of this doc:

[github.com]
Re: ESP32 Printer Board
January 30, 2018 02:09PM
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]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet [www.duet3d.com].
Re: ESP32 Printer Board
January 30, 2018 02:39PM
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.
source: [www.pcbheaven.com]
Re: ESP32 Printer Board
January 31, 2018 06:37AM
I would guess that this technique works well with larger fans - with high inertia - but would be inaccurate with small fans.

EDIT: On the other hand small fans spin fast, therefore pulse time is shorter and if one limited sample time to one pulse it may work reasonably well.

Edited 1 time(s). Last edit at 01/31/2018 06:42AM by newbob.
Re: ESP32 Printer Board
January 31, 2018 07:26AM
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.
Re: ESP32 Printer Board
January 31, 2018 12:06PM
You need to read at least 2 adjacent pulses so that you can measure the interval.


Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet [www.duet3d.com].
Re: ESP32 Printer Board
February 05, 2018 05:55AM
It apprears that ESP32-WROOM-32U was just released. This version has u.fl antenna connector and no keep out zone so it does not have to 'hug' edges of the PCB like ESP32D does.

Edited 1 time(s). Last edit at 02/05/2018 05:56AM by newbob.
Re: ESP32 Printer Board
February 05, 2018 10:20AM
Interesting. I have seen that floating around. Might offer that as a variant, but for now I am going to stick to the one with a built in antenna.
Re: ESP32 Printer Board
February 14, 2018 07:55AM
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.
Re: ESP32 Printer Board
February 26, 2018 09:00PM
Here is a ARM Cortex M7 series 3D Printer Controller "Speedy Board":

GH Enterprises - Speedy Board
Speedy Board - PDF
Re: ESP32 Printer Board
February 27, 2018 04:59AM
Firmware is closed source. It's interesting that ST micro-controllers are not popular with open source community (though ST would like to STEVAL-3DP001V1).
Re: ESP32 Printer Board
February 27, 2018 09:03AM
For anyone who wants an open source firmware for ARM Cortex M7 processors, there has been a build of RepRapFirmware for Microchip/Atmel ARM SAME70 processors for a few months now.


Delta printer calibration calculator, mini IR Z probe, and colour touch screen control panel: [escher3d.com]

Large delta printer, and other 3D printer blog postings: [miscsolutions.wordpress.com]

Disclosure: I have a financial interest in sales of the Panel Due, Mini IR height sensor, and Duet WiFi/Duet Ethernet [www.duet3d.com].
Re: ESP32 Printer Board
February 27, 2018 05:32PM
Here is my vision on the modern RepRap:
Let’s add more stuff to the mix.
Most likely everyone has old android cell phone. If not (iPhone fans) then $10 phone from Net10 or $20 phone from Best Buy should work. We don’t need huge power of SmartDragon 845 and it’s cheaper than Raspberry PI anyway. Old tablets dusting in garage can be used as well.
- Bluetooth, WiFi, SD card reader, touchscreen and camera are integrated, so no need to buy 20 century’s LCD panel, navigation keys and webcam.
- New app, let’s say “RepRap Control Panel” becomes phone administrator, removes all installed programs and services installs GNURoot Debian. No need to root the phone.
- Octoprint / Klipper and Piecemaker can work in parallel plus any other Linux and Android non-GUI application and servers.
- On ESP32 switching between Mendel style firmware and client/server architecture can be done on the fly. The board like TTGO ESP32 has 4MB or flash, enough to fill all existing 3D printer firmware implementations at once and each firmware implementation can be just a module. No more discussion which firmware is better.
- With some work around crosstool-NG can be used on ARM platform. I tried to build esp32 and lx106 toolchains and it worked well, so Klipper’s firmware can be directly build on the phone. No more PC is needed.
- Connection from the phone to ESP32 can be made either Bluetooth, UDP multicast or via USB-OTG if available.
- One CNC shield with ESP32 or ESP8266 can handle small 3D printer (no heatbed in case of ESP8266), CNC or laser engraver/cutter job.
- Two boards in it’s own box are capable to handle MPCNC with diamond 3 hotend, or 3D printer with diamond 5.
- Dual H-bridge in separate box will handle extruder and heatbed.
- No more big and ugly power supply. Two laptop size power supplies looks better. Even mix of 12V/24V and usage of portable stove instead of heating bed are possible.
- If additional stepper needed or someone wants to have more powerful stepper then cheap ST-Link or USBasp device connected to USB hub can be used as an extension. ST-Link v2 is more powerful and it has one analog input on it’s 10-pin connector, so this device is probably better choice.
- If phone has no USB-OTG then $6-$15 chinese routers with OpenWRT can fill the gap.
- CNC shield with ESP32 board should be in the box with five RJ45 Keystone jacks. No more mess with cables and configuration is very flexible. RJ45 has 8 pins, so configuration with one motor per axis, two motors in the same direction like in Prusa i3, or in opposite direction like in MPCNC is not an issue.
- “RepRap Control Panel” should keep on Android side only apps like Google Photos to backup video recording, Hangouts to send SMS notifications and some other useful for us freebies.
- AI can be used to cancel job if something goes wrong or probably even for hotbed level and printing speed calibration. Cell phone can do this kind of job better, than PI.
The full hardware set under $40 has much more power, flexibility and less expensive then SmoothieBoard or others. Even classic RAMPS + Arduino + LCD panel + webcam costs more and does less.
All hardware already exists. Everyone can build the system he/she dream of like from the LEGO bricks.
Re: ESP32 Printer Board
February 28, 2018 07:40AM
'popolu'/stepstick drivers offer only rudimentary driver features and have poor heat dissipation and therefore limit performance. We need a new plug-in format or cheaper boards with integrated drivers.

I like how klipper firmware can control (still in development) multiple controller boards on one printer. Such feature lowers cost of hardware - just produce and stock single 4 driver board rather then multiple variants with 4, 6, 8, 10, 12 drivers.

Edited 1 time(s). Last edit at 02/28/2018 07:55AM by newbob.
Re: ESP32 Printer Board
February 28, 2018 10:43AM
Quote
newbob
'popolu'/stepstick drivers offer only rudimentary driver features and have poor heat dissipation and therefore limit performance. We need a new plug-in format

I would like to see a better plug in stepper format. The new format should have a bigger pcb (for better heat disapation) and more pins for SPI (to configure the steppers).

Plugin modules with pin headers have the problem that you lose the space below the module on the baseboard. And if you want to support many steppers the baseboard gets very big, so you might end up with more space on the base board than needed. That makes the boards more expensive.

One possible solution might be the PCI-Express sockets. The stepper modules would then have a board edge contact. These connectors would have enough pins. For high power (Stepper current) several pins can be used to carry the same signal. Due to the high usage in PCs the connectors are cheap. Due to the edge connecting the PCB of the stepper module would be vertical. With the bigger size I feat that we might get a stability issue if the steppers are connected to the modules and those are only fixed on the PCI-E connector.
Re: ESP32 Printer Board
February 28, 2018 10:59AM
I like the plugin board driver idea though I don't think PCIe connectors would work well.

On one hand PCIe connectors are nice since they don't require specific board thickness and they are cheap. On the other, boards with edge connector require gold finish which is much more expensive then HASL. Another negative, PCIe connectors require brackets to secure the driver board down which wastes controller's pcb space. Another issue is that you have to send power to the drivers and the motors over the connector, unless motor connector is located on the board itself.

Edited 1 time(s). Last edit at 02/28/2018 11:37AM by newbob.
Re: ESP32 Printer Board
February 28, 2018 11:32AM
Quote
newbob
... unless motor connector is located on the board itself.

That was the Idea. That was also the reason for me to be concerned about stability.

I don't think that brackets that waste space on the main board would be the only solution. Another way might be a printed enclosure that houses the main board and the stepper modules. The enclosure could provide the stability for the modules. It could also be used to guide the air flow in case of active cooling or using the chimney effect.

Does someone has a better idea for a connector ?
Re: ESP32 Printer Board
February 28, 2018 12:06PM
I think that at speeds and distances required any connector would do. What really matters to a successful board is price and that's why wasted PCB is an issue for me ( I rather have the driver board mounted to the controller directly).

EDIT:

@JustAnotherOne: I just realized that I misread which PCIe socket you were talking about. I was writing about miniPCIe connectors - while you were writing about PCIe (vertical boards)....grinning smiley Same issue with gold finish, power and mounting apply - though space is not a concern. There's already a board with edge connectors: [www.crowdsupply.com]. [github.com]

Edited 3 time(s). Last edit at 02/28/2018 12:43PM by newbob.
Re: ESP32 Printer Board
March 01, 2018 07:33AM
What about sub-board with just four TMC2130 drivers with 10-pin JTAG compatible socket?
No issue with stability, golden contacts and the board can be driven either by main ESP32 board with four 10-pin connectors or by small ST-LINK device with new firmware?
Sub-board can be used not only for 3D-printers...
Re: ESP32 Printer Board
March 01, 2018 11:09AM
@newbob I know the Juicyboard. (I don't claim that PCI-E plugs are my invention). From my experience gold is not too expensive. Then if you don't plug and unplug the connector then the HALS works. And if you have bad connections you can fix it with a bit of solder. The current requirements can be dealt with by using more than one pin for the high power connection.

@AlexStar Boards with 4 stepper have been suggested before. Also 10 pin standard header. Either as normal connectors also as edge connectors(5 pins soldered to top, 5 pins soldered to bottom).

Is there someone working on something like this?
Sorry, only registered users may post in this forum.

Click here to login