Список форумов Форум @ BelAstro.Net Форум @ BelAstro.Net
Форум белорусской любительской астрономической сети
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   Администрация форумаАдминистрация форума   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Никакое притворство не поможет долго скрывать любовь, когда она есть, или изображать - когда ее нет. /Ф. Ларошфуко/

Пропуск шагов с DRV8825

зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегистрированные пользователи: Нет
На страницу Пред.  1, 2, 3, 4  След.
Начать новую тему   Ответить на тему    Список форумов Форум @ BelAstro.Net -> Электроника
Предыдущая тема :: Следующая тема  
Автор Сообщение
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Чт Июл 07, 2016 11:30    Заголовок сообщения: Ответить с цитатой

Сегодня вечером помучаю ее еще. Может в самом деле контакты паленые так попались. Хотя я к ним ничего кроме драйвера мотора не подключал.
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Чт Июл 07, 2016 20:53    Заголовок сообщения: Ответить с цитатой

Проблему нашел. Оказался банальный непропай . И непропай именно двух контактов - 5 и 10. Все нормально включается и работает.
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Site Admin Deimos
hv
Site Admin

Зарегистрирован: 10.07.2007

Сообщения: 6184
Благодарности: 75



Добавлено: Чт Июл 07, 2016 22:34    Заголовок сообщения: Ответить с цитатой

А преподнёс так, будто из ардуины они не вылезают... И отсёк варианты, когда предлагали это проверить.
_________________
Алексей

Профи-диванщик с опытом, есть диплом А4 в рамке.
Вернуться к началу
Deimos сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Пт Июл 08, 2016 10:21    Заголовок сообщения: Ответить с цитатой

Я ничего не отсекал. Проверил напряжения на контактах, прозвонил на всякий случай провода. Но такое совпадение с двумя триплетами контактов сбило с толку. И сразу проверить пайку не догадался. Тем более, что все контакты были канифолью залиты и огрехов видно не было. Отмыл канифоль и ужаснулся - куча раковин, три контакта практически без припоя. Я думал штыревые контакты луженые, а они какой-то дрянью покрыты и с канифолью очень плохо паяются. Пришлось паять с кислотой.
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
RadioAdmin Lupus
hv
RadioAdmin

Зарегистрирован: 10.07.2007

Сообщения: 4337
Благодарности: 100

Откуда: Minsk, Belarus

Добавлено: Пт Июл 08, 2016 22:16    Заголовок сообщения: Ответить с цитатой

Alexander писал(а):
Я думал штыревые контакты луженые, а они какой-то дрянью покрыты и с канифолью очень плохо паяются. Пришлось паять с кислотой.

Какие-то уж совсем китайские попались, у меня никогда проблем не было с ними -- канифоли хватало.

_________________
SOS
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
Вернуться к началу
Lupus сейчас оффлайн  Посмотреть профиль Отправить личное сообщение [hidden] Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Сб Июл 09, 2016 15:21    Заголовок сообщения: Ответить с цитатой

Lupus писал(а):
Alexander писал(а):
Я думал штыревые контакты луженые, а они какой-то дрянью покрыты и с канифолью очень плохо паяются. Пришлось паять с кислотой.

Какие-то уж совсем китайские попались, у меня никогда проблем не было с ними -- канифоли хватало.

Контакты шли в комплекте с платой. Цвет серебристый, но не луженые. Есть у меня контакты золотистого цвета и они паяются отлично.

Есть вопрос по поводу использования кнопок. Код, по идее, должен работать следующим образом:

1. Нет сигнала на аналоговом входе - мотор стоит.
2. При появлении короткого импульса на аналоговом входе мотор должен совершить один оборот и остановиться.
3. При постоянном сигнале на входе мотор должен непрерывно вращаться.

Пункты 1 и 3 работают, как и ожидается. А вот со вторым какая-то ерунда. Мотор делает не один, а около 16 оборотов и только потом останавливается. Если убрать условие "while" и добавить "exit" при окончании цикла, то мотор делает ровно один оборот.
Это особенность считывания сигналов платой или кривой код?

