New board for the ESP32 : ESPIon March 08, 2019 06:34AM |
Registered: 4 years ago Posts: 10 |
Re: Addressing common RAMPS 1.4 issues : New block design March 08, 2019 07:13AM |
Admin Registered: 12 years ago Posts: 6,730 |
Re: Addressing common RAMPS 1.4 issues : New block design March 08, 2019 07:24AM |
Registered: 4 years ago Posts: 10 |
That's why I'm abstracting the design, it's a generic shield that can be used with any board.Quote
Dust
1) the mega is old slow and needs to be retired.. If it isn't due compatible.... your probably wasting your time
Ok, but if I add reverse polarity protection, then it won't be backwards compatibleQuote
Dust
2) its needs protection for idiots plugging endstops in backwards (and shorting 5v to gnd)
What mosfet would you recommend using ? IRLB3034 ?Quote
Dust
3) stop using STP55NF06L's they are crap, especially for the bed
Not any other board has these features.Quote
Dust
oh god, not annother one... there are about 5 of these on the go atm...
Re: New board for the ESP32 : ESPIon March 09, 2019 03:20PM |
Registered: 4 years ago Posts: 10 |
Re: New board for the ESP32 : ESPIon April 01, 2019 09:58AM |
Registered: 13 years ago Posts: 140 |
Re: New board for the ESP32 : ESPIon April 01, 2019 10:09AM |
Registered: 13 years ago Posts: 140 |
Re: New board for the ESP32 : ESPIon April 01, 2019 02:27PM |
Registered: 4 years ago Posts: 10 |
Quote
MrAlvin
Hi Moddingear,
this seems like a very interesting project that you have started.
About expanders.
I do wonder if it is ideal to use the I2C bus for all the expanders. I wonder if it would be better to use shift register(s).
So far the one thing that I am aware of, that has been tested for either direct-pin-connection, or connection-with-expander-chips, for 3D printers, is the LCD.
Some speed tests have been done between using direct-pin-connecton, I2C, SPI and shift registers - and between the expanders, the shift register is the fastest.
Both I2C-bus and SPI-chips seem to have (clock) speed limits. Shift registers also have clock-speed limits, but they are typically (much) higher than the limits set by specific SPI-chips.
Are you aware that the PCF8475 chip is rather crude in its High/Low design. The chip is by default in the output High state, because of a (weak) pull-up resistor. And in this "High" state the chip can not really supply any current to speak of (<4mA)
The LOW state does have a n-channel mosfet, and can sink a fair amount of current (<50mA).
But I think it is a primitive design. And it is a design where the power-on-state of each pin is HIGH.
The MCP23xxx family of chips are much more versatile. Much more programmable. And use proper digital input/output drivers for both high and low state of the pins.
- place all end-stops on an expander chip, where the expander chip has the ability to raise a signal pin, if any changes happen to the end-stop switches.
I think this is possible for both the PCF8475 chip and the MCP23xxx family of chips (MCP23008, MCP23S08, MCP23017, MCP23S17).
The one "something-has-changed signal-pin" from the expander chip can be tied to an interrupt pin on the MCU. This way an interrupt will occur, which can set an internal variable. Testing the state of an internal variable, is much faster than reading the state of a hardware pin.
Quote
MrAlvin
About backward compatibility
This is always an issue to consider. If changes - leading to improvements - will be desirable, even if they break backward compatibility. I do however think that improvements, that will not change functionality, are much to be preferred rather than just leaving things as they have been, if there are known "got'ya" issues with the design.
A few "improvements" I for instance have considered for end-stops are:
- to use color coded pins, so Vcc, GND, Signal pins are much more visible, when plugging in the switches.
- to use "keyed" sockets. This is the safest way, but it takes up a lot of PCB space.
- to add a resistor in the signal path.
This protects the signal pin from over-voltage situations. A 4K7 resistor will make most 3.3V pins 5V tolerant. A 20K resistor will make most 3.3V pins 24V tolerant.
At 24V a 20K resistor will allow a 1.2mA current, and perhaps most MCU pins will be able to sink 1.2mA of current without issue.
Harden the thermistor pins - possibly making them 24V tolerant.
If you add a 20K resitor right before the analog MCU pin, then that pin will become voltage hardened, and be able to survive if a higher voltage (within limits) were to be applied to that input path by accident. You know, if, lets say, something were to melt/short at the hot-end and cause heater voltages to find their way to the thermistor wire.
The MCU pin basically draws no current. It only measures what ever voltage is there, so a resistor in series will have no (or very, very minimal) effect on what is being measured. But because a resistor will limit any short-circuit-condition currents to pass by, it will, in many, if not all cases, protect the MCU pin from an over voltage condition.
- to add a capacitor between the end-stop signal pin and GND.
This will help prevent some (if not all) electric noise problems that may occur on the end-stop switches.
Quote
MrAlvin
The power-on-state of the pins on the Arduino DUE (MCU) is also HIGH, but it is again a "proper" digital high, and thus it is possible to use a semi-strong (4K7) pull-down resistor in order to achieve a power-on-state of LOW for the MCU pins.
A pull-down resistor on a PCF847 chip would put the pin in a permanent LOW state. So I would only consider using the (nice low cost) PCF8475 chip in some specific situations.
Quote
MrAlvin
About a separate board for stepper drivers. I like that idea, as I think that we could all benefit from a more modular 3D print-controller design.
I wonder if it would not also be a good idea to have the mosfets on a separate board. This way it would be possible to use (smaller/cheaper) mosfets for the mosfet channels that would not require to be able to handle high currents.
And if a mosfet blew, it would be quick and easy to simply replace the mosfet board.
For a surface mounted mosfet, you might want to look at the IRFS7530-7P chip. It has a very low on-resistance.
I am not sure that I fully understand how you will populate the power management selection section of your design. But being able to select between a 24V and 12V power source for each mosfet is an intriguing idea.
I notice that the LEDs for the mosfets are all powered from Vcc. I wonder if it would be interesting to power them from whatever power source is used at that particular mosfet.
When the LEDs are powered from Vcc, the LED will show if the mosfet is working.
If the LEDs are powered from the same power source as whatever is being driven by the mosfet, the LED will also show that everything is okay at that item. Meaning; the power source is working.
I have been successful in using a 2K resistor with the LED, and this works for both 12V and 24V supplies.
But essentially, how the LED is powered, and what you can read from the LED actually being lit, is a matter of preference.
I hope some of these comments can be of value to you, as you move forward with this very interesting ESP32 design.
Quote
MrAlvin
Are you aware of this project:
- [github.com] see also
- [github.com]
It is essentially Marlin for the ESP32. And it seems that he also has a preliminary prototype board (designed in KiCAD) ready to run this firmware.
Perhaps it would be interesting to find out what issues he has addressed, in order to get the ESP32 to run the Marlin firmware.
Re: New board for the ESP32 : ESPIon April 02, 2019 04:21AM |
Registered: 9 years ago Posts: 341 |
Re: New board for the ESP32 : ESPIon April 02, 2019 02:13PM |
Registered: 4 years ago Posts: 10 |
Ok, I put the interrupt of the endstops and the thermistors there instead.Quote
sdavi
Quickly looking at the schematic:
Pins 34-39 on the ESP32 are input only pins so you'll need to swap those.
I interfaced with 5V powered chips before without using resistors and with I2C, didn't have any issues, but I guess better safe than sorry, so I added 4.7k resistors.Quote
sdavi
In the current configuration, you should protect the ESP pins (not 5V tolerant) from the expander I2C and INT signals since it is powered by 5V.
Actually I was thinking or removing the chip to update it, since most people don't have a computer near their 3D printer, but OTA could also work.Quote
sdavi
The schematic shows RX0 and TX0 pins tied together and used by the stepper module, but those pins (normally connected to the usb-uart chip on the dev boards) are needed to flash the firmware (unless you plan on using OTA for updates), and also send/receive serial if you plan on printing with USB.
Oops, changed it.Quote
sdavi
EDIT:
I also just noticed the thermistor pullups are to VCC (which appears to be 5V?) instead of 3.3V.
Re: New board for the ESP32 : ESPIon May 23, 2019 04:57PM |
Registered: 4 years ago Posts: 10 |
Re: New board for the ESP32 : ESPIon May 24, 2019 02:51AM |
Registered: 4 years ago Posts: 148 |
Re: New board for the ESP32 : ESPIon May 24, 2019 11:30AM |
Registered: 4 years ago Posts: 10 |
Quote
Pippy
I've not seen anyone use through hole DIP chips for final designs in a few years now, it's pretty much all surface mount these days.
For those who are not used to working SMT chips, it's not as difficult as you might think.
To solder a SMT chip, all you really need is ..
- A soldering iron.
- Solder.
- Decent flux.
- Desolder wick (copper braid type stuff).
- A little isopropanol alcohol (amazon or such like).
- Maybe a cheap LED ring lit bench magnifier if desired.
Then all you do is ..
- Flood the pins (chip in place on board) with just enough solder and flux (short any many-to-all as you want).
- Use the desolder wick to wick the solder back up - until you no longer see any shorted pins and the joints look proper.
- Clean off the flux with the isoprop.
You'll be left with a nice and clean pretty much perfectly soldered chip. I'd much prefer a SMT chip to a big through hole chip these days, through hole DIP's take up loads of space. But saying that, they are easy you're right.
Quote
Pippy
I wonder why you chose the ESP over say an STM32F4/7 (or whatever 32-bit chip) with already enough pins to not start using expander chips ?
Re: New board for the ESP32 : ESPIon July 05, 2019 03:14AM |
Registered: 4 years ago Posts: 10 |
Re: New board for the ESP32 : ESPIon October 13, 2019 04:04AM |
Registered: 4 years ago Posts: 10 |
Re: New board for the ESP32 : ESPIon October 23, 2019 03:31PM |
Registered: 4 years ago Posts: 10 |
Re: New board for the ESP32 : ESPIon January 03, 2020 01:22PM |
Registered: 5 years ago Posts: 270 |