Київський клуб аматорів астрономії "Астрополіс"

astromagazin.net
* *
Ласкаво просимо, Гість. Будь ласка, увійдіть або зареєструйтеся.
19 Квітня 2024, 23:04:54

Увійти

google


Автор Тема: Еще одна "амбарка-не-амбарка"  (Прочитано 4267 раз)

0 Користувачів і 1 Гість дивляться цю тему.

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Еще одна "амбарка-не-амбарка"
« : 01 Серпня 2015, 19:24:07 »
. - .

Представляю на всеобщее обозрение еще одно устройство из серии "амбарок".
Хотя "амбаркой" это устройство можно назвать лишь с натяжкой, из-за наличия фанерных дощечек.
В основе устройства лежит шаговый двигатель, совмещенный с червячной передачей.
Когда я впервые увидел этот ШД на и-бее, то сразу определил его в "амбарку" :)
(Наверняка такой ШД можно бы применить и в более "достойном месте")
Такая штуковина встречается там очень редко, и зачастую ценник как-то неоправдано зашкаливает.
Но, я его купил по вполне приемлемой цене.
Парметры ШД: 200 ш/об, 5V, 1.4A
Передаточное число на ЧШ: 1:30
Полярная ось - это кусок 10мм-шпильки, пропущеный в верхней части через отверстие в ЧШ, и в нижней - через небольшой шарикоподшипник.
Штативная головка под фотоаппарат приклеена двухкомпонентным пластилиново-эпоксидным клеем.

Управляется это всё с помощью таких компонентов:
- Арифметико-логическое устройство: Arduino Nano 3.0
- Устройство ввода: ИК-приемник типа TSOP4438 и пульт Д/У от чего-то.
- Устройство вывода: дисплей OLED LCD I2C 0.96 IIC Serial 128X64
- Драйвер ШД: DRV8834 в режиме микрошага 1/32
- Управление длительными выдержками реализовано на оптроне PC123
- Питание: Б/П 5v 1A
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #1 : 01 Серпня 2015, 19:25:09 »
. - .

еще фото
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #2 : 01 Серпня 2015, 19:25:22 »
. - .

.
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #3 : 01 Серпня 2015, 19:25:50 »
. - .

ну очень красиво пропечатан ярлык...
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #4 : 01 Серпня 2015, 19:26:48 »
. - .

ну и скетч :
Код: [Select]
#include <EEPROM.h>

#include <OLED_I2C.h>
OLED  myOLED(SDA, SCL, 8);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];

#include <IRremote.h>
int RECV_PIN = 3;
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned key = 0;
bool series = false;

#include <TimerOne.h>
bool run_stepper = true;
int Step_pin = 13;
int Dir_pin = 12;
int Opto_pin = 11;
#define Def_Expo 10
unsigned int exposure, mem_expo;

//This function will write a 2 byte integer to the eeprom at the specified address and address + 1
void EEPROMWriteInt(int p_address, int p_value)
{
 byte lowByte = ((p_value >> 0) & 0xFF);
 byte highByte = ((p_value >> 8) & 0xFF);
 EEPROM.write(p_address, lowByte);
 EEPROM.write(p_address + 1, highByte);
}

//This function will read a 2 byte integer from the eeprom at the specified address and address + 1
unsigned int EEPROMReadInt(int p_address)
{
  byte lowByte = EEPROM.read(p_address);
  byte highByte = EEPROM.read(p_address + 1);
  return ((lowByte << 0) & 0xFF) + ((highByte << 8) & 0xFF00);
}

/* IR-controller */
#define STOP         1
#define START        2
#define ZOOM         3
#define STEPPER      4
#define BIG_PLUS     5
#define SMALL_MINUS  6
#define SMALL_PLUS   7
#define BIG_MINUS    8
#define SAVE         9
#define REV          10
#define FWD          11
#define NORM         12

int tmpRes = 0;
int
counter = 0;
const int mas[][3] = {
  {STOP,         379,   1328},
  {START,       1374,   3101},
  {ZOOM,        2764,   3714},
  {STEPPER,     1358,   2307},
  {BIG_PLUS,    2407,   3357},
  {SMALL_MINUS, 1419,   2368},
  {SMALL_PLUS,  1467,   2416},
  {BIG_MINUS,   2359,   3309},
  {SAVE,        2203,   3152},
  {REV,         2926,   1617},
  {FWD,         3338,   3208},
  {NORM,         140,   1450}
 


 
 
};

