Страница 1 из 2

COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Чт июл 31, 2014 18:22:22
BaNru
Нужна помощь по элементарному вопросу.
Я в электроники полный нуб (дилетант), только знаю про плюс и минус, и если их соединить - будет замыкание
При этом я не ищу сложных путей :)

Задача изначально запустить шаговый двигатель 28BYJ-48-5V с ULN2003: по сигналу с компа - 1 шаг.
Сигнал желательно должен посылаться из под Linux. Ну в самый край Windows.
На компе нету LPT или COM.

По первому совету был куплен USB->COM. Хотел взять USB->COM->LPT, но не было в наличие
А также, для себя PL2303 Serial Port

Как оказалось потом - на COM только 3 выхода, а надо 4. Поэтому мне посоветовали, не без моей настойчивости, десятичный счетчик к176ие8/cd4017a. Я купил К561ИЕ8.

Что в итоге имеется:
USB->COM
PL2303
К561ИЕ8
ULN2003
28BYJ-48-5V

Задача заставить по сигналу с компа крутиться моторчик.
СпойлерИзображение
Изображение
Изображение
Что сделано:
При прямом питание ULN2003 от PL2303 и тыканье data+ в ножки 1-4 на ULN2003 по очереди - движок шагает. (ох как я долго только к этому шел)

Стоит обратить внимание, что Data+ имеет постоянный сигнал (напряжение).
Из командной строки у меня получилось слать байты, лампочка на ULN2003 начинает моргать. Только не полноценно - при подаче сигнала он тусклее горит (моргает!). При чем посылка сигнала "0000000000" визуально отличается от "1111111111", последний более плавное моргание делает, менее прерывистое. (если надо - выложу видео)

Может кому пригодиться как я дошел до такой жизни этого
Имеется xUbuntu
1) ищем наше устройство, введя в терминале lsusb

Код: Выделить всё

Bus 003 Device 011: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Тут нам надо будет скопировать ID
2) Можно узнать после более подробную информацию

Код: Выделить всё

lsusb -v -d 067b:2303
3) Прописываем устройство (vendor и product берем из ID)

Код: Выделить всё

sudo modprobe usbserial vendor=0x067b product=0x2303 
4) Меняем права доступа для более удобной последующей работы с устроством

Код: Выделить всё

sudo chmod 777 /dev/ttyUSB0
5) Посылаем сигналы

Код: Выделить всё

echo "1010101010" > /dev/ttyUSB0
6) Снижаем скорость до минимума

Код: Выделить всё

stty -F /dev/ttyUSB0 300
Подключил в цепь счетчик (надеюсь я правильно понял по картинке и верх - это где на чипе ямка?) (всё питается от PL2303)
На Vdd(16) пустил 5+
На Vss(8) - земля
Ножки Q5(1), Q1(2), Q0(3), Q2(4) пустил на ULN2003 ножки 1-4
На Clock(14) пустил с PL2303 Data+

По началу, пока подключал - сигналы пробивались, некоторые индикаторы на ULN2003 горели (то все, то не все, то ярко, то бледно), я грешил на плохой контакт и "теребил" контакты, поэтому пробивало, Data+ не был ещё подключен. Вопрос промежуточный - мог ли я так спалить счетчик (он не грелся)?
Теперь тишина вообще. Можно ли как-то по быстрому проверить его?
Сейчас ни чего не пробивается и любые посылка на PL2303 ни к чему не приводят

Ну и основной вопрос: что делать дальше, как заставить шагать двигатель из всего этого набора?

