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

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

Увійти

google


Автор Тема: EQ2. привод по одной оси.. нужна помощь.  (Прочитано 9372 раз)

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

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #60 : 09 Квітня 2015, 23:57:06 »
. - .

можно (нужно!) адаптировать этот кусок - процедуру прерывания:
Код: [Select]
ISR(TIMER1_COMPA_vect)
{
  DEV_TIMER1.setOutputCompareA(newValue);  // This sets next interrupt timeout.
  digitalWrite(STEP_PIN, !digitalRead(STEP_PIN));     
}
вместо этой строки
digitalWrite(STEP_PIN, !digitalRead(STEP_PIN));     
поставить вывод в порт шаговика одного сигнала.
просто обеспечить, чтобы при кажлом входе в прерывание вывод был в нужный контакт шаговика
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #61 : 10 Квітня 2015, 00:06:55 »
. - .

примерно вот так:
Код: [Select]
// DEV_TIMER1 Output Compare A interrupt handler
int i = 0;
ISR(TIMER1_COMPA_vect)
{
  DEV_TIMER1.setOutputCompareA(newValue);  // This sets next interrupt timeout.
//  digitalWrite(Step_pin, !digitalRead(Step_pin));
  i++;
  if (i==12) i = 0;
  switch (i) {
    case 0:
      digitalWrite(motor11, HIGH);
      break;
    case 1:
      digitalWrite(motor11, HIGH); 
      break;
    case 2:
      digitalWrite(motor12, HIGH); 
      break;
    case 3:
      digitalWrite(motor11, LOW); 
      break;
    case 4:
      digitalWrite(motor12, HIGH); 
      break;
    case 5: 
      digitalWrite(motor13, HIGH);
      break;
    case 6: 
      digitalWrite(motor12, LOW);
      break;
    case 7:
      digitalWrite(motor13, HIGH);   
      break;
    case 8:
      digitalWrite(motor14, HIGH); 
      break;
    case 9:
      digitalWrite(motor14, HIGH); 
      break;
    case 10:
      digitalWrite(motor14, HIGH);   
      break;
    case 11:
      digitalWrite(motor13, LOW); 
      break;
  }
}
Записаний

wanowar

  • Offline Offline
  • Повідомлень: 184
  • Подяк: 36
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #62 : 10 Квітня 2015, 00:30:03 »
. - .

Короче, пора отвыкать от Delay() и пора переходить на таймерные прерывания!

Так я о чем  талдычу. Поигрались с задержками, пора осваивать и переходить на прерывания, и работать с таймерами/счетчиками. Намного удобней
« Останнє редагування: 10 Квітня 2015, 00:43:43 від wanowar »
Записаний

exez

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 1886
  • Подяк: 708
  • Астроманьяк
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #63 : 10 Квітня 2015, 00:32:22 »
. - .

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

M_M

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 5068
  • Подяк: 1094
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #64 : 10 Квітня 2015, 00:42:00 »
. - .

Работа с прерываниями имеет и недостатки. Например, ограниченная точность. Пляски с бубном при смене скорости, не считая некоторых особенностей поведения внутри прерывания, приоритетов и так далее. Новичкам не рекомендовал бы. Для конкретной задачи можно вполне обойтись без них.
Записаний

wanowar

  • Offline Offline
  • Повідомлень: 184
  • Подяк: 36
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #65 : 10 Квітня 2015, 00:58:59 »
. - .

Работа с прерываниями имеет и недостатки. Например, ограниченная точность. Пляски с бубном при смене скорости, не считая некоторых особенностей поведения внутри прерывания, приоритетов и так далее. Новичкам не рекомендовал бы. Для конкретной задачи можно вполне обойтись без них.
Для конкретной задачи да. Только для конкретной задачи можно было взять простенький, дешевый микроконтроллер, спаять простенькую плату, написать код прошить и все. И обошлось бы дешевле. С данной задачей  простенькая ATtiny бы справилась, а не ATMega328. Единственный минус в прошивке МК.
По поводу точности, не спорю, ограниченность 16-ю бит. Но этого вполне хватило бы.
« Останнє редагування: 10 Квітня 2015, 01:06:30 від wanowar »
Записаний

exez

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 1886
  • Подяк: 708
  • Астроманьяк
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #66 : 10 Квітня 2015, 01:12:11 »
. - .

ну в данный момент идет доработка.. установлен мотор на ось склонения.

переменные теперь выглядят так:

const int motor11 = 2;
const int motor12 = 3;
const int motor13 = 4;
const int motor14 = 5;

const int motor21 = 6;
const int motor22 = 7;
const int motor23 = 8;
const int motor24 = 9;

const int button10 = 10;
const int button11 = 11;
const int button12 = 12;