int getkey(void)
{
  int ind = 0;
  int res = 0;
  int ret = 0;
  if (irrecv.decode(&results)) {
    res = results.value >> 20;
    irrecv.resume();
    if (tmpRes != res) {
      tmpRes = res;
      counter++;
      for (ind=0; ind<12; ind++) {
        if (res == mas[ind][1] || res == mas[ind][2]) {
          ret = mas[ind][0];
          break;
        }
      }
      return ret;
    }
    else
      return 0;
  }
}

void setup() {
  exposure = EEPROMReadInt(0);
  if (exposure == 0) exposure = Def_Expo;
  mem_expo = exposure;
  irrecv.enableIRIn(); // Start the receiver
  myOLED.begin();
   
  pinMode(Step_pin,OUTPUT);
  pinMode(Dir_pin,OUTPUT);  digitalWrite(Dir_pin, 0);
  pinMode(Opto_pin,OUTPUT); digitalWrite(Opto_pin, 0); 
 
  Timer1.initialize(224375);
  Timer1.attachInterrupt(EventTimer); // run every 0,224375 sec 
 
  show_params();
}

void EventTimer()
{
  if (run_stepper)
    digitalWrite(Step_pin, !digitalRead(Step_pin));
}
     
void show_params()
{
  myOLED.clrScr();
  myOLED.setFont(SmallFont); 
  if (series) myOLED.print("EXPO SERIES", LEFT, 6); else myOLED.print("EXPO", LEFT, 6);
  myOLED.setFont(MediumNumbers); 
  myOLED.printNumI(exposure, RIGHT, 0);
  myOLED.update();   
}
       
void loop() {
  bool res = false;

  //show_params();

  key = getkey();
  if (key != 0) {
    if (key == STEPPER) {
      run_stepper = !run_stepper;
      myOLED.setFont(SmallFont); 
      if (run_stepper) myOLED.print("STEPPER RUN        ", LEFT, 30); else myOLED.print("STEPPER STOP        ", LEFT, 30);
      myOLED.update();               
      delay(1000);
      show_params();
    } 
    if (key == ZOOM) {
      series = !series;
      myOLED.setFont(SmallFont); 
      if (series) myOLED.print("SERIES ON           ", LEFT, 30); else myOLED.print("SERIES OFF          ", LEFT, 30);
      myOLED.update();               
      delay(1000);
      show_params();
    } 
    else
    if (key == BIG_PLUS || key == SMALL_PLUS || key == BIG_MINUS || key == SMALL_MINUS || key == SAVE) {
      switch (key) {
        case BIG_PLUS:    exposure += 10; break;
        case SMALL_PLUS:  exposure += 1;  break;
        case BIG_MINUS:   exposure -= 10; break;
        case SMALL_MINUS: exposure -= 1;  break;
        case SAVE:
          myOLED.setFont(SmallFont); 
          if (exposure != mem_expo) {
            mem_expo = exposure;
            EEPROMWriteInt(0, exposure);
            myOLED.print("NEW EXPO SAVED      ", LEFT, 30);
          }
          else {
            myOLED.print("EXPO WITHOUT CHANGES", LEFT, 30);
          }
          myOLED.update();               
          delay(2000);
          show_params();
          break;
      }     
      show_params();
    } else
    if (key == NORM || key == REV || key == FWD) {
      myOLED.setFont(SmallFont); 
      switch (key) {
        case NORM:
          digitalWrite(Dir_pin, 0);         
          Timer1.setPeriod(224375);
          myOLED.print("STAR TRACK SPEED    ", LEFT, 30);
          break;
        case REV: 
          digitalWrite(Dir_pin, 1);
          Timer1.setPeriod(1000); 
          myOLED.print("REVIND              ", LEFT, 30);
          break;
        case FWD: 
          digitalWrite(Dir_pin, 0);
          Timer1.setPeriod(1000);
          myOLED.print("FORWARD             ", LEFT, 30);
          break;
      } 
      myOLED.update();               
    } else
    if (key == START) {
      do {
        myOLED.clrScr();
        myOLED.setFont(SmallFont); 
        if (series) myOLED.print("EXPO SERIES", LEFT, 6); else myOLED.print("EXPO", LEFT, 6);
        myOLED.setFont(MediumNumbers); 
        myOLED.printNumI(exposure, RIGHT, 0);
        myOLED.update();   
        res = shutter_open();
        if (!res & series) {
          myOLED.setFont(SmallFont); 
          myOLED.print("NEXT IN 4 SEC      ", LEFT, 30);
          myOLED.update();               
          delay(1000);
          myOLED.print("                            ", LEFT, 38);
          myOLED.print("                            ", LEFT, 46);
          myOLED.print("                            ", LEFT, 54);
          myOLED.update();               
          delay(4000);
          show_params();
        }
        else
        {
          delay(1000);
          show_params();
        } 
      } 
      while (!res & series);
    }
  }     
  delay(400);
}

