Welcome! Log In Create A New Profile

Advanced

Home made Prusa I3 problems

Posted by eugen360 
Home made Prusa I3 problems
August 16, 2015 06:32PM
Hello,
I've build a copy of Prusa I3 printer putting a lot of effort and time and money in it... now I'm struggling to make it work but for two days now, I can not understand what is wrong with it?
I have made the required changes in the Marlin config file and uploaded to the Mega 2560. I've made the sandwich with the Arduino+Ramps1.4+stepper drivers+LCD extension(reprapdiscount smart controller). Now when I plug in the USB cable or the 12V power line all I can see on LCD is "RepRap PT ver 1.3" then this disappear and all goes white and starts again, over and over...
I have tried to connect to PC using Pronterface and also Repetier but no success. Pronterface does not show any error only "Connecting..." forever... and Repetier give me this: "Serial com errorconfused smileyystem.IO.Ports.SerialErrorReceivedEventArgs" and the baudrate and COM port are set correctly..
Thank you in advance and I appreciate any help!
Re: Home made Prusa I3 problems
August 16, 2015 11:44PM
Did you make an aluminium frame? Did you screw the Arduino to the frame with steel screws?
This was a problem i had when I first built mine. I can't remember the symptoms so I don't know if that is your problem. The screws could bite into tracks on the board (supply rail tracks), then they would short through the frame. So with the Arduino on the table, it all worked fine, screwed to the frame and everything stopped.
There are sometimes issues with the USB drivers (you need FTDI drivers... or something like that), but if you were able to upload Marlin to the Arduino, it obviously isn't your problem.
Re: Home made Prusa I3 problems
August 17, 2015 06:45AM
The electronics are not yet on the printer frame and the frame is made from wood... but anyway everything is on the table in a big mess....
Re: Home made Prusa I3 problems
August 17, 2015 07:12AM
It sounds to me like something might have gone wrong while edited the marlin config. Like maybe it's trying to run, then can't because it's set for the wrong hardware, so it shuts down, then does it all over again. Or it might be that the arduino itself.

Those are both just blind guesses. But the upside is that, if it is one of those two things, one of them is free, and the other is cheap. smiling smiley

If I were you, I'd start by running the test code and see if everything moves properly. That will tell you if your hardware is good. It can be found here:
[reprap.org]
Re: Home made Prusa I3 problems
August 17, 2015 08:36AM
I have tried 3 or 4 times uploading the Marlin, each time with different settings, even with just the basic like baudrate, motherboard type... and 2 times I've seen for 2-3 seconds the normal menu of the printer (with the status, temp, etc) but that was all... the main behavior is like described above.
I'll try the Ramps test code to see what's happening. One question: this test code needs to be loaded as it is on the Arduino? I mean only the code and nothing else?
Re: Home made Prusa I3 problems
August 17, 2015 09:20AM
Just a thought, but did you try it without the display plugged in? I've read in past posts where the LCD display can cause issues.

I purchased a 2004 LCD a while ago, but I haven't hooked it up yet. I run my I3 rework directly from my computer, so you should be able to at least connect through Pronterface without any issues to check everything out - assuming everything else is wired correctly.
Re: Home made Prusa I3 problems
August 17, 2015 09:51AM
Yes, I've read that post too and tried without the LCD... no connection with the PC...
Re: Home made Prusa I3 problems
August 17, 2015 04:08PM
Not very good news... sad smiley
I've uploaded Ramps test code, remade the sandwich, power it up with 12V and... nothing! Only one of the red LED's and the green one from the Ramps board are blinking...
This means the board is bad?
Re: Home made Prusa I3 problems
August 17, 2015 04:45PM
Why don't you start back at the beginning and remove all of the variables that could be causing the issue.

My suggestion :

( make sure you have a backup of your Marlin code before you start )

