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

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

Увійти

google


Автор Тема: Помогите с моторизацией EQ2  (Прочитано 8085 раз)

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

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #160 : 27 Серпня 2015, 16:46:09 »
. - .

М_М, а на что влияет то, что я сейчас подаю не 10В а 9В? Я же могу подкрутить и до 10В, только батарейки будут быстрее разряжаться, так?
Записаний

Yvk

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 4931
  • Подяк: 476
    • Не адмін на деякий час
Re: Помогите с моторизацией EQ2
« Відповідь #161 : 27 Серпня 2015, 16:51:56 »
. - .

Имхо, если руку совсем не удержать, то это не дело.
Хотя, с вот этим текстом:
http://www.jangeox.be/2013/10/change-unipolar-28byj-48-to-bipolar.html
Цитувати
I'm using 9V on the motor in this test since windings are twice as long as in the original version. I guess you could go much higher than that, this thing never heated up in my test.
не стыкуется.  :hz:


Неплохо бы еще учесть, что на моторе как минимум почти на вольт напряжения меньше чем напряжение питания. Проще и правильнее прямо на обмотке мерять.

А еще мне помнится, весь этот цирк был затеян с целью подать на мотор 10 вольт амплитуды, для этого даже мотор переделывался. А для этого питание на вольт-два должно быть выше. Откуда и следовал совет о 12-вольтовом аккумуляторе.

При 7 вольтах на переделанном моторе тяга теоретически должна быть такая же как на 5 вольтах до переделки. Т.е. питание 8 вольт с цирком не дает никаких преимуществ по сравнению с оригинальным без цирка.

Раньше с uln2003 и 4.8В потерь разве никаких не было?
Записаний

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #162 : 27 Серпня 2015, 16:57:55 »
. - .

Имхо, если руку совсем не удержать, то это не дело.

руку я держу без болезненных ощущений, но это всего 10 мин, а работать он должен час, два, может и больше.
Записаний

Yvk

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 4931
  • Подяк: 476
    • Не адмін на деякий час
Re: Помогите с моторизацией EQ2
« Відповідь #163 : 27 Серпня 2015, 17:06:35 »
. - .

Тогда пусть поработает 15 или 20 минут. Если останется 50*С, то забить. :)
Записаний

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #164 : 27 Серпня 2015, 17:10:54 »
. - .

Тогда пусть поработает 15 или 20 минут. Если останется 50*С, то забить. :)
Я тоже так подумал, на крайняк есть же запасной движок :gigi:
Если погода не ухудшится, то планирую сегодня провести тестирование.
Записаний

M_M

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 5068
  • Подяк: 1094
Re: Помогите с моторизацией EQ2
« Відповідь #165 : 27 Серпня 2015, 17:14:49 »
. - .

По даташиту мотор может разогреться на 40 градусов, т.е. при комнатной 20 получим 60 на моторе. Это штатный режим. А работать будет ночью.

И я бы сильно не переживал. Моторы этого класса на уровне любых одноразовых товаров. При его стоимости можно спокойно играться. Сгорит, ну и ладно. При его то стоимости. У курильщиков на сигареты в месяц сколько уходит? А тут типичный учебный процесс. После него будет понятно что и как делать с нормальными шаговиками. Разница только в цене, весе, точности хода и долговечности.

При увеличении напряжения на двигателе, разряд батареек, ясное дело, ускорится. Закон сохранения энергии. Зависимость там квадратичная. Вдвое увеличиваем напряжение/ток нагрузки - вчетверо увеличивается ток от аккумулятора, вчетверо меньше времени проработает на одном заряде (точнее даже еще меньше, отсечка при большом токе произойдет раньше).

