Jump to content

NLCbanner2024.jpg.2478be509670e60c2d6efd04834b8b47.jpg

DIY Tracking Drive


samtheeagle

Recommended Posts

Having sold the rather valuable dual axis motor drives from my old EQ3-2 I'm now thinking that a simple fixed speed RA drive on it would be handy. The commercial options are pretty steeply priced, and as I'm looking for a project I was thinking that perhaps I could make one? Has anyone done this already?

I think that I have tracked down all of the appropriate gearing values, and done various sums to get the magic values to drive a standard stepper motor at sidereal rate. I just need to research a few more motors and stepper controllers and I think I can get going...

Anyone else interested in this kind of thing? Or is it just me? :D I just thought that a relatively cheap DIY option might be appealing to those on a budget.

Link to comment
Share on other sites

  • Replies 35
  • Created
  • Last Reply

"That broke I can't even pay attention !" Tight budget !

Anyways , i'd be most interested in any thoughts , information etc , as i've recently dipped my toe in the pool of astrophotography. I have an old style cg5 mount (not motorised in any way) so any ideas would be great ! cheers man !:D

Link to comment
Share on other sites

Well so far I have come up with the following calculations relevant to my EQ3-2 mount. You should be able to plug the appropriate variables in for other mounts so long as you can find out the gear ratio...

  • The EQ3-2 mount has an RA gear ration of 130:1 - I understand this to mean that one full revolution of the RA axis requires 130 revolutions of the worm gear.
  • A "standard" stepper motor makes steps of 1.8 degrees, giving 200 steps per axel revolution.
  • 130 (RA gear ratio) * 200 (motor steps per rev) = 26000 steps per RA gear revolution.
  • 360 (degrees) / 26000 (steps) = 0.01384615384616 (degrees of RA axis movement per step)
  • 0.004166666665 (sidereal rate, degrees per second) / 0.01384615384616 = 0.30092592580542 (steps per second)

Now that step speed is very slow, but the stepper controller linked below supports micro stepping, so I can up the number of steps per motor rev. I think that I'd want multiple steps pers second, rather than one every few seconds! So I think that using a micro step resolution of one eighth would do, that would give 1600 steps per rev, and require ~2.407 steps per second.

Stepper Motor Driver A4983 Carrier with Voltage Regulators from Cool Components

Stepper Motor with Cable from Cool Components

The other thing needed will be a small 555 timer circuit to generate the step signals at the apropriate rate.

I'm assuming here that the gear ration I found on t'internet is correct. If anyone knows differently please let me know :D Still, the calculations make sense in my head, so you should be able to plug in any values you like for whatever mount you want to drive.

Link to comment
Share on other sites

I would be inclined to generate a higher clock frequency and divide it down...

Peter...

Can you put that into English for me please Peter :D Do you mean use smaller micro steps, and thus more steps per second?

Keep in mind that I'm thinking cheap & simple. Mainly for visual stuff, maybe for some camera mounted widefields...

Link to comment
Share on other sites

Trying to generate stable low frequency clock signals is a nightmare....

So the normal approach is to run the oscillator at a much higher frequency and then divide it down to give the one you want... ideally you would look to use a cystal controlled oscillator...

Peter...

Link to comment
Share on other sites

I'd be worried by the low frequency of the movement pulses, even with your proposed micro steps of 1/8th of a normal step. You'd be getting about 200000 steps per full revolution of the mount, which is about 6 arcsecs per step. Simple AltAz mounts like the Skywatcher and Celestron GoTo ones tend to have more like 2 million steps per revolution.

How about putting an extra reduction gear in between the stepper and the worm gear (say 10:1)?

Robin

Link to comment
Share on other sites

So the consensus seems to be that I need many more steps to get a fine resolution. That should be fine as the controller will support 1/16 microsteps. That would give 3200 microsteps per motor rev, which gives 416000 microsteps per RA axis rev. And that requires ~4.814 micro steps per second.

Again, this is only meant to be a really cheap and cheerful exercise, I'm not expecting pro performance here. I'm just after something that'll keep things in the EP for visual work, and maybe a widefield camera jobby, but they'll only be pretty short subs anyhoo.

Link to comment
Share on other sites

An interesting post. There are many solutions to this problem. My solution below is not ideal, but I hope this helps someone.

I also started out with an EQ3-2 mount. Mind had RA and DEC steppers but a broken hand controller. I therefore implemented a DIY fix (as I didnt think I could buy just a hand controller at the time).

My solution uses cheap stepper driver modules that are controlled via a laptop. Although the modules allow you to set a constant motor pulse rate, even at 'half step' mode it is not slow enough for RA tracking. I therefore needed to send it constant pulses from a VB6 app. The RA rate was devised by 'trial and error'.