bool shutter_open() {
      bool r = false;
      myOLED.setFont(SmallFont); 
      myOLED.print("SHUTTER OPEN...", LEFT, 48);
      myOLED.update();   
     
      digitalWrite(Opto_pin, HIGH);
      for (int j=1; j<=exposure; j++) {
        delay(1000);
        myOLED.setFont(MediumNumbers);
        myOLED.printNumI(j, RIGHT, 42);
        myOLED.update();   
       
        key = getkey();
        if (key != 0) {
          if (key == STOP) {         
            myOLED.setFont(SmallFont); 
            myOLED.print("BREAK", LEFT, 30);
            myOLED.update();   
            digitalWrite(Opto_pin, LOW);
            delay(2000);
            r = true;
            break;
          }
        }   
      } 
      digitalWrite(Opto_pin, LOW);
      myOLED.setFont(SmallFont);
      myOLED.print("    STOPPED    ", LEFT, 48);
      myOLED.update();
      return r;
}
« Останнє редагування: 03 Серпня 2015, 07:23:05 від alex~ »
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #5 : 01 Серпня 2015, 19:32:16 »
. - .

выдержка 3 минуты
треккер был просто поставлен на подоконник и сориентирован на Юг, т.к. полярная у меня не видна.


(диафрагма 8.0, ISO 320, иначе все просто засвечено)
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #6 : 01 Серпня 2015, 19:33:01 »
. - .

тоже самое, только с остановленым ШД
Записаний


alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #7 : 01 Серпня 2015, 19:38:46 »
. - .

дело - за малым... 
за черным небом...  ;D
Записаний

Stalker

  • Offline Offline
  • Повідомлень: 1600
  • Подяк: 315
  • Всю жизнь я пытаюсь сделать ЮЛУП АНВОГ ЗИ
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #8 : 01 Серпня 2015, 19:47:11 »
. - .

Представляю на всеобщее обозрение еще одно устройство из серии "амбарок".
Хотя "амбаркой" это устройство можно назвать лишь с натяжкой, из-за наличия фанерных дощечек.
В основе устройства лежит шаговый двигатель, совмещенный с червячной передачей.
Когда я впервые увидел этот ШД на и-бее, то сразу определил его в "амбарку" :)
(Наверняка такой ШД можно бы применить и в более "достойном месте")
Такая штуковина встречается там очень редко, и зачастую ценник как-то неоправдано зашкаливает.
Но, я его купил по вполне приемлемой цене.
Парметры ШД: 200 ш/об, 5V, 1.4A
Передаточное число на ЧШ: 1:30
Полярная ось - это кусок 10мм-шпильки, пропущеный в верхней части через отверстие в ЧШ, и в нижней - через небольшой шарикоподшипник.
Штативная головка под фотоаппарат приклеена двухкомпонентным пластилиново-эпоксидным клеем.

Управляется это всё с помощью таких компонентов:
- Арифметико-логическое устройство: Arduino Nano 3.0
- Устройство ввода: ИК-приемник типа TSOP4438 и пульт Д/У от чего-то.
- Устройство вывода: дисплей OLED LCD I2C 0.96 IIC Serial 128X64
- Драйвер ШД: DRV8834 в режиме микрошага 1/32
- Управление длительными выдержками реализовано на оптроне PC123
- Питание: Б/П 5v 1A
Хороший моторчик :up:
У Саши Гонзы такой тягает ДОБ на платформе.
Записаний
"... Яд, мудрецом тебе предложенный, прими,
    Из рук же дурака не принимай бальзама." (Омар Хайям)