Цитата: Yvk link=topic=39267.msg490600#msg490600
Раньше с uln2003 и 4.8В потерь разве никаких не было?
[/quote

uln2003 это просто ключ. А тут имеем ключ с измерительными цепями и ШИМом. Плюс потери на преобразование Step-UP. Плюс потери емкости при большем рабочем токе аккумулятора. Плюс сложности настройки. Но вполне работоспособно и главное - выполняет свою общеобразовательную функцию. Она тут основная. Причем, почти задаром.

Записаний

Yvk

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 4931
  • Подяк: 476
    • Не адмін на деякий час
Re: Помогите с моторизацией EQ2
« Відповідь #166 : 27 Серпня 2015, 17:31:51 »
. - .

Цитата: Yvk link=topic=39267.msg490600#msg490600
Раньше с uln2003 и 4.8В потерь разве никаких не было?
uln2003 это просто ключ. А тут имеем ключ с измерительными цепями и ШИМом. Плюс потери на преобразование Step-UP. Плюс потери емкости при большем рабочем токе аккумулятора. Плюс сложности настройки. Но вполне работоспособно и главное - выполняет свою общеобразовательную функцию. Она тут основная. Причем, почти задаром.
При обмотке 100 Ом  на измерительном резисторе 0.1 Ом  много не должно упасть и ШИМ тут скорей всего не оказывает эффекта, т.к. ток никогда не превышает ток отсечки (могу ошибаться, но по даташиту вроде так получается).
Записаний


M_M

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 5068
  • Подяк: 1094
Re: Помогите с моторизацией EQ2
« Відповідь #167 : 27 Серпня 2015, 19:28:48 »
. - .

Yvk, вполне возможно, Вы правы.

Ключ + 0.1 ома - это почти ничего. Конкретный чип изучал по диагонали, возможно даже он допускает работу без ШИМа, в качество простого ключа.

Во многих чипах такого рода сработает защита по напряжению (защита от обрыва цепи), т.е. там работа ШИМ в качестве ключа невозможна. И с общеобразовательной точки зрения я бы не рекомендовал использование чипов в несвойственных для них режимах. Зачем нужен ШИМ, если достаточно ключа? А для работы ШИМа нужен небольшой избыток напряжения.

Можно еще поговорить о влиянии ВЧ составляющей ШИМа на нагрев движка. Но это только с осциллографом и вряд ли необходимо в данной теме.
Записаний

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #168 : 28 Серпня 2015, 12:44:29 »
. - .

Вот вчерашняя проба пера "https://dropmefiles.com/Oo22K".
Фотоаппарат был установлен на спину телескопа, фокусное 50мм, диафрагма менялась от 2 до 4, выдержки смотрите в свойствах. Условия паршивые, сильная облачность, Луна, первые фото сделаны с выставленной полярной осью наугад, полярной звезды даже видно не было, далее в процессе съемки полярная ось несколько раз подправлялась, естественно всё на глаз плюс минус трамвайная остановка. Файл 6743 без ведения, файлы 6747-6751 серия из пяти подряд снимков, были еще серии кажется по три снимка, но какие не вспомню. Стрелял туда где были просветы в облаках.
Что могу от себя сказать, выдержки 30с как по мне более-менее хороши, 60с уже не очень, более 60с плохо. Возможно если выставить полярную точнее ситуация улучшиться, но мне так же кажется нужно добавить возможность корректировать задержки между шагами.
Кто-нибудь допишите пожалуйста в скетч экран с кнопками и такой функционал на кнопки: кнопка select - старт/стоп движка, кнопки up/down - увеличить/уменьшить задержку соответственно.

Хотелось бы услышать комментарии по поводу снимков и способов повышения качества ведения.

P.S. Движок не сгорел, был теплым всё время работы.
Записаний

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #169 : 29 Серпня 2015, 12:11:43 »
. - .

Никто ничего не скажет, не подскажет? :(
Скетч надо бы довести до ума...  :shuffle:
Записаний

MAKsutik

  • Offline Offline
  • Повідомлень: 4715
  • Подяк: 256
  • Ищи на третьей планете.
    • Project EQDrive
Re: Помогите с моторизацией EQ2
« Відповідь #170 : 29 Серпня 2015, 12:19:34 »
. - .

Выложи хоть просто фото куда нить на ресурс а не архив 116 мБ. меня лично напрягает качать архив зная что там фото)))(сугубо мое имхо)
Записаний



CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #171 : 29 Серпня 2015, 12:29:30 »
. - .

Гружу на яндекс
« Останнє редагування: 29 Серпня 2015, 12:37:52 від CasterV »
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: Помогите с моторизацией EQ2
« Відповідь #172 : 29 Серпня 2015, 12:44:59 »
. - .

Скетч надо бы довести до ума...  :shuffle:
и где его искать ?
Записаний

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #173 : 29 Серпня 2015, 13:04:33 »
. - .

Вот, залил "https://fotki.yandex.ru/users/castervnoise/album/489622?".
Вчера еще немного пострелял минутными выдержками и с попытками более тщательного выставления полярной оси - стало немного лучше, чем в первый раз, но пока не хорошо, мне кажется монтировка маленько отстаёт от звезд, поэтому хочется возможность корректировки задержек.

 alex~, искать скетч который у меня залит? Сейчас выложу.
Записаний

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #174 : 29 Серпня 2015, 13:08:19 »
. - .

Вот скетч который сейчас крутит монтировку:

int dirPin = 3;
int stepperPin = 2;
void setup() {
 pinMode(dirPin, OUTPUT);
 pinMode(stepperPin, OUTPUT);
}
 void step(boolean dir,int steps){
 digitalWrite(dirPin,dir);
 delay(50);

while(true){
   digitalWrite(stepperPin, HIGH);
   delay(76);
   delayMicroseconds(590);
   digitalWrite(stepperPin, LOW);
   delay(76);
   delayMicroseconds(590);
 }
}
void loop(){
 step(false,1600);
 
}
Записаний

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #175 : 29 Серпня 2015, 13:13:46 »
. - .

Вот старый скетч, который крутил амбарку. Хотелось бы нечто похожее.

