Астротрекер за два вечори

    Після прочитання статті про любительську астрономію я загорівся ідеєю познімати зірки за допомогою звичайної камери без телескопа. Стаття підказала ідею про астротрекери — пристрої для компенсації обертання зоряного неба на тривалих витримках.
 
 
 
Погуглити, я виявив що їх легко можна купити. Але от ціна кусалася. Наприклад, найдешевший Vixin Ploarie Star Tracker коштує від $ 400 + доствка. Та й вантажопідйомність його викликала сумніви. У перспективі я планував від ширококутного об'єктиву перейти і до 70-200/2.8 який разом з камерою важать під півтора кг.
 
У процесі пошуку виявилося що люди роблять собі так звані Barn Door трекери: раз , два і <a href="https://www.google.com/search?q=barn+door+track+mount&espv=2&source=lnms&tbm=isch&sa=X&ei=QdmpU5nbH63b7AbdzoGAAg&ved=0CAYQ_AUoAQ&biw=1536&bih=786">другие . Попросту кажучи — двері від сараю. Принцип дії простий — дві дошки з'єднаних дверним навісом. Один з них повертається з такою ж швидкістю як і земля навколо своєї осі. Вісь навісу направляетя на Полярну зірку. Нижня дошка ставиться на штатив, а на рухому половинку ставиться штативна голова з камерою.
 
Під катом багато картинок.
 
Я загорівся ідеєю зробити такий трекер самому. Бо без нього знімати можна тільки зіркові треки типу такого.
 
 
 
За прикидками для цього майже все було на руках. За основу вирішив брати цей трекер . Там же в описі є методики розрахунку основних параметрів.
 
Матеріалом для досточек був обраний 10мм МДФ т.к. був досвід його лазерного розкрою в майстерні. Матеріал дешевий, зручний. У плані надійності поки що говорити рано. Подивимося на дослідну експлуатацію.
 
Спершу в CAD-програмі я накреслив модель того що потрібно було зробити. Для цього довелося розрахувати радіус і швидкість обертання шпильки. За моїми прикидками радіус вийшов 182.85мм для шпильки М5 з кроком різьби 0.8мм і швидкістю обертання гайки 1 об / хв. Шпилька була обрана М5 як компроміс між міцністю і кроком різьблення.
 
 
 
 
 
Т.к. згодом хотілося познімати на 70-200/2.8 то довелося розраховувати яка кількість кроків двигуна потрібно робити в хвилину що б не було смаза в межах одного пікселя. Після всіх прикидок я зробив десятикратний запас для того що б похибки виготовлення конструкції не погіршили кардинально ситуацію.
 
 
Що б обертати гайку на шпильці в оригінальній конструкції застосували шестерінки. Але знайти шестерні за адекватні гроші так і не вийшло. Були Тольна на e-bay та й то по $ 10 + з доставкою на місяць. Тому шестерні вирішив теж різати лазером з МДФ або акрилу.
 
 
 
 
 
В якості двигуна використав кроковий китайський 28BYJ-48. Їх давно у мене лежало кілька штук, все хотів погратися. Коштують вони з платою-контролером менше $ 2 на ebay з доставкою. Харчується він від 5-12 вольт. Робить один оборот валу за 64 кроку. Також в ньому є редуктор з коефіцієнтами близьким до 63.68395:1. Таким чином, зовнішня вісь обертається за 2037 кроків у 4-шаговом режимі або 4075-кроків у 8-шаговом режимі. Крутний момент у нього не великий, але для цього завдання його більш ніж достатньо. В інтернеті пишуть що виходило домогтися від нього близько 15 об / хв але з підвищенням харчування до 12В. Я вирішив що мені вистачить 4 об / хв і зробив шестерінки із співвідношенням 4:1 що б за чотири оберти двигуна гайка на шпильці робила один оборот.
 
 
 
 
 
У магазині я купив дверний навіс з мінімальним люфтом. Його габарит і став шириною досточек. Там же купив шпильку. В іншому магазині набрав кріпильного матеріалу. На кріплення, МДФ з порізкою, петлю пішло близько 100 грн. ($ 8.3). На ebay замовив невелику кульову головку але поки що поставив звичайну від старого штатива.
 
У нижній половинці я зробив отвори для кріплення до знімною майданчику фотоголівка Manfrotto 804RC2 Коротя у мене була. Також зробив отвори для двигуна. Я передбачив коригування відстані між шестернями допомогою обертання двигуна навколо одного з монтажних отворів.
 
