LCD/SD panel

This is the place to show off your felix printer hacks and improvements.
Post Reply
Kjetilei
Posts: 334
Joined: Fri Mar 16, 2012 8:26 pm
Location: Stavanger, Norway

LCD/SD panel

Post by Kjetilei »

Hi,

I finally received all the needed parts to build my own LCD/SD panel for Felix.
LCD/SD panel
LCD/SD panel
Since I wanted to integrate the LCD/SD panel as neatly as possible I ended up designing a quite unusual solution :)

The lower part of the LCD panel is actually inserted into the slot in the aluminum extrusion (with printed protection in front and back). No screws are used and the panel is press fit into the extrusion. (This led to a little problem with the current printed version; I was two layers off for the width of the slot in the extrusion and had to remove two layers manually with a knife from the printed parts ;)).

I was able to assemble everything tonight with only a few teething problems that are easily fixed.

A little video of the panel.

Everything is working at the moment except the SD card reader. At least it did not blow up the card I'm using (an ancient MMC card that pre dates the SD specification!). I'll try with some of the other SD cards I have laying around. I might have to buy a level shifter or just buy a SD card reader with it integrated, but that means a (minor?) redesign.

I choose to omit the "emergency switch/RAMPS reset switch" from the design since that is available on the front of the electronics box. I didn't include any buzzer either - didn't see the need for it and it can be easily added inside the electronics box if needed/wanted at a later stage.

I have hidden two 10K potmeters inside the panel to control the contrast and brightness of the LCD panel (only brightness pot/resistor is really needed). While reading up on the many variations of the 20x4 LCD displays I got worried that I didn't have the correct parts ohm-values needed to adjust the voltage of the backpanel correctly. But it seems that the model I bought had the needed resistor to lover the voltage down from 5 volt by it self and luckily the 10K potmeter worked nicely. Drama avoided...

The wiring of the rotary encoder was also different than I had expected and I had to try several variations of the wiring before I got it working. Another big problem was that I started the build folowwing the excellent PanelMax tutorial. The only problem was that it was outdated compared to the current Marlin version used by Guillaume and one of the pins was already dedicated to Fan out, creating "interesting" results with the menu alternating constantly between the main menu and the first sub menu. I changed the Fan pin number but later remembered that it would have been better to use Aux 4 instead for the LCD panel and rotary encoder...

I only had 20cm dupont wires available so had to solder a wire extender adapter for the LCD while testing.
Back. The back plate is not pushed fully in place and the front part is bulging due to damages obtained when removing excess layers for the press fit design. The front design is not fully finalised - must add proper support for PCB (proto board) for wire management and create a cover for the PCB and back of rotary encoder.
Back. The back plate is not pushed fully in place and the front part is bulging due to damages obtained when removing excess layers for the press fit design. The front design is not fully finalised - must add proper support for PCB (proto board) for wire management and create a cover for the PCB and back of rotary encoder.
Please disregard the lousy print quality :) I had problems with terrible filament grip due to a little design fault in the tensioning arm I was using on my experimental dual extruder...
Please disregard the lousy print quality :) I had problems with terrible filament grip due to a little design fault in the tensioning arm I was using on my experimental dual extruder...
The SDCARDDETECT Hack described in the PanelMax tutorial is not needed - use Refresh command in the LCD menu (this is missing from the Marlin version I have!).

I plan to leave AUX1 free for possible future Bluetooth upgrade.

I will upgrade the wires later for neater appearance. Unless I just en up completely redesigning and integrate the LCD and SD card reader into the electronics box :)

Parts used:
SD card reader: SD Card Module Slot Socket Reader for Arduino ARM MCU - not proven to work reliably yet

Info about the SD card reader being compatible: LCD Upgrade

20x4 LCD Display: HD44780 2004 20x4 White Characters LCD Display Module + Blue Blacklight - works nicely

Rotary encoder: EC11 car ROTARY ENCODERS 20 Position Step-level Modulator for DVD CD Speaker - works nicely

Momentary push button: Red LED 12V Lamp Round Cap Self-locking Push Button Switch 3A 250V AC - I was a little uncertain about this one and omitted it for the current design

In addition I bought some other bits and pieces:
2 x 10K OHM CERMET POTENTIOMETER - 1 used for LCD backlight dimming. The other is usable contrast on LCD panel or for dimming the push button LED
25 x 1N4004 Diode 1A 400V - D1 on RAMPS - to be able to print from SD without USB cable attached - not installed at the moment
10 x 40Pin 2.54 Single Row Pin Male Header - cut to size and soldered on the RAMPS AUX ports.
80 x Dupont wire cable 1p-1p female pin connector 2.54mm 20cm - bought due to the many different colors and pre-crimped terminals - too short should have gotten 40cm or 60cm ;)
25 x 10P Dupont Jumper Wire Cable Housing Female Pin Connector 2.54mm Pitch - will be cut down to correct sizes
10 x 5x7 PCB Prototype board - only one "needed" but the price difference was minor


I'll try to write a tutorial suited for Felix users so that you do not have to go trough all the trouble I had to should you want to build a LCD/SD panel yourself.

