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.
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.
'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.
'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.
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.
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.
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).
@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).... 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.
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...
@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).