Jump to content

Narrowband

Build Project: Dob Equatorial Platform


SniffTheGlove

Recommended Posts

Today, played with my Arduino again but also attached my aluminium runner to the north radius segment. Screwed at ether end and had a few blobs of epoxy to help keep it attached. See photos

First photo was from the other day showing my south pivot blocks with the m12 threaded rod all at 52deg.

Next 2 photo's are the segment attachment.

post-21428-133877535115_thumb.png

post-21428-133877535127_thumb.png

post-21428-133877535137_thumb.png

Link to comment
Share on other sites

  • Replies 157
  • Created
  • Last Reply

Update for today.

The runner is glued and screwed all fine.

I am still playing with the Arduino and stepper motor. I am trying to rewrite the code to put the stepper to sleep during steps. The A3967 chip on the EasyDriver get quite hot. The EasyDriver developer states that the chip get quite hot but not enought to burn him if he touches it.

I think I might be putting a bit to much current through the chip as when the motor is energised it pulls 0.425A per phase continously. I have put the motor into sleep mode during steps which keeps the A3967 chip a lot cooler but by doing this the motor is not energised and the output shaft is free to rotate easily.

I have to look at whether this will effect the tracking motion if the motor can freely rotate when asleep for a few microseconds. ie Weight of scope on platform and the force of gravity making the platform move when the platform is off horizontal. I hope you know what I mean.

I am also looking at going microstepping the motor, the usual stepping for this motor is 400 steps per revolution which is 0.9Deg of rotational movement, micostepping I can reduce this angle to half (0.45deg), quarter (0.225deg) or even an eighth (0.1175deg) which will give me 800 steps, 1600 steps or 3200steps.

Of course micro-stepping means that I can not put the motor to sleep very long if not at all so I am looking to make a small heatsink with a fan to reduce the heat output. I have several old CPU heatsinks with attached fans and these work ok on the Ardinuo and Breadboard.

That's about all and hopefully will continue the wood working side next week when the kids and my wife are back at school.

Link to comment
Share on other sites

wow, for someone that knows nothing about electronics...... :rolleyes:

I have worked out my wiring today too and just hope it all works after the pain I have been through - all that thinking!

I know very little about electronics. I know very simple stuff but circuit building with components is out of my league Shane. I only found out last week that I should be placing a resistor after an LED to reduce the current properly whereas I have always just plonked an LED into the + - of a battery and if it lights up Woo Hoo!

What I am good at is programming languages (Started when I was 16 back in 1981 when I built my first computer, a Sinclair ZX80) and also all other aspects of IT (Cable infrastructure, Network Routing and also PC dianostics). I knew most of all that before I got my first job in an IT department in 1996 as I self taught myself beforehand.

Anyway, my maths is bad and my head hurts like you said. I've been thinking. All this stepper motor stepping calculations is frustrating me and I keep going around in circles. I know it's easy to do the calculations but for the life of me I can not fathom the calculations and I'm getting deeper and deeper and I just keep praying fo a clear sky so I can observe instead of going round and round in Excel.

I am nearly there though.

With your wiring done Shane, your nearly ready to crank her up alas only if the skies clear.

Link to comment
Share on other sites

ha ha - your methodology is like mine although mine often go fizz pop!

we'll both get there eventually. I have to say it's great having someone going through the same things as me as it eggs us on. good we are doing it slightly different ways too.

Link to comment
Share on other sites

Went into Maplins today to pick up a few components (Heatsink, Small Fan and some little Micro Switches) for my Arduino circuit.

I have now understtod how to stepper motor works and how to control it, also worked out how many steps it needs to do to keep tracking.

I hope my maths is right :)

So, for those who might be intrested here is my first draft code for controlling my Arduino. I am using a 400 Step Stepper which has a 0.9deg step. There is a little tweaking need to be done like moving the main code into the loop subroutine as currently I only want the code to run once when testing and also putting in the second microswitch code to stop the motor during rewind.

Now tomorrow the wife and kids are back at school so I really hope to grab a few hours finishing off the bottom part of the platform. I need to create a wedge to sit the wheels on to rest the top platform north segment on, then I shall select the best place for the motor to sit.

// Equatorial Platform Stepper Motor Arduino Code
// Version 1 - Draft Feb 2011
// Code by Sean

int pin_DIR = 3; // PIN 3 = Direction
int pin_STEP = 2; // PIN 2 = Step
int pin_MS1 = 13; // PIN 13 = MS1
int pin_MS2 = 9; // PIN 9 = MS2
int pin_SLEEP = 12; // PIN 12 = Sleep
int pin_TrackingEnd = 5; // PIN 5 = Tracking End Micro Switch
unsigned long time;

