CNC style Pendant
-
@dc42 said in CNC style Pendant:
The idea is to reduce the 5V output from the UART on the Arduino Nano to somewhere between 2.5V and 3.3V.
So I could also use a logic converter there, right?. I have a bunch of "3.3 to 5 Bidirectional Bus" mini boards
-
@dc42 never tried but IIRC from the DS atmega is 5 V tolerant when running from 3 V so powering encoder with 5V and Atmega with 3V should be safe. The major possible problem is if it will run properly on 16 MHz on 3V (iirc 4.5 minimum for 10+ MHz) but I never had issue myself, they always worked ok.
@FelixH as you mentioned logic level converter, if you have one that would for sure work safest
-
Z and 4 Pendant cables are together to pin D6? or is Cable 4 to pin D7?
-
-
Well, just finished soldering cables here and there, I connected the TX/D0 pin of the Nano via a Logic Converter to the PanelDue port... the Duet does not boot if I connect the Pendant. The Nano and the logic converter seem to boot up, since the leds are lit up. If I start up with the display plugged in, and then I change for the pendant, the Duet shuts down. I can also see that on the web interface... not sure what could be wrong. I'm pretty sure the connections are sound
If I connect it to the computer and start the serial monitor, only a M112 command shows up continuously. No matter what I do, it doesn't show anything else
-
I've just got my pendant working. I've updated the code and changed the wiring slightly (STOP now goes to A0, and LED+ goes to D13). Latest files are on github now.
Here's how I wired it. I soldered the black, orange/black, blue/black and white/black wires to the cable shield and ran a single black wire from them to ground on the Arduino. I used 6K8 and 10K for the output resistors.
I configured the code so that on the x1 setting, each step is 0.1mm.
Next step is to design a printable enclosure for the Nano. I found a generic one on Thingiverse but it looks like it doesn't hold the Nano securely.
It would be nice to do a version that includes a PanelDue passthrough, but that would require a microcontroller with two serial ports, whereas the Arduino Nano has only one.
-
@dc42 said in CNC style Pendant:
Next step is to design a printable enclosure for the Nano. I found a generic one on Thingiverse but it looks like it doesn't hold the Nano securely.
I was thinking on fixing the nano inside the pendant.
-
@FelixH said in CNC style Pendant:
I was thinking on fixing the nano inside the pendant.
I didn't realise it would fit, but I've now taken the back off, and it will! Here's one possible place for it.
Now I need to re-do all the wiring You and your bright ideas!
-
@dc42 said in CNC style Pendant:
Now I need to re-do all the wiring You and your bright ideas!
Sorry...?? on the plus side, everything is much tidier...
By the way, would the +5V of the PandelDue be able to supply enough current for: the PandelDue, the Nano and a ESP32 used as a splitter (to be able to use both the PanelDue and the Pendant simultaneously). I want to use an ESP just because it has more convenient pinout with Rx/Tx ports
-
@FelixH said in CNC style Pendant:
By the way, would the +5V of the PandelDue be able to supply enough current for
probably - but it comes down to how much overall current the Duets 5v supply has to deliver to itself, and other peripherals. But the 0.5mm trace to the PanelDue port is good for 1 amp and some change.
-
@FelixH said in CNC style Pendant:
By the way, would the +5V of the PandelDue be able to supply enough current for: the PandelDue, the Nano and a ESP32 used as a splitter (to be able to use both the PanelDue and the Pendant simultaneously). I want to use an ESP just because it has more convenient pinout with Rx/Tx ports
If you keep the wireless function of the ESP32 turned off then I don't think it should be a problem.
Why use the Nano at all? It looks to me that the ESP32 has enough pins to do everything.
-
@dc42 said in CNC style Pendant:
Why use the Nano at all? It looks to me that the ESP32 has enough pins to do everything.
yes, I know. But if I don't do it step by step, I'll be lost. I'm not that good at coding. A colleague of mine took a look at the SMuff project above and has simplified a lot to act only as splitter. No WiFi, no nothing... I will try to put everything together and publish it on GitHub someday...
-
We can help with the ESP32 coding. I'm going to use one in my pendant. Planning on doing PanelDue "pass through" and wireless.
I'm probably about a week away from coding this; so run the Nano now, and see if you want/need this later.
P.S. Planning on wireless config via having the ESP32 initally act as its own AP and Network. Use your phone to join, fill out a simple form with three fields: Your network SSID, password, and name or IP of Duet printer. It then swaps itself over to those settings.
And have a reset button to go back to "not configured" AP mode.
-
I rewired the pendant with the Arduino Nano inside. I found a youtube video about how to make cable curly with a heat gun, so I did that with some of my standard 4-core PanelDue cable. The result:
I've realised that I can implement passthrough for PanelDue on the Nano, because the Nano doesn't need to see the responses that the Duet sends to PanelDue. So the UTXD or IO_0_OUT pin on the Duet can be connected directly to DIN on the PanelDue, and DOUT on PanelDue can be connected to RXD on the Nano. I'll add this feature to the firmware next.
-
@dc42 said in CNC style Pendant:
I've realised that I can implement passthrough for PanelDue on the Nano, because the Nano doesn't need to see the responses that the Duet sends to PanelDue. So the UTXD or IO_0_OUT pin on the Duet can be connected directly to DIN on the PanelDue, and DOUT on PanelDue can be connected to RXD on the Nano. I'll add this feature to the firmware next.
Does it mean there won't be the need for a Splitter to have the PanelDue and the Pendant simultaneously?
-
@FelixH said in CNC style Pendant:
Does it mean there won't be the need for a Splitter to have the PanelDue and the Pendant simultaneously?
Yes. However, it may be necessary to change one of the resistors on the Arduino Nano from 1K to 10K so that the PanelDue can override the RxD signal coming from the USB interface chip.
-
I've got the pass through facility working and committed the new code to github.
To use the pass through facility, you need to connect the PanelDue and CNC pendant cables to the Duet like this:
- Join all three +5V connections together
- Join all three ground connections together
- URXD or IO_0_OUT on Duet goes to PanelDue DIN
- PanelDue DOUT goes to RX0 on the Nano in the pendant (but see below)
- TX1 on the Nano goes through the 2 resistor (voltage divider) network to URXD or IO_0_IN on the Duet
I joined the 3 cables using solder sleeves. Here is the join before I put the heatshrink sleeving over it:
It's necessary to either feed the DOUT signal from the Duet through a 3.3V to 5V level shifter and connect the output of that to the Nano RX0 pin, or you can connect it directly without a level shifter if you make one or two modifications to the Nano. The modifications are:
- Replace the 1K resistor between the USB-to-serial output and the RX0 pin by a 10K resistor. If you use the Arduino Nano clone that uses a CH340G USB-to-serial converter, it's this 0603 resistor:
- On Arduino Nano clones using the CH340G chip, you must also remove the resistor in series with the RX LED (or you could remove the LED):
When programming the Nano over USB, you must disconnect the PanelDue. If you use a level shifter to feed PanelDue DOUT to RX0 instead of modifying the Nano, then you will need to disconnect the level shifter from RX0 to program the Nano.
I put Kapton tape over the upper two magnets in the back of the case, to make sure they don't short anything on the Nano:
-
For anyone wanting to use the passthrough facility without having to modify the Arduino Nano hardware, it appears to me that a Teensy 2.0 could be substituted for the Nano and a few pin assignments changed. On the Teensy the USB interface is separate from the UART interface, so the two won't interfere with each other.
EDIT: the Arduino Micro or Arduino Pro Micro would also be better choices than the Arduino Nano, for the same reason.
-
would the schematic displayed on the photo be correct? Is nothing connected to the Duet RX or it is connected as usual and, therefore, omitted??
Also, I am assuming that if I use a level shifter, I can also used to replace the resistor bridge, right?
-
No, that's not quite right. PanelDue DIN is connected to Duet TX, not Duet RX.
A simpler option is to use an Arduino Pro Micro instead of the Arduino Nano. You would then need just 3 resistors, and you would be able to reprogram the Arduino without disconnecting anything.