The standalone tracking performance of all this is ok for visual (but not for long exposure astro imaging because the laptop pulses are not constant enough). However to my surprise, it actually all works well when autoguiding. The VB6 app has implemented the ASCOM telescope interface standard to allow PHD to correct any local pulse issues (and to provide some Goto capability driven from Stellarium :D). I posted my first guided results here http://stargazerslounge.com/imaging-deep-sky/99729-m13-eq3-2-guided-drainpipe.html.

I would be interested to see how you get on with those motors as I have a spare EQ5 that I need to 'motorise' and eventually control from an Arduino.

cheers

John

Link to comment
Share on other sites

  • 1 month later...

Guy,

Did you ever try the Stepper Motor Driver A4983 Carrier with Voltage Regulators from Cool Components in the end.

The DEC drive on my EQ5 Synscan motor controller blew and I am considering this board to drive the Synscan motors. The Synscan needs the mirostepping ability this board can offer. The old board I used on the EQ3 only supports half speed and would be too lumpy if used.

cheers

John

Link to comment
Share on other sites

Well I've got all the parts now, and started soldering things together tonight. I think the Arduino board I'm using to generate the step pulse is working fine (testing with an LED) but I'm having a real job getting the stepper motor to step :p The data sheet for the controller hasn't really helped.

If anyone has used the Pololu A4982 Stepper Motor Driver and can offer some advice I'd be very grateful! :D

Link to comment
Share on other sites

Ah I see you found a (cheaper) version without the regulators. I couldnt find too much on the AA4982 but the spec looks similar to the A4983.

Have you tried this forum. This link may help

Pololu robotics forum - View topic - Stepper motor driver, Arduino, and mystery motor.

I could ask if are you powering up both the logic and motor supplies. Also check the sleep and enable are at correct logic, but I guess you tried all that?

Good luck with this. Will probably do something similar for my Synscan motors.

cheers

John

Link to comment
Share on other sites

Ah I see you found a (cheaper) version without the regulators. I couldnt find too much on the AA4982 but the spec looks similar to the A4983.

Lol, no I think I just got the number wrong! :p

I just got it working tonight, I think I had managed to get the logic power supply wrong. Also I found the the current limiting potentiometer on the board needs some careful tuning to get the motor to step cleanly.

But progress has been made! I'll try and get it finished this weekend if time allows. Of course the full details will be published here when it's done :D

Link to comment
Share on other sites

Well I've pretty much finished my DIY motor drive now, so I figured I'd post up some details here... Please be aware that this is totally untested at this point in time, so if could still turn out to be an utter failure! Currently this is only for RA, but it could pretty easily be extended to a DEC motor too. When powered the Arduino will generate a step pulse every 4.8 seconds, which if my calculations are correct, is appropriate for the stepper motor and EQ3-2 gearing for sidereal rate. The hand controller I've made has RA+ and RA- push buttons which will increase the rate of the step signal / change the motor direction. The step rate increase depends on the position of the speed switch. Low speed is 2X sidereal, and high speed is set to 8X. Sat on my desk it all seems to be working a treat, now I need to see if the motor has enough grunt to move the mount!

Here's a simple circuit diagram showing how I've wired everything up. This is drawn from memory, so I hope it's correct! It's all pretty straight forward, the only real problem I have is cramming everything into the plastic box I'm using as the hand controller!

post-16299-133877461362_thumb.jpg

And here's the code that I load into the Arduino (well, an Ardunino clone, it's cheaper)

const unsigned int PIN_RA_STEP = 2;
const unsigned int PIN_RA_DIRECTION = 3;
const unsigned int PIN_8X = 4;
const unsigned int PIN_RA_PLUS = 5;
const unsigned int PIN_RA_MINUS = 6;

const unsigned int STEP_SIGNAL_DURATION = 10000; // microseconds

const unsigned long STEP_INTERVAL_SIDEREAL = 207692; // microseconds
const unsigned long STEP_INTERVAL_2X_SIDEREAL = 103846; // microseconds
const unsigned long STEP_INTERVAL_8X_SIDEREAL = 25962; // microseconds

unsigned long lastRightAscensionStepTime;

void setup()
{
pinMode(PIN_RA_STEP, OUTPUT);
pinMode(PIN_RA_DIRECTION, OUTPUT);
pinMode(PIN_8X, INPUT);
pinMode(PIN_RA_PLUS, INPUT);
pinMode(PIN_RA_MINUS, INPUT);

digitalWrite(PIN_RA_STEP, LOW);
digitalWrite(PIN_RA_DIRECTION, LOW); // clockwise as a default
digitalWrite(PIN_8X, LOW);
digitalWrite(PIN_RA_PLUS, LOW);
digitalWrite(PIN_RA_MINUS, LOW);

lastRightAscensionStepTime = 0;

//Serial.begin(9600);
}

