Dan
Forum Replies Created
-
AuthorPosts
-
DanKeymaster
could be poor quality servo, could have been fried by putting current through it the wrong way, could be noise from a bad RUMBA board, could be low power? That last one is unlikely.
DanKeymaster@curt locey which high quality drawing are you talking about? The LCD panel is a project some DIY people are working on.
DanKeymastercheck your microstepping. they should all be on for 1/16th microstepping. also if you bought your steppers somewhere than us they’re probably only 200 step per turn (ours are 400)
DanKeymasterhttp://imgur.com/a/0BR5x this is how i do it.
DanKeymasterturn the plug 180
DanKeymasterI just opened basic test and all I can say is…. oops? the code there is for the original LED wall at VHS which has a crazy wiring scheme and is nothing like the MAKE wall (much more straightforward).
I have updated all code in the repository for the 64×36 branch. Please update and let me know if that helps.
DanKeymasterEh… you’ll have to refresh my memory. I tried to scan back through the thread and I don’t find what are your current software challenges.
DanKeymaster@fishingincarns – in the Makelangelo software, connect to the robot and then click “settings”. You should be able to adjust many values from there.
Also by sending commands directly to the robot you can use R* commands to adjust belt length. This is not easy to do because M5s are not normally done by anyone except us, so we didn’t invest time making it easy for everyone.
DanKeymasterYou’ll want the bottom right corner of EXP3 on a RUMBA board. note that the the ground and power wires have to be swapped. Putting power backward through a servo is bad news.
DanKeymasterGreat question. Hmm… using https://www.marginallyclever.com/other/samples/fk-ik-test.html
I put in the dimensions of the stewart platform like soIt claims the resolution is +/-0.01mm. Due to the shape of the arms the resolution is not the same everywhere.
DanKeymasterhttp://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
Please also search Marlin code for #DOGLCD and look in files that start with dogm_*.
A quick look shows each screen that has a bitmap is saved into memory as an array.The method for displaying images to the graphic LCD is *completely different* from the supported LCD.
There’s also ULTRALCD_IMPL_DOGM.H, which seems to be the hardware-specific implementation of the generic LCD methods called from other places in the code.
DanKeymaster@fishingcairns – you have the graphicLCD version from earlier in this thread? We didn’t write that version and haven’t seen the code. Official support does not exist yet.
DanKeymasterWe don’t officially support the AMS2 board. I no longer recall when or why some code was added.
In any case, I’ll try to help.It looks like you’re missing the AMS2 library which the code needs to talk to the AMS2 shield. You should be able to install it with the arduino libraries manager.
DanKeymasterBoard without drivers: https://www.marginallyclever.com/product/rumba-board-no-drivers/
You’ll need one driver per motor: https://www.marginallyclever.com/product/a4988-pololu-driver-single/
You might also want our 400-step motors: https://www.marginallyclever.com/product/stepper-motor-nema17-12v0-3a-400-steps-per-turn/
DanKeymasterThis is going to get technical, but it’s relevant.
The motor shield talks with i2c to the arduino. this is great for adding lots of devices but it bottlenecks communication. There is no way with the AMS boards to say “ok, everyone, here are the target steps and direction to reach in N steps, now i will send pulses and you step at the right time.” instead I have to instruct each motor individually. Even a properly powered board has an i2c delay every step. That might only be 50us but it adds up really fast.
For that reason when I was looking for a better board I went with the RUMBA. It can “bit bang” the steps with a much smaller delay between steps (faster, smoother). It can also be upcycled to make a 3d printer (I made a prusa i3) because that’s responsible.
DanKeymasterIt looks to me like the 5v servo power source is wired to the 12v motor power source. I’ve only experienced bad things doing that. mixing voltages usually kills the magic rock.
if you ever code something that "feels like a hack but it works," just remember that a CPU is literally a rock that we tricked into thinking
— daisyowl (@daisyowl) March 15, 2017
The jitter I’m seeing looks pretty normal at low speed. the steppers are pausing just long enough to translate the shake down the belt to the pen holder. One solution is to use steppers with a higher step count (we use 0.9deg steppers, or 400-per-turn). Another would be to dampen the vibration on the belt. Our units roll the belt around a peg on the bottom inside corner of the motor. This also keeps the belt at a fixed spot: rolling around the pulley creates a difference between the mathematical model in the robot’s brain and the actual model, also known as i-wanted-a-circle-and-got-an-egg effect.
DanKeymasterCan you show a picture of your machine, please? Especially a closeup of the electronics.
DanKeymasterI think posts are only editable for 10 minutes after posting.
I’m glad you figured it out! Is it working better now?
(I was away camping, it’s good to be home.)
DanKeymasterWe based our design off of https://www.thingiverse.com/thing:798076
So if you have a 3D printer, give it a go!
DanKeymasterMakelangelo firmware is available by donation from our website: https://www.marginallyclever.com/product/makelangelo-firmware/
You can also find it on our github page: http://www.github.com/marginallyclever/
DanKeymasterIn Arduino Serial Monitor, change the “newline” setting to send newline. without it both return key and “send” button will appear to do nothing.
DanKeymasterOn brand new machines we run (from arduino serial at 57600 baud)
R71
R70
R61 to check they wrote, then
G28 to home and finally
G0 commands to move along each axis. For example, G0 X1 moves X+1. By default movements are absolute from the home position.
DanKeymasterhttp://www.reprap.org/wiki/File:Rumba4.jpg
There are four available easy connections for the digital switches on Y+/- and Z+/- in the north-west corner of the board. Immediately “south” are the T0-T3 and TH1-TH2 pins, which are normally used to read temperature sensors. Those temp sensors are often analog, so those pins are probably where I’d start.
DanKeymasterHi!
I’ve had a look at the code. I’m immediately put off by the naming of major variable “l”, which looks exactly the same as the number “1” in most system fonts. But let’s put that aside.
1.5875mm (1/16″ is pretty small. If you are not missing steps and the math is good then there’s some extra variable for which you have failed to account. Does the position of the tool head change the contact point of the chain on the sprocket? Remember it’s not an actual point as it is probably treated in the math.
I also found that making flexible arms https://youtu.be/FJe5MkoUVIA?t=155 increased the precision as the line from the sproket to the tool stayed the length I expected. I didn’t have to account for the relative difference between the tool position and the chain mounting points on the anti-vibration disc. It also simplified our math.
Speaking of which, we used basic trigonometry and KISS: https://github.com/MarginallyClever/Makelangelo-firmware/blob/master/makelangeloFirmwareRumba/makelangeloFirmwareRumba.ino#L150
I don’t account for the sprocket size because our drawings are small enough that it doesn’t matter.Does your machine auto-home? Are you certain you’re starting at the right position? A tiny error in homing can lead to egg-shaped or bowed results. That’s why the Makelangelo 5 has homing switches and gets great results every time.
Top center has the most tension on the chains. Is it bending the support arms that hold the motors?
I can relate to the entrepreneurial spirit of the Maslow team. I would never put a cutting head on a polargraph like this. I’ve seen to many accidents with polargraphs and routers to combine the two. I picture the router vibration shaking a critical screw loose, one chain detaching, and now you have a swinging router of death. OSHA field day. What I’m trying to say is please please please be safe, make sure your liability is air tight, and have a plan how to react when John & Suzy chair maker post their disaster story. Nobody wants a Streisand Effect, right?
DanKeymaster@CL – adafruit driver board has ser1 and ser2. Code says
#define SERVO_PIN SERVO_PIN1
so that’s should be your answer.
-
AuthorPosts