Код:
const int stepPin = 8;
const int dirPin = 9;
const int M1 = 5;
const int M2 = 6;
const int M3 = 7;
const int d10 = 10;
const int d11 = 11;
const int d12 = 12;
 
void setup() {
  pinMode(stepPin,OUTPUT);
  pinMode(dirPin,OUTPUT);
  pinMode(M1,OUTPUT);
  pinMode(M2,OUTPUT);
  pinMode(M3,OUTPUT);
  pinMode(d10,OUTPUT);
  pinMode(d11,OUTPUT);
  pinMode(d12,OUTPUT);
}
 
void loop() {
  while(digitalRead(14)==HIGH) {
  digitalWrite(dirPin,HIGH);
  digitalWrite(M1,HIGH);
  digitalWrite(M2,HIGH);
  digitalWrite(M3,HIGH);
  digitalWrite(d10,HIGH);
  digitalWrite(d11,HIGH);
  digitalWrite(d12,HIGH);
  for(int h = 0; h< 1; h++) {
  for(int x = 0; x < 6400; x++) {
    digitalWrite(stepPin,HIGH);
    delayMicroseconds(30);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(30);
  }
  }
  }
}

_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Site Admin Deimos
hv
Site Admin

Зарегистрирован: 10.07.2007

Сообщения: 6184
Благодарности: 75



Добавлено: Сб Июл 09, 2016 15:57    Заголовок сообщения: Ответить с цитатой

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

Код:

void setup()
{
  pinMode(pin, INPUT); // настроить на вход
  digitalWrite(pin, 1); // включить подтягивающий резистор
}

void loop()
{
  if (digitalRead(pin) == 0) // кнопка нажата
  {
    // сделать шаг
  }
}


Смотри в общем картинку, там понятнее должно быть Smile



scheme.png
 Описание:
 Размер файла:  11.8 KB
 Просмотрено:  7871 раз(а)
scheme.png


_________________
Алексей

Профи-диванщик с опытом, есть диплом А4 в рамке.
Вернуться к началу
Deimos сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Ветер
ЛА

Зарегистрирован: 21.08.2014

Сообщения: 1266
Благодарности: 132



Добавлено: Сб Июл 09, 2016 17:02    Заголовок сообщения: Ответить с цитатой

Если ориентироваться на встроенный резистор, тогда режим должен быть INPUT_PULLUP
Вернуться к началу
Ветер сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Сб Июл 09, 2016 17:04    Заголовок сообщения: Ответить с цитатой

Спасибо. Так срабатывает уже как и должен. Но появилась другая проблема - мотор самопроизвольно меняет направление вращения.
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Ветер
ЛА

Зарегистрирован: 21.08.2014

Сообщения: 1266
Благодарности: 132



Добавлено: Сб Июл 09, 2016 17:06    Заголовок сообщения: Ответить с цитатой

Мистика) А в каких случаях это происходит? Или абсолютно случайно?
Вернуться к началу
Ветер сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Сб Июл 09, 2016 17:08    Заголовок сообщения: Ответить с цитатой

Случайно. Может сделать пару оборотов в одном направлении, потом меняет и делает несколько в другом. Зависимости нет. Правда вместо кнопки я просто минусовой провод к контакту кратковременно подключаю. Может из-за дребезга такая ерунда.
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Site Admin Deimos
hv
Site Admin

Зарегистрирован: 10.07.2007

Сообщения: 6184
Благодарности: 75



Добавлено: Сб Июл 09, 2016 17:20    Заголовок сообщения: Ответить с цитатой

У тебя две кнопки за направление отвечают? Или одна за направление, вторая за включение-выключение?
_________________
Алексей

Профи-диванщик с опытом, есть диплом А4 в рамке.
Вернуться к началу
Deimos сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Сб Июл 09, 2016 17:23    Заголовок сообщения: Ответить с цитатой

Кнопка только одна, которая запускает цикл. Направление жестко задано в параметрах цикла.
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Site Admin Deimos
hv
Site Admin

Зарегистрирован: 10.07.2007

