Jump to content

  •  

CNers have asked about a donation box for Cloudy Nights over the years, so here you go. Donation is not required by any means, so please enjoy your stay.

Photo

pier-tech 3 clone (video)

  • Please log in to reply
67 replies to this topic

#26 jodimccullough

jodimccullough

    Lift Off

  • *****
  • Posts: 10
  • Joined: 18 Sep 2007

Posted 14 October 2014 - 01:14 PM

Thanks, it is worth the risk. 



#27 prefetch

prefetch

    Viking 1

  • -----
  • topic starter
  • Posts: 742
  • Joined: 24 Apr 2013

Posted 15 October 2014 - 12:20 PM

video update:

 

https://www.youtube....h?v=DO561t7mI60

 

things to notice: 

 

- the weights and plate are 'floating' - they are not bolted down for this test

- it starts with a 0.1%-0.3% level reading

- the top stroke ends with a 0.1% level reading, indicating a 0.0%-0.2% differentiation

- in the middle of the down stroke there is a 1% differentiation between the posts, then they level out

- it ends with a 0.0%-0.2% differentiation from start

 

again, a warning:

USE THIS CODE, AND THE SUGGESTED SETUP AT YOUR OWN RISK.

WEIGHTS ARE HEAVY AND DANGEROUS AND CAN FALL AND HURT YOU AND YOUR STUFF.

LINEAR ACTUATORS ARE STRONG AND CAN PINCH AND HURT YOU AND YOUR STUFF.

ALL CODE HAS BUGS.  ELECTRONICS ARE FICKLE.

 

MOST OF ALL, BE SAFE AND HAVE FUN!

 

the code i'm using in "production" is here:

#include "DualVNH5019MotorShield.h"

DualVNH5019MotorShield md;

//these speed variables are the ones that you need to set yourself
//through experimentation based on your specific motors in your DL2.
const int upSpeedA = 360;
const int downSpeedA = -360;
const int upSpeedB = 378; // must be positive < 400
const int downSpeedB = -362;  // must be negative < -400

const int A = 0;
const int B = 1;
const int AB = 3;

const int NOSTOP = 0;
const int STOP = 1;

const int AUTO = 0;
const int MANUAL = 1;

const int UP = 0;
const int DOWN = 1;

const int downButtonPin = 3;
const int upButtonPin = 5;
const int automanPin = 11;

const int STEP = 10;

void stopIfFault()
{
  if (md.getM1Fault())
  {
    Serial.println("M1 fault");
    while(1);
  }
  if (md.getM2Fault())
  {
    Serial.println("M2 fault");
    while(1);
  }
}

void up(int motor, int msec = 0, int stopmotor = STOP) {
  int upspeed;
  if(motor == A) {
    upspeed = upSpeedA;
    Serial.print("A going UP.\n");
      if(stopmotor == NOSTOP) {
       Serial.print("  and not stopping.\n");
      }  
  }
  if(motor == B) {
    upspeed = upSpeedB;
    Serial.print("B going UP.\n");
      if(stopmotor == NOSTOP) {
       Serial.print("  and not stopping.\n");
      }
  }
  if(motor == AB) {
    if (upSpeedB <= upSpeedA) {
      upspeed = upSpeedA;
    } else {
      upspeed = upSpeedB;
    }
    Serial.print("A and B going UP.\n");
      if(stopmotor == NOSTOP) {
       Serial.print("  and not stopping.\n");
      }
  }

  for (int i = 0; i <= upspeed; i+=STEP)
  {
    if (motor == A) md.setM1Speed(i);
    if (motor == B) md.setM2Speed(i);
    if (motor == AB) {
      if (i <= upSpeedA) md.setM1Speed(i);
      if (i <= upSpeedB) md.setM2Speed(i);
    }
    stopIfFault();
    delay(2);
  }

  if (msec > 0) {
    Serial.print("delaying ");
    Serial.println(msec);
    delay(msec);
  }
  
  if (motor == A || motor == AB) {
    Serial.print("A current: ");
    Serial.println(md.getM1CurrentMilliamps());
  }  
  if (motor == B || motor == AB) {
    Serial.print("B current: ");
    Serial.println(md.getM2CurrentMilliamps());
  }
  if (stopmotor == STOP && motor == A) stop(A);
  if (stopmotor == STOP && motor == B) stop(B);
  if (stopmotor == STOP && motor == AB) stop(AB);
}