так как не хватает выодов приписал еще маленькую приблуду на А3:
  start:
  analog==0;
  analog = analogRead(3);
  if (analog>820&&analog<860) {
  goto label1;
  }
  if (analog>700&&analog<740) {
  goto label2;
  } 
  goto start;


и в данный момент разогреватся паяльник  :shuffle:

зы: а там хз что еще я захочу сюда повесить.. так что платка выбрана правильно имхо.
Записаний
чистого всем неба и длинных безлунных ночей...


M_M

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 5068
  • Подяк: 1094
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #67 : 10 Квітня 2015, 01:25:26 »
. - .

Attiny,  да. Можно и pic какой-то. Только там не хватает такой мелочи как легкость освоения. Искать комплектующие, паять, осваивать программатор, среду программирования... Ардуино хороша для quick start, для начинающих. Купил, включил, работаешь. И никакого паяльника с сопровождающим ароматом канифоли
Записаний

wanowar

  • Offline Offline
  • Повідомлень: 184
  • Подяк: 36
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #68 : 10 Квітня 2015, 01:58:38 »
. - .

Attiny,  да. Можно и pic какой-то. Только там не хватает такой мелочи как легкость освоения. Искать комплектующие, паять, осваивать программатор, среду программирования... Ардуино хороша для quick start, для начинающих. Купил, включил, работаешь. И никакого паяльника с сопровождающим ароматом канифоли
Можно и PIC. Это уже не столь важно. По поводу сложности, я бы не сказал. "Не так страшен черт, как его малюют". Я когда делал первые шаги, понятия не имел о программировании и электронике. Все что мне было известно, так это то что учили в школьном курсе физики 15-20 лет назад. Я не говорю что я профи, очень многого еще не знаю, но хоть теперь небольшое понятие имею что к чему.  Здесь важно желание и "волшебный пендель", а решения найти можно. Вот, exez, поставил себе задачу и потихоньку продвигается к решению.
Я к тому, что не стоит останавливаться на достигнутом. Иногда решение задачи приносит больше удовольствия чем результат ;)
Записаний
Подякували

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #69 : 10 Квітня 2015, 06:45:43 »
. - .

Иногда решение задачи приносит больше удовольствия чем результат ;)
Совершенно верно.
Записаний

M_M

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 5068
  • Подяк: 1094
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #70 : 10 Квітня 2015, 07:42:22 »
. - .

Все првильно. Не так страшен черт... Но с точки зрения получения быстрого результата ардуино может дать фору многим, гораздо лучшим с технической стороны поделкам. Мало того, цена на ардуино imho сильно завышена. Это если судить по стоимости самой платы. А получила популярность благодаря огромной работе по раскрутке, программной поддержке  и сопровождению своих изделий. По сравнимой цене, к примеру, можно приобрести гораздо более серьезное изделие из серии discovery от STM. И там можно достичь гораздо лучших результатов. Но... Для получения результата придется проштудировать существенно большее к-во литературы. И для простейшей программы "моргающий диод" нужно потратить не  минуты а часы илидаже дни. У начинающего может просто не хватить терпения и он сделает для себя вывод "это не для меня".
Ардуино в этом отношении - отличное средство борьбы со страхом перед сложностями программирования. Мост в мир современной электроники.
Записаний
Подякували

wanowar

  • Offline Offline
  • Повідомлень: 184
  • Подяк: 36
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #71 : 10 Квітня 2015, 11:59:54 »
. - .

Все првильно. Не так страшен черт... Но с точки зрения получения быстрого результата ардуино может дать фору многим, гораздо лучшим с технической стороны поделкам. Мало того, цена на ардуино imho сильно завышена. Это если судить по стоимости самой платы. А получила популярность благодаря огромной работе по раскрутке, программной поддержке  и сопровождению своих изделий. По сравнимой цене, к примеру, можно приобрести гораздо более серьезное изделие из серии discovery от STM. И там можно достичь гораздо лучших результатов. Но... Для получения результата придется проштудировать существенно большее к-во литературы. И для простейшей программы "моргающий диод" нужно потратить не  минуты а часы илидаже дни. У начинающего может просто не хватить терпения и он сделает для себя вывод "это не для меня".
Ардуино в этом отношении - отличное средство борьбы со страхом перед сложностями программирования. Мост в мир современной электроники.


STM пока еще не приобрел популярности, хотя по производительности и возможностям при своей цене даже превосходят МК Atmel и Microchip. Но пока еще остается проблема c учебными пособиями(на русском) для освоения STM
« Останнє редагування: 10 Квітня 2015, 12:04:42 від wanowar »
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #72 : 10 Квітня 2015, 15:00:41 »
. - .