Сообщения: 6184
Благодарности: 75



Добавлено: Сб Июл 09, 2016 18:54    Заголовок сообщения: Ответить с цитатой

Похоже на дребезг. Можно вот как сделать:

Код:

bool isButtonPressed(int pin)
{
  if (digitalRead(pin) == 0)
  {
    delay(2);
    return digitalRead(pin) == 0;
  }
  return false;
}


Эта функция проверит, нажата ли кнопка, и если да, то остаётся ли она нажатой в течение 2 мс.
А можно посадить кнопку на пин 3 и повесить прерывания на кнопку: https://www.arduino.cc/en/Reference/AttachInterrupt

Ну и самое правильное решение - параллельно кнопке повесить конденсатор хотя бы на 10 000 пФ.

_________________
Алексей

Профи-диванщик с опытом, есть диплом А4 в рамке.
Вернуться к началу
Deimos сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Anton Dodonov
ЛА

Зарегистрирован: 11.01.2010

Сообщения: 182
Благодарности: 13

Откуда: г.Речица. Гомельская обл.

Добавлено: Ср Июл 13, 2016 17:30    Заголовок сообщения: Ответить с цитатой

А! Вот образовалась родственная моему занятию тема. Тоже сооружаю привод ведения на ардуино (только слегка своеобразный - та же плата одновременно управляет и фокусером). Я сразу вообще без step-dir драйвера управлял униполярными ШД, в полушаге, набором ключей uln2003A. Но это "от лукавого", конечно. А вот DRV8825 у меня работают вполне приемлемо и тихо. Каким напряжением их питали? Не могло ли быть просадок, а то у них от недонапруги мозги на бекрень съезжают, причем весьма разнообразными способами :))
_________________
PowerSeeker 70 EQ1, БПЦ 7х35, Canon EOS 550D (EF 50mm f/1,8; Porst super-tele 200mm f/3.5).
Вернуться к началу
Anton Dodonov сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Ср Июл 13, 2016 19:38    Заголовок сообщения: Ответить с цитатой

Напряжение 12 В. Вначале запитывал от компьютерного БП, сейчас стоит стабилизатор на LM2596. Просадок никаких нет. A4988 питается совершенно тем же и работает нормально.
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Pikrat
ЛА

Зарегистрирован: 14.07.2016

Сообщения: 4
Благодарности: 0



Добавлено: Чт Июл 14, 2016 12:48    Заголовок сообщения: Ответить с цитатой

Добрый день!
Alexander, Вам удалось решить проблему с пропуском шагов в микрошаге 1/16?
Я столкнулся с такой же проблемой на nema17+a4988+nano168. Только у меня шаговик не проскакивает пропущенные шаги на большей скорости, а просто останавливается на миг каждую секунду-две.
Вернуться к началу
Pikrat сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Чт Июл 14, 2016 13:33    Заголовок сообщения: Ответить с цитатой

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

_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Pikrat
ЛА

Зарегистрирован: 14.07.2016

Сообщения: 4
Благодарности: 0



Добавлено: Чт Июл 14, 2016 14:00    Заголовок сообщения: Ответить с цитатой

Мне рекомендовали подавать на драйвер 27В вместо 12В. Вы не пробовали так?

Последний раз редактировалось: Pikrat (Чт Июл 14, 2016 15:13), всего редактировалось 1 раз
Вернуться к началу
Pikrat сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Ветер
ЛА

Зарегистрирован: 21.08.2014

Сообщения: 1266
Благодарности: 132



Добавлено: Чт Июл 14, 2016 14:14    Заголовок сообщения: Ответить с цитатой

Напряжение можно поднять, хотя бы до 24В. А плавность хода регулировать подстроечником на плате драйвера. Для этого на вал мотора вешается стрелка, запускается прошивка с заметной скоростью вращения вала в микрошаге и крутится подстрочник с поглядыванием на стрелку
Вернуться к началу
Ветер сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум @ BelAstro.Net -> Электроника Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4  След.
Страница 3 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете вкладывать файлы
Вы можете скачивать файлы


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB