Tower Crane; the next step

Thanks blokes. I have confirmed some of the stuff we have been talking about.

Those profiles are going to be awesome for the next phase. Fusion 360 awaits me.

3 Likes

Your total delay per loop is 2 milliseconds (plus a little for the code execution) or 500 steps per second or 2-1/2 revolutions per second or 150RPM (actually a fraction less). Steppers of this type can run up to 1000RPM, but that is unlikely to be useful as it would probably result in missed steps. AccelStepper claims to be able to run steppers at up to 4000rpm!

The delay while the pulse is held high is not required, so you can just use one delay - that gives you a little more flexibility as you can get the total delay using the millisecond timer down to just over 1mS. Other timers would allow you to get it below that. The Arduino libraries allow much more precise control of motor speed, and would be more useful for your testing. Torque reduces as speed increases, so your optimum speed will be a result of compromise between torque and vibration.

4 Likes

I think torque may not be a problem as the driver/driven ratio (once my parts are printed) will be close to 16.3 : 1. In other words it will take 3260 full steps for one revolution of the tower head. Also, the tower head structure will be massively strengthened, hopefully reducing some vibration. As always, thanks heaps.

4 Likes

Error alert. Muggins here forgot that the drive mechanism will be attached to the top of the tower, which doesn’t move, so it will have no effect or not the effect that I was after on the Boom Head. That is an official ooops on my part.

2 Likes

Got the first new drive bit out of the printer.

3 Likes

And the 2nd bits.

2 Likes

Nice modifications, looking good :slight_smile:
A bit of grease on the bearings will quiet them down, and if you do want to chase the stepper noise that remains one of those silent stepper drivers we talked about before would do that.

1 Like

Thank you, I intend to pursue both of those suggestions. Nothing to lose as it functions at an acceptable level now. As always thanks for your contributions.

3 Likes

Thin rubber pieces in the motor mounts would get rid of that noise without affecting the tension you can put on the belt.

3 Likes

Awesome, I’ll give it a go.

3 Likes

Some more work has been done whilst waiting for the drive belt. I have attached the main boom and commenced thinking about the crane and weight trolleys.

2 Likes

Hey Geoffrey,

Coming along very well, the videos are a great way to show what you are up to!

2 Likes

Goodonya mate, thanks.

3 Likes

I should bookmark this thread. Just had a look back wondering if anything had happened. Wow, it certainly had. Devil’s advocate again. Is a flat belt is the way to go. It will slip and creep which may upset positioning accuracy. Not such a problem if there are index point all over the turntable but if relying on a single home point it may. A toothed belt like a car timing belt doesn’t slip. And I wondered if it would look better to keep the drive inside the tower. I haven’t looked at cranes in great detail but I don’t think they have boxes hanging out the side, would something like this work?:

3 Likes

Yes, and it still could if the belt fails. Generally the accuracy can be ± a couple degrees as it is picking up from a fairly big platform and the hook will swing enough to hook up. Likewise when putting down. Also I hope to get it to return to “Home” after each job which should reset everything. Finally the drive pulley and belt is toothed and the working face of the driven pulley is about two thirds which is about 400 mm. If it fails dismally I can print a toothed driven pulley. Re the looks, I don’t think it looks to bad and I can fab up a cover to look like something. Also, it can be placed at the rear of the crane to help with the static counter weight. Thanks for the input.

4 Likes

Some more work on the crane. This little vid should explain it

7 Likes

G,day. I’m still waiting for the belt to turn up, maybe today, fingers crossed. Meanwhile, the TMC 2209 V2.1 has turned up but I have not been able to find a wiring diagram and a sketch to suit. I am, at this point, happy with the way the stepper motor is driving the slew mechanism. It is very smooth and goes to wherever I send it and the noise is OK. But, if I could run it more quietly I would. Research suggest the TMC2209 will run it much more quietly.

4 Likes

What brand of module did you get? They aren’t all the same (although it is likely that it is a plug-in replacement for the existing module).

If you haven’t already upgraded to using the stepper library with acceleration I would recommend that before upgrading the driver. The acceleration and deceleration feature will be important in ensuing that you do not miss steps at the start and the end of a sequence, especially if you use microstepping to get a smoother turn. Missing steps will invalidate your position calculation.

4 Likes

I don’t know what brand it is.


and I’m going to need someone to hold my hand with accel and decell. Just had a look and it did my head in. The good news is the belt turned up.

4 Likes

This is the procedure. You have probably already done some of this.
In the IDE open Tools \ Manage Libraries. Make sure All is selected for the Type and enter ‘accelstepper’ for the Topic. AccelStepper should be at top of the list. Select Install, and close the Library Manager.

Go to File \ Examples and scroll down the examples list until you get to AccelStepper. It should be in the group ‘Examples from Custom Libraries’. Open Random. Find the line
AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5

You don’t have a 4-wire driver - yours is a step/direction driver. So comment out that line, and add below it:

const int STEP = 2;            // pin number for step command
const int DIRECTION = 5; // pin number for direction command
AccelStepper stepper(AccelStepper::DRIVER, STEP, DIRECTION); // Step direction driver.

except that instead of 2 use the pin number for your step connection and instead of 5 use the pin number for your direction connection. Then load and run the sketch.

You will need to make the same change for any of the other examples.

You can replace the max speed and acceleration expressions with literal values to see the effect of specific values.

There are two critical parts of the code in the loop. Firstly, If distance to go is not zero then the previous command has not yet completed - don’t execute a new command and don’t pause. If it is zero then the command has completed - you can pause, or execute a new command… Secondly, Stepper.run() must be executed every time through the loop. If there is a command active, then it will step. If there is no command active then nothing will happen.

3 Likes