Коли я був задоволений чертежем, я відніс його на різання і приніс ось такі чудові але сильно пахнуть гаром деталі.
 
 
 
Шестерні вирізали і з акрилу і з МДФ. З акрилом вийшло погано, кінці зубів поплавились. Довелося обробити їх напилком. Суб'єктивно у МДФ хід вийшов м'якше. Але подивимося в бойових умовах.
 
 
 
Кріплення шестерінки до гайки дуже просте — отвір у формі шестигранника з мінімальним допуском. Акрил — 8мм. Якраз помістилося 2 гайки М5.
 
 
 
Для того що б точність ведення була вище, шпильку потрібно зігнути дугою. Це робиться так: друкуємо на принтері дві концентричні кола потрібного діаметру так що б їх краї були габаритом шпильки. І потихеньку гнемо її і постійно прикладаємо до шаблоном, перевіряємо. Гнути краще відразу всю шпильку (її довжина 1 метр) — так легше. Короткою — не зігнути акуратно руками. За 10 хвилин все було готово.
 
 
 
 
 
Зайве обрізаємо дремелем. Я залишив сегмент порядку 25 сантиметрів. Цього вистачить на більш ніж 5:00 ведення.
 
Збираємо всі разом:
 
 
 
Перевіряємо обертання на попередньо написаному скетчі для Ардуіно.
 
#include <AccelStepper.h>
#include <LiquidCrystal.h>

#define HALFSTEP 8
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
int adc_key_val[5] ={50, 200, 400, 600, 800 };

// Motor pin definitions
#define motorPin1  3     // IN1 on the ULN2003 driver 1
#define motorPin2  4     // IN2 on the ULN2003 driver 1
#define motorPin3  5     // IN3 on the ULN2003 driver 1
#define motorPin4  6     // IN4 on the ULN2003 driver 1

int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int isRun;
double speeds = 271.6;
int maxspeed = 1245;

AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

void setup() {
  lcd.clear(); 
  lcd.begin(16, 2);
  lcd.setCursor(0,0); 
  lcd.print("    Stopped     "); 
  lcd.setCursor(0,1); 
  lcd.print("Speed "); 
  lcd.print(speeds);
  lcd.print("   ");
  isRun = 0;

  stepper1.setMaxSpeed(maxspeed);
  stepper1.setSpeed(speeds);
}

void loop() {
  adc_key_in = analogRead(0);    // read the value from the sensor 
  key = get_key(adc_key_in);  // convert into key press
 
  if (key >= 0)   // if keypress is detected
   {
      if (key == 1) {
         speeds += 0.1;
         delay(50);
      }
      if (key == 2 && speeds > 0) {
         speeds -= 0.1;
         delay(50);
      }
      if (key == 0) {
         speeds += 10;
      }
      if (key == 3) {
         speeds -= 10;
      }
      if (speeds>maxspeed) {
         speeds = maxspeed;
      }
      if (speeds<-maxspeed) {
         speeds = -maxspeed;
      }
      if (key == 4) {
        isRun = 1 - isRun;
        lcd.setCursor(0,0); 
        if (isRun == 1) {
          lcd.print("+++ Running +++ ");
        } else {
          lcd.print("    Stopped     "); 
        }
        delay(250);
      }
      lcd.setCursor(0, 1);
      lcd.print("Speed "); 
      lcd.print(speeds);
      lcd.print("       ");
      stepper1.setSpeed(speeds);
      delay(50);
  }
  if (isRun == 1) {
    stepper1.runSpeed();
  }
}

int get_key(unsigned int input)
{
    int k;
    for (k = 0; k < NUM_KEYS; k++)
    {
      if (input < adc_key_val[k])
            return k;
    }
   
    if (k >= NUM_KEYS)
      k = -1;  // No valid key pressed
    return k;
}

 
Я використовував LCD Keypad Шилд що б було зручно підбирати швидкість обертання.
 
 
 
Є кпопка Старт / Стоп. Є інкремент / декремент по 25 кроків і по 0.1 кроці. Швидкість вимірюється в кроках в секунду. Розрахункова швидкість повинна бути 271.6 кроку в секунду. Але перевірити поки що не можу т.к. постійно йдуть дощі.
 
Загальний вид на конструкцію,
 
Тут дві Ардуін. Не звертайте уваги. Одна використовується як джерело живлення для двигуна.
 
Відео процесу роботи
  
Зараз погода стоїть огидна. Дощі. Як тільки зірки буде видно приступлю до тестування монтування в польових умовах.
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.