"Дискретная" машинка на шаговике

NailMan

Нужно изготовить на биполярных(4 провода) шаговиках(какие в 3.5" флопах используются) машинки, в которых ход тяги будет осуществлен червячным приводом. Вал двига крутит ось с червячной нарезкой, а по просечке параллельно оси ползает “головка”, к которой уже подсоединяются любые тяги. Вобщем как в флоповодах привод головки. Максимальный ход из от мертвой точки к метрвой точке порядка 30мм.

В наличие есть как 12V, так и 5V модели и еще есть возможность докупить в магазе(чип-дип) 5V двиги типа таких:
www.masterkit.ru/main/set.php?num=662

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

От машинки нужно прежде всего:

  • вращение двига CW/CCW с постоянной скоростью. Вобщем нажал я на одну кнопочку - двиг крутится CW, нажал другую(или тумблер переключил на реверс) и вращается CCW.

  • малая скорость вращения двига, чтобы можно было червячную ось посадить напрямую на вал двига без редуктора. Как я понял это зависит от частоты входного сигнала? Думается сюда нужно кварц какой-либо ставить. Как частоту подобрать для биполярного шагодвига с параметрами как на приведенном по ссылке, и как подключать ентот кварц? Малая частота вращения это не более 200 об/мин. Скорее 120.

Еще есть готовая конструкция(с основанием и червячным валом) на 12V и на 5V(аналогично вышеприведенному по ссылке), их нужно задействовать в первую очередь.

Какие порекомендуете микросхемы драйверов, доступные в мск?

PPS: А можно из таких двигов на готовых микросхемах собрать пропорциональну серву, которая будет напрямую подключаться к потенциометру, т.е без радиопередатчика/приемника и т.д.???

hcube

Ищи микросхему драйвера типа TD62M4700F, и к ней микроконтроллер типа Tiny15 или скажем Tiny2313. Эта микросхема - как раз драйвер . Програмаешь в контроллере микрофазовое управление - и готово 😉).

NailMan

hcube

Програмаешь в контроллере микрофазовое управление - и готово 😉).

А где про это поподробней почитать? Я в таких вещах еще полный чайник 😊

NailMan

Дракончик
Вопрос с выбором драйвера несколько прояснился:
Типовая схема включения микросхем L297 и L298N.

вроде как катит для моих целей.

Осталось разобраться с частотой вращения. Как я понимаю, исходя из того что моторы у меня с 20 шагами на оборот и мне нужно получить скажем 120 оборотов в мин, то надо иметь кварц с частотой 40Гц. Т.е.

120 / 60 = 2 об/сек = 2 * 20 = 40 шагов = 40Гц.

А в природе такие генераторы существуют???

Или я че-то недопонимаю?

Чем генерить такую постоянную частоту?

hcube

Я ж не зря упомянул микроконтроллер 😉. Кстати ему и кварц в общем не нужен - серия Tiny имеет встроенный RC генератор. А низкую частоту (кстати реально при микрошаговом управлении частоту надо выше - примерно во столько раз, во сколько раз надо выше дискретность переключения полюсов) обеспечить делителем на таймере оного микроконтроллера. На прерываниях. Качаешь codevisionavr, или аналогичную программу, ставишь и разбираешься 😉

Если хочешь поставить именно просто тактуемый модуль - делаешь следующим образом. Ставишь счетчик и к нему логический дешифратор, который будет переключать обмотки в нужной последовательности (счетчик на 3 бита). Перед ним - 3 или 4 ступени 16-битных реверсивных делителей. А на последнем просто перекидываешь выход кварцевого генератора мегагерца на 2-5 на + или -.

Но IMHO трудности в пайке этой схемы превосходят трудности в программировании микроконтроллера, тем более что у последнего есть еще АЦП, что позволяет не только сделать некую кривую торможения-разгона, но и собрать полноценную РМ с обратной связью по потенциометру и входом стандартного PPM сигнала.

Как вариант, можно сделать гибридную схему. То есть счетчик+дешифратор - аппаратные, а генератор ‘шагов’ - микроконтроллер. Но опять же IMHO проще просто поставить на МК кварц на частоту побольше и сделать программную обработку.

NailMan

hcube
М… уговорил насчет микроконтроллера тады вопросы по этому решению:

Как я понял мне нужен сам “драйвер” который будет питать мой шагодвиг, т.е. TD62M4700F и управляться контроллером. Но заместо него можно же ведь что-то другое использовать? Более доступное?

Где можно прикупить Tiny2313 ? И драйвер этот? В розницу…

Зашивать прогу в Tiny2313 при помощи чего?

hcube

http://www.efind.ru

Что же до доступности - куда уж дальше… контроллер серии Tiny стоит примерно $1.2 в розницу. И все - ничего кроме контроллера (ну, и драйвера, ессно) больше не нужно. А, еще хвостик для программирования.

Что же до доступности… ну, этих H-мостовых схем существует вагон и маленькая тележка. Я привел первую попавшуюся под руку. Можно, спору нет, собрать на полевых транзисторах схемку. Но она будет все-таки сложнее, чем.

Дракончик

