Вопрос про unl и шаговый двигатель

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

Здравсвуйте, совсем недавно стал изучать arduino и то что можно с ней сделать, и вот пришла дошла очередь до шагового мотора, почитав много информации я понял что для таких дел надо unl2003.

После покупки unl2003a стал с ним разбираться и вот тут мое понимание об этой схеме полностью пропало. Читая информацию я думал, unl2003a служит для того что подавать ток на определенную ногу, но в итоге ставя различные эксперементы я заметил, что она подает землю. Вот тут возникает первый вопрос как именно должна работать unl2003a и что именно должно выходить с 10-16 ноги земля или Ток с 9й? Если ток, то что именно я делаю неправильно или что немогу понять.

Дале задался вопросом с самим шаговым двигателем, у меня m35sp-8na с 4мя проводами, в гугле ненашел ниодной схемы подключения подобного двигателя, либо нашел то, что я не в силах пока понять. в качестве скетчка использовал данный код

//defining connections to L298N
int input1 = 4;
int input2 = 5;
int input3 = 6;
int input4 = 7;

void setup()
{
  pinMode(input1,OUTPUT);
  pinMode(input2,OUTPUT);
  pinMode(input3,OUTPUT);
  pinMode(input4,OUTPUT);
}

void loop()
{
//1st step
digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(10);  //small delay between each step of 10ms

//2nd step
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(10);

//3rd step
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
digitalWrite(input3,HIGH);
digitalWrite(input4,LOW);
delay(10);

//4th step

digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
digitalWrite(input3,HIGH);
digitalWrite(input4,LOW);
delay(10);
}

При подключении ардуино на прямую к шаговому я заметил что он пытается крутиться, но так как ток небольшой силы, то у него ничего не выходит, а подключание через UNL2003а результата недало, так как написал выше unl дает на ноги землю, возможно ли подключить данный двигатель через unl2003a? И если да то каким образом?

https://fb.docs.com/ZXAB Вот тут на странице 14 вроде как описан мой случай, но я не доконца понял как именно надо подключиться

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Дмитрий, unl2003 - это просто сборка из семи составных транзисторов. В её дадашите всё написано и как подключать, и какие у неё характеристики. Если Вы не знаете, как вообще подключается нагрузка через биполярный транзистор, погуглите - информации много.

Прямое подключение шаговика к ардуине - это круто! Ардуина уже в мусорном ведре? Или Вы пока ещё не заметили, что она умерла? 

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

Она работает,Думаю это не самое страшное что с ней было пока учился пользоваться.

Про подключение читал, и думал что понимаю что там написано, вот пример схемки (Знаю что светодиоды лучше подключать через резисторы) https://gyazo.com/adb120389ed0d23cc9b280033e87d074 Тут я хотел бы чтоб загорелся желтый светодиод, так как нагрузку подаю на него, но в итоге загорается красный, так и должно быть? или мои мысли все же правильнее

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

dmitryi_k пишет:

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

Жёлтый? А куда у него подключён анод (правая по рисунку нога?) Судя по Вашему рисунку - болтается в воздухе - не подключена ни к чему. И чего Вы от него ждёте?

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

8 пин - на общую землю
9 пин - на + источника питания нагрузки
1-7 пины управляющие, соединяются с цифровыми пинами ардуины
16-10 пины (именно в обратном порядке) нагрузки, управляемые 1-7 пинами соответсвенно

Нагрузки до 7 штук включаются катодом к пину (10-16), а анодом к + источника питания нагрузки. Вот и всё, управляйте на здоровье. 

 

 

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

ЕвгенийП пишет:

dmitryi_k пишет:

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

Жёлтый? А куда у него подключён анод (правая по рисунку нога?) Судя по Вашему рисунку - болтается в воздухе - не подключена ни к чему. И чего Вы от него ждёте?

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

Как именно подключить схему я понял, но как говорил выше на ногах 10-16 я ждал + для подключания анода, а выходит что они дают минус для катода? (Если так то все подключено сейчас верно, и с первом проблемой я разобрался)

Тогда сразу вытекает второй вопрос, возможно ли шаговый мотор который я привел выше подключить к ULN схеме? Чаще в интернете встречал подключение шаговых моторов с 5ю проводами, http://radio-gl.narod.ru/constr/auto/upr_shd/02.gif И с ним все просто, если верить данной схеме.