void down(int motor, int msec = 0, int stopmotor = STOP) {
  int downspeed;
  if(motor == A) {
    downspeed = downSpeedA;
    Serial.print("A going DOWN\n");
      if(stopmotor == NOSTOP) {
       Serial.print("  and not stopping.\n");
      }  
  }
  if(motor == B) {
    downspeed = downSpeedB;
    Serial.print("B going UP\n");
      if(stopmotor == NOSTOP) {
       Serial.print("  and not stopping.\n");
      }
  }
  if(motor == AB) {
    if (downSpeedB <= downSpeedA) {
      downspeed = downSpeedB;
    } else {
      downspeed = downSpeedA;
    }
    Serial.print("A and B going DOWN.\n");
      if(stopmotor == NOSTOP) {
       Serial.print("  and not stopping.\n");
      }
  }

  for (int i = 0; i >= downspeed; i-=STEP)
  {
    if (motor == A) md.setM1Speed(i);
    if (motor == B) md.setM2Speed(i);
    if (motor == AB) {
      if (i >= downSpeedA) md.setM1Speed(i);
      if (i >= downSpeedB) md.setM2Speed(i);
    }
    stopIfFault();
    delay(2);
  }

  if (msec > 0) {
    Serial.print("delaying ");
    Serial.println(msec);
    delay(msec);
  }
  
  if (motor == A || motor == AB) {
    Serial.print("A current: ");
    Serial.println(md.getM1CurrentMilliamps());
  }  
  if (motor == B || motor == AB) {
    Serial.print("B current: ");
    Serial.println(md.getM2CurrentMilliamps());
  }
  if (stopmotor == STOP && motor == A) stop(A);
  if (stopmotor == STOP && motor == B) stop(B);
  if (stopmotor == STOP && motor == AB) stop(AB);
}


void stop(int motor) {
  if(motor == A) {
    md.setM1Brake(0);
    Serial.print("stopping A\n");
  }
  if(motor == B) {
    md.setM2Brake(0);
    Serial.print("stopping B\n");
  }
  
  if(motor == AB) {
    md.setBrakes(0,0);
    Serial.print("stopping AB\n");
  }
}

int donealready = 0;

void manualMode() {
  int downButtonState;
  int upButtonState;
  
  while(1) {
    downButtonState = digitalRead(downButtonPin);
    if (downButtonState == HIGH) {
        Serial.print("downButton is pressed.\n");
        down(AB,5);
    }
    int upButtonState = digitalRead(upButtonPin);
    if (upButtonState == HIGH) {
        Serial.print("upButton is pressed.\n");
        up(AB,5);
    }
 }
}

// the time and downfactor are very sensitive variables 
// you must determine and set for your own setup.
const int time = 11850;
const float downfactor = 1.012;
const int MOMENT = 5;

void exerciseMode() {
  delay(60000);
  up(AB, 0, NOSTOP);
  delay(time);
  stop(AB);
  delay(60000);
  down(AB, 0, NOSTOP);
  delay(time*downfactor);
  stop(AB);
  delay(60000);
}
void setup()
{
  Serial.begin(115200);
  Serial.println("Dual VNH5019 Motor Shield starting in 3 seconds\n");
  pinMode(downButtonPin, INPUT);
  pinMode(upButtonPin, INPUT);
  pinMode(automanPin, INPUT);
  
  md.init();
  delay(3000);
}

int LANIK_STATE = -1;