Berg

  • Offline Offline
  • Повідомлень: 90
  • Подяк: 23
  • верхогляд-любитель
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #9 : 01 Серпня 2015, 20:14:28 »
. - .

Представляю на всеобщее обозрение еще одно устройство из серии "амбарок".
Хотя "амбаркой" это устройство можно назвать лишь с натяжкой, из-за наличия фанерных дощечек.
Это уже не амбарка, т.к. приводится в движение червячным колесом. Да и амбарных петель у неё нет. Это скорее астротракер.
На тестовом снимке какой фокус?
Записаний
DeepSky 70400, DeepSky F70070,F30070M, ЗМ-5А, МАК-70, Sky-Watcher 705, Travel Scope 70, ТАЛ-120, DeepSky 90/700.

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #10 : 01 Серпня 2015, 20:17:19 »
. - .

27мм там

снимал и на 50мм, тоже нормально: вот 2 минуты, ISO 200, диафрагма примерно f/5.6
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #11 : 01 Серпня 2015, 20:25:34 »
. - .

5 минут,  27мм, f/8.0, ISO 250
Записаний

MAKsutik

  • Offline Offline
  • Повідомлень: 4715
  • Подяк: 256
  • Ищи на третьей планете.
    • Project EQDrive
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #12 : 01 Серпня 2015, 20:26:16 »
. - .

Отличная реализация задумки  :up:

Если взять ШД с планетарным редуктором 1:50 - 1:100 то конструкция получится еще компактней (то есть оказаться от ЧШ)
Записаний



alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #13 : 01 Серпня 2015, 20:27:56 »
. - .

5 min, f/16, iso 200, 27mm
Записаний

FarNgc

  • Offline Offline
  • Повідомлень: 537
  • Подяк: 42
  • ^_^y
    • Фликр
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #14 : 01 Серпня 2015, 21:10:15 »
. - .

 :up: :up: А насколько мм оптики хватит такого разрешения шаговика? Я аж требую фотки с более длинным фокусом))
Записаний
Подякували

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #15 : 01 Серпня 2015, 21:18:37 »
. - .

"Тикает"  каждые 0,44875 сек.
Отсюда можно посчитать: на сколько там чего-то проворачивается на небе и на матрице, перед которой стоит объектив с определенным фокусным.
Вроде как 6,75 "/шаг получается.
(на суточный оборот приходится 192000 шагов.)
На моей матрице (в X-E1) при фокусном объектива 100мм: угловой размер пикселя равен 9,9"

« Останнє редагування: 01 Серпня 2015, 21:32:43 від alex~ »
Записаний

FarNgc

  • Offline Offline
  • Повідомлень: 537
  • Подяк: 42
  • ^_^y
    • Фликр
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #16 : 01 Серпня 2015, 21:30:00 »
. - .

Нормально. А цена засекречена? Просто для прикинуть сколько оно стоит и стоит ли..
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #17 : 01 Серпня 2015, 21:33:23 »
. - .

нет не засекречена.
шаговик с доставкой мне обошелся в 40 у.е. примерно

Но тут вот цена зашкальная конечно же...  http://www.ebay.com/itm/221683696149  ;D
И это вообще-то Item condition: Used  :gigi:

« Останнє редагування: 01 Серпня 2015, 21:39:23 від alex~ »
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6021
  • Подяк: 285
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #18 : 01 Серпня 2015, 21:41:42 »
. - .

Там еще и такое есть за 325.
Что бы это значило - ума не приложу.
Записаний

MAKsutik

  • Offline Offline
  • Повідомлень: 4715
  • Подяк: 256
  • Ищи на третьей планете.
    • Project EQDrive
Re: Еще одна "амбарка-не-амбарка"
« Відповідь #19 : 01 Серпня 2015, 21:48:52 »
. - .

Там еще и такое есть за 325.
Что бы это значило - ума не приложу.
4я ось для фрезерного CNC станка.
Записаний