Makeblock XY - Mdraw and Gremote problems


#1

Hi,

I’ve just gotten some aspects of my XY plotter working (after battling with getting my Sierra to recognise the board for half a day).

I have a couple of issues.
Gremote:
I can build gremote in processing 2 (it doesn’t work with processing 3 as the CP5 is much updated) however I cannot get past the opening screen. I can select the port (same port as works with mDraw) but it never opens the software. I’ve tried all baudrates - which is correct?

MDraw.
I have some issues with MDraw too. I have been able to load some SVGs however when I draw them they x-axis is flipped. The drawing is also very bad and there is a lot of vibration. I have set all the stepper switches to HHH for smaller movements. MDraw only works when I update the firmware within MDraw - it doesn’t work with the GCode parser firmware - maybe this is correct? Does MDraw use the firmware xybot.ino that is in the Mdraw package? If so maybe I can adjust the feedrate here?
I also notice that the pen up and pen down commands are flipped - I can change the command M1 130 and M1 90 each time - but maye=be there is something wrong with my setup?
( I have attached pictures below - I will botl the plotter down and hopefuly that will solve the vibration issues).
If I could move the head slower that woudl be great though.

Finally - ideally I would like to use processing to send commands directly to the makeblock XY - I can build these in GCode and send to the parse - but I haven’t been able to test the parser yet as GRemote isnt connecting.

Any help much appreciated.
T


#2

Hi,

So I have gotten a little further with Gremote - I have been able to connect to the serial port - i needed to create a var/lock folder. Unfortunately I don’t get that much further though as the app still doesn’t open correctly

.

Any ideas?


#3

Hi.
So, I have managed to sort out MDraw by editing the xybot.ino file.
I used a number of posts by Adrian_S (Thank you!!) https://forum.makeblock.com/u/Adrian_S.
I had to flip the limit switches by editing
MePort stpA(PORT_1);
MePort stpB(PORT_2);
MePort ylimit(PORT_3);
int ylimit_pin1 = ylimit.pin1(); //limit 2
int ylimit_pin2 = ylimit.pin2(); //limit 1

MePort xlimit(PORT_6);
int xlimit_pin1 = xlimit.pin1();  //limit 4
int xlimit_pin2 = xlimit.pin2();  //limit 3

Strangely the above is what worked for me (based on the x axis being the axis with two belts and the y being the other - my x axis limits are plugged into port3 so it souldn’t work but it does!).

Meanwhile I also used Adrian_S [debounce tip](https://forum.makeblock.com/t/how-to-debounce-the-limit-switches/3723) and his check limits when moving .

I also updated the goHome code to prevent it not going home the far end limits are pressed.

void goHome()
{
  // stop on either endstop touches
  while(debouncePin(ylimit_pin2)==1) {
    stepperMoveB(motorBbk);
    delayMicroseconds(stepdelay_min);
  }
  while(debouncePin(xlimit_pin2)==1){
    stepperMoveA(motorAbk);
    delayMicroseconds(stepdelay_min);
  }
//  Serial.println("goHome!");
  posA = 0;
  posB = 0;
  curX = 0;
  curY = 0;
  tarX = 0;
  tarY = 0;
  tarA = 0;
  tarB = 0;
}

Much testing - finally writing what I want - .

So in that case I just need to sort out the GRemote and GCodeParser.
As before, the intention is to create gcode in some programme (processing probably) and send it to the plotter.
So if anyone has any ideas on how to get the GRemote working that woudl be great.

I have also tried the XYcode GUI but can’t get anything to happen.

Any help would be great.


#5

#6

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.