Major help needed - Multiple issues!!

This is for general discussions. Also FAQ can be found here.

Moderator: speedake95

Post Reply
aikx
Posts: 45
Joined: Sun May 13, 2012 1:14 pm
Location: Cologne, Germany

Re: Major help needed - Multiple issues!!

Post by aikx »

Same problems without LCD / SD controller and "un-tweaked" Marlin?

stratogavster
Posts: 120
Joined: Tue Jul 17, 2012 9:04 pm
Location: United Kingdom

Post by stratogavster »

Yes same problems from all angles i'm afraid...

With LCD Tweaked firmware.... :(

Without LCD standard Felix firmware.... :(

Both above options have also been complied and uploaded to the Arduino via both Mac and PC....all options have the same effect...

...and after another rewire...have also split the shield from the Arduino a few times to inspect connects....checked continuity along all wires too....all normal.

Swapped Y endstop with X endstop.....drive X axis via Y channel.....works perfectly just as the Y did on the Y channel.....so endstop is good. Drivers have been swapped around too....all seem good....didn't repeated endstop / channel swap with Z as it's config is very different so didn't want to break the mechanics....thats all I need now :(

Forgot to mention...dug deep in my memory and realised that my X-axis never used to home properly....it just 'stopped' at home....the other axis normally 'jump back'....and after getting the printer to a semi working state I had spotted the echo function on Repetier Host reported the X endstop was being triggered but the printer would keep running....

My logic tells me I had an underlying issue on the endstop part of the RAMPS, though it only affected the X, and after disturbing the board i've engaged the problem permanently, and now across all endstops.

Only next step is to do a full RAMPS swap out I think.

dognotdog
Posts: 181
Joined: Tue Sep 04, 2012 9:22 pm

Post by dognotdog »

Are the endstop sensors plugged into the right place? There is room for 6 sensors, but the Felix only uses 3.

stratogavster
Posts: 120
Joined: Tue Jul 17, 2012 9:04 pm
Location: United Kingdom

Post by stratogavster »

Yes all in the correct places as per the user guide....as I understand the other locations would need to be enabled in the firmware anyway to even have any functionality...

:(

dognotdog
Posts: 181
Joined: Tue Sep 04, 2012 9:22 pm

Post by dognotdog »

Very strange. I had homing issues at one point for no apparent reason, with similar behavior as you describe. I am not entirely sure, but I think it was a mismatch in the buffer size of the firmware and the host software, at least that's what first seems to have triggered it. I've set MAX_CMD_SIZE to 128 in the firmware config, and to 127 in repetier host, and that seems to work. The default for the felix specific marlin is 96, I believe.

stratogavster
Posts: 120
Joined: Tue Jul 17, 2012 9:04 pm
Location: United Kingdom

Post by stratogavster »

Interesting thought..had not trawled through the firmware too much as its out of my depth...but will have a look at your suggestion.

As you mentioned you changed a setting on Repetier, do you think this change could still have an effect with an LCD controller only? A there is no software host..

Still think its broken :(

satoer
Posts: 436
Joined: Mon Oct 01, 2012 8:00 pm
Location: Netherlands

Post by satoer »

Okay, let’s start isolating some problems. I’ve inspected the RAMPS schematic and I find it hard to believe that more than one opto sensor connection is bad. There isn’t any electronics on the RAMPS that control the opto sensors, it’s just one pcb connection trace to the Arduino mega. If the leds on the opto sensors light up (when not blocked), they have power.
So let’s test the arduino board. I’ve coded a program for you to test just the opto sensors. There’s a led op the RAMPS board that blinks if an opto sensor is blocked.
Can you compile and upload the following code (same way as you did with the firmware):

Code: Select all

// Arduino RAMPS Opto sensors test program


int led = 13;
int OptoX = 3;
int OptoY = 14;
int OptoZ = 18;

void setup() {                
  pinMode(led, OUTPUT);     
  pinMode(OptoX, INPUT);
  pinMode(OptoY, INPUT);
  pinMode(OptoZ, INPUT);
  digitalWrite(led, LOW);
}

void loop() {
       
  if (digitalRead(OptoX)==HIGH) {
    digitalWrite(led, HIGH);
    delay(250);
    digitalWrite(led, LOW);
    delay(1000);       
   }
   
  if (digitalRead(OptoY)==HIGH) {
    digitalWrite(led, HIGH);
    delay(250);
    digitalWrite(led, LOW);
    delay(250);
    digitalWrite(led, HIGH);
    delay(250);
    digitalWrite(led, LOW);
    delay(1000);       
   }
   
  if (digitalRead(OptoZ)==HIGH) {
    digitalWrite(led, HIGH);
    delay(250);
    digitalWrite(led, LOW);
    delay(250);
    digitalWrite(led, HIGH);
    delay(250);
    digitalWrite(led, LOW);
    delay(250);
    digitalWrite(led, HIGH);
    delay(250);
    digitalWrite(led, LOW);
    delay(1000);       
   }
 }
I tested it and worked. You don’t need to power the power supply. There’s a green LED on the RAMPS. The leds will blink if one or more opto sensors are blocked:
X opto sensor: Blink 1 time
Y opto sensor: Blink 2 times
Z opto sensor: Blink 3 times
(You can block multiple sensors at once and the LED outputs the blocked opto’s sequentially)

If the LED does not blink when blocking a opto sensor, there must be some disconnection somewhere.

Or block a sensor and fumble with the wiring / electronics to see if the LED stops blinking.

Oh, If you want use your printer the normal way, you need to upload the firmware again.
Last edited by satoer on Mon Nov 19, 2012 12:46 pm, edited 1 time in total.
My Felix 1.5 printed designs on Thingiverse
E3D V6 Hot end upgrade for your Felix
Tweezer bracket for your Felix
Led bar upgrade for your Felix

stratogavster
Posts: 120
Joined: Tue Jul 17, 2012 9:04 pm
Location: United Kingdom

Post by stratogavster »

Awesome!!

This seems like exactly what I need to take testing to the next level, and to get this sucker working!! Many thanks!!

Can't try it until i'm back at the printer....but will give it a go as soon as possible!

stratogavster
Posts: 120
Joined: Tue Jul 17, 2012 9:04 pm
Location: United Kingdom

Post by stratogavster »

Update on progress...

Ran the test.....found some interesting behaviour...

The LED blinks as follows:
1 blink for X
2 blinks for Y
3 blinks for Z

All tested independently and in a random order. LED reports back the same as above...and I guess as the test firmware intended....

...BUT...

...Fiddling with the wires does nothing......Unplugging does something strange....

Unplug the X while it is engaged......2 cycles of blinks then stop
Unplug the Y while it is engaged......2 cycles of blinks then stop
Unplug the X while engaged.........blinks indefinitely!!

Have swapped around endstops on different channels and same behaviour applies....

Any theory behind this? is my Arduino broken?

Thanks in advance!!

satoer
Posts: 436
Joined: Mon Oct 01, 2012 8:00 pm
Location: Netherlands

Post by satoer »

No, this is all normal. There is no pull-down resistor if you unplug the connector and I haven’t programmed the internal pull-up resistors. So if you unplug the opto’s it gives unpredictable results.

So, the Arduino to opto sensors connection works as expected.

I can’t inspect my arduino board right now, is it an official “made in Italy” (not: Designed in Italy) Arduino? They are usually good quality. If it’s a Chinese remake the chance of a bad one is a bit higher. It would be nice if Guillaume sent you a replacement RAMPS to test. For now I’m out of testing idea’s :(
My Felix 1.5 printed designs on Thingiverse
E3D V6 Hot end upgrade for your Felix
Tweezer bracket for your Felix
Led bar upgrade for your Felix

Post Reply