void setup() {
pinMode(pin_DIR, OUTPUT); // set pin 3 to output
pinMode(pin_STEP, OUTPUT); // set pin 2 to output
pinMode(pin_MS1, OUTPUT); // set pin 13 to output
pinMode(pin_MS2, OUTPUT); // set pin 9 to output
pinMode(pin_SLEEP, OUTPUT); // set pin 12 to output
Serial.begin(9600); // open the serial connection at 9600bps
digitalWrite(pin_SLEEP, LOW); // Go to Sleep

pinMode(pin_TrackingEnd, INPUT);
int TrackingEndState = 0; // variable for reading the pushbutton status


Serial.println("Stepper Starting");
// How to call Stepping Routines. Needs all moving to Loop when Final
// Stepping(Direction,StepSpeed,Steps,Seconds);
// RewindStepping(Direction,StepSpeed,Steps);
// Direction == 1 Anti-Clockwise, == 0 Clockwise
// StepSpeed == 1 Eighth, = 2 == Quarter, 3 == Half, 4 == Full
// Stepping(1,4,2897,3590); // This is the current stepping data for my platform
Stepping(1,4,9,9);
delay (2000);
RewindStepping(0,4,2897);
Serial.println("Stepper Finished");
}

void Stepping(int pin_DIRection,int Step_Speed, double DoXSteps, double Step_Runtime) {
double StepRuntime;
double SteppyTimer;
int i;
int TrackingEndState;
if (pin_DIRection == 1)
{
digitalWrite(pin_DIR, HIGH);
Serial.println("Rotation: Anti-Clockwise");
}
else
{
digitalWrite(pin_DIR, LOW);
Serial.println("Rotation: Clockwise");
}
if (Step_Speed == 1)
{
digitalWrite(pin_MS1, HIGH);
digitalWrite(pin_MS2, HIGH);
DoXSteps = (DoXSteps * 8);
Serial.println("Step Speed: Eighth");
}
else if (Step_Speed == 2)
{
digitalWrite(pin_MS1, LOW);
digitalWrite(pin_MS2, HIGH);
DoXSteps = (DoXSteps * 4);
Serial.println("Step Speed: Quarter");
}
else if (Step_Speed == 3)
{
digitalWrite(pin_MS1, HIGH);
digitalWrite(pin_MS2, LOW);
DoXSteps = (DoXSteps * 2 );
Serial.println("Step Speed: Half");
}
else
{
digitalWrite(pin_MS1, LOW);
digitalWrite(pin_MS2, LOW);
Serial.println("Step Speed: Full");
}
////////////////////////////////////////
// MS1 MS2 Resolution //
// Low Low Full step //
// High Low Half step //
// Low High Quarter step //
// High High Eighth step //
////////////////////////////////////////
Serial.print("Do x Steps: ");
Serial.println(DoXSteps);
StepRuntime = ((Step_Runtime / DoXSteps) *1000);
Serial.print("Step Runtime:");
Serial.print(Step_Runtime);
Serial.println(" Seconds");
Serial.print("Stepper Delay:");
Serial.print(StepRuntime);
Serial.println("ms");
digitalWrite(pin_SLEEP, HIGH); // Wake Up
SteppyTimer = 0 - StepRuntime;
for(int i=0;i<DoXSteps;i++){
TrackingEndState = digitalRead(pin_TrackingEnd);
if (buttonState == HIGH) {
Serial.println("Button Pressed");
break;
}
Serial.print("Time: ");
time = millis();
SteppyTimer = SteppyTimer + StepRuntime;
Serial.print(time);
Serial.print("ms Combined Time:");
Serial.print(SteppyTimer);
Serial.print("ms Step:");
Serial.println(i);
digitalWrite(pin_STEP, LOW);
delayMicroseconds(1);
digitalWrite(pin_STEP, HIGH);
delayMicroseconds(1);
digitalWrite(pin_STEP, LOW);
delay (StepRuntime);
}
digitalWrite(pin_SLEEP, LOW); // Go to Sleep
}