Расматривается уже и такой вариант:
Так как с data+ идёт постоянный сигнал, можно уже и просто смыканием цепи руками сделать подачу сигнала на шаг.
Если не будет простых решений, то может просто запитаю 4 кнопки. Но не хотелось бы.

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

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Пт авг 01, 2014 20:04:45
kalobyte
тебе нужен проект littlewire в режиме гпио
а для двигателя нужна специальная мс - драйвер шагового двигателя

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Пт авг 01, 2014 23:34:12
BaNru
У меня получится посылать сигналы на отдельные выводы (pin'ы) у littlewire и на них нет постоянного напряжения?
гпио
Гугл подсказывает: "геодезическая и проектно-изыскательская организация"
мс - драйвер
Майкрософт драйвер?!

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Сб авг 02, 2014 17:31:21
kalobyte
BaNru писал(а):У меня получится посылать сигналы на отдельные выводы (pin'ы) у littlewire
ну да, он для этого и задуман, чтобы на 4 вывода посылать сигналы
BaNru писал(а):и на них нет постоянного напряжения?
в смысле? :roll:
BaNru писал(а):угл подсказывает: "геодезическая и проектно-изыскательская организация"
посмотри внимательно проект и все поймеш
тебе нужен режим гпио, там он может работать в разных режимах
если лень плату делать и программировать мк, то вот есть набор https://www.olimex.com/Products/Duino/A ... e-hardware
недавно видел их за 5 баксов, но разобрали уже и вот только такие есть
BaNru писал(а):Майкрософт драйвер?!
:facepalm: драйвер двигателя, у которого есть 2 входа - куда крутить и как быстро
на второй и подаеш импульсы
каждый импульс будет один шаг
например вот такой http://www.ebay.com/itm/Mini-Motor-Driv ... 1e8a32474c
не знаю, что там у тебя за двигатель, этот драйвер для маломощных движков пойдет

тебе вообще для чего оно?

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Сб авг 02, 2014 21:18:21
BaNru
С littlewire частично понял, но хотелось бы обойтись тем что есть.
в смысле? :roll:
Как я выше писал имеется PL2303, на котором data+ и data-
Вот на data+, через который и посылаются сигналы имеет постоянное напряжение или непрерывный сигнал, я не знаю как точно это назвать.
В моем представление сигнал/напряжение должны поступать только по команде.
драйвер двигателя, у которого есть 2 входа - куда крутить и как быстро
Так ULN2003 вроде тоже драйвер.
И повторю: мне надо по команде шагать, а там будет непрерывная скорость.

Почему нельзя сделать из того что есть?
По логике этого набора вполне достаточно.

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Сб авг 02, 2014 21:42:21
kalobyte
BaNru писал(а):Как я выше писал имеется PL2303, на котором data+ и data-
The PL-2303 operates as abridgebetween one USB port and one standard RS232 Serial port.
это просто переходник из усб в юарт, там идет поток данных, а не тупо 2 провода дергаются
чтобы у тебя это заработало, тебе нужен еще какой-то контроллер, которому нужна прошивка, к этому контроллеру нужны силовые ключи типа того же улн

я тебе предлогаю готовый проект на усб и специальную мс для управления шаговым двигателем
можно конечно купить фт232, она может работать в том режиме как ты хочеш, но она стоит в 3 раза дороже тини85
да и плату под нее труднее сделать лутом
BaNru писал(а):я не знаю как точно это назвать.
это выводы для подключения усб дырки
BaNru писал(а):В моем представление сигнал/напряжение должны поступать только по команде.
я о чем тебе и говорю, что пишеш свой софт под littlewire и дергаеш пару выводов на тиньке как тебе надо
или на фт232, но там надо разбираться с даташитом и я его не смотрел
по мне проще и дешевле заюзать тини85
BaNru писал(а):Так ULN2003 вроде тоже драйвер.
ну как бы да, но это просто силовые ключи, причем биполярные
а спец мелкасхема имеет ключи уже внутри и они полевые - потерь меньше и управляется проще
BaNru писал(а):Почему нельзя сделать из того что есть?
тогда почему ты еще не сделал? :)))
может быть и можно управлять отдельными выводами плки, но я не проверял и скорость там наверное никакая будет
а счетчик вообще не знаю, там на шаговик нужна определенная последовательность сигналов
может быть счетчик ее сможет сделать, я давно их не использовал
вот с регистром можно сделать, но зачем делать с регистром и улн, когда можно купить нормальную мс?

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вс авг 03, 2014 00:02:17
BaNru
тогда почему ты еще не сделал? :)))
Потому что я в этом не разбираюсь во всём.
может быть и можно управлять отдельными выводами плки, но я не проверял и скорость там наверное никакая будет
а счетчик вообще не знаю, там на шаговик нужна определенная последовательность сигналов
может быть счетчик ее сможет сделать, я давно их не использовал
вот с регистром можно сделать, но зачем делать с регистром и улн, когда можно купить нормальную мс?
У меня есть USB->COM, я его упоминал. Т.е. в расчет можно брать его для сигналов + PL я думаю для питания.
Если с него посылать на десятичный счетчик?
Мне не надо скорость. Мне надо шаг в несколько секунд.

У счетчика же как раз последовательность есть. Мне даже можно с холостыми (хотя у него есть reset)
Я примерно алгоритм расписал.
На этом моторе как раз надо последовательно, по очереди, четыре ножки дергать.*
У счетчика выходов более чем достаточно - 10.
Есть конечно и другие шаги, комбинированные катушки, но они не нужны.
Тут донельзя простая задача, в полевых условиях :)))