Как я понял мне нужен сам “драйвер” который будет питать мой шагодвиг, т.е. TD62M4700F и управляться контроллером. Но заместо него можно же ведь что-то другое использовать? Более доступное?

Именно так. Чем заменить - не знаю. Я пользовал драйвер ULN2003 для управления униполярным шаговиком от 5" дисковода. С биполярными пока не работал. Анализировать драйвера сейчас времени нет. Может кто еще что посоветует.

Где можно прикупить Tiny2313 ? И драйвер этот? В розницу…

Много замечательных магазинов. Например (не по приоритету)
www.chip-dip.ru
www.fulcrum.ru
www.argussoft.ru
и другие

А вообще есть поисковики типа www.einfo.ru. Вводишь запрос и выбираешь из списка магазинов наиболее приятный.

Зашивать прогу в Tiny2313 при помощи чего?

Есть много способов чтобы дешево и сердито. Лично я уже не первый год пользую прогу avreal и адаптер Altera ByteBlaster. Если интересно - бегом сюда ln.com.ua/~real/avreal/index.html
Там же, кстати, есть и схема ByteBlaster. Еще можно процессор прикрутить непосредственно к LPT-порту. Так называемый переходник “FBPRG”. Но я не рекомендую. Эта схема менее надежна. Но если будете использовать - провода покороче и конденсатор по питанию обязательно.

P.S. Последнюю версию проги не пользовал. Но не думаю что она работает хуже предыдущих.

BALAL
NailMan:

hcube
Как я понял мне нужен сам “драйвер” который будет питать мой шагодвиг, т.е. TD62M4700F и управляться контроллером. Но заместо него можно же ведь что-то другое использовать? Более доступное?

Вместо драйвера пойдут ключи на транзисторах(хоть полевых, хоть биполярных).
Такие двигатели имеют:
Слабое выходное усилие, достаточное для флопика, а вот машинка какая получится?
Обороты этого двигателя тоже ограничены, не очень большие…
Недостатком такой РМ будет служить во-первых, необходимость опознавания какого - либо начального положения, во-вторых, возможность “неотработки” шагов, что будет “сбивать” работу этой системы. Может, стоит не отказываться от обратной связи, несмотря на шаговый двигатель?..

drDen

Если есть возможность, пожалуйста, выложите готовую схему с прошивками… 😃 …есть у меня много шаговых и замечательно было бы их переделать… 😋 .

Дракончик

А что конкретно надо?
Например есть примитивная прога, которая крутит движок в одну сторону с постоянной скоростью? Есть еще вариант управления от компьютера. И пр.

drDen

А конкретно пропорциональная рулевая машинка на шаговике…….

NailMan

BALAL
Обороты небольшие совсем. Мне скорость особо не важна, тем более в случае микроконтроллера всегда можно настроить скорость.

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

Я вот подумал…так как у меня предполагается продольно-параллельное движение привода тяги, а не как у обычных РМ поворотом качалки, то можно будет под эту “головку” забацать замыкающийся контакт в любом метрвом положении.

Скажем при включении устройства, МК сначала крутит шагодвиг до тех пор пока головка не замкнет контакт, т.е. подаст контрольную единицу на какой-либо вход МК и тем самым будет зафиксировано физическое нулевое положение. Зная сколько шагов совершает двиг на оборот и на сколько смещается головка за шаг, дальше МК крутит двиг до положения головки в условном нуле какое я запрограммировал.

Ну а вопрос тогда как получить и преобразовать напряжение/ток с потенциометра в количество шагов от этого условного нуля.

во-вторых, возможность “неотработки” шагов, что будет “сбивать” работу этой системы. Может, стоит не отказываться от обратной связи, несмотря на шаговый

А в каком случае шаг не сможет отработаться?

Посмотрел на цены всего этого хозяйства…вполне приемлемо. К выходным наверно поеду покупать…

Jurgen

Смысла в РМ на шаговике для практического применения не много. Мощность не та.
В бытность експериментов с самодельной РМ запустил позиционер головки от 3.5 дисковода в режиме пропорционального управления (крутишь резюк, а она елозит туда-сюда) Выводы:
Усилие - НИКАКОЕ. Если поставить винт с более мелким шагом - скорость перемещения - НИКАКАЯ.
Даже небольшая нагрузка сбивает шаги. Ошибка нарастает и точность - НИКАКАЯ. Поэтому без обратной связи никак.
Возможно, что большой мотор позволит получить приемлимое усилие, но возрастет вес…

BALAL
NailMan:

BALAL
А в каком случае шаг не сможет отработаться?

  • Да просто при усилии на исполнительном устройстве…
    Насчёт скорости… В своё время замышлял использовать шаговик от 5-ти дюймовика вместо двигателя бытового магнитофона, полагая поиметь хорошую стабильность оборотов… При экспериментах и натолкнулся на указанные выше свойства шаговиков: при достижении определённой частоты управляющих импульсов вращение срывалось и он вместо вращения только дрожжал… Вот!
drDen