Давайте отвлечемся на такой момент. Есть у меня вопрос по униполярным ШД.
Как определить "порядок фаз" в пятивыводном ШД ?
Если в интернете нет информации по данному ШД, то получается тольео метод тыка?
Взять, к примеру, шаговик Sankyo MSJC200B11. Подключил его через ULN2003.
Перебрал кучу комбинаций, пока он боль-мень закрутился.
Вот думаю, а может это не точная конфигурация подключения?
Или если делает 200 шагов на один оборот, то значит с проводками угадал и дальше не париться ?
В однофазном полном шаге как-то он слабенько момент держит на 12в.
В двуфазном полном шаге - уже получше.
В полушаге - примерно также.
 :shuffle:


Записаний

MAKsutik

  • Offline Offline
  • Повідомлень: 4715
  • Подяк: 256
  • Ищи на третьей планете.
    • Project EQDrive
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #73 : 10 Квітня 2015, 15:18:11 »
. - .

я делаю банально, беру БП общий ШД на один из контактов БП, остальные выводы ШД перебираю смотрю как крутится вал, пару минут и готово. для удобства стрелка с изоленты на вал ШД.
Записаний



M_M

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 5068
  • Подяк: 1094
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #74 : 10 Квітня 2015, 15:26:44 »
. - .

Пятивыводные шд есть двух типов. Униполяры и пентагоны. Отличить можно по сопротивлению обмоток. У пентагона сопротивления одинаковые между любыми выводами. Униполяр имеет центральный провод , с него сопротивление вдвое меньше чем между остальными. Порядок обмоток легко определяется экспериментально.
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #75 : 10 Квітня 2015, 15:27:41 »
. - .

так и я также делаю  только на шаговик идут импульсы и сразу видно: туда или не туда.
а сейчас попробовал с БП перебирать.. ну дернулся шаговик, а куда.. шуть его знает...
потыкал в той последовательности, в которой он сейчас крутится, тоже ничего не понятно, тут наверное еще и дребезг контактов мешает.

в общем - "метод тыка" наше всё.
так и запишем...  :)
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #76 : 10 Квітня 2015, 15:30:39 »
. - .

Пятивыводные шд есть двух типов. Униполяры и пентагоны. Отличить можно по сопротивлению обмоток. У пентагона сопротивления одинаковые между любыми выводами. Униполяр имеет центральный провод , с него сопротивление вдвое меньше чем между остальными. Порядок обмоток легко определяется экспериментально.
у меня именно такой. 
по 75.Ом с общего на любой другой.  Ну и по 150.Ом между остальными четырьмя.

а вот насчет "легко определяется экспериментально" - тут, пожалуйста, по подробней, если это не тот же "метод тыка".
 ::)
Записаний

M_M

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 5068
  • Подяк: 1094
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #77 : 10 Квітня 2015, 15:46:16 »
. - .

Да, метод тыка. Вариантов немного, точнее - всего три.  За пару минут все определяется. Можно даже без тыка. Если в схеме не крутится - меняем любые два соседних провода. Например, 2 и 3. Крутиться начнет. Возможно в противоположном ожидаемому направлении. Для смены направления меняем местами любую пару через один, например, 2 и 4.
Записаний

alex~

  • Offline Offline
  • Повідомлень: 6026
  • Подяк: 295
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #78 : 10 Квітня 2015, 15:47:54 »
. - .

я понял :)
думал: может есть какое тайное знание...
Записаний

MAKsutik

  • Offline Offline
  • Повідомлень: 4715
  • Подяк: 256
  • Ищи на третьей планете.
    • Project EQDrive
Re: EQ2. привод по одной оси.. нужна помощь.
« Відповідь #79 : 10 Квітня 2015, 15:57:18 »
. - .

так и я также делаю  только на шаговик идут импульсы и сразу видно: туда или не туда.
а сейчас попробовал с БП перебирать.. ну дернулся шаговик, а куда.. шуть его знает...
потыкал в той последовательности, в которой он сейчас крутится, тоже ничего не понятно, тут наверное еще и дребезг контактов мешает.

в общем - "метод тыка" наше всё.
так и запишем...  :)
смысл в том что подключая в нужной последовательности провода (4шт) заставить крутится ШД в одном направлении. И видно очень хорошо по валу шд со стрелкой
(конечно если он без редуктора) минута и вы накидали таблицу в голове подключения, красный,зеленый,синий,белый (к примеру) перебирая в такой последовательность вал мотора движется только в одну сторону, шаг за шагом. (если сделал шаг назад значит не тот провод фаза) начинаем с начала но уже на нужном шаге берем другой провод и смотрим пошло туда значит нужная фаза нет, значит сначала
Записаний