Hello! I just got my plotter in the mail today, and I’m very excited to get it working! I managed to get it all put together, I plugged it up to my PC, uploaded the G-Code sketch, tried to send the sample g-code, aaand… got no response! I’ve tried a few things with no luck. It turned out the included 12V plug wasn’t working, but I had a spare one sitting around, still no luck. The “down” lights on the Me-limit switch boards flash while the code is transmitting, but otherwise nothing happens. Any help would be greatly appreciated!
No response from XY-plotter
Hi sammccants, I’m sorry for the lately reply. I have ask our engineer @indream take a look at your question. Please wait a moment.
hi @sammccants,you can try the lastest xyplotter code for arduino,and check the connection wire with correct pins on Baseshield.
Hi, thanks for the response guys! I’m not using that code, because I don’t have an android phone. I’m using the GCode method, from here.
I’m pretty sure that everything is hooked up correctly, and that it’s a power issue. The green indicator lights on the stepper motor drivers aren’t coming on. Like I said, the 12v DC plug included in the kit doesn’t work at all, and it turned out the other one I had didn’t work either. I’ve ordered another one and I’m awaiting its arrival; I’ll post an update when it arrives and I test it out.
Well, I’ve gotten a response! I sent some basic lines of gcode to it with the new power supply plugged in, and it does what they say, sort of. Here are the issues:
-
When the drawing unit makes its way up to the upper-left corner, it still tries to keep going. Shouldn’t the me-limit switches keep this from happening?
-
Both motors will (out of nowhere) start sputtering and skipping-- it is like they have reached the edge and are trying to go further, but without reaching the edge. Like a record player skipping.
-
When it is actually working, it is generally imprecise. I got the impression from this video that it was pretty high-precision! What could cause this? Do the belts need to be extremely tight?
Thanks again for any help you can give me.
Hi sammccants,
The limit switches is a good choice to avoid over moving. For the second question, it seems like you need to adjust the switches on the side face of the stepper motor driver.
The belts don’t need to be tight too much. I think it depends on the loading. The belts would not slip in normal. The high-precision is becasue of the stepper motor.
You seem to have misunderstood what I was saying.
-
The limit switches are NOT working.
-
It does this BEFORE reaching the edge. The drawing unit will be in the middle of the area, and it makes the skipping sound.
-
If the belts don’t need to be tightened, then why is it so imprecise?
Also, it moves incredibly slowly. When I first got it moving, it was much faster. Is it supposed to move so slowly?
hi,sammccants,if the limit switch not working,maybe the pins in the code are different from the actualy connection.
which microstep setting on your driver?when it set"128",the stepper move slowest and has more precise,when it set"1" ,the stepper move fastest,
http://wiki.makeblock.cc/index.php/Me_2H_Microstep_Driver
Thank you for your response! The drivers are set to 8, like the instructions said. I tightened the y-axis belt, and it helped immensely. However, using the g-code, I still have 2 problems.
-
The limit switches are not working. Is there code to make them work, or are they not being used by the program at all? At this point, they are doing absolutely nothing.
-
When I use g-code, set to absolute (G90), the absolute coordinates are constantly changing. I just spent an hour formatting code to draw something, and now X0 is on the left, whereas before it was on the right. Why do its absolute coordinates change?
this code for initializing the stepper’s position:
int limitSW_X = A0; //PORT 7
int limitSW_Y = A1; //PORT 8
while(digitalRead(limitSW_X))stepperX.run();
while(digitalRead(limitSW_Y))stepperY.run();
you can check the digitalRead value,when the limitswitch is pressed, the value equals LOW.when it’s released,the value equals HIGH.
int limitSW_X = A0; //PORT 7
int limitSW_Y = A1; //PORT 8
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(digitalRead(limitSW_X)?"HIGH":"LOW");
delay(100);
}
I checked the digitalRead values of both switches with the 2nd block of code you gave me, and they’re both working.
I tried to find the first block of code in the XYPlotter-GCode sketch, and it wasn’t there. Does it not use the limit switches by default? If not, where should I put this code?
this code for XYPlotter controlled by Android App with LimitSwitch.
this code for XYPlotter controlled by GCode Interpreter without LimitSwitch.
So, the g-code version does not use the limit switches. Thank you. Is there a reason for this?