I'll sort out some kinks in the current design before I release the files. Let me know if you are interested and eager to try it out :)

Kjetilei
Posts: 334
Joined: Fri Mar 16, 2012 8:26 pm
Location: Stavanger, Norway

Post by Kjetilei »

Was finally able to add a couple of photos. Seems like a strange bug or setting misconfiguration has crept into my system...

User avatar
gfeliksdal
Site Admin
Posts: 405
Joined: Sat Feb 25, 2012 10:40 pm
Location: Netherlands
Contact:

Post by gfeliksdal »

Hi Kjetil,
Very nice write-up on your LCD/SD panel. I like the design as it uses no bolts and it also is nicely integrated with the frame. Would indeed be a challenge to integrate the large display elegantly into the electronics box.

What were your plans with the momentary push button? Use it as on/off switch?

PS: also nice music on the video ;)

Kjetilei
Posts: 334
Joined: Fri Mar 16, 2012 8:26 pm
Location: Stavanger, Norway

Post by Kjetilei »

Hi Guillaume,

Thanks for the nice words :)

Momentary push button would be used as a large panic button = Arduino reset button.

Music: Mason - Who Killed Trance. It played when I was about to record and I didn't bother turning it down. I have played that tune, and the album "They are among us", a lot lately :)

Kjetilei
Posts: 334
Joined: Fri Mar 16, 2012 8:26 pm
Location: Stavanger, Norway

Post by Kjetilei »

Updated firmware - sorry for lousy photo quality
Updated firmware - sorry for lousy photo quality
Updated the firmware with the latest Marlin files.

Wanted to follow the standard pin assignment for LCD and rotary encoder and had to rewire :)

The new firmware shows the temperature for both extruders and have other improvements as well.

I haven't print tested it yet but plan to make the adjustments available to Guillaume so that he can upload the files in his thread where the firmware files are located.

I still haven't gotten the SD to work, but noticed something strange tonight: the LCD backlight dim when I insert a SD card! I might have done something wrong with my SD card reader wiring...

Kjetilei
Posts: 334
Joined: Fri Mar 16, 2012 8:26 pm
Location: Stavanger, Norway

Post by Kjetilei »

Got the SD card reader working and minor issues sorted out in the firmware configuration!
SD working
SD working
Printed my first test print from SD without any problems. Had fun adjusting the feedrate to crazy speeds :)

Two errors where stopping me from having SD success:
Stupid user - plug flipped 180-degrees!
First card used to test was not compatible. 8GB Transcend SDHC card works flawlessly

igull
Posts: 8
Joined: Sat Apr 20, 2013 1:48 pm

Post by igull »

Hi Kjetil
Do you notice any delay when using your click control ?
I have a similar setup using a 'reprapdiscount' style LCD/SD panel - when rotating the encoder, the arduino misses clicks, the display doesn't keep up as expected - I wondered if it was an issue with interrupts on the system, it has a high workload when running, but when not running, the issue is still there.
Just wondered if you had noticed that?
Cheers
Neil

Kjetilei
Posts: 334
Joined: Fri Mar 16, 2012 8:26 pm
Location: Stavanger, Norway

Post by Kjetilei »

Hi igull,

There is a little "delay" when entering the menu. I have to rotate one click before the menu "reacts".

My rotary encoder has 3-4 sub "clicks" that the menu reacts to for every mechanical clicks. I don't think that my setup experiences missed clicks.

If you watch the video I have linked in the first post you will notice how sluggish the screen refresh of the display is. I think this is common for these displays. There might be solutions like voltage boosting (wild guess) or something else to increase the refresh rate but I haven't bothered looking into it.

I don't feel that the menu system itself can't keep up with the rotary encoder input.

Kjetil

Mayhem
Posts: 169
Joined: Tue Jan 08, 2013 4:15 pm
Location: Finland

Post by Mayhem »

Felix 2.0----> 3.0
V4 hot end
Simplyfy 3D
Kisslicer
Autodesk fusion 360

igull
Posts: 8
Joined: Sat Apr 20, 2013 1:48 pm

Post by igull »

Kjetilei wrote: There is a little "delay" when entering the menu. I have to rotate one click before the menu "reacts".
My rotary encoder has 3-4 sub "clicks" that the menu reacts to for every mechanical clicks. I don't think that my setup experiences missed clicks.
If you watch the video I have linked in the first post you will notice how sluggish the screen refresh of the display is. I think this is common for these displays. There might be solutions like voltage boosting (wild guess) or something else to increase the refresh rate but I haven't bothered looking into it.
I don't feel that the menu system itself can't keep up with the rotary encoder input.
Hi Kjetil

Thanks for that.
It occurred to me that there may in that case have been an issue with my rotary encoder, so I tacked a 'real' ALPS encoder to the back of the pcb - problem solved :-)
Seems that the quality of the cloned 'noname' encoders used in these boards is not what it should be :x
After pushing the button, I do have to rotate one click before the menu reacts, but for each click rotation of the encoder, the menu cursor then moves correctly.

Cheers

Neil

Post Reply