void loop()
{
setRightAscensionDirection();

unsigned long now = micros();
unsigned long delta = 0;
if(now < lastRightAscensionStepTime) // overflow of micros() counter
delta = (now + (4294967295 - lastRightAscensionStepTime));
else
delta = (now - lastRightAscensionStepTime);

if(delta >= getRightAscensionStepInterval())
{
digitalWrite(PIN_RA_STEP, HIGH);
lastRightAscensionStepTime = now;
}

now = micros();
delta = 0;
if(now < lastRightAscensionStepTime) // overflow of micros() counter
delta = (now + (4294967295 - lastRightAscensionStepTime));
else
delta = (now - lastRightAscensionStepTime);

if((now - lastRightAscensionStepTime) >= STEP_SIGNAL_DURATION)
digitalWrite(PIN_RA_STEP, LOW);
}

void setRightAscensionDirection()
{
if(digitalRead(PIN_RA_MINUS) == HIGH)
{
digitalWrite(PIN_RA_DIRECTION, HIGH); // counterclockwise
}
else
{
digitalWrite(PIN_RA_DIRECTION, LOW); // clockwise
}
}

unsigned long getRightAscensionStepInterval()
{
if((digitalRead(PIN_8X) == HIGH) && isRightAscensionButtonPressed())
return STEP_INTERVAL_8X_SIDEREAL;

if(isRightAscensionButtonPressed())
return STEP_INTERVAL_2X_SIDEREAL;

return STEP_INTERVAL_SIDEREAL;
}

boolean isRightAscensionButtonPressed()
{
return (digitalRead(PIN_RA_MINUS) == HIGH) || (digitalRead(PIN_RA_PLUS) == HIGH);
}
Link to comment
Share on other sites

Just made a small change to the code posted above... Seems like I had it running in the wrong direction! :) I got my hands on the mount this weekend, and made a bracket to affix the motor... Using a really nasty bodged coupler made from plastic tube, insulating tape and some cable ties it appears that the motor is happy to move an unladen mount head, albeit with some slippage in the coupler department. I've got a proper one on order from ebay, so that should fix it right up :D

Fingers crossed it's going to work. :)

And sods law being what it is, I've just seen a reasonably priced single axis drive for an eq3-2 on astrobuysell! Always the way eh?

Link to comment
Share on other sites

This is very interesting thread Samtheeagle, I will have

a think about whether this would be worth doing for my EQ5

if I get the time.

I will be interested in hearing how the tracking performs when

the mount is loaded.

Kathleen

Link to comment
Share on other sites

Hi samtheeagle just want to say that i am also glued to this thread although its a bit over my head i understand that a motor can be controlled from a circuit board, thats about it:DBut your drawing me in very interesting stuff,i also badly want to drive up my eq5 and have not got a spare 100 quid at moe would be great to build one!

Link to comment
Share on other sites

Well I'm glad that people are finding it interesting :) I figured it was a fun project to have a crack at, as the drive motors are very hard to come by secondhand, and they're pretty expensive new. To be honest it has cost a bit more to build this than I had hoped, but it's been a case of trial and error, and having to pick up bits here and there. I guess a lot will depend on whether you have already have some of the components to hand, or if you can find good deals for the parts.

But it's been very interesting trying to work out the gearing, and how stepper motors work, and I think I've learnt something about high precision timing on the Arduino, so lots of plus points to take from the experience.

I just hope that it works now! To be fair, if there's going to be an issue it'll simply be the motor not being strong enough, so that's an easy thing to fix, if a bit costly :S But if I can pass on some valuable experience from this to the community it'll be worthwhile.

Link to comment
Share on other sites

  • 4 months later...

This one has been on the back burner for quite a while, but at long last my brother-in-law managed to get the kit setup under a clear sky and has reported that the EQ3-2 with the Celestron C102 on it tracked pretty well! :)

He's very new to this telescope game, so he wasn't overly confident about his polar alignment, but his first test has proven that the DIY tracking drive can move the mount under load, and that the tracking rate appears to be pretty good.

This need some further testing of course, I'll try to get him to take some varous length subs to see at what point star trailing becomes an issue... But fundamentally it works! Happy days :)

I'll try and do a proper write up as soon as I can, as re-reading some of my posts above I don't think the info is all still current and accurate.

Link to comment
Share on other sites

  • 1 year later...

Hi Samtheeagle,

Could you please give us an update about how your motorized mount has been working, and whether did you make some modifications of your original design. Is it usable to make long exposure photos?

Last week I got my first telescope (Newtonian 150mm/750mm) with an EQ3 mount and since recently I work on arduino+stepper motor projects I immediately began to think about motorizing my new equipment.

Best regards,

Swizzly

Link to comment
Share on other sites

A bit late in the day but stepping in 64ths and increasing the step size for x2 and x8 should work fine.

An alternative for low frequency stepping is sin driving - check out the 'sound stepper' thread on yahooo - basically you are continuously driving the motor to get a really smooth motion using a sin generator.

Finally, the 555 moves around with temperature and your frequency will change. I have used a crystal, divider chain and PLL to pull the frequency in a stable way - this now seems to be sorted within the Arduino I guess.

Cheers

Mike

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.