void RewindStepping(int pin_DIRection,int Step_Speed, double DoXSteps) {
int i;
int MicroDelay;
Serial.println("Rewind");
if (pin_DIRection == 1)
{
digitalWrite(pin_DIR, HIGH);
Serial.println("Rotation: Anti-Clockwise");
}
else
{
digitalWrite(pin_DIR, LOW);
Serial.println("Rotation: Clockwise");
}
if (Step_Speed == 1)
{
digitalWrite(pin_MS1, HIGH);
digitalWrite(pin_MS2, HIGH);
DoXSteps = (DoXSteps * 8);
MicroDelay = 400 * 8;
Serial.println("Step Speed: Eighth");
}
else if (Step_Speed == 2)
{
digitalWrite(pin_MS1, LOW);
digitalWrite(pin_MS2, HIGH);
DoXSteps = (DoXSteps * 4);
MicroDelay = 400 * 4;
Serial.println("Step Speed: Quarter");
}
else if (Step_Speed == 3)
{
digitalWrite(pin_MS1, HIGH);
digitalWrite(pin_MS2, LOW);
DoXSteps = (DoXSteps * 2 );
MicroDelay = 400 * 2;
Serial.println("Step Speed: Half");
}
else
{
digitalWrite(pin_MS1, LOW);
digitalWrite(pin_MS2, LOW);
MicroDelay = 400 * 1;
Serial.println("Step Speed: Full");
}
////////////////////////////////////////
// MS1 MS2 Resolution //
// Low Low Full step //
// High Low Half step //
// Low High Quarter step //
// High High Eighth step //
////////////////////////////////////////
Serial.print("Do x Steps: ");
Serial.println(DoXSteps);
digitalWrite(pin_SLEEP, HIGH); // Wake Up
i = 0;
for(i=0;i<DoXSteps;i++){
digitalWrite(pin_STEP, LOW); // This LOW to HIGH change is what creates the "Rising Edge" so the easydriver knows to when to step.
digitalWrite(pin_STEP, HIGH);
delayMicroseconds(1200);
}
digitalWrite(pin_SLEEP, LOW); // Go to Sleep
}

void loop(){


}
Link to comment
Share on other sites

I have now finished with my spreadsheet and it's only down to physical testing of the platform when it's all finished to see it all my calculations were correct.

I am uploading the latest copy for future reference.

It has grown a bit and needs a bit more information to start with than I originally planed but this does take into account tracking information as well. Tracking is worked out on Sidereal Time, therefore the default 1 hour of 15deg tracking is in fact 1 Sidereal hour (3950.17 seconds) instead of the 3600 seconds of an Solar hour. I might as well be accurate :)

So, just fill in the Green cells to complete the calculations.

The cells with an orange background are important "informational" calculation, whereas the red background cells are the calculations that matter.

I will do a simple drawing later on to show where all the calculation go on the drawing but it's just the result of loads of trigonometry calculation working around the platform from point to point thus you can workout where on the platform certain contact points, entry and exit points are when drilling.

The only main default I have worked with is the 6cm depth of the reference plane under the top platform, this is necessary to workout the reference plane trigonometry (ie Segment centre line to south pivot centre line)

Any questions then ask me please.

Now I have started to cut out the North Segment support section to house my castor wheels and also my stepper motor but as luck would have it half way through the cut the battery dies on my circular saw so it's left in position while the battery is charged up.

eq_platformNsSp.xls

Link to comment
Share on other sites

this is top work Sean. I am taking a much simpler approach. making sure the N&S points are level and that the sagitta is high enough for my battery and the board large enough for my scope.

other than this the main thing I need to get right is the radius of the north segment.

will be interesting to see if my less techie approach works too!

Of course it will work Shane. Anyway there is always a tolerance on the radius and I suspect if it does not work correctly it will only be a small adjustment on the motor speed.

I have taken a short movie clip on my Ardunio circuit working on my desk to show the motor stepping and the micro limit switches

watch?v=B253VvHU-Hk

Link to comment
Share on other sites

very smart Sean

mine will be a manual version, I just need to loosen and tighten a grub screw at the end of each cycle. if I get bored doing this then I'll try and work on something like yours!

here's my back of a fag packet diagram which I'll upload to me own thread later with a further update. if you have any comments I'd welcome them.

circuit for EQP.pdf

Link to comment
Share on other sites

A little update as I have popped back into the house for a coffee.

I have built the motor housing for the the stepper motor to sit in, it's is basically 2 wedges either side of the motor with a filler piece in front and back.

The motor has a small rubber cap fitted over the metal shaft. I have considered a few things to use to create the platform motion from a lego rubber wheel to the same castor wheels I used for the support but will try this must simpler rubber cap method first as the other methods require extra work to make the wheel id's of the lego and castor the same size as the motor shaft. My spreadsheet posted yesterday has the shaft id as the dia of the rubber cap fitted to the shaft.