У меня есть двигатели с винтовыми редукторами, которые развивают 5 кг усилия 😃 …там винт с мелким шагом …но они тормозные очень ход 50 мм за одну минуту 😕 ……правда, можно время уменьшить, увеличив скорость 😃 …. там, где они применялись нужно большоё строго рассчитанное усилие и низкая скорость….и есть желание привод шасси на них сделать 😋 …. но та схема, которая работает с этим двигателем не куда не лезет по габаритам квадратный дециметр всяких запчастей да и вес… 😦 .я сейчас попробовал сбить шаговый двигатель, приложив намного большую нагрузку, не получилось просто двигатель остановил…. А без подключения напряжения тоже не получается винт не даёт сбить двигатель….масса двигателя с редуктором 18 грамм…

BALAL
drDen:

……правда, можно время уменьшить, увеличив скорость 😃

Простое увеличение скорости не беспредельно, и, скорее всего, очень ограничено (ну, максимум, раза в три), а увеличнение скорости за счёт шага винта приведёт к потере усилия… Можно ли найти компромис - вопрос?

NailMan

Дракончик
На схеме ByteBlaster-а на сцыле которую ты дал обозначен разъем DB-25M.

Вроде же сей разъем для COM использовался или для LPT тоже? Чет меня приглючило или одно из двух? 😵

И эта, на схеме есть такой диод KD522, это случаем не такой?
www.chipdip.ru/shop/article.xtml?id=56882&ggid=400…

а то с названием KD522 не нашел такого диода…

Дракончик

2NailMan

И на COM (широком) и на LPT стоят DB-25. Потому что тип DB и 25 контактов. Только на одном штырьки, на другом гнезда. Папа (Male-Мужик) и Мама (Female). В конце обозначения ставят букву. В компьютере на LPT стоит DB-25F (мама). Значит у девайса должен быть DB-25M (папа). Иначе потомства не получится.

Диод КД522 - отечественный. И буквы НАШИ. Просто возможно товарищ рисовал в проге где наш алфавит не поддерживается. Или лень было раскладку переключить. Можно заменить на 1N4148. Или практически на любой другой.
Эти диоды нужны для защиты от переполюсовки. А светодиоды - для индикации. В принципе схему можно упростить.

А вообще лично я использую ByteBlasterMV по оригинальной схеме от Altera. Сим девайсом и ПЛИС и AVR шьем. До кучи ByteBlasterMV поддерживает работу с платами с питанием не только 5В. Кажется от 2.5 до 5.

Прикрепил документ с описанием ByteBlasterMV. Если нужна схема попроще, то можно на www.altera.com найти просто ByteBlater. Это как на сайте, только без диодов.

Если сделать на поверхностном монтаже, то вся схема влезает в корпус для DB-25 разъема.

NailMan

Дракончик
Вопрос такого характера по ByteBlaster-у:

Скажем нужно прошить Tiny, когда она будет подключена к плате машинки(в кроватке), которая будет уже устанвлена в свое место и не будет возможности вынуть МК из своей кроватки чтобы на адаптере прошить.
Я хочу на плате машинки и на адаптере сделать альтернативно выводы в виде штырьевого разъема и соединять шлейфиком оба девайса. Как тут с подводными камнями? Помехи там на шлейфике(не более 0.5м) и его сопротивление не повляют на качество прошивания?

Дракончик

2NailMan
Был в разъездах раньше ответить не мог.

AVR имеют возможность ISP. Тут главное чтобы сигналы не подрались. Если шить ByteBlasterMV, то там стоит достаточно мощный шинник, а на выходе - резисторы. Соответственно сжечь его можно, но затруднительно. У меня лет за 5 еще ни один не сгорел. В худшем случае - не получится зашить.

Кстати, поскольку мои два ByteBlaster маленькие и влезают в корпус разъема, а LPT у компа стоит черти где, то я одному из них поставил шлейф в районе 40-50 см, другому 70-100см. Не помню. В общем длинный. Особых проблем не наблюдал. Это к вопросу о помехах. Кроме того, avreal позволяет задавать ключи для более медленного программирования.

Ну и после программирования разумеется необходимо проверить.

Теперь про совместимость ByteBlaster с остальной схемой. Tiny шьется через SPI. Если он используется только для программирования - вообще нет ни каких проблем. Если на этот порт повесить еще что-то - могут быть конфликты. Надо смотреть конкретно. На самом деле это не страшно. Существуют рецепты как решить эту проблему. Уже не одно устройство сделали. И шьются и работают. Писать долго. Проще созвониться. Тем более что земляки. Телефон сейчас в личку отправлю.

А еще надо незабывать неиспользуемые выводы настраивать как выходы, или включать внутренние (или внешние) резисторы на питание. Иначе чудеса пойдут.
Также я уже давно стараюсь не использовать AVR без встроенного BOD. Благо они есть почти в каждом чипе.

Да, а шлейфики я использовал типа тех что на винчестеры с дисководами идут. Только, разумеется, уже - на 10 жил. В магазинах продаются. А разъемчики IDС-10. Тоже стандартное решение.

drDen

Народ ну есть у кого схема рабочая с прошивками… 😕 …выложите пожалуйста…… 😊