Для 4х проводных я видел схемы которые привел в первом сообщении( там подключение с unl но я его не понял) или такие http://2.bp.blogspot.com/-RasuMBgsHZU/TxmOebs4FeI/AAAAAAAAB8s/G6tPCYRcfRw/s1600/Stepper+Motor_bb.png Но тут используются другие схемы.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

На рисунке не нарисовано, что там минус.

unl - катодный драйвер для нагрузок в общим анодом. Так что подключайте соответственно

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

Вот данную схему я не могу разобрать как правильно подключать https://gyazo.com/4b0f1d1fa2766f0e3ca97a4ae2b3d18a Куда подключить 4 катода я понял, а вот аноды нет, так как они идут на одном проводе с катодом

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так он здесь биполярный шаговик. У него ...

Давайте так: рассуждайте таким образом: если на пине 16 0(относительно земли), а на пине 15 - напряжение питания, то на концах верхней обмотки имеем: на верхнем - напряжение питание, на нижнем - 0. Теперь поменяем и сделаем на 16 - напряжение питания, а на 15 - 0. Что на обмотке? На верхнемм конце - 0, а на нижнем - напряжение питания. Понимаете?

bwn
Offline
Зарегистрирован: 25.08.2014

В помощь ардуинщику

Хотя, там аналогичная схема((((

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

ЕвгенийП пишет:

Так он здесь биполярный шаговик. У него ...

Давайте так: рассуждайте таким образом: если на пине 16 0(относительно земли), а на пине 15 - напряжение питания, то на концах верхней обмотки имеем: на верхнем - напряжение питание, на нижнем - 0. Теперь поменяем и сделаем на 16 - напряжение питания, а на 15 - 0. Что на обмотке? На верхнемм конце - 0, а на нижнем - напряжение питания. Понимаете?

В теории да, но понять куда надо надо подвести + от питания не могу https://gyazo.com/2149e924e9452b9159a0cc80f1994b9a Вот схема, куда надо подвести + от питания, чтоб шаговый мотор стал крутиться?

uragan
Offline
Зарегистрирован: 23.02.2015

Если ШД униполярный - 5 выводов, то uln можно подключить. Если 4 вывода - ШД биполярный, uln не подключишь, потому что на выводах нужно менять полярности.

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

uragan пишет:

Если ШД униполярный - 5 выводов, то uln можно подключить. Если 4 вывода - ШД биполярный, uln не подключишь, потому что на выводах нужно менять полярности.

Спасибо за ответ, Получается данная схема неверная? https://gyazo.com/4b0f1d1fa2766f0e3ca97a4ae2b3d18a

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

uragan пишет:

Если ШД униполярный - 5 выводов, то uln можно подключить. Если 4 вывода - ШД биполярный, uln не подключишь, потому что на выводах нужно менять полярности.

Да, нет, посмотрите внимательно на ту схему. Там всё нормально - полярности на обмотках двигателя меняются без того, чтобы менялись полярности на ногах контроллера.

Всё там нормально с той схемой.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

dmitryi_k пишет:

В теории да, но понять куда надо надо подвести + от питания не могу https://gyazo.com/2149e924e9452b9159a0cc80f1994b9a Вот схема, куда надо подвести + от питания, чтоб шаговый мотор стал крутиться?

dmitryi_k,

Вы постоянно упираетесь в парадигму "Vcc - Ground". Здесь подключение не такое. Здесь просто создайтся разность потенциалов и она может быть в любую сторону.

Давайте, знаете как поступим. Начнём с более простого вещей. Посмотрим на два примера, а после второго примера, Вы вернётесь к мрему посту №7 и перечитаете его глядя на схему, которую Вы привели. Думаю, всё прояснится.

Первый пример. Самый обыкновенный светодиод можно подключить двумя спсобами:

1. Анодом к цифровому пину, и катодом к земле;
2. Анодом к Vcc, и катодом к цифровому пину;

В первом случае, чтобы он загорелся надо подать на пин HIGH. Образуется разность потенциалов между анодом и катодом и ток потечёт от пина к земле - светодиод загорится. Если подать на пин LOW - разности потенциалов между анодом и катодом не будет и ток не потечёт - светодиод не горит.

Во втором случае,  чтобы он загорелся надо подать на пин LOW. Образуется разность потенциалов между анодом и катодом и ток потечёт от Vcc к пину - светодиод загорится. Если подать на пин HIGH - разности потенциалов между анодом и катодом не будет и ток не потечёт - светодиод не горит.

Это точно понятно?

Теперь второй пример. Возьмём простейшее биполярное устройство. У вас есть двухцветный двуногий светодиод? Это такой светодиод, на который можно подать напряжение в одной полярности - он светится одним цветом, а если подать в другой полярности - он светится другим цветом. Как подключить его к контроллеру? Никакой вывод нельзя цеплять ни к Vcc, ни Gnd. Оба вывода надо соединить с цифровыми пинами (допустим с пинами 2 и 3).

Если подать на 2 HIGH, а на 3 - LOW, ток потечёт от второго пина к третьему и светодиод загорится одним цветом, а если подать на 2 - LOW, а на 3-й - HIGH, ток потечет от третьего пина ко второму и светодиод загорится другим цветом. А если на пины 2 и 3 подать одинаковые значения (неважно HIGH или LOW) то на выводах диода будут одинаковые потенциалы, ток не потечёт и он светиться не будет!

Вот это точно понятно?

Вот теперь, посмотрите на Вашу схему и прочитайте мой пост №7 внимательно. Там используется в точности такая же техника. На обмотке создаётся разность потецналов в зависмости от состояния пинов 15 и 16 uln'ки. При одном их состояни ток в обмотке течёт сверху вниз (по рисунку), при другом снизу вверх, а если на пинах 15 и 16 одно и тоже (не важно что) разности потенциалов на концах обмотки нет и ток через неё не течёт.

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

ЕвгенийП пишет:

dmitryi_k пишет:

В теории да, но понять куда надо надо подвести + от питания не могу https://gyazo.com/2149e924e9452b9159a0cc80f1994b9a Вот схема, куда надо подвести + от питания, чтоб шаговый мотор стал крутиться?

dmitryi_k,

Вы постоянно упираетесь в парадигму "Vcc - Ground". Здесь подключение не такое. Здесь просто создайтся разность потенциалов и она может быть в любую сторону.

Давайте, знаете как поступим. Начнём с более простого вещей. Посмотрим на два примера, а после второго примера, Вы вернётесь к мрему посту №7 и перечитаете его глядя на схему, которую Вы привели. Думаю, всё прояснится.

Первый пример. Самый обыкновенный светодиод можно подключить двумя спсобами:

1. Анодом к цифровому пину, и катодом к земле;
2. Анодом к Vcc, и катодом к цифровому пину;

В первом случае, чтобы он загорелся надо подать на пин HIGH. Образуется разность потенциалов между анодом и катодом и ток потечёт от пина к земле - светодиод загорится. Если подать на пин LOW - разности потенциалов между анодом и катодом не будет и ток не потечёт - светодиод не горит.

Во втором случае,  чтобы он загорелся надо подать на пин LOW. Образуется разность потенциалов между анодом и катодом и ток потечёт от Vcc к пину - светодиод загорится. Если подать на пин HIGH - разности потенциалов между анодом и катодом не будет и ток не потечёт - светодиод не горит.

Это точно понятно?

Теперь второй пример. Возьмём простейшее биполярное устройство. У вас есть двухцветный двуногий светодиод? Это такой светодиод, на который можно подать напряжение в одной полярности - он светится одним цветом, а если подать в другой полярности - он светится другим цветом. Как подключить его к контроллеру? Никакой вывод нельзя цеплять ни к Vcc, ни Gnd. Оба вывода надо соединить с цифровыми пинами (допустим с пинами 2 и 3).

Если подать на 2 HIGH, а на 3 - LOW, ток потечёт от второго пина к третьему и светодиод загорится одним цветом, а если подать на 2 - LOW, а на 3-й - HIGH, ток потечет от третьего пина ко второму и светодиод загорится другим цветом. А если на пины 2 и 3 подать одинаковые значения (неважно HIGH или LOW) то на выводах диода будут одинаковые потенциалы, ток не потечёт и он светиться не будет!

Вот это точно понятно?

Вот теперь, посмотрите на Вашу схему и прочитайте мой пост №7 внимательно. Там используется в точности такая же техника. На обмотке создаётся разность потецналов в зависмости от состояния пинов 15 и 16 uln'ки. При одном их состояни ток в обмотке течёт сверху вниз (по рисунку), при другом снизу вверх, а если на пинах 15 и 16 одно и тоже (не важно что) разности потенциалов на концах обмотки нет и ток через неё не течёт.

Если поставить между 15 и 16 ногами ULN светодиод он просто так не загориться https://gyazo.com/d846c9a287014fca7523f8513fd2f293 Что собственно и логично.
Если подать туда ток на ( 15 нога ULN ) То когда мы подаем HIGH на первую ногу то создается разница потенциалов и светодиод зарается https://gyazo.com/ca5db433237018d6a96dc490adac4161 (если светодиод заменить на 2 провода шагового двигателя, то можно ощущать что он тоже начинает крутиться). Но нам надо чтоб ток шел не только от 15 к 16 но и на оборот, и мне на ум приходит только подать и на 16 ногу uln ток https://gyazo.com/9fa41964e450982baa12de7a9758e38b Но в данном случае светодиод гореть перестает, так же как и шаговый моток хоть как то реагировать, этот момент мне и не понятен, как правильно нужно подать ток

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Подать ток невозможно.

Чтобы пошел ток, нужно подать разность потенциалов.

И объяснить это лучше, чем уже сделал ЕвгенийП, мне кажется, невозможно.

Не поленитесь прочитать его сообщение еще раз.

А если не поможет - то еще раз.

bwn
Offline
Зарегистрирован: 25.08.2014

dmitryi_k, вы посмотрите схему организации ULN, ЕвгенийП все описал очень подробно, при подаче HIGH-LOW на входы вы получите ваши условные VCC, GND на одних выходах, после инверсии сигналов на входах аналогично произойдет и с выходами.
МК работают в бинарной логике и имеют два активных состояния 0-1, HIGH-LOW, true-false. Никаких иных для общения с внешним миром не предусмотрено.
Если вернуться к двуногому светодиоду, то это два светодиода включенные встречно-параллельно. При потенциалах на ногах HIGH-LOW, ток течет через один, при LOW-HIGH через другой. При HIGH-HIGH или LOW-LOW никуда не течет, т.к. течь нечему. Аналогично произойдет и с вашими обмотками.
Отрешитесь от аналоговой техники и представляйте себе просто: GND это не минус (-), а ноль (0). Положительное питание это не плюс (+), а единица (1) и все выходы МК находятся в каком то одном из этих состояний.

uragan
Offline
Зарегистрирован: 23.02.2015

В преддоженой схеме, если я правильно понимаю, разность потенциалов получается за счет паразитных сопротивлений. Разве это есть хорошо?

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

Я очень пытаюсь понять смысл, но как то не могу(

Если взять в пример вот эту схему https://gyazo.com/d846c9a287014fca7523f8513fd2f293 И чередовать HIGH иLOW на 1 и 2 ноге ULN, то светодиод должен мигать?

bwn
Offline
Зарегистрирован: 25.08.2014

dmitryi_k пишет:

Я очень пытаюсь понять смысл, но как то не могу(

Если взять в пример вот эту схему https://gyazo.com/d846c9a287014fca7523f8513fd2f293 И чередовать HIGH иLOW на 1 и 2 ноге ULN, то светодиод должен мигать?

Подозреваю, что нет. ULN это ключи, открывающие проход к "0". Соответственно, один из выводов должен быть подключен к условной "1". На схеме мотора это сделано через токоограничивающие резисторы.
Кстати не путайте обмотку и диод. Диод пропускает ток только в одном направлении, обмотка в любом.

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

Вот именно это я и хочу понять, как правильно подключить условное "1"

bwn
Offline
Зарегистрирован: 25.08.2014

Для светодиода - катод к выходу ULN, анод через резистор к + питания.

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

Со светодиодом я разобрался, А вот с шаговым двигателем нет

bwn
Offline
Зарегистрирован: 25.08.2014

Для двигателя, перечитайте еще раз посты 6 и 7, глядя на схему.

dmitryi_k
Offline
Зарегистрирован: 12.12.2015

Скорее всего это понять пока не смогу, начну с униполярного мотора

bwn
Offline
Зарегистрирован: 25.08.2014

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