I have also created 2 thick wedges to sit my castor support wheels on, these are now screws onto the wedges.

Got to get my coffee and start tea for the wife and kids then plan to go out later on tonight to fix the motor housing and castor wheels to the bottom platform.

Link to comment
Share on other sites

Confession Time.

I messed up! I went to do the bottom platform, put my m12 threaded rod through the south pivot wedges and then set about to adjust for leveling the top with the bottom. I got it nice and level, calculated the distance between the bottom platform and the south pivot teflon washer (forms the main reference place to the centre line of the north segment) and then found out I had no room left on the bottom platform for the support wheel and motor at the segment end. Arrhhh! I had put the south pivot hole to far from the rear end. I had left enough room for the adjustable leg.

So, now I have had to whack the south pivot wedge off the platform and then move it right back and redrill the hole at 52deg. This time to allow room I am not putting the wedge back on but shall be using a M12 coupler nut to sit through the bottom platform thus allowing me to have a little extra room.

Link to comment
Share on other sites

What's really worse was I had already cut the bottom platform to length first else there would of been plenty of room in the first place Doh!

Anyway as I can not the Aurora and can only see Jupiter through the cloudy haze I have drilled a 22mm hole at 52deg through the bottom platform right up to where the adjustable leg will be and it is now being epoxied into place over night, once cured I then need to flip the bottom platform over and start the leveling again ready for the support washers.

Next time I night just buy a simple pivot ball joint like you Shane, would make life much easier.

Link to comment
Share on other sites

Went up to the big city lights of Birmingham yesterday morning on the train and whilst I was there I got the final bits for my Arduino circuit plus a ABS box to house it all in from Maplin.

Because of doing that trip yesterday, it has knocked me about a bit so I have done nothing today either but hope to do a bit tomorrow.

Link to comment
Share on other sites

Sean

What frame size is the stepper motor you are trying to drive and it's current rating?

Not sure if you have implemented a accel/deccel ramp in your code as I'm poor at C like languages (I was more an mc guy).

I know there is some sample s-curve code for the Arduino thoough which seems to work ok. I'm playing with the arduino too but for different applications and therefore I'm going to have to get better at C style coding.

Wayne...

Link to comment
Share on other sites

Sean

What frame size is the stepper motor you are trying to drive and it's current rating?

Not sure if you have implemented a accel/deccel ramp in your code as I'm poor at C like languages (I was more an mc guy).

I know there is some sample s-curve code for the Arduino thoough which seems to work ok. I'm playing with the arduino too but for different applications and therefore I'm going to have to get better at C style coding.

Wayne...

Wayne, when you say Frame size do you mean physical size, if so it's a NEMA 16 which is approx 40mm sq by 31mm high (exc shaft)

I have not put in any sort of acc/deacc curves into the code as when stepping it is a slow step (400 steps per revolution and only 7.2 revolutions for the whole hour). For the rewind I am doing the same steps but will do it in 1 minute but will judge the speed when the circuit is fixed and running on the platform.

C programming is very easy especially for the Arduino and if you get stuck there are loads of examples.