void loop()
{    
  int automanualState = digitalRead(automanPin);
//  Serial.print("automanualState is: ");
//  Serial.println(automanualState);
  if (automanualState == AUTO) {  
    Serial.print(" which is AUTO\n");
  } else {
    Serial.print(" which is MANUAL\n");
  }
    
  int downButtonState = digitalRead(downButtonPin);
    if (downButtonState == HIGH) {
      if (automanualState == AUTO) {
        if (LANIK_STATE != DOWN) {
          down(AB, time*downfactor);
          LANIK_STATE = DOWN;
          Serial.print("DOWN for AUTO\n");
          delay(60000);  // this is to let the motors cool down between duty cycles.
        }
      } else {
        while (downButtonState == HIGH) {
          downButtonState = digitalRead(downButtonPin);
        down(AB, MOMENT, NOSTOP);
//          down(B, MOMENT, STOP);

          delay(100);
        }
        stop(AB);
      }
    }

  int upButtonState = digitalRead(upButtonPin);
    if (upButtonState == HIGH) {
      if (automanualState == AUTO) {
        if (LANIK_STATE != UP) {
          up(AB, time);
          LANIK_STATE = UP;
          Serial.print("UP for AUTO\n");
          delay(60000);  // this is to let the motors cool down between duty cycles.
        }
      } else {
        while (upButtonState == HIGH) {
          upButtonState = digitalRead(upButtonPin);
          up(AB, MOMENT, NOSTOP);
//          up(B, MOMENT, STOP);
          delay(100);
        }
        stop(AB);
      }
    }    
 //manualMode();
 //exerciseMode();
}



Edited by prefetch, 15 October 2014 - 12:21 PM.


#28 jodimccullough

jodimccullough

    Lift Off

  • *****
  • Posts: 10
  • Joined: 18 Sep 2007

Posted 15 October 2014 - 08:17 PM

Looks good.  Some of my stuff arrived today.  Looks like the level will be useful for leveling other scopes.  Piers are in the mail! 



#29 dmdouglass

dmdouglass

    Vanguard

  • *****
  • Posts: 2,022
  • Joined: 23 Dec 2007
  • Loc: Tempe, AZ

Posted 15 October 2014 - 09:35 PM

Cool video. Thanks for the update.

Now it time for you to finish up, and enjoy some clear skies !!



#30 prefetch

prefetch

    Viking 1

  • -----
  • topic starter
  • Posts: 742
  • Joined: 24 Apr 2013

Posted 15 October 2014 - 10:06 PM