* На этот счет не надо думать. Задача сделать так, чтобы слать сигналы на счетчик, а тот отдавал со своих выходов последовательно.
Так может понятнее будет задача, что осталось сделать?

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вс авг 03, 2014 00:22:55
kalobyte
BaNru писал(а):Так может понятнее будет задача, что осталось сделать?
мне все понятно, только счетчик не подойдет наверное
чтобы двигатель вращался - нужна определенная последовательность сигналов на всех обмотках разом
а счетчик только считает импульсы и преобразует в бцд код

поэтому я тебе и говорю, что нужна специальная мс, она имеет вход для шага и туда можеш слать импульсы чем хочеш
у твоей пл есть всякие выходы дискретные, вот и попробуй их дергать хотя бы при помощи специального терминала типа br@y++

или же вместо счетчика поставь регистр типа 40595 и там уже загоняй нужные биты, но это потребует больше вычислительных ресурсов в 8 раз

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вс авг 03, 2014 02:25:36
BaNru
чтобы двигатель вращался - нужна определенная последовательность сигналов на всех обмотках разом
а счетчик только считает импульсы и преобразует в бцд код
Ну так на выходе из счетчика также идут импульсы. Иначе как делают на нем бегающие огоньки?
В одно место поступает, из других выходит :)))

Про обмотки ты всё таки не понял
Посмотри ещё раз картинку ULN2003
Изображение
Снизу два контакта питания. Справа подключается моторчик - четыре обмотки и питанием.
Слева 4 ножки, при подачи сигнала на которые - сигнал усиливается и передается на соответствующую обмотку.
Таким образом если пустить с ножек счетчика туда последовательные сигналы - сигналы должны усилиться.
регистр типа 40595
Это что такое?
br@y++
Спасибо за наводку. Не знал про подобные терминалы.

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вс авг 03, 2014 19:22:32
kalobyte
BaNru писал(а):Ну так на выходе из счетчика также идут импульсы.
и что? импульсы идут много откуда
чтобы двигатель крутился, они должны быть определенной последовательности и я не уверен, что счетчик это делает
BaNru писал(а):Про обмотки ты всё таки не понял
я все понял, у меня в станке стоят шаговые двигатели и управляются специальными мс
тут есть несколько тем, где нищеброды пытались сделать то же самое через жопу и в конце концов ставили нормальные драйвера
BaNru писал(а):Это что такое?
я малость ступил, это 74595 http://www.google.com/url?url=http://ww ... y5wNbbe8jg
его используют для индикаторов и светодиодов как расширитель портов
у меня на сцайте есть пример работы с ним и другими регистрами

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вс авг 03, 2014 20:56:02
BaNru
Ну сколько раз повторять. Вопрос управления двигателем не имеет уже значения. Там достаточно поочереди слать сигналы на 4 ножки/обмотки. Хватит к этому цепляться. Вопрос в другом...

Пробовал через USB->COM
С подачей сигнала через один из трех выходов разобрался. В общем можно считать, что импульс произвольный (байтовый) имеем.
Подавал на счетчик его, по команде, но выходы почему-то не отзываются.
Какова вероятность спалить счетчик, легко ли это сделать?
Вот сейчас хочу понять какие сигналы посылать и как заставить этот счетчик выдавать сигналы?! (по принципу бегающих огоньков по кругу, только сигналы на счетчик от компа слать)

74HC595 что-то тоже похожее. Но с ним боюсь будет у меня абсолютно тот же вопрос. Как с компа слать на него сигналы и какие.
В интернете написано "использовав всего 3 ноги микроконтроллера". Получается надо будет к нему три "сигнальных" проводка подключать.
На COM их три. Но у меня пока не получилось использовать все три. Только один. Подключал через терминал, только другой - cutecom. Два выхода постоянно выдают непрерывный сигнал/напряжение, как и с PL.

И да, считаем задачу нищебродской. И нет задачи создания какого либо ЧПУ. Когда будет стоять задача ЧПУ, тогда уже и буду думать о мк. Я не хочу садиться сразу за штурвал болида формулы 1, хочу начать с трехколесного велосипеда, его мне пока достаточно. Подключать мк для такой тривиальной (мне кажется задача очень простая, главное знать куда шагнуть дальше) - это как стрелять из пушки по микробам.

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

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

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Пн авг 04, 2014 03:32:34
kalobyte
:facepalm: это клиника уже
ты может быть не понимаеш, как работает счетчик и для чего он нужен? что ты уперся в него?
BaNru писал(а):Как оказалось потом - на COM только 3 выхода, а надо 4. Поэтому мне посоветовали, не без моей настойчивости, десятичный счетчик
чтобы рулить шаговиком через специальный драйвер надо ДВА выхода
а если тебе не надо менять направление вращения, то и одного хватит

