Micro switches on xy plotter not working


#1

Hello
I managed to get the plotter to work and it is drawing and everything is right, except that the limit switches are not working so when ever the plotter reach the edge it never stop even when it hit the switch.
Also the switches on the middle, near the pen and servo are not working.

My connecting is based on the official instruction and mdraw.


#2

I found it very easy to wire the limit switches to the wrong ports. I found it useful to program a long slow move and then hit all the limit switches manually to see which one actually stops the movement. If the answer is none then, of course, this procedure won’t help but if it does then it can tell you which ports need to be swapped to make the software agree with the hardware.


#3

I tried.
Also I am saying all does not work at all, so even there is a wrong port, one switch should be working at least.


#4

Hi Monhammed_Odeh,

Do you do the test with the mDraw software?
Please note that the limit switch in mDraw only take effects when Home button is pressed. They won’t take effect for other operation.
While if you use the Benbox software, all the limit switches will take effect during the test.
Please note: You need set the microstep resolution to HHH when using the mDraw software, while set microstep resolution to HHL when using the mDraw software:


Here is post which explained this point: http://forum.makeblock.cc/t/initialization-issues/5607/6


#5

you mean that when ever the plotter hit the edge and the switch, I need to press home button ? what is the use of the switch in that case ?


#6

It’s very sad but the use of the top and right switches were not integrated in mdraw and never worked properly (like scaling and svg loading), and they are not planning on fixing the problems or upgrading mdraw for the XY plotter v2.

We’re officially screwed :confused:


#7

I haven’t used the mDraw software but the quality of makeblock’s software is pretty poor. My strategy is to use as little as possible of their software. To that end I’m using a lightly modified GCodeParser with Universal Gcode Sender. I’ve used the inkscape gcode plugin to generate gcode from my drawings with some but not complete success. I did have some issues with parts of the drawing ending up in the wrong place but I’m not sure if that was the inkscape plugin.

There are several other programs that can generate gcode from svg that are not inkscape. Maybe they’re better?

Anyway, if you’re up for a little adventure I’d suggest moving away from mDraw. You’ll have to modify some of the source code to make the pin numbers match the hardware and tweak the start message so that the Universal Gcode Sender can work correctly.

Line 77 of this file: https://github.com/charlieb/XY-Plotter-2.0/blob/master/software/GCodeParser/GCodeParser.ino shows the init message and lines 36-46 are where the pin numbers for the motors and limit switches are.
The official sourcecode is here https://github.com/Makeblock-official/XY-Plotter-2.0/blob/master/software/GCodeParser/GCodeParser.ino in case you want to do a comparison.


#8

I didnt have problems with mDraw using the examples they worked perfectly fine for me. But since for my project i need to use GCode the software is for me of no use. I can agree that the software documentation and etc. is really poor. i had to modify the GCode Parser to get it to work. I wish they would update their documentation and also their software to make it much more easier for new customers. Also i have problems with Inkscape and converting drawings in Gcode sometime it works sometimes not at least for me. If it wasnt for the community in the forums i would have never get this thing to work with GCode.


#9

I posted how to check the limit switches whilst drawing back in February this year here

In order to do it you first have to debounce the limit switches, which I mentioned here

But before even doing that, you need to be sure that the connections to the motors and the limit switches agree with the motherboard code, here

None of the changes above require any alteration to the python code, they just involve changes to the arduino code xybot.ino


#10

Hi Monhammed_Odeh,

Actually, the home button is an individual operation, when you press that button, the seat carriage on XY will go back to the position (x=0,y=0). This operation is used to test if the XY plotter works ok. Doesn’t mean that each time the plotter hit the edge, then press the home button.
When you draw using the XY plotter with mDraw, you need adjust the position of the image on mDraw and the material (like woord, paper) to prevent the Plotter from hitting the edge.


#11