roboforum.ru

Технический форум по робототехнике.

Проблема экранирования?

Проблема экранирования?

Stiven » 11 ноя 2015, 23:58

Доброго время суток форумчане! Обращаюсь к вам от лица без часу двухдневного "Электроника".
Ввиду необходимости собрать "Крутилку для объектива", приобрел: Arduino Nano, драйвер A4988, джойстик и шаговый мотор.

Все соединил согласно прикрепленной ниже схемы, но столкнулся с нерешаемой для меня проблемой! Подключенный чудо-девайс к сети, словно требуя объятий отказывается вертеть мотор, пока я в прямом смысле не прикоснусь руками, либо к драйверу, либо к контроллеру.

Могу себе представить глубину моей глупости, но очень надеюсь на ваше снисхождение и разъяснение проблемы, ведь я ничего не понимаю в электронике :sorry:

Изображение
Последний раз редактировалось Stiven 13 ноя 2015, 18:57, всего редактировалось 1 раз.

Re: Arduino Nano + Драйвер А4988 + Джойстик + Шаговый мотор

Stiven » 13 ноя 2015, 18:47

Начинаю предполагать, что это проблема экранирования. Но как ее решить в данном случае?

Изображение

Re: Проблема экранирования?

Angel71 » 13 ноя 2015, 19:25

от чего питаете? может тока нехватает или на плате выкручено слишком низкое ограничение тока (не частите подстраивать, там подстроечный потенциометр, у них очень низкий ресурс). ну мультиметр в разрыв питания (у вас эт "20v") драйвера моторов и посмотрите сколько потребляет. ну и может провода слишком тонкие где и нужно на более толстые поменять.

Re: Проблема экранирования?

Stiven » 13 ноя 2015, 20:54

Angel71 писал(а):от чего питаете? может тока нехватает или на плате выкручено слишком низкое ограничение тока (не частите подстраивать, там подстроечный потенциометр, у них очень низкий ресурс). ну мультиметр в разрыв питания (у вас эт "20v") драйвера моторов и посмотрите сколько потребляет. ну и может провода слишком тонкие где и нужно на более толстые поменять.


1. Питание от зарядки под ноутбук (20V) - для запитки двигателя (подключая батарейку типа крона на 9v получал точно такой же результат)
2. Зарядка для мобильных телефонов (5V) - для запитки Ардуины (подключал ее и напрямую от микро ЮСБ через компьютер - точно такой же результат)
Следовательно с питанием должно быть все хорошо.
Потенциометр на драйвере я крутил всего лишь раз - результат тот же.
Провода преимущественно те, что продаются специально для пайки подобных схем. Есть еще чуть более тонкие но они медные. Не думаю, что дело в них.
Когда просто прикасаюсь к драйверу он начинает нормально крутить и работать так как нужно. При этом я ничего не придавливаю откуда можно было бы сделать ошибочный вывод о плохой пайке или вовсе отвалившихся контактах. Так же замечу, это второй мой драйвер в этой схеме, с первым была такая же ситуация. Отсюда можно сделать вывод что проблема не в драйвере.
Последний раз редактировалось Stiven 14 ноя 2015, 19:50, всего редактировалось 1 раз.

Re: Проблема экранирования?

Medtech » 13 ноя 2015, 21:11

Соединить два источника питания по земле, от этой точки двумя поводами соединить контроллер и драйвер.
У блока питания от ноутбука сетевой провод с заземляющим контактом? Как выполнена проводка в квартире? каким удлинителем всё это подключено?
Вы своей ёмкостью тела снимаете какие-то наводки, заземляете ваши устройства уровень помех снижается всё работает.

Re: Проблема экранирования?

Angel71 » 13 ноя 2015, 21:21

Stiven, если насос способен прокачивать 1000 литров в секунду, а у вас труда, через которую максимум литр в секунду пропустить можно, что будет, вы получите на выходе 10 литров в секунду? это только один момент. берите и внимательно перечитывайте написанное, может в данном случае что-то из этого. потом, может быть другие варианты подыматься будут.

Re: Проблема экранирования?

Stiven » 13 ноя 2015, 21:25

Medtech писал(а):Соединить два источника питания по земле, от этой точки двумя поводами соединить контроллер и драйвер.
У блока питания от ноутбука сетевой провод с заземляющим контактом? Как выполнена проводка в квартире? каким удлинителем всё это подключено?
Вы своей ёмкостью тела снимаете какие-то наводки, заземляете ваши устройства уровень помех снижается всё работает.

Я пробовал менять источник от блока питания (20v) на батарейку типа крона (9v) а Ардуино запитывать напрямую через ее встроенный мини юсб от компьютера - ситуация точно такая же!
Попробовал сейчас соединить минус обоих источников. Все то же самое :sorry:

Добавлено спустя 52 секунды:
Angel71 писал(а):Stiven, если насос способен прокачивать 1000 литров в секунду, а у вас труда, через которую максимум литр в секунду пропустить можно, что будет, вы получите на выходе 10 литров в секунду? это только один момент. берите и внимательно перечитывайте написанное, может в данном случае что-то из этого. потом, может быть другие варианты подыматься будут.

Я прокомментировал только то, что понял из ваших слов. Еще раз повторюсь я совсем новичек и многие вещи мне просто не понятны.

Re: Проблема экранирования?

Dmitry__ » 13 ноя 2015, 21:39

Ты пальцами делаешь подтяжку пинов к нужному уровню. Где залитый скетч? Смотри сигналы reset, enable и sleep, они не должны болтаться в воздухе, в том числе и программными настройками ардуины. вообще странный завод пинов reset и sleep в дуину, их обычно просто обьединяют. Вощем, показывай скетч в дуине...
вот похожая тема:
forum86/topic14992.html

Re: Проблема экранирования?

Stiven » 13 ноя 2015, 21:59

Dmitry__ писал(а):Ты пальцами делаешь подтяжку пинов к нужному уровню. Где залитый скетч? Смотри сигналы reset, enable и sleep, они не должны болтаться в воздухе, в том числе и программными настройками ардуины. вообще странный завод пинов reset и sleep в дуину, их обычно просто обьединяют. Вощем, показывай скетч в дуине...
вот похожая тема:
forum86/topic14992.html


Скетч я тестовый залил для проверки отклика двигателя. А свой дописал только на стадии работы с джойстиком

Тем не менее вот что сейчас в ардуинке:

Код: Выделить всёРазвернуть
const int stepPin = 11; 
const int dirPin = 12;

void setup() {
  // Sets the two pins as Outputs
  pinMode(stepPin,OUTPUT);
  pinMode(dirPin,OUTPUT);
}
void loop() {
  digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
  // Makes 200 pulses for making one full cycle rotation
  for(int x = 0; x < 200; x++) {
    digitalWrite(stepPin,HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(500);
  }
  delay(1000); // One second delay
 
  digitalWrite(dirPin,LOW); //Changes the rotations direction
  // Makes 400 pulses for making two full cycle rotation
  for(int x = 0; x < 400; x++) {
    digitalWrite(stepPin,HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(500);
  }
  delay(1000);
}

Re: Проблема экранирования?

Dmitry__ » 13 ноя 2015, 22:32

Stiven писал(а):Тем не менее вот что сейчас в ардуинке:

Ну? И чего ты хочешь? В скетче вообще не настраиваются пины sleep и reset:
Stiven писал(а):void setup() {
  // Sets the two pins as Outputs
  pinMode(stepPin,OUTPUT);
  pinMode(dirPin,OUTPUT);
}

Вот у тебя и уходит в слип при отсутствии пальцев на драйвере...

Re: Проблема экранирования?

Stiven » 13 ноя 2015, 22:51

Dmitry__ писал(а):
Stiven писал(а):Тем не менее вот что сейчас в ардуинке:

Ну? И чего ты хочешь? В скетче вообще не настраиваются пины sleep и reset:
Stiven писал(а):void setup() {
  // Sets the two pins as Outputs
  pinMode(stepPin,OUTPUT);
  pinMode(dirPin,OUTPUT);
}

Вот у тебя и уходит в слип при отсутствии пальцев на драйвере...

Огромное спасибо! Вы были действительно правы! Я механически замкнул SLEEP и RESET и все ЗАРАБОТАЛО! Еще раз спасибо! Теперь со спокойной душой сажусь за написание кода. :Yahoo!: :Yahoo!: :Yahoo!:

Re: Проблема экранирования?

Dmitry__ » 13 ноя 2015, 23:02

С тебя пиво :D

Re: Проблема экранирования?

Angel71 » 14 ноя 2015, 03:16

Stiven, если не знаете и не интересоваться, так и можете никогда и не узнать.

Re: Проблема экранирования?

Stiven » 14 ноя 2015, 19:47

Dmitry__ писал(а):С тебя пиво :D

Хах, еслиб я его пил :roll:

Добавлено спустя 8 минут 37 секунд:
Angel71 писал(а):Stiven, если не знаете и не интересоваться, так и можете никогда и не узнать.

Еще неделю назад я понятия не имел что такое контроллер, драйвер, шаговый двигатель и вообще программирование контроллеров.
Все с чем я пришел это: идея и полугодовой опыт в программировании на JavaScript и C#
Нашел информацию про Arduino, разобрался во всех типах приводов, купил паяльник, олово, тестер и все комплектующие.
Сейчас все работает именно так как я хочу: Две скорости, переключающиеся нажатием на джойстик и плавная ее регулировка + реверс.

Так что сказать что я не интересовался все это время - немного сложно :)

Ps
Если будет нужен код, могу скинуть.

Re: Проблема экранирования?

Angel71 » 14 ноя 2015, 21:10

очень трогательная история, только не по делу.


Rambler\'s Top100 Mail.ru counter