Friday, 10 February 2017

geeetech Reprap Smart controller LCD12864 on re-arm controller

I finally got my re-arm! in case you some how missed it.

I set it up following the quick start guides on
Installed the latest firmware, no issues, used the eg config.txt and basic commands worked as expected. (just the controller powered over usb at this stage)

Then I went to plug in my GLCD, which I gave up on on using atmega based machines a long time ago as being too resource hungry.

Problem..   The re-arm supports the reprap discount GLCD, I have a geeetech GLCD, close, but not identical.

The documentation show this following image

And they provide the special cable with the separated 5v line.

If you look at this image you notice you cannot see the key on the lcd adaptor sockets. They are are the back side from this view.

Now if we take a look at the geeetech one
You can clearly see that the key on the ramps lcd adaptor is on the opposite side.  So we cannot use the provided special cable as the key makes us plug it in backwards breaking out the wrong pin.

I checked out the circuit and it looks compatible apart from the socket keys.

I wired it in using some prototyping wires

You only need 7 cables.
Lets define Top left on the adepter and the GLCD pictured as pin 1, and bottom right is pin 10.
Its simply wired pin 1 to pin 1 and pin2 to pin 2 up to and up including pin 5.
Then skip to pin 9 (black, gnd), which also goes to pin 9
On the GLCD pin 10 (red) is the 5v supply and needs to be wired to the 5v line of the re-arm as pictured in the guide.

And setup the firmware, as documented.

# Panel See
panel.enable                                 true            # set to true to enable the panel code
# Example reprap_discount_glcd
panel.lcd                                    reprap_discount_glcd             # set type of panel
panel.spi_channel                            0                 # set spi channel to use P0_18,P0_15 MOSI,SCLK
panel.spi_cs_pin                             0.16              # set spi chip select
panel.encoder_a_pin                          3.25!^            # encoder pin
panel.encoder_b_pin                          3.26!^            # encoder pin
panel.click_button_pin                       2.11!^            # click button
panel.encoder_resolution                     4                 # override number of clicks to move 1 item (default is 4)
#panel.button_pause_pin                      1.22^             # kill/pause set one of these for the auxilliary button on viki2
#panel.back_button_pin                       1.22!^            # back button recommended to use this on EXP1
panel.buzz_pin                               1.30              # pin for buzzer on EXP2

This mostly works! (yea I haven’t remove the protective plastic yet)
But the encoder is backwards.

To fix this you just need to tweak the provided config a little.

Just swap the encoder pins over

panel.encoder_a_pin                          3.25!^            # encoder pin
panel.encoder_b_pin                          3.26!^            # encoder pin


panel.encoder_a_pin                          3.26!^            # encoder pin
panel.encoder_b_pin                          3.25!^            # encoder pin

The GLCD and encoder work as expected now.

NB I have not tested the SD card at this time.

Sunday, 5 February 2017

Adding a LJ12A3-4-Z/BX NPN Inductive Proximity Sensor to a RAMPS

In building the hypercube printer I wanted  to add an inductive sensor for the Z endstop/probe

I specifically wanted a 12v sensor so as not to load down the already over taxed 5v rail on the RAMPS. 

The main issue is that this sensor has a 12v output and the mega IO pins are 5v input max.

Commonly other have used a 10k and a 15k resistors as a voltage divider so that the output is 5v.  This did not work on my sensor, the result was more like 3v. Which is not high enough to count as a logic high. My sensor seems weird.. I needed to tweak the values.

Second issue, Power.  I didn’t want to run separate power from the supply. The 2 pin 12v ramps connector is already used for hotend fan and I didn’t want to tap into that. I wanted a solution I could just plug in.

My solution was a little unique (well I've not seen anyone else doing this trick)

I'm going to use the E1 socket for power and signals.

This is the result

Note the E1 motor connecter is directly plugged into the inductive sensor and the endstop IO line.

The details.

The circuit is still just a simple voltage divider, but using a variable resistor so the output voltage can to tuned. 

If you look at the pololu pin outs

On the right hand side you see the first 2 pins are VMOT and GND.  That is 12v power, and I will use that for the probe.

The next 4 pins are the 4 stepper motor pins. On the ramps these only go to the stepper plug, so can be reused. I redefined them as +12v, gnd, signal_raw and signal_ttl.

The probe:

Wire up the 3 wires of the probe into a 3 pin plug in the order +12v, GND and signal_raw. Plug this into the E1 "stepper" header, making sure to get it in the right location and orientation. (+12v is pin closest to ramps power plugs)

The board:

Next we build up a simple replacement module, I used vero board

Cut out a piece of vero 7*4 holes in the following orientation.
I used  8 * 4 just to make it a little more pololu sized

Ignore the nick out of the side and the top, these are not deliberate.

The top line will plug into the pololu socket, top left is column 1, row 1 for the following notes.

Add a 10K resistor to the board, on the copper side (connects to columns 2 and 6)

This could be under the board if you really want. (or if your variable resistor doesn’t have clearance to sit over it)

Next add in the variable resistor, I used 20K

This is wired from column 5 row 2 to column 6 row 4. NB column 7 is also now electrically live, but is not used. Make sure you don't connect this to anything (ie don't put in all 8 mounting pins, without isolating this from pin 7)

Add in the power wires.

This is the underside. So column 1 is at the right.
12v (red) is connected from column 1 to column 3
GND (black) is connected from column 2 to column 4

The top now looks like this

Next add in the 6 connecting pins.

 Bottom view