cloudy tonight.  :-(

 

but i did mount up my DDM85 and C14HD. 

 

wow - it really put a load on the system.  

 

i had to increase my 'time' variable from 11.85 seconds to 14.5 seconds.

and i had to decrease my 'downfactor' from 1.012 to 0.75.  i guess gravity w/ that much wait trumps the motor.

 

also, with the full load now, the level stays at dead 0.0% up and down.



#31 BYoesle

BYoesle

    Fly Me to the Moon

  • *****
  • Posts: 7,247
  • Joined: 12 Jun 2004
  • Loc: Washington USA

Posted 16 October 2014 - 04:28 PM

Excellent results prefect  :jump:



#32 BYoesle

BYoesle

    Fly Me to the Moon

  • *****
  • Posts: 7,247
  • Joined: 12 Jun 2004
  • Loc: Washington USA

Posted 30 October 2014 - 12:12 PM

Just got my repaired DL2's back -- $0.75 for the part, $80 for the labor & testing (+ shipping).  So not too bad.  

 

These are newer DL2's with 1500 N push, vs the NOS with 1200 N.  In hindsight I would have just gone with the NOS. But this does it give me and additional ~130 lbs. (600N) of lifting capacity for a total of ~670 lbs. (3000 N), about double what I will be placing on them, so a good load cushion that hopefully won't overtax the system:

 

IMGP3360 crp adj sm.jpg

IMGP3361 crp adj sm.jpg

 

At least that's what I'm hoping  :praying:

 

I've ordered the parts previously listed by prefetch.  In the meantime I'm testing the current set up with a modification to account for the height differences using the existing CBD4 control box, and being sure to reset them after each lift -- requires pausing when they have stopped, and then pressing the "down" button for an additional 3-4 seconds, where the units make a slight "jog" a bit further down.

 

IMGP3359 crp adj sm.jpg

 

I've never played in this area before, so I may look to you guys for some additional guidance in configuring the system once the micro-controller parts arrive.

 

Also: I do have a lingering question about the Hall sensors - do you think this really is an issue?  It seemed like it might be kind of a proverbial 'red herring' in the beginning.  Would the aluminum housing encasing the columns be effective as the magnetic shielding material, or do I need to purchase the additional shielding as well?  Or does this become moot with the new micro-controller as proposed and developed by prefetch?


Edited by BYoesle, 30 October 2014 - 02:43 PM.


#33 prefetch

prefetch

    Viking 1

  • -----
  • topic starter
  • Posts: 742
  • Joined: 24 Apr 2013

Posted 01 November 2014 - 11:02 PM

bob,

 

from what i understand, the manufacturers say not to put two DL2 close together and run them in parallel, and i've assumed that it was because the hall sensors don't play well with each other when they are close together due to magnetic interference.

 

mine don't have hall sensors in them, so my micro-controller setup obviously doesn't require them or take advantage of any benefit they may provide, so i guess the hall sensor speculation is all academic for me.

 

btw, so far, everything seems to work reasonably well for my setup.  i've used it maybe a half dozen or so nights, and it seems to be okay, so i'm a happy camper.

 

if you haven't messed with electronics before, you may get stuck and frustrated, but i'll try to help if i can.  hopefully my terse instruction were adequate enough.  



#34 BYoesle

BYoesle

    Fly Me to the Moon

  • *****
  • Posts: 7,247
  • Joined: 12 Jun 2004
  • Loc: Washington USA

Posted 02 November 2014 - 10:27 AM

Thanks prefetch, I'll see how far I can get without smoke rising out of the circuit boards or my head!

 

Good to hear you've got good results.  I don't think the Hall sensors are the issue with column differential lift, as Linak told Steve Raymonds that this issue will arise regardless of the lift specs or when using a microporcessor control, and they didn't know what PT does to get good performance when the columns are located close together.

 

My parts are in the mail, and I've asked Steve to get me a quote on a second set of motor cables to modify for the project.



#35 saguaro

saguaro

    Apollo

  • *****
  • Posts: 1,029
  • Joined: 19 Apr 2012
  • Loc: Southern Arizona

Posted 28 February 2016 - 01:41 PM

Thanks prefetch, I'll see how far I can get without smoke rising out of the circuit boards or my head!

 

Good to hear you've got good results.  I don't think the Hall sensors are the issue with column differential lift, as Linak told Steve Raymonds that this issue will arise regardless of the lift specs or when using a microporcessor control, and they didn't know what PT does to get good performance when the columns are located close together.

 

My parts are in the mail, and I've asked Steve to get me a quote on a second set of motor cables to modify for the project.

Hi Bob,

 

Did you get your dual Linak columns working? It would be great if you could provide an update. Thanks.



#36 BYoesle

BYoesle

    Fly Me to the Moon

  • *****
  • Posts: 7,247
  • Joined: 12 Jun 2004
  • Loc: Washington USA

Posted 08 March 2016 - 11:01 AM

Not yet,

 

Another project has totally consumed my attention for the past year or so - getting a double stacked Coronado SM140 filter optimized with an internal SM90 double stacked on a CR6....

 

SM140 SM90 compare SM.jpg

 

Hopefully I will get back to the Linaks and MAD Observatory this spring/summer.   :waytogo:



#37 saguaro

saguaro

    Apollo

  • *****
  • Posts: 1,029
  • Joined: 19 Apr 2012
  • Loc: Southern Arizona

Posted 08 March 2016 - 11:11 AM

Prefetch,

 

I have the single Linak DL2 purchased from Steve Raymonds. It works great, but I can see in my future a mount with more capacity, so I'm looking at the possibility of the dual Linak columns. But I'm not technically expert enough to modify them myself, so I am looking for an off-the-shelf solution.

 

I have found this dual column table lift set which seems to fit the bill:

 

http://www.progressi....com/flt-03-2-2

 

Here is a video: https://youtu.be/5v4fiko5S-k

 

At rated capacity of 880 pounds of lift, that would be plenty for my purposes. The columns are made of aluminum. Also, the person I spoke with told me that the columns can be placed next to each other since there is no magnetic interference. And he said that the columns do operate simultaneously to a very close tolerance of .01 inches. I wonder if a deviation of .01 inches is small enough? Any other questions I should investigate?


  • Arun Mehta likes this

#38 jazle

jazle

    Vostok 1

  • -----
  • Posts: 158
  • Joined: 20 May 2010
  • Loc: California, USA

Posted 14 March 2016 - 02:53 PM

I'm finishing up my linak pier, but am using three DL4 columns configured as a tripod.  They are controlled by a CBD4.

The DL4's have the hall-effect sensors, but I found that each column still has its own idea of what it means to be extended by X".  They have a chain drive and I expect that each chain has it's own set of tolerances.

I actually bought a total of 8 columns off of various sellers on ebay.  Some columns had an unbalanced motor and had to be trashed.  The remaining six were tested together and I found three that tracked fairly well with each other.

Each end of the pier is a 1/2" steel plate with bolts that screw directly to the columns.  I haven't used any spacers, but my initial testing (putting my 250# self on top) hasn't shown any issues with the direct mounting. 

The mechanical moments of the columns should be able to keep up with any lifting capability of each column, so the columns would fail to lift before the connection broke.  Along those lines, if any column should fail to keep up, the other two should "pull" it along.  The only issue could be the hall effect sensors trying to be too ambitious, but so far, so good, knock on wood.

The CBD4 also has quite a bit of overload protection built in.  It's designed to stop a desk lift/lower if it detects an obstacle causing one of the columns to starting driving disproportionately.  So far, this protection hasn't kicked in.

I'll post pictures once everything is up and running.



#39 Raginar

Raginar

    Cosmos

  • *****
  • Posts: 9,821
  • Joined: 19 Oct 2010
  • Loc: Pensacola, FL

Posted 14 March 2016 - 05:25 PM

My DL2 has been operational for nearly 2 years. It had no issues lifting nearly 150# of telescope. I even had it wired into my roof controller to go up and down as the roof opened and closed.

These are good purchases.

#40 stmguy

stmguy

    Viking 1

  • *****
  • Posts: 511
  • Joined: 11 Oct 2012
  • Loc: Western NH

Posted 15 March 2016 - 10:09 AM

My DL2 has been operational for nearly 2 years. It had no issues lifting nearly 150# of telescope. I even had it wired into my roof controller to go up and down as the roof opened and closed.

These are good purchases.

 Did  you run your long dimension  N/S    on the lift ?   Looking at possibly doing this for my  GEM    10 inch  F4

 

Thanks

Norm



#41 Raginar

Raginar

    Cosmos

  • *****
  • Posts: 9,821
  • Joined: 19 Oct 2010
  • Loc: Pensacola, FL

Posted 15 March 2016 - 11:04 AM

I did. But not because I thought through it that much 😂.

#42 prefetch

prefetch

    Viking 1

  • -----
  • topic starter
  • Posts: 742
  • Joined: 24 Apr 2013

Posted 20 March 2016 - 11:57 PM

At rated capacity of 880 pounds of lift, that would be plenty for my purposes. The columns are made of aluminum. Also, the person I spoke with told me that the columns can be placed next to each other since there is no magnetic interference. And he said that the columns do operate simultaneously to a very close tolerance of .01 inches. I wonder if a deviation of .01 inches is small enough? Any other questions I should investigate?

 

saguaro,

 

looks like a good unit.  it'd be nice if it was more than 16" lift.  i seriously doubt that they operate within .01 inches together under a load, but who knows - maybe they do.  if they do, then yeah, you won't have any problems at all.  that's a super excellent level of tolerance.  even 10x that (ie. 0.1 inches) is still excellent.  they are also inexpensive which is nice.

 

i'd say go for it - a heck of a lot less complicated than what i built.  i've been running mine for over a year now, and no problems.


  • saguaro likes this

#43 saguaro

saguaro

    Apollo

  • *****
  • Posts: 1,029
  • Joined: 19 Apr 2012
  • Loc: Southern Arizona

Posted 16 April 2016 - 02:42 PM

 

At rated capacity of 880 pounds of lift, that would be plenty for my purposes. The columns are made of aluminum. Also, the person I spoke with told me that the columns can be placed next to each other since there is no magnetic interference. And he said that the columns do operate simultaneously to a very close tolerance of .01 inches. I wonder if a deviation of .01 inches is small enough? Any other questions I should investigate?

 

saguaro,

 

looks like a good unit.  it'd be nice if it was more than 16" lift.  i seriously doubt that they operate within .01 inches together under a load, but who knows - maybe they do.  if they do, then yeah, you won't have any problems at all.  that's a super excellent level of tolerance.  even 10x that (ie. 0.1 inches) is still excellent.  they are also inexpensive which is nice.

 

i'd say go for it - a heck of a lot less complicated than what i built.  i've been running mine for over a year now, and no problems.

 

 

Prefetch,

 

I'm now looking very closely at another set of lifting columns from the same company that offer up to 32 inches of lift. They are a pair of "three-stage" columns: http://www.progressi...ions.com/flt-07

 

I've spoken with the company that makes them and they said it would be no problem to attach the two columns right next to each other. Each column does have a "hall effect sensor" but they told me that there is no interference from one column's sensor to the others even if the columns are right next to each other. I am seriously considering them as an alternative to a Pier-Tech 3.



#44 saguaro

saguaro

    Apollo

  • *****
  • Posts: 1,029
  • Joined: 19 Apr 2012
  • Loc: Southern Arizona

Posted 18 April 2016 - 06:11 PM

OK, well someone has to be the guinea pig, and I guess it's me ;)

 

I have ordered this $745 lifting column set: http://www.progressi...ions.com/flt-07

 

From all my research, this appears to be the best "off the shelf" alternative to a $3800 Pier-Tech 3. Once we've received the columns and have had a chance to test them for simultaneous operation under load when positioned right next to each other, I will post an update to this thread.

 

The columns, at 24 inches, are just under 2-inches shorter when fully retracted than a Linak DL2 (25.8 inches). They have a 32-inch stroke, which is much more than I need, but since I never have to fully extend them if I don't want to, that's OK.



#45 Raginar

Raginar

    Cosmos

  • *****
  • Posts: 9,821
  • Joined: 19 Oct 2010
  • Loc: Pensacola, FL

Posted 20 April 2016 - 11:50 AM

Nice.  Can't wait to see how it goes.  What are you planning on putting on it?

 

Chris



#46 saguaro

saguaro

    Apollo

  • *****
  • Posts: 1,029
  • Joined: 19 Apr 2012
  • Loc: Southern Arizona

Posted 20 April 2016 - 12:36 PM

If the columns work as advertised, I plan to use them as the pier for my AP1600 mount (on order) and C-14 Edge OTA.



#47 saguaro

saguaro

    Apollo

  • *****
  • Posts: 1,029
  • Joined: 19 Apr 2012
  • Loc: Southern Arizona

Posted 30 April 2016 - 04:28 PM

Initial tests to determine if the dual lifting columns we purchased (shown here: http://www.progressi...ions.com/flt-07) operate as expected are very encouraging. We first wanted to test if the columns operated simultaneously under load when positioned within 2-inches of each other. We bolted the bottom of the columns to a 12-inch steel plate in a corner of our garage. The steel bottom plate is bolted down to the concrete floor. We then put another 12-inch steel plate on top of the columns, but did not attach it (left it "floating"). We then loaded about 136 pounds of steel plate on top to act as a "test" load. The height of the two columns remained within 1/16-inch of each other throughout the entire stroke length. This equates to .06-inches of height difference, which is great. I will start a new thread when we have done further testing and post all the results in that new thread.

 

IMG_0203.JPG

 

 



#48 Raginar

Raginar

    Cosmos

  • *****
  • Posts: 9,821
  • Joined: 19 Oct 2010
  • Loc: Pensacola, FL

Posted 30 April 2016 - 06:50 PM

Wow! That's super cool 😊
  • saguaro likes this

#49 KennFromTX

KennFromTX

    Mariner 2

  • *****
  • Posts: 247
  • Joined: 22 Jun 2015
  • Loc: Pharr Texas

Posted 27 December 2016 - 09:01 AM

Very interesting, thanks for the thread!!



#50 jodimccullough

jodimccullough

    Lift Off

  • *****
  • Posts: 10
  • Joined: 18 Sep 2007

Posted 30 April 2017 - 10:00 PM

I have been waiting for a scope that is arriving soon.  I have purchase the double piers and have a son with a degree in electrical engineering so I think I can get the system built.  My question is, how stable is the double lift for imaging purposes?  Has anyone tried that?  I am a bit nervous that the system might fail and my scope fall.  Not sure I want to build this.  How concerned should I be?




CNers have asked about a donation box for Cloudy Nights over the years, so here you go. Donation is not required by any means, so please enjoy your stay.


Recent Topics






Cloudy Nights LLC
Cloudy Nights Sponsor: Astronomics