Dan
Forum Replies Created
-
AuthorPosts
-
DanKeymaster
Hrm. I believe you.
I don’t believe it’s DXF related. the DXF loader turns the DXF file into Gcode, and from then on it’s treated like all other drawings. The problem should be happening to all drawings.
I need a simplified test case that demonstrates the problem. A 20 minute drawing is too long, and it’s hard to see where the error begins. Would you have some Gcode that does that?
DanKeymasterYou’ve done something to your setup. I can’t tell what from your explanation.
Try to start again fresh. I believe you have an arduino/library that you don’t need, and it’s breaking things.
maybe it’s an old version of the Adafruit motor shield library *from adafruit*, which should also be updated. (It’s not used by our code but the names are similar and it could cause a problem.)DanKeymasterin #8954 I said there were changes made for 1.6.7. Your post above says you’re using Arduino 1.6.5. Please update your Arduino and try again.
DanKeymasterView this post on Instagram#r2d2 from #starwars on a #makelangelo 3.2 from Marginally Clever Robots. 7889 lines in 16m48s
A post shared by Marginally Clever Robots (@imakerobots) on
I think I put too much water in the bottles, it’s pulling the pen up a little bit over time.
DanKeymasterNeither. In fact, you don’t need to copy anything to the arduino/library folder any more.
firmware_ams.ino is the file you should open and upload.
If you are following our recipe for building a Makelangelo then the only thing you need to change is the MOTHERBOARD.
If your steppers are not moving, you probably have crossed wires. The coils in the stepper will fight each other and you will get a vibration, at best, and nothing, at worst.
DanKeymasterArduino 1.6.7 made changes that broke the code. Please read the latest makelangelo-firmware to see the changes we added that fix this problem. The github diff will be especially useful.
DanKeymasterOh, wow. Now I have to recount every tooth on every pulley in stock. Time to make a one-off robot to count them for me?
DanKeymasterI finally tried the DXF. The code is fine afaik.
Belt is skipping off the pulleys here, but I’m using an older model motor mount at the moment.
Tomorrow I’ll assemble some of the newer mounts and try again.DanKeymasterThe maximum feed rate for AFMS boards is less than 1/3 the top speed of the RUMBA boards. That was a big part of why we made the v3.
The Arduino talk to the shield, which then sends stepper commands. To get straight lines it’s
Arduino > I2C language > shield > motor
every step. Converting to and from i2c is the bottleneck. The RUMBA is
RUMBA > motor
every step, and the speed it can talk at is faster (because the clock is faster).
There are ways to say “take N steps” instead of just one step, but then the code for AFMS becomes something different. I try to not break things that already work, so I haven’t explored this option.
I am eager to hear how anyone else has improved their top speed.
DanKeymasterNo need. Ask for Dan, Steve, or Kevin.
DanKeymasterHi!
Saturday mornings at the Vancouver Hack Space (1715 Cook Street) are the 3D printer group. They build, fine tune, discuss, and print. The perfect place to get all your answers at once. Many are Marginally Clever customers, and we support them with products and technical help.
Officially they are there 11:00-13:00. This morning I am there from 09:30, in case you want to come early.
See you there?
DanKeymasterI’ve just pushed github commit 778525a3bb7a479545018a91e8279dc08f29d094 to https://github.com/marginallyclever/makelangelo-firmware
It compiles without error. Does it run OK for you? I don’t have a AFMS2 setup to run right this second.
It looks like now 1.6.7 will read the libraries from the install folder. That means no more installing a library to get Makelangelo to run. Easier!
DanKeymasterPlease post the entire error message.
DanKeymasterThat would depend a great deal on the weight of the people and the force they apply when dancing. I imagine a waffle of material with lights in the holes, and then a clear dance surface on top of that. Perhaps a single thick sheet of material with pockets cut in the bottom side for wires and lights.
I don’t have enough material since to definitively answer this question…but i wish I did! It’s a great question.
DanKeymasterPWMServoDriver is new to me.
Please check that the start windows batch file contains the right name for the .jar file.
DanKeymasterI think I found it. Pause() lifts the pen if it is down. unpause() puts the pen back if it needs to. In some cases unpause() was called when pause() was never called. The “was the pen down when we started pause?” test is now wrong, because we never paused, and the pen would lower. This happened every time Halt() was called – right after gcode is loaded, and right after a drawing is finished.
So it’s a minor fix, and will be in the next release.
Now I try your R2D2 DXF.
DanKeymasterI ran this test repeatedly and did not get any deviation.
View this post on InstagramDo this 50 times for a repeated accuracy test.
A post shared by Marginally Clever Robots (@imakerobots) on
After 10 back and forth’s I still had only one dot on the board. If there was drift it would have been anything but.
DanKeymasterPlease try this gcode and send me a picture of the results. It should draw a series of dots that demonstrate the drift. Does it happen if you go to the top left instead of the top right?
G90;
G0 Z50;
G4 P50;
G0 Z90;
G4 P50;
G00 X100 Y100;
G00 X0 Y0;
G0 Z50;
G4 P50;
G0 Z90;
G4 P50;
G00 X100 Y100;
G00 X0 Y0;
G0 Z50;
G4 P50;
G0 Z90;
G4 P50;
G00 X100 Y100;
G00 X0 Y0;
G0 Z50;
G4 P50;
G0 Z90;
G4 P50;
G00 X100 Y100;
G00 X0 Y0;
G0 Z50;
G4 P50;
G0 Z90;
G4 P50;
G00 X100 Y100;
G00 X0 Y0;
G0 Z50;
G4 P50;
G0 Z90;
G4 P50;Edit: changed P1 to P50 because it’s milliseconds, not seconds.
DanKeymasterThe most relevant code would be in these two places:
The bit that turns pulley diameter into ammount-of-belt-move-per-step:
https://github.com/MarginallyClever/Makelangelo-firmware/blob/master/firmware_ams/firmware_ams.ino#L227The bit that turns (x,y) into (belt lengths left, belt length right):
https://github.com/MarginallyClever/Makelangelo-firmware/blob/master/firmware_ams/firmware_ams.ino#L309They are identical in both the AMS firmware and the RUMBA firmware. Nothing obvious jumps out at me (like a nasty rounding error). Those blocks of code have not changed in a loooong time.
My guess is that the newer compiler that comes with Arduino GENUINO is doing something funny.
DanKeymasterAll I can think is that it was damaged in shipping, which is 🙁
I will recheck our inventory.
The only reason I can think of is that the board is rebooting over and over. We upload the firmware to the boards at the last step before shipping, to be sure that the board is working when it leaves the warehouse and has the latest code.
DanKeymasterI personally test parts when they arrive at our facility.
Are you running Windows? Windows machines need a driver to recognize the controller.
http://learn.marginallyclever.com/index.php/Makelangelo_3.2_Assembly#Teach_the_ControllerDanKeymasterPlease try the v7.3.0-alpha Makelangelo software released yesterday.
DanKeymasterPlease try the new release, 7.3.0-alpha, released yesterday.
DanKeymasterPlease try the latest Makelangelo-firmware with the Makelangelo software v7.3.0-alpha that was released yesterday.
DanKeymasterYour diagnosis sounds right. As you said, it worked and then it didn’t, regardless of the servo or the USB.
I can swap you out a new board, and we’d like to take a look at the one you have. The fastest way is to order another board and ship your old one back. When we receive your old board we’ll credit you the value of the board. That way you get your replacement quickly and you’re motivated to send your old board back for us.
-
AuthorPosts