Apply +12v to pin 1 and GND to 2 of the connector
Attach your inductive probe to pins 3,4 and 5 (12v, GND and signal_raw)
Attach a multimeter to GND and pin 6 (signal_ttl)
Adjust the variable resistor till you get a nice 5v out. Check that when its triggered the voltage still drops to about .5v    

All going well you can now just plug the adaptor into the E1 socket.

Now all you need to do is wire up signal_ttl to your Endstop signal line.
in the first result image above this is the green wire from the Z min endstop signal line to the 4th pin of what used to be the motor connector.

NB if you over volt the ramps 12v 5amp input (ie use a single 13v supply on both power inputs generally used make the bed heat faster, make sure you re adjust the variable resistor so the output is still 5v.)  

Objective achieved. A plug in play solution for a 12v NPN Proximity Sensor that doesn’t involve splicing cables for power, or nasty cables with inline resistor divider circuits.

Sunday, 29 January 2017

Core XY update 2.5

Just a quick update

Its alive!  Well X and Y are doing the coreXY thing

I had real issue getting the X axis to move as nicely as I wanted. It would move but was stiff. I wanted the axis to be 'loose'. ie without belts if the printer was on its side I expected the head to move down towards gravity, same as Y does.  After a lot of mucking about I worked out that the top right (in the above image) mount of the X carriage needed a shim. Two pieces of paper where enough to bring it into alignment.

The next hurdle is the heated bed. Its on a 3mm piece of aluminum,  so the instant you try and solder it all the heat is drawn away.


Saturday, 14 January 2017

Core XY update 2

Many M3's have been acquired and installed

Y axis is in place, the smooth rods from china where over length, +2mm, and had to be trimmed to size. This took some to time to trim, they are hardened steel.

Still no X axis rods, has been ordered and is coming from Australia.

I'm using a geared extruder as I intend to use 3mm, so I had to design a new extruder mount to match my extruder mount size requirements. I did my best to make it the same style as the original mount. Designed in Openscad, source is provided.

The Z axis is complete. I had to print a new Z axis nut mount as the standard one didn’t fit my Z nut. But the designer has nicely provided a few alternatives

The Z stepper mount internal hole was a little small for my stepper, but nothing a little filing couldn’t fix.

I have also hooked up a RAMPS and the Z axis moves! Zero wobble.

I have attached the Z lead screw support plastics at the top, just to give the lead screw some protection from potential damage and fingers. I may add a cap over the top of this at some stage.

I have assembled everything else I have at this time.

NB anyone else who wants to use m3 cap head screw (which I am quite fond of)
There are 6 places you can not uses these as the cap head is to tall.

The hotend mount to X carriage screws are under the fan on one side and the fan duct on the other, ie they need to be flush and cap head screws stick out.
Similarly the dual bushing to X axis requires screws with shorter head for 2 of the 6 screws as the hot end mount sits flush over them.
The belt did not come like this, it came loosely looped and tied with a bit of string. It annoyed me so I wound it up nicely.

I had to reprint my dual bushing holders as there was no way the bushing was going to fit. I reprinted them with a 0.9 extrusion multiplier as suggested in Tech2C's videos. This was a close fit, but I still couldn’t get them in by hand. I used a wood vice (wooden jaws) and carefully squeezed the bearings into place. This worked really well.

Now the long wait for the remaining parts...

Saturday, 7 January 2017

Core XY update

I have assembled what I can with what has currently arrived

The Z axis is in place and moving freely, even though It has no lm8uu clamps yet.
I haven’t cut down my Z smooth rods from the ordered 380mm to 340mm. It sticks out the top I don't mind that. 

The Y axis is in place. The rods from china where fractionally over 300 and had to be trimmed. This was time consuming, being hardened steel. 

Putting this together I am looking at the Y axis, if I was to lower the top X and Y tslot and put the Y axis on top, this would increase the Z axis depth quite a bit, for the same parts. I may try this after its done. Or maybe I'm missing something that not obvious yet.

Next I need to reprint my Dual bushing holders as my bushings will not fit.
I've found that most holes are too small and need drilled, luckily with 3 perimeters, this is not an issue. Some of the m3 nut traps are very tight and needed a bit of work to get them to size.   

I am still waiting on X axis rods, and a bunch of M3 screws and belts + pullies.
Lucky tomorrow most places are at least partially open after xmas, so I should be able to get the remaining m3 hardware.

Friday, 6 January 2017

Core XY

I decided it was time to try something a little different a core XY machine.

I've gone for a HyperCube 3D Printer from Tech2C

I decided to start this just before x-mas, a terrible time to try and get anything shipped, consequently I am still waiting for many parts to arrive.

This is more or less what has arrived thus far. 

And I've printed most of the plastics, and assembled what I could with the m3 hardware I already had.

Today, finally, the m5 bolts arrived

I have assembled the basic frame, this is still loose, needs tightened. 

Some of you may have noticed the aluminium corner brackets I am using on the XY plane are different from those listed. I had these left over from a previous project.

The listed brackets are the right hand ones.  As you can see they are quite a lot smaller than the ones that I already had. They are also 20mm wide. A fair bit more substantial than the new ones.  I don’t think this will cause any issues, but obviously cant be used on the XZ and YZ plane as other parts are butted up against them.  

I've also used a bunch of standard tslot nuts, as they are more substantial than the ones listed. These of course do need to be put in place prior to the ends being closed off. You can't add them latter like the new nuts.

Sunday, 20 September 2015

I3 plate cross bracing

I decided it was high time I added some cross bracing to My I3 plate

I liked the look of Simple enough to retro fit to an existing machine.

 I left the arms long as I intend to hang some spool mounts from them in the future.