Forum

Welcome Guest 

Show/Hide Header

Welcome Guest, posting in this forum requires registration.





Pages: 1 [2]
Author Topic: Towards running a Polargraph with an Adafruit Motorshield V2
vdrome
Beginner
Posts: 36
Permalink
Post Re: Towards running a Polargraph with an Adafruit Motorshield V2
on: April 27, 2014, 20:23
Quote

I made those changes you've recommended:

I2C changed - #define TWI_FREQ 400000L
and - (AFMS.begin(4000); in the firmware.

Seems to be moving a smidgen faster, most noticeable is the vibration and squiggling lines have been nearly resolved. Also, I suppose there is no difference between running at 200 steps per rev and a multiplier at 16 and 3200 steps per rev and a multiplier of 1?

With that being said for my next build I will try out a RAMPS 1.4 board, perhaps it will have an increased speed with micro-stepping enabled.

sandy
Administrator
Posts: 1449
Permalink
Post Re: Towards running a Polargraph with an Adafruit Motorshield V2
on: April 27, 2014, 21:12
Quote

When it comes to actual movement, no, no difference at all between 200*16 and 3200 with no multiplier. 3200 with no multiplier will mean the controller can address every single step, and so ultimate resolution is possible, but leaves the chance that the motors will stop on a microstep, rather than always stopping on a full step. I am risk averse, and don't like stopping on microsteps - I think you risk losing a step, and when I've tried it with other drivers, the chip and the motors get pretty hot and cross about it.

The polarshield runs at a fixed 8x microstepping. I really think it's the lack of current control that makes the motorshield v2 a bit jumpy. It certainly seems quite noisy and harsh - I guess the right combination of motor and voltage would get it singing sweetly, but it isn't doing it for me.

(I also couldn't get the servo lift working - did you have any luck with that?)

sn

vdrome
Beginner
Posts: 36
Permalink
Post Re: Towards running a Polargraph with an Adafruit Motorshield V2
on: April 27, 2014, 22:32
Quote

Sandy, thanks for all the valuable feedback. I will try some more testing with 400 steps per rev and a multiplier of 16, and I'll try adjusting the voltage coming out of the wall as well.

As for the servo, I am having some trouble. Firstly I have my servo connected to the Servo 2 pins on the motorshield. When I first launch the controller the I am able to lift and drop the pen manually using the buttons "pen lift / drop". When I start a job the servo works for the first few minutes, lifting and dropping where's there no vector information, however after a few minutes the servo stops running. The only way I can get it working again is by restarting the controller. If I recall, when I had the servomotor connected to the Servo 1 pins, it wasn't working at all. Am I doing something wrong?

sandy
Administrator
Posts: 1449
Permalink
Post Re: Towards running a Polargraph with an Adafruit Motorshield V2
on: April 27, 2014, 22:50
Quote

I've got a few twitches out of the servo, and that's it. I don't have the other set of pins soldered in so can't try them, but I'm sure I tried swapping the pin assignments and didn't have any more luck. The circuit for the servos is absolutely simple, so there's almost nothing electrical to go wrong there... But the code for the servo is _also_ absolutely simple, there's almost no logic to go wrong there 🙂

I was just wondering if I had fried my motor and it was working fine for everyone else. I'll have a closer look and a better test if I get the chance. I'm a bit disinclined to sink a lot of time into this shield - it doesn't seem to be much of an improvement over v1 to be honest.

sn

vdrome
Beginner
Posts: 36
Permalink
Post Re: Towards running a Polargraph with an Adafruit Motorshield V2
on: April 28, 2014, 19:11
Quote

Yeah - again the micro-stepping on it is great, especially for vector, it just runs so damn slow! And the servo seemed to be working at random intervals, it would turn off and on unpredictably, very strange behavior.

You had recommended using an Uno32 drive-board in-lieu of the Uno - would that have any affect on turning up the micro-stepping speed? Also would switching to Mega + Ramps 1.4, or your Polarshield have any noticeable increase on the micro-stepping speed? Sorry if my questions are completely redundant!

sandy
Administrator
Posts: 1449
Permalink
Post Re: Towards running a Polargraph with an Adafruit Motorshield V2
on: April 28, 2014, 23:19
Quote

I should warn that I haven't actually used the uno32 before, myself. I base the recommendation on Brian Schmalz's recommendation (Brian is the designer of the Eibot board, the easydriver, and bigeasydriver amongst other things, though I believe he is also employed by PIC/chipkit).

He's got a couple of videos of the chipkit spinning a load of motors at many kHz, so I think it would remove any CPU bottleneck. That said, it was also driving a standalone stepper driver with serial control lines. I think the bottleneck in the motorshieldv2 is the I2C bus, and the PWM system that the shield uses - I just don't think it's suitable for high-speed stepping. At least, not the kind of speed that you need to use to get 16x microstepping moving at a useful rate.

After thinking about it, I don't think running a faster board would get you faster stepping unless it also ran at a faster I2C bus - I'm not really clear how that all works though, so I could be talking out my hat.

Polarshield is basically the same as RAMPS, but with an LCD header on it (and only three channels instead of five). The microstepping size is a little harder to adjust, but otherwise they both use standard "stepstick" motor drivers, which are controlled by simple pulses to a step pin. This is the same way that easydrivers, bigeasydrivers, and _most_ other drivers are used, and it is usually bottleneck'd by the clock speed of the processor. I run the drivers on the polarshield at 8x microstepping (with a MEGA2560) and have never really wanted for speed - I can't say much more than that. RAMPS can also easily be set to 8x microstepping.

But I think you will find that you won't need such high microstepping (or microstepping at all) if you use a different driver and can tune the power to match the motor.

Also, consider using the standard interleaved (or DOUBLE, or SINGLE), at an extremely low speed (try to match the speed you're getting at the moment), and see if that helps. I kind of think it won't, but you might get a clearer idea of where your judders are coming from (step / bounce / pentip friction etc).

sn

Pages: 1 [2]
Mingle Forum by cartpauj
Version: 1.0.34 ; Page loaded in: 0.031 seconds.