"Дискретная" машинка на шаговике
Нужно изготовить на биполярных(4 провода) шаговиках(какие в 3.5" флопах используются) машинки, в которых ход тяги будет осуществлен червячным приводом. Вал двига крутит ось с червячной нарезкой, а по просечке параллельно оси ползает “головка”, к которой уже подсоединяются любые тяги. Вобщем как в флоповодах привод головки. Максимальный ход из от мертвой точки к метрвой точке порядка 30мм.
В наличие есть как 12V, так и 5V модели и еще есть возможность докупить в магазе(чип-дип) 5V двиги типа таких:
www.masterkit.ru/main/set.php?num=662
Вобщем нужно подобрать к этим штукам готовые микросхемы драйверов, по возможнсти максимально простых и дешевых и требующих минимум обвязки. Есть возможность изготавливать несложные печатные платы методом гравировки фольгированного текстолита. Так что не на коленке и не на соплях.
От машинки нужно прежде всего:
-
вращение двига CW/CCW с постоянной скоростью. Вобщем нажал я на одну кнопочку - двиг крутится CW, нажал другую(или тумблер переключил на реверс) и вращается CCW.
-
малая скорость вращения двига, чтобы можно было червячную ось посадить напрямую на вал двига без редуктора. Как я понял это зависит от частоты входного сигнала? Думается сюда нужно кварц какой-либо ставить. Как частоту подобрать для биполярного шагодвига с параметрами как на приведенном по ссылке, и как подключать ентот кварц? Малая частота вращения это не более 200 об/мин. Скорее 120.
Еще есть готовая конструкция(с основанием и червячным валом) на 12V и на 5V(аналогично вышеприведенному по ссылке), их нужно задействовать в первую очередь.
Какие порекомендуете микросхемы драйверов, доступные в мск?
PPS: А можно из таких двигов на готовых микросхемах собрать пропорциональну серву, которая будет напрямую подключаться к потенциометру, т.е без радиопередатчика/приемника и т.д.???
Ищи микросхему драйвера типа TD62M4700F, и к ней микроконтроллер типа Tiny15 или скажем Tiny2313. Эта микросхема - как раз драйвер . Програмаешь в контроллере микрофазовое управление - и готово 😉).
hcube
Програмаешь в контроллере микрофазовое управление - и готово 😉).
А где про это поподробней почитать? Я в таких вещах еще полный чайник 😊
А еще сюда зайди.
www.telesys.ru/projects/proj077/index.shtml
Дракончик
Вопрос с выбором драйвера несколько прояснился:
Типовая схема включения микросхем L297 и L298N.
вроде как катит для моих целей.
Осталось разобраться с частотой вращения. Как я понимаю, исходя из того что моторы у меня с 20 шагами на оборот и мне нужно получить скажем 120 оборотов в мин, то надо иметь кварц с частотой 40Гц. Т.е.
120 / 60 = 2 об/сек = 2 * 20 = 40 шагов = 40Гц.
А в природе такие генераторы существуют???
Или я че-то недопонимаю?
Чем генерить такую постоянную частоту?
Я ж не зря упомянул микроконтроллер 😉. Кстати ему и кварц в общем не нужен - серия Tiny имеет встроенный RC генератор. А низкую частоту (кстати реально при микрошаговом управлении частоту надо выше - примерно во столько раз, во сколько раз надо выше дискретность переключения полюсов) обеспечить делителем на таймере оного микроконтроллера. На прерываниях. Качаешь codevisionavr, или аналогичную программу, ставишь и разбираешься 😉
Если хочешь поставить именно просто тактуемый модуль - делаешь следующим образом. Ставишь счетчик и к нему логический дешифратор, который будет переключать обмотки в нужной последовательности (счетчик на 3 бита). Перед ним - 3 или 4 ступени 16-битных реверсивных делителей. А на последнем просто перекидываешь выход кварцевого генератора мегагерца на 2-5 на + или -.
Но IMHO трудности в пайке этой схемы превосходят трудности в программировании микроконтроллера, тем более что у последнего есть еще АЦП, что позволяет не только сделать некую кривую торможения-разгона, но и собрать полноценную РМ с обратной связью по потенциометру и входом стандартного PPM сигнала.
Как вариант, можно сделать гибридную схему. То есть счетчик+дешифратор - аппаратные, а генератор ‘шагов’ - микроконтроллер. Но опять же IMHO проще просто поставить на МК кварц на частоту побольше и сделать программную обработку.
hcube
М… уговорил насчет микроконтроллера тады вопросы по этому решению:
Как я понял мне нужен сам “драйвер” который будет питать мой шагодвиг, т.е. TD62M4700F и управляться контроллером. Но заместо него можно же ведь что-то другое использовать? Более доступное?
Где можно прикупить Tiny2313 ? И драйвер этот? В розницу…
Зашивать прогу в Tiny2313 при помощи чего?
Что же до доступности - куда уж дальше… контроллер серии 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. Последнюю версию проги не пользовал. Но не думаю что она работает хуже предыдущих.
hcube
Как я понял мне нужен сам “драйвер” который будет питать мой шагодвиг, т.е. TD62M4700F и управляться контроллером. Но заместо него можно же ведь что-то другое использовать? Более доступное?
Вместо драйвера пойдут ключи на транзисторах(хоть полевых, хоть биполярных).
Такие двигатели имеют:
Слабое выходное усилие, достаточное для флопика, а вот машинка какая получится?
Обороты этого двигателя тоже ограничены, не очень большие…
Недостатком такой РМ будет служить во-первых, необходимость опознавания какого - либо начального положения, во-вторых, возможность “неотработки” шагов, что будет “сбивать” работу этой системы. Может, стоит не отказываться от обратной связи, несмотря на шаговый двигатель?..
Если есть возможность, пожалуйста, выложите готовую схему с прошивками… 😃 …есть у меня много шаговых и замечательно было бы их переделать… 😋 .
А что конкретно надо?
Например есть примитивная прога, которая крутит движок в одну сторону с постоянной скоростью? Есть еще вариант управления от компьютера. И пр.
А конкретно пропорциональная рулевая машинка на шаговике…….
BALAL
Обороты небольшие совсем. Мне скорость особо не важна, тем более в случае микроконтроллера всегда можно настроить скорость.
Недостатком такой РМ будет служить во-первых, необходимость опознавания какого - либо начального положения,двигатель?..
Я вот подумал…так как у меня предполагается продольно-параллельное движение привода тяги, а не как у обычных РМ поворотом качалки, то можно будет под эту “головку” забацать замыкающийся контакт в любом метрвом положении.
Скажем при включении устройства, МК сначала крутит шагодвиг до тех пор пока головка не замкнет контакт, т.е. подаст контрольную единицу на какой-либо вход МК и тем самым будет зафиксировано физическое нулевое положение. Зная сколько шагов совершает двиг на оборот и на сколько смещается головка за шаг, дальше МК крутит двиг до положения головки в условном нуле какое я запрограммировал.
Ну а вопрос тогда как получить и преобразовать напряжение/ток с потенциометра в количество шагов от этого условного нуля.
во-вторых, возможность “неотработки” шагов, что будет “сбивать” работу этой системы. Может, стоит не отказываться от обратной связи, несмотря на шаговый
А в каком случае шаг не сможет отработаться?
Посмотрел на цены всего этого хозяйства…вполне приемлемо. К выходным наверно поеду покупать…
Смысла в РМ на шаговике для практического применения не много. Мощность не та.
В бытность експериментов с самодельной РМ запустил позиционер головки от 3.5 дисковода в режиме пропорционального управления (крутишь резюк, а она елозит туда-сюда) Выводы:
Усилие - НИКАКОЕ. Если поставить винт с более мелким шагом - скорость перемещения - НИКАКАЯ.
Даже небольшая нагрузка сбивает шаги. Ошибка нарастает и точность - НИКАКАЯ. Поэтому без обратной связи никак.
Возможно, что большой мотор позволит получить приемлимое усилие, но возрастет вес…
BALAL
А в каком случае шаг не сможет отработаться?
- Да просто при усилии на исполнительном устройстве…
Насчёт скорости… В своё время замышлял использовать шаговик от 5-ти дюймовика вместо двигателя бытового магнитофона, полагая поиметь хорошую стабильность оборотов… При экспериментах и натолкнулся на указанные выше свойства шаговиков: при достижении определённой частоты управляющих импульсов вращение срывалось и он вместо вращения только дрожжал… Вот!
У меня есть двигатели с винтовыми редукторами, которые развивают 5 кг усилия 😃 …там винт с мелким шагом …но они тормозные очень ход 50 мм за одну минуту 😕 ……правда, можно время уменьшить, увеличив скорость 😃 …. там, где они применялись нужно большоё строго рассчитанное усилие и низкая скорость….и есть желание привод шасси на них сделать 😋 …. но та схема, которая работает с этим двигателем не куда не лезет по габаритам квадратный дециметр всяких запчастей да и вес… 😦 .я сейчас попробовал сбить шаговый двигатель, приложив намного большую нагрузку, не получилось просто двигатель остановил…. А без подключения напряжения тоже не получается винт не даёт сбить двигатель….масса двигателя с редуктором 18 грамм…
……правда, можно время уменьшить, увеличив скорость 😃
Простое увеличение скорости не беспредельно, и, скорее всего, очень ограничено (ну, максимум, раза в три), а увеличнение скорости за счёт шага винта приведёт к потере усилия… Можно ли найти компромис - вопрос?
Дракончик
На схеме 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 разъема.
Дракончик
Вопрос такого характера по ByteBlaster-у:
Скажем нужно прошить Tiny, когда она будет подключена к плате машинки(в кроватке), которая будет уже устанвлена в свое место и не будет возможности вынуть МК из своей кроватки чтобы на адаптере прошить.
Я хочу на плате машинки и на адаптере сделать альтернативно выводы в виде штырьевого разъема и соединять шлейфиком оба девайса. Как тут с подводными камнями? Помехи там на шлейфике(не более 0.5м) и его сопротивление не повляют на качество прошивания?
Вообще то ByteBlaster/ByteBlasterMV спокойно позволяет In-circut Programming делать. Тут это описано www.ln.com.ua/~real/avreal/adapters.html
2NailMan
Был в разъездах раньше ответить не мог.
AVR имеют возможность ISP. Тут главное чтобы сигналы не подрались. Если шить ByteBlasterMV, то там стоит достаточно мощный шинник, а на выходе - резисторы. Соответственно сжечь его можно, но затруднительно. У меня лет за 5 еще ни один не сгорел. В худшем случае - не получится зашить.
Кстати, поскольку мои два ByteBlaster маленькие и влезают в корпус разъема, а LPT у компа стоит черти где, то я одному из них поставил шлейф в районе 40-50 см, другому 70-100см. Не помню. В общем длинный. Особых проблем не наблюдал. Это к вопросу о помехах. Кроме того, avreal позволяет задавать ключи для более медленного программирования.
Ну и после программирования разумеется необходимо проверить.
Теперь про совместимость ByteBlaster с остальной схемой. Tiny шьется через SPI. Если он используется только для программирования - вообще нет ни каких проблем. Если на этот порт повесить еще что-то - могут быть конфликты. Надо смотреть конкретно. На самом деле это не страшно. Существуют рецепты как решить эту проблему. Уже не одно устройство сделали. И шьются и работают. Писать долго. Проще созвониться. Тем более что земляки. Телефон сейчас в личку отправлю.
А еще надо незабывать неиспользуемые выводы настраивать как выходы, или включать внутренние (или внешние) резисторы на питание. Иначе чудеса пойдут.
Также я уже давно стараюсь не использовать AVR без встроенного BOD. Благо они есть почти в каждом чипе.
Да, а шлейфики я использовал типа тех что на винчестеры с дисководами идут. Только, разумеется, уже - на 10 жил. В магазинах продаются. А разъемчики IDС-10. Тоже стандартное решение.
Народ ну есть у кого схема рабочая с прошивками… 😕 …выложите пожалуйста…… 😊