Dan
Forum Replies Created
-
AuthorPosts
-
DanKeymaster
This is really odd. Every unit gets tested before it leaves the shop. I don’t know how a unit could be so uniquely wrong.
Yes, it’s possible the firmware isn’t installed. I don’t know how the LCD would react with no instructions.
DanKeymasterYour description doesn’t tell me which firmware you installed on the robot.
I don’t support the AMS shields any more. I doubt the AMS firmware still works, and I have not received a pull request from anyone trying to update it in a long time.
https://github.com/MarginallyClever/makelangeloFirmwareAMS
// servo angles for pen control
#define PEN_UP_ANGLE (90)
#define PEN_DOWN_ANGLE (10) // Some servos don’t like 0 degreesThese numbers could be adjusted.
DanKeymasterFirst picture, possible contrast setting is wrong. Behind screen is a small metal dial. turn it slowly and squares should turn into letters, or fade out completely.
BUT MORE IMPORTANT
Second picture, white/red/black wire is in the wrong place. Very wrong. Look at EXP3. The connection should be
. EXP3. . .\/ 12v
o o o o o o o o
o o o o w r b oprobably the wrong connection is making the board crazy. possible unknown damage. incorrect connections are dangerous!
DanKeymasterI don’t remember ever seeing a picture that was short and fat. Probably setting the board dimensions wrong.
I think you might also be losing steps, it looks like some loops don’t completely close.DanKeymasterI’ve tried to help you out. I didn’t build your machine so it could be a great many things.
Try a video that shows the entire machine and then shows the system while it is making the problem.DanKeymasterI need a more thorough description of your system because I don’t see what is going wrong.
DanKeymasterI’ve run out of ideas. I would need more information to see the problem.
DanKeymasterI didn’t say belt size. the belts attach to your DIY pen holder about 8cm apart, on the brass colored pins. subtract the distance between the pins and you might get a more accurate picture.
Also that distance between the pins will cause the pen holder to tilt sideways sometimes, which will also affect the quality of your drawing.
DanKeymasterI suspect your pen holder design is a problem. measure the width from the center of each motor shaft and subtract the distance between the pins on the pen holder that attach to the belts. In my design the arms swivel around the pen tip. In your design they swivel around two different points and that has to be compensated.
DanKeymasterCheck your microstepping (should be 1/16th) and check your pulleys (20 teeth each).
DanKeymasterPlease post a screenshot of your app and a photo of your machine and the results drawn. Position the pen holder at the home position in the photo.
DanKeymasterThose three commands say
– display message “change to black click to continue”
– make beep sound
– wait for user to click buttonIf you have no LCD screen then you will not be able to proceed unless you upload firmware with HAS_LCD disabled.
> When i try to draw jpeg this error message comes..
What error message, specifically? Ugh.
> And also the machine cant find home position…
Why not? What happens? It sounds like you’re running a DIY Makelangelo 3 which cannot find home position automatically.
> When i try to draw on a4 paper the image exceeds the paper..
Did you go to settings > paper and choose A4?
DanKeymasterAlso YES, sometimes serial is a bottle neck. if the lines being draw are short enough and the transmit speed is slow enough the lines-to-draw buffer runs empty. this would cause a lot of jitter as the machine is starting and stopping in a way that feels unnecessary.
for stepping yourself, you could directly
digitalWrite(motors[i].dir_pin, x); // where x is direction and i is motor number
for (j = 0; j < amount; ++j) { digitalWrite(motors[i].step_pin, HIGH); digitalWrite(motors[i].step_pin, LOW); pause(step_delay); } for amount number of steps.
DanKeymasterjerk only matters when the machine is changing direction. full stops don’t matter to jerk.
motor_onestep(int motor) ? it steps once in the current direction.
It doesn’t seem there was a need to say “step motor A for B steps in direction C” any time in the recent past. Is that what you’re looking for?retweeted!
DanKeymaster> I want to replace the servomotor
ok
> for lifting pencil
it’s not a pencil
> on the stepping motor.
what? the “pencil” is not on the stepper motor.
DanKeymasterUpdated the firmware to v6.17.1 which should fix the bad merge that got into production.
DanKeymasterThis was running at F14000 with full microstepping and A1500. I think the problem here is that it takes too long to serial transmit the commands and the buffer runs empty. From the SD card it would be many many times faster and create a smoother image.
DanKeymasterfrom within the code you could call lineSafe(float *pos, float new_feed_rate)
pos is an array NUM_AXIES long (3 for x,y, and z servo on most drawing robots)
new_feed_rate is speed of this line segment.
Up to 32 segments can be buffered ahead for speed optimizations.DanKeymasterGood to know.
spools were abandoned early because the diameter changes as the material winds/unwinds. It maybe causing some of the accuracy problems you are seeing.
IIRC only one phase is active at a time. don’t forget to leave room for the power needed by the board/shield.
I would first check if the RUMBA or RAMPS shield can run at >12v. I believe the answer is No.
Can I see a pic of your setup?
DanKeymasterhttps://www.thingiverse.com/thing:2961400
Print the Leg and the Outer Ring files. Put a plain 8x22x7 bearing on the leg, put the outer ring on the bearing, and then screw the leg onto the stepper. the outer ring should press the timing belt against a GT2-20 pulley and prevent skipping, which might allow faster acceleration without skipping.
DanKeymasterI’m glad you changed microstepping correctly. Probably bigger steps means you’ll need lower acceleration.
current limiting prevents the motors from getting hot. too hot they could be damaged. Too low and there isn’t enough power to make successful steps.
The only way to change the ISR speed while the robot is running is by sending gcode commands with Fnnn where nnn is a new feed rate. nnn is capped 0…MAX_FEEDRATE.
Correct, do not tamper with those #defines.
Do you have plain rollerstake bearings?
DanKeymasterThat is pretty good! Without a way to further stabilize the pen (reduce wobble) that’s about as good as it gets.
One suggested way to reduce wobble would be more contact points on the wall (2 points + pen tip).
Another is to double the belts so they hold both ends of the pen.
Both would require experimentation.
DanKeymasterI have a feeling you are going to invent new and interesting ways of making even more accurate pictures, and I welcome your efforts.
DanKeymasterI’ll give it a shot when the LCD arrives. In the mean time feel free to try and code it yourself. I accept all reasonable pull requests!
-
AuthorPosts