My next projects with an Arduino (I'm hooked) will be a focuser project, plus some form of telescope control (Az/Alt) project. This last one will also have additional sensors onboard to record temperature, humidity along with SD storage and the Ethernet shield so I can control the scope via a web browser.

Now onto an update.

The south pivot is all finished and the motor housing along with the segment support wheels are all currently glueing (wood adhesive) into place. Once dry later on tonight I shall see how it all looks. Currently the top and bottom platforms are level but there is a slight skew somewhere off the south pivot as the north segment fluctuates by 4 mm (when the top platform is moved along the rotational axis.

I will see better when the glue is dried though and then made any adjustments.

Link to comment
Share on other sites

Wayne, Whilst that might be true, however seeing that this is a 0.9deg stepper and not the normal 1.8deg stepper then I would be looking at 3200 steps per revolution and with that constant stepping the current usage would be considerably higher and thus drain the batteries quicker. I am not sure but until the scope is on board and the motor stepping I can still jack into it and alter to the stepping down but it all depends on the battery drain and I am only considering a 12v 4Ahr battery at the moment, of course I can go bigger and lump the 110Ahr battery on and that would last ages but it's a bug bear to lump around.

Link to comment
Share on other sites

Update:

The platform is finished (construction wise). There is a slight problem with the south pivot. Even though the angle is 52deg, it is not vertical when viewed head on, it is off a few degrees which makes the top platform level off centre though everything does rotate smoothly. The reason for the error is that when I hand drilled through the bottom platform and epoxied in the main coupler nut it was at the correct 52deg angle when view side on but I was off a few degrees when viewed head on.

It is therefore very difficult to make sure you are at the correct angle when hand drilling.

Anyway, I am now packing all the electronics into a plastic enclosure and will fit everything to the platform this afternoon hopefully and then give it a test run and see it the motor does step OK, though currently moving the platform by hand does turn the stepper motor and also the support wheels OK until nearing the end of platform arc movement when there is a bit of sloop due to the above error, so I am hoping for at least a min of 30min tracking and not a full hour as planned.

Link to comment
Share on other sites

99.99% Finished.

The platform is done and also the electronics are all fitted with the end of tracking limit switches.

I have put 30Kg weight on the platform and switched on the tracking and the platform runs smoothly. I won't know how smooth until I put the scope on and get a stella object in the viewfinder THEN we shall see how good the finished product is.

The only thing left to do is the black stain and varnish finish but this is left to last once all tweaks and mods are carried out after the first test.

The sky is currently clear but I don't have time as I have to take my mum to visit my dad who went into Hospital this morning for surgery. If I am back after 10pm and I feel up to it I will disassemble the platform in the Garage and take out to my Obsy and put the scope on and try as the next clear night could be weeks away.

Link to comment
Share on other sites

I have just put my platform into my Obsy and trying it out with the scope pointing at a telephone pole.

I have noticed a few problems, these are....

1) The platform is quite big now it's on the floor of my Obsy but is manageable.

2) The stepper motor is having real trouble stepping now the full 40Kg weight of the scope is on the platform. You can hear the steps but the pltform does not move. Either I need to replace the motor or move the motor to a different driving point on the platform.

Beware, it's not as easy as I first thought. I can see why the only commercial UK platform is £500

So, a few things to think about while I sulk indoors.

Link to comment
Share on other sites

How is the stepper motion transfered to the platform Sean?

If you can hear the stepper and there is no motion then the motor is stalled. This may be because it's rating is exceeded, the easydriver cannot supply enough current or ramping is required.

There are other issues with steppers but I've only mentioned the most common.

Wayne....

Link to comment
Share on other sites

How is the stepper motion transfered to the platform Sean?

If you can hear the stepper and there is no motion then the motor is stalled. This may be because it's rating is exceeded, the easydriver cannot supply enough current or ramping is required.

There are other issues with steppers but I've only mentioned the most common.

Wayne....

The north segment sits on the stepper shaft, the shaft has a rubber sleeve fitted over.

When the motor is stepping and I ease the weight off the shaft then the stepper goes round, when I let the weight on then it's tries but does not turn even though you can feel the step. I did take the OTA off and just left the rocker base on the platform then all is well and steps fine, so it's it a weight issue.

I am going to try and adjust the support wheels by 1 or 2 mm and get them to take a bit more weight.

Wayne, I shall also try adjusting the Easy Driver Current Limiter up to the full current load as it's currently mid way. The EasyDriver can allow 0.750mA per phase and the Stepper is 0.425 mA per phase so giving it a bit more current might help. Glad I stuck that heatsink and fan on the EasyDriver now.

Link to comment
Share on other sites

Hi Sean, i have been watching your post with great interest as it something i am planning to do, great work so far !!. is it possible to use a belt and pulley to a drive shaft to change the ratio to say 10:1 to ease the load on the stepper motor ? this is something i have decided on for my plans , this would also make it quite easy to take the tension off for quick returns to start position , great stuff so far !!! Tony

Link to comment
Share on other sites

Hi Sean, i have been watching your post with great interest as it something i am planning to do, great work so far !!. is it possible to use a belt and pulley to a drive shaft to change the ratio to say 10:1 to ease the load on the stepper motor ? this is something i have decided on for my plans , this would also make it quite easy to take the tension off for quick returns to start position , great stuff so far !!! Tony

Cheers Tony,

I did think about about a pulley system along with a few other types of driving the platform.

In the end I choose this way and I have failed miserably.

I have moved the support wheel blocks by 4mm in total towards the south pivot thus taking up a bit more of the weight when the scope goes back on.

I have also removed the motor and looking to replace it somewhere else where there is less strain and even put a small wheel just to drive (no weight support), lego wheels fit the 5mm shaft quite fine and the rubber wheels are quite soft and grippy so should do better than the rubber sleeved shaft.

If all else fails, then I might have a long play with pully or threaded rod method, my biggest concern is how the costs might rise with adding bits.

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.