я посмотрел про этот твой счетчик :facepalm:
там диаграмма сигналов совсем не та, что нужна для работы шаговика

единственный вариант из этого http://tehnomir.ucoz.lv/publ/skhemy/upr ... m/2-1-0-99
номер 1
подаеш на счетчик 4 импульса, а 5й уже на сброс
только обратно он у тебя крутиться не будет
для вращения в обратную сторону нужно будет еще навесить кучу мелкасхем как ту http://forum.cxem.net/?showtopic=91070

http://www.delphisources.ru/pages/sourc ... ntrol.html
вот пример расширения портов при помощи регистра
я так тебе и говорил, что можеш оставить свою пл и использовать 3 провода для управления регистром
дергаеш 8 раз клок, потом строб и на выходе у тебя 1 байт, 4 бита из них на один движок пойдет

прога скорей всего не будет работать с виртуальным ком портом в плане ногодрыга, но это проверять надо

http://otvet.mail.ru/question/73196675
вот тут еще схема с 595 регистром
тебе осталось только написать софт, который будет слать правильную последовательность бит в регистр

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Пн авг 04, 2014 15:25:18
BaNru
ты может быть не понимаеш, как работает счетчик и для чего он нужен? что ты уперся в него?
Так я и на писал, что во всём этом разбираюсь. Я написал с самого начала, что дилетант в этом.
В моем представление: на счетчик поступает сигнал, и он его перенаправляет или свой посылает на ножку+1.

подаеш на счетчик 4 импульса, а 5й уже на сброс
Именно в этом и вопрос. Не получается.
Вот сейчас хочу понять какие сигналы/импульсы посылать и как заставить этот счетчик выдавать сигналы?!
только обратно он у тебя крутиться не будет
Я же писал - не надо мне обратно.


Наконец-то подошли к сути вопроса :)))

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вт авг 05, 2014 00:59:20
kalobyte
ну возьми даташит на счетчик и посмотри
что там тебе непонятно? в счетчике стоит еще декодер и он выдает при каждом импульсе на следущий вывод единицу
береш 6й выход и вешаеш его на вход сброса, а на счетчик подаеш импульсы и все

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вт авг 05, 2014 01:25:49
BaNru
Не понятно какие импульсы.
Пробовал слать 0 и 1, с разной скоростью/длительностью (в бодах и мс).
На выходах тишина.

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вт авг 05, 2014 17:41:30
kalobyte
руками шли на вход счетчика для начала
или из терминала, там мышкой надо тыкать на светодиоды выходов, а не слать

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вт авг 05, 2014 18:33:54
BaNru
Пробовал руками, если можно так назвать.
Тыкал data+, который шлет постоянный импульс, в счетчик. Не помогло.

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

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Ср авг 06, 2014 03:43:02
kalobyte
твой терминал сосет
BaNru писал(а):Тыкал data+
какой еще дата+??? нету в ком порте такого сигнала
там только 2 дискретных выхода и один потоковых тх, который тебе как раз не нужен
нужно дергать дискретные выходы
выходы дтр и ртс

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Пт авг 08, 2014 09:45:58
BaNru
kalobyte, спасибо за помощь и терпение!

Получилось у меня заставить счетчик переключаться.

И так счетчик десятичный К561ИЕ8
Оказывается чтобы запустить:
- землю надо сажать на 8 (Vss[GND]) и 15 (Reset) ножки
- питание подавать на 16 (Питание Vdd) и 14 (Clock) ножки
- с COM порта, не декретного выхода (третья ножка в верхнем ряду) слать сигнал на 13 (CE/Строб)

Это всё вне досягаемости моего понимания. Если бы до друга не дозвонился, то мучился бы ещё очень долго.

Далее COM порт подключается как я описывал в первом посте.
Затем запускается cutecom
На данный момент ещё не совсем разобрался (пишу на радостях этот пост, как дитя малое), но пока так:
- все галочки кроме снимаем, кроме Writing и можно скорость моменьше
- указываем наш девайс /dev/ttyUSB0
- открываем его
- выставляем длительность символов побольше и рядом же "HEX input"
- и шлем: 0

Теперь предстоит выяснить как это же слать из командной строки.

Re: COM (USBtoCOM) + К561ИЕ8 + ULN2003

Добавлено: Вс авг 10, 2014 11:36:26
Фунтик
BaNru писал(а):как это же слать из командной строки.
а команду копирования (cp) уже отменили?