Choice of actuator

Hello All,

I am building a labyrinth maze solver and I am using stepper motors for the project. To have an idea about the final output of my project please have a look at the folllowing video:

Now, I am stuck at a stage because of a poor choice of my stepper motor controller. The stepper motor controller needs input in terms of number of steps and time duration of rotation. I find it very difficult to estimate a base scale to do the calculations as my angle of tilt varies according to both the parameters. I had been discussing this with someone and he suggested that I use a servo motor because I was planning to use the OpenCV Kalman filter algorithm. According to him, if I plug in my motor commands into my input vector matrix, I can actually get a value between 0 and 255 that could be used to operate my servos. I am looking forward to hear your thoughts whether I should switch to a servo or try using a stepper

The stepper motor controller needs input in terms of number of steps and time duration of rotation.

What controller is this? Most just have step and direction.

I find it very difficult to estimate a base scale to do the calculations as my angle of tilt varies according to both the parameters.

Why do you think this? The angle of tilt is a simple function of the number of steps the motor has received since it was at top dead center. The speed of these pulses only determine the length of time until the table gets to this degree of tilt.

Hi thanks for the replies. the stepper motor controller that I am using is the egg bot controller board.

Is it a hardware problem? Is it because you are using stepper motors?

The steppers are interface fine. I feel that I shouldnt have chosen a stepper in this case. The reason is that it requires both time and step input and it doesnt make sense to keep sending strings to my controller based on an algorithmic decision making. I think it is better to use a stepper if the path is already known. Here. My ball just keeps rolling back and forth because the PID algorithm that I implemented earlier doesnt help me balance the ball at a given point.

Do they not have a small enough effective step size?

The resolution 1.8 degrees and I can go as small as 1/16th of a step. But how do I determine the tilt in terms of time duration and number of steps? My angle of tilt keeps varying and I dont know how to feed my algorithm so that it can provide the correct output. I am contemplating whether this would be easy if I switch to a servo.

If you have a fixed reference for zero, you should be able to keep internal variables in software for the current position, and work out the direction, speed and distance from simple math calculations.

I didn't consider this factor. Let me think about it. Thanks.

Why do you think this? The angle of tilt is a simple function of the number of steps the motor has received since it was at top dead center. The speed of these pulses only determine the length of time until the table gets to this degree of tilt.

The most important factor here is that my ball just keeps rolling down when I tilt in one direction. So I am not able to estimate what must be the angle of tilt in the forward and reverse direction to make it go to a particular point.

Or maybe use an xyz accelerometer to just measure the actual tilt that resulted from the stepper motor action. I'm not trying to start an argument here, just suggesting a different approach that would compensate for any slop in the mechanical system.

Thanks for your suggestions. I am going to sit down and roll back to my early stage and stick a piece of cardboard on my maze. I am going to use my stepper motors to control the maze in a fashion such that my ball goes round and round according to Kalman output. If I am successful, I am going to go ahead with steppers. Thanks :slight_smile: :slight_smile:

the stepper motor controller that I am using is the egg bot controller board.

Totally the wrong sort of controller. In fact it is not a controller at all it is a piece of equipment. Stepping motor controllers are not expensive, have you seen this one:- Pololu - A4983 Stepper Motor Driver Carrier

but I have to use a microcontroller to drive this board. I am using a Linux machine