Welcome! Log In Create A New Profile

Advanced

RepRapPro + SainSmart RAMPS 1.4 + LCD

Posted by junkelsplitsy 
RepRapPro + SainSmart RAMPS 1.4 + LCD
October 16, 2013 07:11AM
My kit-built Mendel Mono from RepRapPro recently went on the fritz, so I attempted to rectify the problem by swapping out the suspect Melzi board with a RAMPS 1.4 Board / ArduinoMEGA / LCD combo purchased up from SainSmart.com. It is not going well.

I've read just about every post, tutorial, and read-me on the topic and either I am not absorbing the right info or my brain isn't processing it. I am in need of assistance.

I've installed the new board as the documentation directed, following the wiring diagram from the RAMPS wiki page. I have been able to upload firmware but after doing so I don't get the same kind of response to pronterface commands that I am accustomed to: the movements are jerky and way too intense for the little all-thread frame. I think my major issue is exactly what lines to uncomment/comment in the arduino sketch and what values to assign to machine-specific variables. I can't get the dang LCD to work either.

The first problem I think I need to tackle is properly setting my stepper potentiometer. I thought the basic method was to turn the little screw CCW all the way to the left and then back off ~25%, and make adjustments from there. I figured I'd even see if I could quantify it with my multimeter but I might have a fundamental problem - some of my Pololus' screws turn CCW indefinitely - so I'm not sure where 0% is... 3/5 of the little baby driver boards work as I expected, they only turn so far then stop - the other 2 just spin and spin. Tried to match the orientations as best I could. Not exactly sure how to dial them in but I haven't fiddled with it too much.

After that, my next problem is what settings to use in configuration.h. So far I've been trying to get Marlin to work since that is what the kit-makers used. Since the RRP version of Marlin was tailored to work with the Melzi I went with an updated version of Marlin and did my best to make it match the RRP version. I did not make any changes to any other tabs in the sketch, is that something that needs to be done? I also wasn't sure what LCD/SD card #define lines to uncomment - the ones I used didn't seem to work because I get no feedback from the LCD. The board looks to be constructed fairly well but the documentation is horrible, and I'm not sure if I'm ever going to get back to printing octopi....

Can anyone point me to any better resources for getting this SainSmart MEGA 1.4 RAMPS Shield up and running? Has anyone else tried to change the controller board in therir RRP Mendel Mono?
Re: RepRapPro + SainSmart RAMPS 1.4 + LCD
October 16, 2013 10:09PM
If you have been fiddling pots and don't know where they are - beg / borrow / steal a voltmeter and get them all set somewhere consistent. Start at a low voltage (= low current) - the motors should not step or should step really poorly. Slowly bump it up until they are running smoothly.
Re: RepRapPro + SainSmart RAMPS 1.4 + LCD
October 22, 2013 12:14PM
There are pins for jumpers underneath each stepper driver board that set the micro-stepping size. Without them, a single step is probably about .2mm which is pretty jerky. You probably want all 3 jumpers installed under each motor driver for 1/16 micro stepping.

See [reprap.org]
Re: RepRapPro + SainSmart RAMPS 1.4 + LCD
October 30, 2013 02:04AM
Oh boy were you right on about that one. Stupid stupid me. Picked up a couple of boxes of DIP shunts from RatShack (http://www.radioshack.com/product/index.jsp?productId=2103807) and that certainly rectified the problem.

Naturally, as I am a complete noob, I have a new set of problems.

1) Temperature settings
I reconfigured my Marlin code to the best of my ability and have even been able to get the Mendel printing but for some reason it defaults to the bed and extruder to ABS temperatures instead of the PLA defaults. For now I'll rig this to work by changing the values of the ABS in my firmware, but I'd like to know how to fix this the correct way (if there is such a thing). Might this have anything to do with Problem #2?

2) SainSmart LCD Controller click encoder doesn't really do anything. I can turn the knob and it will cycle between the info screen (shows actual temps. and setpoints for bed and nozzle, perceived X/Y/Z coords, SD file %, clocked print time, feedrate %, and status - e.g. "Bed Heating") and a menu that shows Watch, Prepare, Control, and Card Menu, but clicking on the spinny little button does nothing. In the Marlin firmware I uncommented the display section to look like so:


//LCD and SD support
#define ULTRA_LCD //general lcd support, also 16x2
//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
//#define SDSUPPORT // Enable SD Card Support in Hardware Console

