1 / 6
FluidNC Pendant "Lunch box" — zdjęcie 1
1 / 6

FluidNC Pendant "Lunch box"

Zamów wydruk tego modelu

Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.

Zapisane na tym urządzeniu.

Versatile and robust pendant for use with FluidNC

Ocena
0 / 5
Polubienia
11
Pobrania
13
Wydruki
0
Wyświetlenia
162
Oceny
0

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Kategoria
Other Gadgets
Licencja
Creative Commons — Attribution — Noncommercial

This pendant is intended to be used with FluidNC.

This is an easy project! It is basically a button box. You are going to need an Arduino mega, a display and one hand full of push buttons. The rest is just bolts. All hardware is easy to source, readily available and cheap to get. In order to build this project, you should be able to do a little soldering and you also need to know how to spell Arduino.

Since you are running your own DIY CNC already, you are basically over qualified for this project. See BOM, to make up your mind if this project is something for you. 

Functions:
The display does show information about the currently selected Axis (including spindle) and its coordinates. Iluminated push buttons only come live, if an input can be made during current selection.

Directly select one axis to be Jogged (X, Y, Z (Cartesian) and A, B (Rotational)). Feedrate (speed) and also lenght to be jogged can easily be selected by the rotary encoder. 

The selected axis can be homed and also work piece zero can be set via push button. If a tool diameter or tool lenght is punched in, it automatically takes this into account for setting WP-Zero.

The spindle can be selected also, in order to start/stop the tool with a given RPM.

Note: At the end, you are going to find dedicated articles about assembly with all additional information you are going to need. The code to be run on your arduino, still is uploaded here though.

Printing:
All parts are designed to be printable with a 0.4 or 0.6 nozzle. Enable a brim for the Frame. Support only is needed for printing the Bumper parts and GlareShield. All other parts dont need support nor brims. The SideHandles need to be printed on their sloped face, TopPlate and BottomPlate have to be printed on their face side. SideHandles and also Bumper parts can also be printed out of TPU/FLEX material.

You are going to find all Parts as .3mf and .step for you to modify. If you want to use push buttons with other diameters than 16mm, remember to change the hole diameter on the TopCover and DesignPlate.
The extra parts folder contains button guards with slightly altered design. The MMU folder contains the RotaryKnob and ChannelSelector as .3mf only, for easy MMU printing.

BOM:

No

Part 

Specification

Amount

Alternative Part

Notes

1

Display 

Graphic LCD Display 128x64 Pixel

1

Anything with 128x64 resolution, SPI and running with u8g.lib.

LCD Modul 12864

93x70x12,5mm

2

Arduino Mega Pro

Arduino Mega ("Pro" form factor)

1

Regular Arduino Mega

Regular Mega is going to work in theory, but it might does not fit into the case because its size

2

Rotary Encoder with Pushbutton

KY-040

1

VSM1BF20
7mm mounting hole

Anything with 16-20 Pulses/rotation is going to work. Needs to have an integrated pushbutton

3

Rotary switch 

9 mm mounting Hole. 6 Positions to select. 5.5mm friction fit for Knob.

1

6 Position needed

4

Push Button

LP01-15 NKK

9

Any momentary push button with 16mm Diameter and internal LED is going to work

Make sure the overall diameter is not more than 23mm and it is not longer than 21mm. Also Make sure the internal LED can be used with 5V. 

5

Level shifter

FC-112

1

Needs to be bidirectional

6

Resistor

220R

10

For all LED within the Pushbuttons and LCD Backlight

7

Resistor

10k

18

Pulldown resistors for all Pushbuttons, Rotary Encoder and Rotary Selector

8

Potentiometer

10k

1

Any smal 10k pot will do

only needed for initial setup of display contrast

9

PCB Prototyping board

20x80mm

1

Optional but recommended. Level shifter can be wired in directly. Is much neater with PCB

10

PCB Prototyping board

40x60mm

1

Optional but recommended. All buttons and display can be soldered directly to the Arduino. Using PCB is much more easy to revise and trouble shoot later

11

Pin Header

Male and Female

60 each

Optional but recommended. All buttons and display can be soldered directly to the Arduino. Using pin header is much more easy to revise and trouble shoot later

12

5V Power supply

continous output of 2A

As long as it can provide 2A @ 5V it is going to work

Optional. This only is needed if you have no 5V source on your CNC machine for powering the lunch box

13

Bolt

M3x5

10

For Mounting USB Cover and Extension Cover Plate to the Frame

14

Bolt 

M3x8

34

M3x10

For mounting Top and Bottom Plate to the Frame. Also for Attaching Button Guards and LCD Frame to the Top Plate. Used for attaching the Grip Long and Grip Short to the bottom Plate. For mounting PCB-LevelshifterHolder to Frame. For securing Knob Big and Knob Smal

15

Bolt

M3x10

24

M3x12