1. unplug everything from the Mega
2. remove the power supply from the Mega
3. remove the Ramps board
4. remove everything from the Mega
5. remove everything from the Mega
6. remove everything from the Mega
7. connect the Mega to you PC using a USB cable so that the PC can power the Mega
8. In the Arduino IDE, open the Blink sketch ( File > Examples > Basic > Blink
9. Set the Board and Port number in the Arduino IDE and upload the Blink sketch to the Mega
10. once uploaded, the sketch should run with the Mega powered via the USB cable. The Mega LED should blink on / off every second.

This way you can ascertain if your Mega is OK.
If this works, remove the USB, add back the power supply to the Mega, and test again.
Still good ? Add the Ramps board and retest.
Add all your wiring back one at a time and after each step, verify that the blink code is working.

If all good, then reconnect to the USB and load the Marlin code.

Not working ? then the error is most likely in your code or config.
Re: Home made Prusa I3 problems
August 17, 2015 06:15PM
Well, the "blink" test is Ok. LED is blinking with or without Ramps, with or without all the wires on the Ramps and with USB or with 12V power line. One observation: I'm powering the Arduino via the diode on the RAMPS board so Arduino itself doesn't need another power source when the "sandwich" is made... So after all this blinking test I've uploaded again the test code and no news, no movement... One question: for this test to work it's enough even one single motor to be connected to Ramps, right? Because I've tested even one motor at a time not just everything together!
Re: Home made Prusa I3 problems
August 17, 2015 06:33PM
In Repetier, go to Config > Printer and check the com port number and the baud rate - it must match the baud rate that you have set in the config of the Marlin code.

Try removing the SD card. Maybe the SD card is badly formatted or not compatible with the code, and it keeps rebooting.

I know that my LCD resets if I insert or remove an SD card - maybe yours is thinking it is doing that all the time.

If the blink test works, then chances are that you have a code problem.

Also check the heaters. Do they work ? Have you tried writing a small gcode file to the SD card to see if it will run ?

Also, try this link from google :
http://wiki.solidoodle.com/common-software-connection-issues#toc2

Edited 2 time(s). Last edit at 08/17/2015 06:39PM by DaveOB.
Re: Home made Prusa I3 problems
August 17, 2015 10:46PM
I would try running the Ramps test code. It tests heaters and the motors. It helped me figure some of my issues out as well as verifying the Ramps is O.k.


Prusa i3 Rework - Ramps 1.4 - E3d Lite6 - Full Graphic LCD Controller
Re: Home made Prusa I3 problems
August 18, 2015 05:41PM
Big update!
You have to trust me on this: I did not modified the wire connections or anything else, I've only added a fan to cool down the Arduino !!! Now it's stable!
I can now connect the printer to Pronterface or Repetier, the bed is warming up also the hotend but some problems still remain... motors not work. I have to mention that I use optical end-stops and Pronterface says that X, Y or Z end-stops are hit.
Also I've tried reversing the logical of the stops in Marlin (false or true) but ... no succes.
Please have a look at this configuration file and guide me whats wrong? I have tried several firmware's with minor or big changes in the code and this one is the last that is currently in use.

#ifndef CONFIGURATION_H
#define CONFIGURATION_H

// This configurtion file contains the basic settings.
// Advanced settings can be found in Configuration_adv.h
// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration

//User specified version info of this build to display in [Pronterface, etc] terminal window during startup.
//Implementation of an idea by Prof Braino to inform user that any changes made
//to this build by the user have been successfully uploaded into firmware.
#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
#define STRING_CONFIG_H_AUTHOR "(none, default config)" //Who made the changes.

// SERIAL_PORT selects which serial port should be used for communication with the host.
// This allows the connection of wireless adapters (for instance) to non-default port pins.
// Serial port 0 is still used by the Arduino bootloader regardless of this setting.
#define SERIAL_PORT 0

// This determines the communication speed of the printer
#define BAUDRATE 250000
//#define BAUDRATE 115200


#ifndef MOTHERBOARD
#define MOTHERBOARD 33
#endif

// This defines the number of extruders
#define EXTRUDERS 1

//// The following define selects which power supply you have. Please choose the one that matches your setup
// 1 = ATX
// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)

#define POWER_SUPPLY 1

//===========================================================================
//=============================Thermal Settings  ============================
//===========================================================================
//
//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
//
//


#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 1

// Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 10  // (seconds)
#define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
#define TEMP_WINDOW     1       // (degC) Window around target to start the recidency timer x degC early.

// The minimal temperature defines the temperature below which the heater will not be enabled It is used
// to check that the wiring to the thermistor is not broken.
// Otherwise this would lead to the heater being powered on all the time.
#define HEATER_0_MINTEMP 5
#define HEATER_1_MINTEMP 5
#define HEATER_2_MINTEMP 5
#define BED_MINTEMP 5

// When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
// You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 260
#define HEATER_1_MAXTEMP 260
#define HEATER_2_MAXTEMP 260
#define BED_MAXTEMP 150

// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the
// average current. The value should be an integer and the heat bed will be turned on for 1 interval of
// HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4

// PID settings:
// Comment the following line to disable PID and enable bang-bang.
//#define PIDTEMP
#define BANG_MAX 256 // limits current to nozzle while in bang-bang mode; 256=full current
#define PID_MAX 256 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 256=full current
#ifdef PIDTEMP
  //#define PID_DEBUG // Sends debug data to the serial port.
  //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
  #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
                                  // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
  #define PID_INTEGRAL_DRIVE_MAX 255  //limit for the integral term
  #define K1 0.95 //smoothing factor withing the PID
  #define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine

// Ceramic Chess Hotend
    #define  DEFAULT_Kp 19.66
    #define  DEFAULT_Ki 1.41
    #define  DEFAULT_Kd 68.74

// Makergear
//    #define  DEFAULT_Kp 7.0
//    #define  DEFAULT_Ki 0.1
//    #define  DEFAULT_Kd 12

// Mendel Parts V9 on 12V
//    #define  DEFAULT_Kp 63.0
//    #define  DEFAULT_Ki 2.25
//    #define  DEFAULT_Kd 440
#endif // PIDTEMP


//
//#define BED_LIMIT_SWITCHING

// This sets the max power delived to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
// setting this to anything other than 256 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 256 // limits duty cycle to bed; 256=full current

#ifdef PIDTEMPBED
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, argressive factor of .15 (vs .1, 1, 10)
    #define  DEFAULT_bedKp 10.00
    #define  DEFAULT_bedKi .023
    #define  DEFAULT_bedKd 305.4

//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from pidautotune
//    #define  DEFAULT_bedKp 97.1
//    #define  DEFAULT_bedKi 1.41
//    #define  DEFAULT_bedKd 1675.16

// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED



//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//can be software-disabled for whatever purposes by
#define PREVENT_DANGEROUS_EXTRUDE
//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately.
#define PREVENT_LENGTHY_EXTRUDE

#define EXTRUDE_MINTEMP 170
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.

//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================

// Uncomment the following line to enable CoreXY kinematics
// #define COREXY

// corse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
  // fine Enstop settings: Individual Pullups. will be ignord if ENDSTOPPULLUPS is defined
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  #define ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops.
//#define DISABLE_MAX_ENDSTOPS

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR true     // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false    // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true //If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true  //If true, axis won't move to coordinates greater than the defined lengths below.
// Travel limits after homing
#define X_MAX_POS 150
#define X_MIN_POS 0
#define Y_MAX_POS 150
#define Y_MIN_POS 0
#define Z_MAX_POS 150 
#define Z_MIN_POS 0

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

// The position of the homing switches
//#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
//#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)

//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0

//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 2.5*60, 0}  // set the homing speeds (mm/min)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT   {80, 80, 3200, 300}  // default steps per unit for ultimaker
#define DEFAULT_MAX_FEEDRATE          {500, 500, 2.5, 45}    // (mm/sec)
#define DEFAULT_MAX_ACCELERATION      {3000,3000,100,300}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.

#define DEFAULT_ACCELERATION          2000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  300   // X, Y, Z and E max acceleration in mm/s^2 for r retracts

// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis

// The speed change that does not require acceleration (i.e. the software might assume it can be done instanteneously)
#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 0.4     // (mm/sec)
#define DEFAULT_EJERK                 2.0    // (mm/sec)

//===========================================================================
//=============================Additional Features===========================
//===========================================================================

// EEPROM
// the microcontroller can store settings in the EEPROM, e.g. max velocity...
// M500 - stores paramters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
//define this to enable eeprom support
#define EEPROM_SETTINGS
//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
// please keep turned on if you can.
#define EEPROM_CHITCHAT

// Preheat Constants
#define PLA_PREHEAT_HOTEND_TEMP 180 
#define PLA_PREHEAT_HPB_TEMP 70
#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

//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 SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error)

//#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

// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCcool smiley
// [reprap.org]
//
// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: [code.google.com]
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

// The RepRapWorld REPRAPWORLD_KEYPAD v1.1
// [reprapworld.com]
//#define REPRAPWORLD_KEYPAD
//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click

//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

//I2C PANELS

//#define LCD_I2C_SAINSMART_YWROBOT
#ifdef LCD_I2C_SAINSMART_YWROBOT
  // This uses the LiquidCrystal_I2C library ( [bitbucket.org] )
  // Make sure it is placed in the Arduino libraries directory.
  #define LCD_I2C_TYPE_PCF8575
  #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
  #define NEWPANEL
  #define ULTIPANEL 
#endif

// PANELOLU2 LCD with status LEDs, separate encoder and click inputs
//#define LCD_I2C_PANELOLU2
#ifdef LCD_I2C_PANELOLU2
  // This uses the LiquidTWI2 library v1.2.3 or later ( [github.com] )
  // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
  // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file)
  // Note: The PANELOLU2 encoder click input can either be directly connected to a pin 
  //       (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). 
  #define LCD_I2C_TYPE_MCP23017
  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
  #define NEWPANEL
  #define ULTIPANEL 
#endif

// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
//#define LCD_I2C_VIKI
#ifdef LCD_I2C_VIKI
  // This uses the LiquidTWI2 library v1.2.3 or later ( [github.com] )
  // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
  // Note: The pause/stop/resume LCD button pin should be connected to the Arduino
  //       BTN_ENC pin (or set BTN_ENC to -1 if not used)
  #define LCD_I2C_TYPE_MCP23017 
  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
  #define NEWPANEL
  #define ULTIPANEL 
#endif

#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

// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
//#define FAST_PWM_FAN

// M240  Triggers a camera by emulating a Canon RC-1 Remote
// Data from: [www.doc-diy.net]
// #define PHOTOGRAPH_PIN     23

// SF send wrong arc g-codes when using Arc Point as fillet procedure
//#define SF_ARC_FIX

// Support for the BariCUDA Paste Extruder.
//#define BARICUDA

/*********************************************************************\
*
* R/C SERVO support
*
* Sponsored by TrinityLabs, Reworked by codexmas
*
**********************************************************************/

// Number of servos
//
// If you select a configuration below, this will receive a default value and does not need to be set manually
// set it manually if you have more servos than extruders and wish to manually control some
// leaving it undefined or defining as 0 will disable the servo subsystem
// If unsure, leave commented / disabled
//
// #define NUM_SERVOS 3

#include "Configuration_adv.h"
#include "thermistortables.h"

#endif //__CONFIGURATION_H

Edited 1 time(s). Last edit at 08/18/2015 05:44PM by eugen360.
Re: Home made Prusa I3 problems
August 18, 2015 09:55PM
I hate to sound like a broken record, but I would run the test code. This is exactly the situation it was made for.

I'm glad you got the board up and running, but your motors not moving could be caused by almost anything, from your physical endstops, to their software settings, or you motors could be wired wrong, or you stepper drivers could be bad.

Successfully running the test code will definitively show you if it is your hardware, eliminating half of your possible problems. If the test code makes all you motors spin back and forth, your hardware is good, and properly connected. Then you can start looking at your marlin code.
Re: Home made Prusa I3 problems
August 19, 2015 06:02AM
I have uploaded again the test code... all the LED's from Ramps are blinking, inclusive the one from the heated bed but... no movement of the motors... sad smiley
The bed is warming up also the hot-end...
Wiring of the motors are in this order: red-blue(first coil)-green-black(second coil)
And there is something that I don't understand and I forgot to mention here: WHY do I need to plug in the USB cable to Arduino for this to work? It must work only with the 12V pluged in the Ramps, right? The Arduino must take the power via the diode from the Ramps, right? Am I missing something here? If the USB cable is not pluged into Arduino I have no menu on the LCD and can not connect to PC...

Edited 3 time(s). Last edit at 08/19/2015 06:23AM by eugen360.
Re: Home made Prusa I3 problems
August 20, 2015 03:46AM
No other ideas? Please, I really need your help...
Re: Home made Prusa I3 problems
August 20, 2015 04:22AM
Quote
eugen360
You have to trust me on this: I did not modified the wire connections or anything else, I've only added a fan to cool down the Arduino !!! Now it's stable!
I can now connect the printer to Pronterface or Repetier, the bed is warming up also the hotend but some problems still remain... motors not work. I have to mention that I use optical end-stops and Pronterface says that X, Y or Z end-stops are hit.
Also I've tried reversing the logical of the stops in Marlin (false or true) but ... no succes.
Please have a look at this configuration file and guide me whats wrong? I have tried several firmware's with minor or big changes in the code and this one is the last that is currently in use.

Is this still the issue ? You seem to be having many problems and I don't fully understand this.

You say you can connect to the printer, but only when cooling with a fan. What voltage ( DC or AC ) are you feeding the Arduino via the Ramps board. Which pins are your input power connected to on the Ramps board ?

There are 2 power inputs on the Ramps board.
See the pic here :
http://reprap.org/wiki/File:Arduinomega1-4connectors.png

The 11A powers the bed heater ( and I think the motors as well ) and the 5A connectors power the Arduino, so you need to have power to both sets of inputs.


Quote
eugen360
I have uploaded again the test code... all the LED's from Ramps are blinking, inclusive the one from the heated bed but... no movement of the motors... sad smiley
The bed is warming up also the hot-end...
Wiring of the motors are in this order: red-blue(first coil)-green-black(second coil)
And there is something that I don't understand and I forgot to mention here: WHY do I need to plug in the USB cable to Arduino for this to work? It must work only with the 12V pluged in the Ramps, right? The Arduino must take the power via the diode from the Ramps, right? Am I missing something here? If the USB cable is not pluged into Arduino I have no menu on the LCD and can not connect to PC...

The fact that you are not getting anything on the LCD without the USB connected, seems to indicate that you may have missed the 2 sets of power inputs ( as mentioned above ) or the Arduino is not getting power from the Ramps board. I would check the polarity as well.

You also mentioned that you are using optic end-stops. Maybe the fact that they are reporting incorrectly is preventing the motors from moving. I would change back to the mechanical switches / sensors and get it working, and only then start changing 1 item at a time and testing at each step.
Re: Home made Prusa I3 problems
August 20, 2015 06:33AM
The connectors marked 5A - power the stepper drivers and the extruder heater/fan (D9, D10).
The connectors marked 11A - power the heated bed, or other output (D8).
Arduino must take it's power via the D1 diode mounted on RAMPS! -> this is to run a 3D printer without a PC or without another power line for Arduino (like USB or 7-12v to the barrel connector)
I have power on both set of connectors on the RAMPS.
I do not have mechanical end-switches because I've bought only optical... unfortunately I don't know if the configuration.h is correct for this kind of end-stops. I also do not know if the Ramps test code can run without the end-stops connected to RAMPS... I've tested this way also thinking that maybe the wiring is wrong on the end-stops...
I've also re-soldered all the points on the RAMPS ...
What else can I do? (except buying new electronics)
Re: Home made Prusa I3 problems
August 20, 2015 07:48AM
Hi

You were asked a a few questions that you did not reply to :

What voltage ( DC or AC ? ) are you feeding the Arduino via the Ramps board.

Which pins are your input power connected to on the Ramps board ?

The fact that you are not getting anything on the LCD without the USB connected, seems to indicate that you may have missed the 2 sets of power inputs ( as mentioned above ) or the Arduino is not getting power from the Ramps board. I would check the polarity as well.

Also :

do you have the D1 diode installed on the Ramps board ?

is it in the correct direction ?

have you removed the ramps from the Mega and checked if the power pins from the Ramps input are sensing power to the pins that connect to the Mega ?
What voltage is measured ?

I have no experience with the optic end-stops, so you'll have to wait for another member to comment on that problem.
Personally, I would remove the optics, put in a simple switch ( not sure if it should be Normally Open or Normally Closed, but google should tell you ) and then go back to the standard Marlin code to test and see if the motors work.
Re: Home made Prusa I3 problems
August 20, 2015 08:07AM
Quote

What voltage ( DC or AC ? ) are you feeding the Arduino via the Ramps board.
DC of course!
Quote

Which pins are your input power connected to on the Ramps board ?
I've said I have both line powered: 5A and 11A. Or I did not understand the question?
Quote

The fact that you are not getting anything on the LCD without the USB connected, seems to indicate that you may have missed the 2 sets of power inputs ( as mentioned above ) or the Arduino is not getting power from the Ramps board. I would check the polarity as well.
The LCD is not blank but I do not have the standard info menu on it... there are some lines or it's looking like there's a continuously reboot ...
Quote

do you have the D1 diode installed on the Ramps board ?
Yes of course!
Quote

is it in the correct direction ?
Yes it is!
Quote

have you removed the ramps from the Mega and checked if the power pins from the Ramps input are sensing power to the pins that connect to the Mega ?
What voltage is measured ?
This I did not check... but I will.
Quote

Personally, I would remove the optics, put in a simple switch
Maybe this will be the next step...
Question: the Ramps test code can run without the end-stops connected to RAMPS? I mean the code is running anyway but it will rotate the motors?
Re: Home made Prusa I3 problems
August 20, 2015 08:23AM
Sorry, but I am not familiar with the Ramps Test Code.

Looks like you are going to need to troubleshoot this step by step, but I am not experienced enough to help you with that.

My logic tells me that if your Mega will not run without the USB, then it is not getting power from the ramps board.

If the Mega is resetting repeatedly, is there an SD card in the slot ? remove it and see if that affects it.

Check voltage to the Mega

If that works, you should have display on the LCD. If not, remove the LCD and use only the PC via USB.

Test with repetier and see if you can control the bed, extruder, motors. If you click on the 'home' button, it should, even it it thinks it is already at the home position, move slightly away from home and then back to home.

If bed and extruder are working, but not motors, then check your steppers. You will need to google to find out how to measure the output from the stepper pins on Ramps to determine if they are working. Check the drivers on the ramps board as they have an adjuster screw / pot, so maybe they are working but turned so low that the steppers are not getting enough current to turn.

Try disconnecting the drive belts from the motors ( loosen the adjusters on X and Y axis ) to make sure there is no mechanical item preventing the steppers from running.
Re: Home made Prusa I3 problems
August 20, 2015 08:39AM
Re: Home made Prusa I3 problems
August 20, 2015 07:29PM
I have measured and the 12V is going to the Arduino via the AM-VIN as it should. Also I have measured 12V on the stepper driver slots, on all of them...
I have used this:

I have rotated the small trimpot's on the stepper drivers adjusting the voltage in such manner that if Arduino is powered only via USB on this potentiometer I have 0.8 - 0.9V as Steve Roy suggested on Instructables (he is member here on the forum also). Well he says 0.4-0.7V but I couldn't do that... interesting is that if I power the RAMPS with 12v I measure the same voltage on this small pot...
Quote

If the Mega is resetting repeatedly, is there an SD card in the slot ? remove it and see if that affects it.
I have tried that, with card, without card, without entire LCD assembly... same effect.
Quote

Test with repetier and see if ....
Repetier or Pronterface can control the heating nothing else.
Quote

Personally, I would remove the optics, put in a simple switch
I have removed all the optical end-stops and used a jumper ON and OFF the two pins used for mechanical switches. Pronterface command M119 report correctly if the end-stop is triggered or open. But of course motor does not move in any direction even if I remove or put the jumper in place.
Now... I start loosing my mind here...
It's 2:30AM and I don't know how many nights and days have gone...
Re: Home made Prusa I3 problems
August 21, 2015 12:49AM
Sounds like you are on the right path.

Did you check if there was any different ( higher ) voltage on the stepper pins when you tried to home the axis in Repetier ? I would imagine that there should be 12V going to the steppers when the code is trying to run them. If there is, then it would indicate a motor problem, but I am highly doubtful that you have 4 faulty steppers. Also wondering if the wiring on the steppers is correct ? Maybe the ones you have use different wire colours. Google should tell you how to determine which wire is which with the aid of a multimeter.

Did you go back to the original firmware ( without the optic code changes ) and test if that worked when you replaced the optics with the jumpers ?
Re: Home made Prusa I3 problems
August 21, 2015 04:38AM
As stated a few post above, wiring of the motors are in this order: red-blue(first coil)-green-black(second coil)...
....
After I write the line above I've google searched again for wiring of stepper drivers... OMG I'm not sure but maybe I've found the problem...
Look at this two images:



and



If I take only the first image my wiring is correct BUT... if I'm judging accordingly to second image, the RAMPS 1.4 board... well the wiring is totally wrong...
I'm not at home right now but I can't wait to check...

Edited 1 time(s). Last edit at 08/21/2015 04:46AM by eugen360.
Re: Home made Prusa I3 problems
August 21, 2015 05:05AM
My stepper motor connectors are also red-blue-green-black ( order 2B, 2A, 1A, 1B ) , and my understand is that if you plug it in the wrong way round, it will just change the direction of the motor.

I do not see any obvious link between your 2 images - the first is the stepper driver board, and the second the Ramps board - unless you have inserted the stepper board the wrong way round on the ramps board ?

ps. there are also jumpers below the driver board. My install notes say that a jumper on the X and on the Y motor setups is not installed if you are using 809 stepper motors ( so no jumpers on JP4:MS3 and JP5:MS3 )

Here is a pic of my jumpers :


Edited 1 time(s). Last edit at 08/21/2015 05:12AM by DaveOB.
Re: Home made Prusa I3 problems
August 21, 2015 05:23AM
My friend, look at the order on the ramps: 2B-2A-1A-1B and now considering my actual wiring which is accordingly to first image (of the stepper driver):
-first coil wire 1
-first coil wire 2
-second coil wire 1
-second coil wire 2
... it's wrong! I mean the order is correct for the Pololu shield BUT I've used this order on ramps!

Acording to ramps must be like this:
- first coil wire 1
- second coil wire 1
- second coil wire 2
- first coil wire 2

You understand ?

Edited 1 time(s). Last edit at 08/21/2015 05:23AM by eugen360.
Re: Home made Prusa I3 problems
August 24, 2015 01:00AM
Hello,
Finally it's ALIVE !
But not the wires were the problem... smiling smiley I took the magnification glass and looked at the boards, Ramps and drivers and I was amazed by the discovery made... the 4 pins that goes to the motors are... on the other side... Did I mention that my drivers are DRV8825 and not A4988 ?





See the difference?
Everywhere I've looked and read, everybody is saying "mount the drivers with the little trim-pot to the right, if you look at the Ramps with the power connections in the left"... Honestly, without making research, I thought all the drivers used for Ramps are the same! Well, they aren't! DRV8825 must be mounted 180 degrees the other way! And I was wondering why on Earth is the Arduino so hot and why do I need to power it via USB in order to make it work when Ramps was already connected to 12V? Well, that's why, because DRV8825 and A4988 are NOT the same and they have to be mounted in opposite directions!!!
And there are more than 350 views of this thread.... hard to believe that this information was unknown....
Anyway, time to finally make some steps forward!
Re: Home made Prusa I3 problems
August 24, 2015 01:06AM
Hi Eugen360

Very glad to hear you got it working.

I suppose that everyone reading the previous posts must have assumed that you would have checked the pin diagram that you had for the driver board against the Ramps board drawing to ensure that you had it installed the correct way.


Happy Printing.
Re: Home made Prusa I3 problems
August 24, 2015 01:14AM
Well I've learned the lesson the hard way: never assume! smiling smiley
Thank for your support Dave, you seems to be the only one in more than 300 who took some time for a beginner like me ! Appreciate it!
Sorry, only registered users may post in this forum.

Click here to login