//#define ULTIMAKERCONTROLLER //as available from the ultimaker online store.
//#define ULTIPANEL //the ultipanel as on thingiverse

// The RepRapDiscount Smart Controller (white PCcool smiley
// [reprap.org]
#define REPRAP_DISCOUNT_SMART_CONTROLLER

// The GADGETS3D G3D LCD/SD Controller (blue PCcool smiley
// [reprap.org]
//#define G3D_PANEL

//automatic expansion
#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
#define ULTIPANEL
#define NEWPANEL
#endif

// Preheat Constants
#define PLA_PREHEAT_HOTEND_TEMP 200
#define PLA_PREHEAT_HPB_TEMP 57
#define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255

#define ABS_PREHEAT_HOTEND_TEMP 240
#define ABS_PREHEAT_HPB_TEMP 100
#define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255


#ifdef ULTIPANEL
#define NEWPANEL //enable this if you have a click-encoder panel
#define SDSUPPORT
#define ULTRA_LCD
#ifdef DOGLCD // Change number of lines to match the DOG graphic display
#define LCD_WIDTH 20
#define LCD_HEIGHT 5
#else
#define LCD_WIDTH 20
#define LCD_HEIGHT 4
#endif
#else //no panel but just lcd
#ifdef ULTRA_LCD
#ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
#define LCD_WIDTH 20
#define LCD_HEIGHT 5
#else
#define LCD_WIDTH 16
#define LCD_HEIGHT 2
#endif
#endif
#endif


Is there something I'm forgetting to do here? Maybe changes to pins.h? The reason I was thinking my two problems might be related was due to the location of all the //Preheat Constant lines of code, but my very primitive coding skills are limited to a GenEd CS100 class from 13 years ago which I probably barely passed (from a state school no less), so I could be way off. All the ifdef/else/endif's throw me for a loop. The button on the board does work (not the spinny one) - it functions to kill the print job, a nice little feature that has saved me from plowing through the board when I was figuring out how to get my Z axis set up at just the right height.

Edited 1 time(s). Last edit at 10/30/2013 02:06AM by junkelsplitsy.
Re: RepRapPro + SainSmart RAMPS 1.4 + LCD
October 30, 2013 07:45AM
The temperatures you print at are set in Slic3r (or your equivalent). The firmware settings are used for warmup. You can simply tell the printer to print (rather than warming it up) and it will use the Slic3r numbers.

I suspect that the button on your control board is broken (bad switch / bent pin / broken pin / bad cable / bad connector). All the info (rotation and push) comes through the same "stuff" so it's most likely the switch it's self.
Re: RepRapPro + SainSmart RAMPS 1.4 + LCD
January 24, 2014 03:47PM
I searched the internet for days until I found the proper configuration software for this item. There are several tutorials, but they leave out the most important thing, where to find the software...

[s3-ap-northeast-1.amazonaws.com]

[s3-ap-northeast-1.amazonaws.com]

[s3-ap-northeast-1.amazonaws.com]


You need an unzipper like 7-zip (free).

You also need the library u8glib. You will need to instal this in the library folder after you unzip it to a location like this...

(Assuming a windoze computer...)

C:\Users\yournamehere\Documents\arduino-1.0.5\libraries\3D\12864\12864 testfile\

Find u8glib here :

[code.google.com]

You need to configure the file configuration.h when you open Marlin.pde in the arduino software.

If you installed like I did, here is the file location:

C:\Users\yournamehere\Documents\arduino-1.0.5\libraries\3D\12864\12864 testfile\Marlin.pde

Open Marlin.pde with arduino software and make configuration.h tab look like this:

//LCD and SD support
#define ULTRA_LCD //general lcd support, also 16x2
#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
#define SDSUPPORT // Enable SD Card Support in Hardware Console

#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

//automatic expansion
#if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define DOGLCD
#define U8GLIB_ST7920
#define REPRAP_DISCOUNT_SMART_CONTROLLER
#endif

#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
#define ULTIPANEL
#define NEWPANEL
#endif

#if defined(REPRAPWORLD_KEYPAD)
#define NEWPANEL
#define ULTIPANEL
#endif
#if defined(RA_CONTROL_PANEL)
#define ULTIPANEL
#define NEWPANEL
#define LCD_I2C_TYPE_PCA8574
#define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander
#endif

Take away the // comment slashes on all of these statements, as shown above.
This worked for me!
Sorry, only registered users may post in this forum.

Click here to login