It occurred to me that with common DIR line technique, when going diagonally (while one stepper dir line is high and other's low), extruder will move in a staircase like pattern. Microsteping will cover it up but it may be an issue, in corner cases, when printer lacks resolution and is moving slowly.by newbob - Developers
Yes, shift register would do but it 'wastes' two pins and data has to be loaded serially (can be done via DMA with SPI or I2C but I don't have one) If another pin is available, circuit would be a easier, faster and more deterministic: Example here. @dc42 I re-read the doc and it only says to keep step intervals stable. QuoteAttention microPlyer only works perfectly with a stable STEP frequenby newbob - Developers
ADC inputs have no resistors in series. SDCARD needs pull-up resistors. and, depending how far it will be from the MCU - it may need resistors in series on outputs to suppress signal reflections. Few things to consider: Quote3.7.3 Reduction of Resistive Losses by Adding Schottky Diodes Schottky Diodes can be added to the circuit to reduce driver power dissipation when driving high motor currentsby newbob - Developers
Quotedc42 You don't need anything that complicated, you can just feed a single DIR line to all the stepper motors. With standard stepper drivers, the DIR signal only has to be stable from a little while before the rising edge ot STEP until a little while after. Using a common DIR signal in this way does reduce the maximum step rate a little, because you have to set DIR one way, a little, pulse Sby newbob - Developers
I've been playing with this and don't like the complexity and undetermined DIR output (toggle). I'm looking for ideas on how to send DIR to each of 10 steppers using single DIR line and stepper's STEP line to save on pins (it saves 9 pins with 10 steppers). For circuit below: Set STEP low Set DIR high Set pulse STEP higl-low to toggle dir Set STEP low Set DIR low Circuit Simulatorby newbob - Developers
Deleted (don't want to add to feature creep )by newbob - Developers
Since you mention prototyping have you considered separating drivers from uC? I think the most flexible (and economical) design would be to have a stepper driver cape/shield/daughter board that can be used with multitude of controllers mainly because controllers evolve much faster than driver's do. Plus, stepper drivers benefit from (or require) 4 layer PCBs that is not needed for rest of tby newbob - Developers
QuoteKevinOConnor Quotenewbob I've been reading the docs and wondering how acceleration and deceleration portions of the trapezoidal motion is synchronized between the axes. Is acceleration/decel slope shared among axes? I'm not sure I understand your question. The Klipper host software determines the ideal time to step each stepper motor based on the formulas for acceleration and printer kineby newbob - Firmware - experimental, borrowed, and future
I've been reading the docs and wondering how acceleration and deceleration portions of the trapezoidal motion is synchronized between the axes. Is acceleration/decel slope shared among axes?by newbob - Firmware - experimental, borrowed, and future
TMC motion controller's spec sheet give a little bit more information about dcStep. This pretty much settles it: 18.3.2 DCO Interface to Motion Controller DCEN enables dcStep. It is up to the connected motion controller to enable dcStep either, once a minimum step velocity is exceeded within the motion ramp, or to use the automatic threshold VDCMIN for dcStep enable. Can control dcStep throughby newbob - Developers
18.3.1 Using LOST_STEPS for dcStep Operation This is the simplest possibility to integrate dcStep with a dedicated motion controller: the motion controller enables dcStep using DCEN or the internal velocity threshold. The TMC2130 tries to follow the steps. I guess you're right - you can enable it via pin (DCEN high) or through velocity threshold (VDCMIN). on the other hand, below quote sayby newbob - Developers
The way I read it they can be left floating since they are 'tristate' when SPI_MODE=0. All pins with suffix CFG0 to CFG6 have a special meaning in this mode. They are evaluated using tristate detection, in order to differentiate between - CFG pin tied to GND - CFG pin open (no connection) - CFG pin tied to VCC_IO EDIT: DCEN should(?) be low SPI_MODE=1. When DCEN is low dcStep is disabled soby newbob - Developers
Next, I'll try compiling it for ESP32.by newbob - Firmware - experimental, borrowed, and future
Thanks. I'll try to install it on ESP8266. EDIT: it compiles just fine on Witty ESP8266by newbob - Firmware - experimental, borrowed, and future
I like the NOR heater protection. What's the purpose of STPR_DIAG on 2ndary uC? It would be useful to have one on ESP32 though. Are you not planning on sending interrupts from ESP32 to SAMD? Would be nice to have choice 3.3V or 5V and short protection at the end-stops. I do not see any servo output. I figure that power portion is not finished and fuses will be added later and assume endstby newbob - Developers
Nice. How do you compile it for ESP8266?by newbob - Firmware - experimental, borrowed, and future
Normally, 24V PSU will not come with 6pin PCIe or 8pin EPS plug, however, maybe you're right - probably safer to require plugs as screw down connectors, that fit on a PCB, are rather flimsy.by newbob - Developers
Are you planning on having also screw-down connectors to attach 24V power from secondary PSU or just 'molex' headers?by newbob - Developers
It seems the connector is manufactured under licence and not available to public. Realistically 8-pin only adds one more ground, compared to 6-pin connector and 6+2 connectors use jumpers for +2 therefore 6 is right gauge to provide extra power.by newbob - Developers
You're right - it has to be 4.2 pitch, like mini fit jr molex connectors. I searched I don't think it is available to mere mortals. Lets just use 6 pins.by newbob - Developers
8pin connector molex 0430450812 cheap mosfet DMG9926USD-13by newbob - Developers
Aparently 20A per rail specification is not per rail but rather per 12V line (each line is supposed to be current limited). Here's 600W Thermaltake ATX 2.3, single rail 42A 12V available for $44 shipped. Now the only thing to consider would be: how to bring all that power to the bed heater (see below) @nathan25 ATX 2.0 specification added more 12V power and reduced 5V and 3.3V (and introduceby newbob - Developers
I figure that 3.3V (uC), 5V (fan) and 12V (fan+extruder heaters) would come from 24pin adapter and 6pin+6pin 12V for the motors. Now, bed heater is a bit tricky since some printers do not use one, some use 12V others 24V or mains. 200W ATX PSU could power everything, except bed heater. ATX specifications require max 20A per 12V rail, ATX 24pin connector provides up to 144W via 12V - good forby newbob - Developers
I agree with all that. ATX supplies are safer option (if they conform to ATX specifications) and pluggable. 2.5A per motor *5 steppers *12V = 150W. 6pin+6pin = 150W EDIT: I think it would make sense to leave space on the board for screw down connectors to make it more universal. Even more universal: 6pin+8pin (can be used with 6pin) + screw down.by newbob - Developers
24pin ATX power supply provides 3.3V, 5V and 12V. 200W, plenty for three extruder heaters and CPU costs $25 (you can get higher wattage PSU when on sale). Seems like a good deal, safer and more efficient than cheap 12V power supplies from ebay. Some ATX PSUs are also dual rail which would separate steppers from uC. As to stepper motors, how about a power rail with four molex 4 pin sockets foby newbob - Developers
Did you mean 12v IN 24V OUT for the motors using DC-DC boost converter? It would be nice if it worked since ATX supplies are cheap, powerfull and have good protection.by newbob - Developers
If you can, could you explain what the idea behind implementing "flow control between motion gcode and non motion gcode". I'm guessing that you are doing this because code is not using interrupts - is that right?by newbob - Firmware - experimental, borrowed, and future
There's just too much name collision in the world. I'm surprised they can still come-up with original movie titles, although, admittedly, it's been mostly remakes lately. I say if it's good for a two-way communication system which has linked monitoring instruments on an active submarine volcano to the Internet since 1999, it's good for 3d printer controllerby newbob - Developers
I don't have an opinion about the name. Interestingly NEMO32.com is available to register as domain. I searched in many places and cannot find any concrete data on how fast SAMx (SAM4, SAMD, SAMG, SAML) SPI will work in slave mode although app note I referenced previously is pretty detailed and does not list any limitations.by newbob - Developers