For attaching Handle Long and Handle Short to the Top Plate. Mounting StrapHook To Frame. For mounting all bumpers to the Frame. For mounting Handle Long and handle Short to the frame.

16

Bolt

M3x12

12

For Mounting the display to the Top Plate. Mounting bumpers to BottomPlate

17

Bolt

M2x5 

4

Optional. Only needed if you Mount the Level Shifter (Pos5) on a PCB (Pos9)

18

Bolt

M2x10

4

Optional. Only needed if you use the PCB (Pos10) for wiring)

19

Jack Screw

6-32 to M3

2

Check your retired PC parts. This is often used in order to mount/raise the mainboart to the case

For mounting Arduino to PCB-Arduino Base. 

20

Cable Gland

PG16

1

Any Cable gland, Fitting for the outer diameter of your particular connection cable.

Make sure to alter the diameter of its mounting position if you choose any other cable gland

21

Cable

0.14mm² (35 AWG)

10m

Basically anything you have at hand anyway

Used for internal wiring. No large diameters needed. 0.14mm² up to 0.5mm² worked fine for me

22

Cable

0.5mm² (24 AWG), minumum 5 Strands, 
Shielded

3m

Basically anything you have at hand anyway, as long as it is shielded. 

Since this cable is going to carry all communication within a "noisy" environment over some distance, a shielded cable is mandatory

Additional notes for part sourcing:

Any Pushbutton is going to work. Even ones without internal LED. Since the LED is used in order to visualize what inputs can be made, depending from the current setting. Id still highly recommend using ones with internal lighting. If you want to use buttons with different diameter, dont forget to change the mounting holes in the TopPlate. Make sure the Button you use is not longer than 21mm when mounted and also its overall diameter is not wider than 23mm

The Rotary (selector) Switch has to have a mounting hole diameter of 9mm and must not be longer than 21mm when mounted. Its axle, to mount the SwitchSelectors-Knob part to, can be a 5.5mm friction fit. D-key is also going to work. If you are using something completely different, make sure to change the SwitchSelectors mounting hole.

The Rotary Encoder can be anything with additional pushbutton. In order to have distinctive "clicks" and precise control during jogging, many Pulses/rotation might be not that usefull. 20-pulses feel nicely clicky and responsive. If you use anything other than KY-040, make sure you add 10k pull down resistors. It also needs a 6mm D-key for mounting the Knob.

The Display can be substitued with anything as long as it has a resolution of 128x64 pixel and can be directly used with the u8g. library. The lunch box uses pin10 (RS), pin11 (R/W), and pin13 (E) for serial connection. Make sure your display is going to work with that (SPI). Since your formfactor might differ from the 93x70x12,5mm size, you need to change the TopCover and GlareShield in order to fit your display. Maybe you have to use some sort of adapter or additional mounting frame.

The Bidirectional Level Shifter is mandatory because Arduino runs on 5V but ESP32 on 3.3V.
In theory you can get away with a voltage devider, made out of resistors or a one directional level shifter at the ESP32 RX pin. It does need to be bidirectional, but in order to protect the ESP32 if you accidentally switch RX/TX, it should be! Since bidirectional Level shifter are cheap to get, id recommend just using it.

5V power supply. This is an optional part to be used if your CNC cant provide power for the arduino. No matter how your machine is build, id highly recommend using the 6x CNC Controller for FluidNC by B.Dring. This one is a good bang for the buck. All secondary hardware and passive parts are allready on board and you can directly connect the lunch box to the Controller boards pin header.

Assembly:

https://www.printables.com/article/fluidnc-lunchbox-assembly-7ZPLbLZ

Disclaimer:

I cant recommend any seller, since i cant vet them. I cant controll what is get send to you. I made sure that all parts are easy to get and fairly standard in general. Use any platform you like for sourcing. Mouser, Ebay, ELV, Alibaba or even Amazon...
...I got basically all parts via e-bay, if i didnt had them in the parts drawer anyway.

I will not linkt to any shop to buy parts. Not now and not in the future. This is not in order to make this complicated for you, but in order provide piece and quiet down the road. Because i cant vet any seller permanently, i just dont want to be involved in any issues like: "i bought part X from seller Y and it does not fit" or "part X is not in stock at seller Y, please give alternative" or "i bought part X and it is totally crap and cheaply made"... This is because i dont want to give links, but strange folks exist. If you want to, I absolutelly invite you to post a list in the Comment section though. Thx for your understanding.

General Notes:

Although the pendants layout is optimized for CNC milling machines, it also is going to work with all sorts of NC machines, running FuidNC, including lasers. This pendant connects via RX/TX line to your ESP32-FluidNC. Even though you can connect the lunch box to basically any ESP32, it is highly optimized for use with the "6x CNC Controller for FluidNC" by B.Dring.

At the moment support for rotational axis is not fully implemented. As soon they are tested to the fullest extend, this is going to be added within a future code version. Use of Spindle and cartesian X ,Y and Z axis already fully work.

Tagi