#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  2     // IN1 on the ULN2003 driver 1
#define motorPin2  3     // IN2 on the ULN2003 driver 1
#define motorPin3  11     // IN3 on the ULN2003 driver 1
#define motorPin4  12     // IN4 on the ULN2003 driver 1

int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int isRun;
int speeds = -326;
int maxspeed = 1000;

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;
  analogWrite(10, 5);

  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 += 1;
         delay(200);
      }
      if (key == 2)
      {
         speeds -= 1;
         delay(200);
      }
      if (key == 0)
      {
         speeds += 10;
         delay(200);
      }
      if (key == 3)
      {
         speeds -= 10;
         delay(200);
      }
      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 +++ ");
          //lcd.noDisplay();
         
        }
        else
        {
          //lcd.display();
          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;
}
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: Помогите с моторизацией EQ2
« Відповідь #176 : 29 Серпня 2015, 14:50:18 »
. - .

Довавлять что-либо в ваш текущий скетч... скажем так, не стОит...
Постоянно будете сталкиваться с корректировками задержек при добвлении кода.
Вот вам вариант на основе таймерного прерывания.
Это позволит полностью освободить основную процедуру main() для кастомных функций, таких как обработка нажатий клавиш, вывод на дисплей, тощо.
Довавил ваши куски кода из амарочного скетча: кнопки изменения скорости и кнопка старт-стоп.
Вроде должно работать сразу.  ;)
Пробуйте...

Код: [Select]
#include <TimerOne.h>

int NUM_KEYS = 5;
int adc_key_val[5] = {50, 200, 400, 600, 800};
int dirPin = 3;
int stepperPin = 2;
int motorPeriod = 76590;
int adc_key_in;
int key = -1;
int isRun = 0;

void setup() {
  pinMode(dirPin, OUTPUT);
  pinMode(stepperPin, OUTPUT);
  digitalWrite(dirPin, LOW);

  Timer1.initialize(motorPeriod);
  //Timer1.attachInterrupt(EventTimer);
}

void EventTimer()
{
  digitalWrite(stepperPin, !digitalRead(stepperPin));
}

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;
}

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)
      {
         motorPeriod += 1;
         Timer1.setPeriod(motorPeriod);
         delay(200);
      }
      if (key == 2)
      {
         motorPeriod -= 1;
         Timer1.setPeriod(motorPeriod);
         delay(200);
      }
      if (key == 0)
      {
         motorPeriod += 10;
         Timer1.setPeriod(motorPeriod);
         delay(200);
      }
      if (key == 3)
      {
         motorPeriod -= 10;
         Timer1.setPeriod(motorPeriod);
         delay(200);
      }
      if (key == 4)
      {
        isRun = 1 - isRun;
        if (isRun == 1)
          Timer1.attachInterrupt(EventTimer);
        else
          Timer1.detachInterrupt();
      } 
   }
}
Записаний
Подякували

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #177 : 29 Серпня 2015, 14:56:55 »
. - .

alex~, спасибо огромное, чуть позже попробую.
Записаний

CasterV

  • Offline Offline
  • Повідомлень: 223
  • Подяк: 8
Re: Помогите с моторизацией EQ2
« Відповідь #178 : 29 Серпня 2015, 18:06:58 »
. - .

 alex~, залил Ваш скетч, мотор крутится, но и визуально и на звук крутится примерно в два раза быстрее чем со старым тестовым скетчем. Старый скетч, как я думаю, крутил медленнее звездной скорости, но этот уж слишком быстро. Если ничего не помешает, сегодня опробую.

Можно ли мне добавить в void setup() такой кусок:
  lcd.clear();
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.print("    Stopped     ");
  lcd.setCursor(0,1);
  lcd.print("Speed ");
  lcd.print(motorPeriod);
  lcd.print("   ");
  analogWrite(10, 5);

а в void loop()  такое:

 if (key == 4)
      {
        isRun = 1 - isRun;
        if (isRun == 1)
        {
          Timer1.attachInterrupt(EventTimer);
          lcd.print("+++ Running +++ ");
         }
        else {
          Timer1.detachInterrupt();
          lcd.print("    Stopped     ");
          }
      }
      lcd.setCursor(0, 1);
      lcd.print("Speed ");
      lcd.print(motorPeriod);
      lcd.print("       ");

Не повлияют ли эти строки на точность ведения?
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: Помогите с моторизацией EQ2
« Відповідь #179 : 29 Серпня 2015, 18:20:08 »
. - .

Насчет скорости: наверное я неправильно задал это значение - int motorPeriod = 76590;, просто умножьте его на 2.
Этот код для обслуживания дисплея можно смело добавлять в скетч. Я думаю, что библиотека дисплейная не будет влиять на таймер№1.
В любом случае - проверка покажет.
В процедуре main() делайте всё что угодно... без оглядки на процедуру таймерного прерывания EventTimer().   
main() и EventTimer() - представляейте это как два паралельных процесса не мешающих друг другу.
Записаний