Контроллер шагового двигателя на LS7290
Тоже решил делать драйвер на этой микрухе, если позволит автор темы буду выставлятьфотки сюда.
Тоже решил делать драйвер на этой микрухе, если позволит автор темы буду выставлятьфотки сюда.
Да всегда пожалуйста😒
На схеме и соответственно на плате есть ошибка. На оптопаре ноги 3 и 4 надо поменять местами. Слегка напутал когда библиотеку для нее делал.
Все детали за исключением самой LS7290 куплены тут www.futureelectronics.com/en/Pages/index.aspx Я так думаю они и в Россию и в Украину доставить смогут (они работают с FedEx).
Посмотрел на верхнюю ссылку(схему), а блок задержки нарисован в нижней.
Так там все верно, 0.2сек так и должно быть. RC цепочка 1Ом*1фарад=1сек.
0.000047F(47мкф)*5100 0м=0.239Сек. Чтоб получить 2 сек, нужно 470мкф или 51к
При 51к резисторе транзистор открываться не будет, ну если у него только коэффициент усиления будет больше 500, что не совсем реально. Либо ставить составной Дарлингтона. Что-то мне кажется что на 7555 таймере попроще будет, надо только сообразить как это лучше сделать чтобы туда подвязать сигнал Enable и защиту от пропадания 5 и 12 вольт. Для желающих помочь в усовершенствовании схемы могу выслать весь проект с библиотеками в Proteus 7.5 SP3. Пишите в личку.
Я не о том что будет открываться или нет, я о задержке 2с , чисто теоритически.
Не смотрел, может ли данный чип при простое снижать ток удержания. Но если нет, я бы лучше функцию задержки включения питания и снижение тока в простоях , возложил на ATTINY13.
Ну если появляется в схеме дополнительный микроконтроллер то нет смысла собирать на специализированных микросхемах, тогда уж лучше сразу на МК уходить, а еще лучше на CPLD.
Не правда ваша. Контроллер не обладает таким быстродействием обработки обратной связи. Аналоговая схемотехника - в таких устройствах лучше (ШИМ, обратная связь по току). А маленький контроллер, это всего лишь дешевая и простая альтернатива рассыпухи. Вот в вашей схеме есть потребность в 555 таймере, для задержки включения, но на самом деле ATTINY13 имеет теже 8 ног, из которых всего 3 будут задействованы для этой фунции. Если нужно уменьшать ток удержания, то еще 2 ноги.
На контроллер я бы возложил функцию стабилизации и буферизации STEP импульсов. А дальнейшую обработку делал-бы на аналоговой спец микрухи, что-то типа 3986 и пр.
555 таймер это та еще фигня, на нем легко делать таймер задержки отключения, а вот включения нужна еще куча логики (еще 2 корпуса микрух) я бы делал на тригере.
А зачем делать задержки по питанию? Где написано? Или это “Шоб було”
А зачем делать задержки по питанию? Где написано? Или это “Шоб було” google_ad_section_end
Нужно делать, та как если не будет управляющего напряжения на полевиках, они могут самопроизвольно открытся, и если откроются 2 транзистора полумоста то будет пшик.
Ну как впечатления от свеже собранных драйверов?
Двигатель он крутит, но не быстро, быстро почему-то не получается. Не хватает времени полазить по нему с осциллографом и посмотреть откуда ноги растут, может я там с подключением двигателя что-то нахомутал. И очень большие шумы по входу DIR (направление). Соответственно направление движения меняется не очень хорошо. Вот с этим полная загадка. И оптопары менял, и саму LS7290 менял, и напрямую к плате согласования с LPT портом подсоединял, ничего не помогает. Как нулевой уровень, так все нормально, а как высокий уровень, так напряжение не больше 1.5В и всплески с амплитудой до 2В. Откуда они лезут?
Разводку силовой части надо слегка подправить, не совсем удобно транзисторы к радиатору крепить. Я пока ненадолго отложил это дело, купил за 12$ 300-х ватный импульсный блок питания (3.3V, 5V, +12V, -12V) от компаниии PowerOne. Пока только срисовал его схему, скоро займусь переделкой его в 48VDC.
Ну и семье надо время уделять. Катаюсь практически все выходные по просторам провинции Онтарио с палатками, надувными лодками и удочками. Вот сегодня только несколько часов как приехал после очередного 4 дневного похода.
Убрал в сторонку лаптоп и сделал для целей управления станком десктоп. Настроил Mach3 (демоверсия), выставил на драйвере 1/8 шага и начал крутить двигатель в Jog-Mode. Крутится замечательно в обе стороны. На малых оборотах двигатель слегка дрожит а на больших работает ровно и почти бесшумно. Выходные транзисторы стоят без радиаторов и лишь слегка теплые.
Это значит у меня лаптоп по LPT порту всякие шумы выдавал. Потому все вначале криво работало.
Попытался своим 100MHz Tectronix посмотреть что на обмотках мотора творится. Никак не могу засинхронизироваться. То что ШИМ работает вижу, а насколько красивая синусоида или что там еще должно быть не вижу.
Может кто расскажет как и куда щупы осциллографа цеплять и как и к чему его синхронизировать?
…
Попытался своим 100MHz Tectronix посмотреть что на обмотках мотора творится. Никак не могу засинхронизироваться. То что ШИМ работает вижу, а насколько красивая синусоида или что там еще должно быть не вижу.Может кто расскажет как и куда щупы осциллографа цеплять и как и к чему его синхронизировать?
Сам SIN/COS, как он формируется в микросхеме не увидеть, он не выводится наружу.
А посмотреть ток в обмотке, что он соответствует SIN/COS можно, и для этого чем уже полоса пропускания канала Y осциллографа, тем лучше.
- Чтобы из ШИМ сигнала выделить форму модулирующего сигнала, нужно его (ШИМ сигнал) пропустить через ФНЧ, достаточно будет просто RC цепи. Имеющийся в схеме ФНЧ R12C9 (R13,C10) для этого не подходит, его частота среза F=1/(6.28*R*C) = 159236 Гц слишком высока, нам нужен ФНЧ с частотой среза 2-3 кГц.
- Чтобы не сильно нагружать схему и снизить влияние измерений на работу драйвера, резистор ФНЧ лучше взять побольше - 20-50 кОм.
Пусть F=3000 Гц, R=47 кОм
Тогда конденсатор нужен С=1/(3000*6.28*47000)=1100 пФ.
Емкость конденсатора можно немного увеличить, ничего страшного. Или все пересчитать под имеющиеся элементы. - Полученный ФНЧ подключить к измерительному резистору R18, осциллограф переключить в режим внешней синхронизации, в качестве сигнала синхронизации использовать “Home”.
К Home должна быть подключена нагрузка R30+GreeenLED, еще лучше между +5 и HOME (вместо или параллельно R30+GreeenLED) временно припаять резистор 3-5 кОм.
См. схему в аттаче.
На вход STEP постоянно подавать сигнал частотой несколько сотен герц, сигнал DIR не трогать, т.е. ШД должен крутиться в одну сторону.
4. Период развертки установить так, чтобы он был примерно равным периоду STEP, например, при частоте STEP 500 Гц, установить развертку (X) 2 мс/клетку.
P.S. Для начала можно попробовать просто подключить осциллограф к R18 без ФНЧ но с указанными параметрами развертки и в режиме внешней синхронизации.
Подключил щупы напрямую к шунтам. Как раз два канала на два резистора. HOME завел на внешнюю синхронизацию. Вот что вышло.
Нижний канал вроде как красиво что-то показывает а сверху что-то непонятное. Я на всякий случай поменял там две IR2104 и 4 IRF540 но картинка совершенно не поменялась. Поменял обмотки местами, может что с мотором, тоже ничего не поменялось. Пока понятно что это что-то с драйвом. Но мотор крутится красиво и транзисторы слегка теплые. Тестером и пальцами тут уже не обойдешься 😮
Куда теперь смотреть?
- Установите дробление 1/16
- Первый канал подключите к HOME, как и внешнюю синхронизацию.
- Развертку (X) установите такую, чтобы на экране было видно 2 импульса HOME
- Второй канал подключите сначала к одному измерительному резистору, затем к другому. Осциллограммы сигналов должны быть сдвинуты по фазе на 90 градусов, примерно как на картинках (см. приложение). Там видно, что работает внешняя синхронизация (прорисовка осциллограмм начинается в одном месте экрана) и сигналы сдинуты на 90 градусов.
Поставил 1/16 шага. Питание драйва 24В. Потребляемый ток 0.5A DC, 0.91A AC (мерял FLUKE189)
Картинки похоже обе неправильные. Синусоиды не видно. Стробы внизу это сигнал HOME.
Поставил 1/16 шага. Питание драйва 24В. Потребляемый ток 0.5A DC, 0.91A AC (мерял FLUKE189)
Картинки похоже обе неправильные. Синусоиды не видно. Стробы внизу это сигнал HOME.
-
А какая чувствительность каналов по Y?
Для строба похоже на 5В/дел, а для сигнала с Rизм сколько?
Регуляторы плавного изменения чувствительности в положении калиброванного значения?
Всегда с осциллограммой указывайте параметры чувствительности Y и развертки (X). -
Какое установлено напряжение Vref? В даташите я не нашел формулы, которой задается соответствие между Vref и током.
Если предположить, что
Imax=Vref/Rsense,
то выходит, что Vref можно накрутить так, что ток будет слишком большим: 3/0.16=18,75 (А)
Тогда может быть понятна первая картинка (с плоской вершиной) - ток в ШД не может достичь установленного Vref, Rsense значения.
Вам же нужно 6А? Тогда Vref должно быть 6*1.41*0.16=1.35 В.
- Проверяйте монтаж в канале, с которого идет картинка с выбросом и меньшей амплитудой.
P.S. Даташит на микросхему писали партизаны под пытками 😵
3 дня буду работать на работе по 12 часов. Наверно отпишусь в воскресенье. Если получится раньше, то напишу раньше.
Ну вроде как запустил. Такое впечатление что Vref на LS7290 должно быть для нормальной работы не меньше 1 вольта (по даташиту 0.5В). Тогда появляется синусоида.
Дефекты со вторым каналом решились просто. Я когда паял, использовал специальную пасту с маленькими шариками припоя в ней (специально для пайки SMD компонентов). Под C2, C3, R17, R21 у меня проходят дорожки, вот эти дорожки через остатки пасты под этими элементами и давали такую плохую картинку. Плюс я еще запаял дополнительную перемычку поверх существующих для уменьшения сопротивления между Q2, Q4 (на фотографиях платы видно по две тонких перемычки для каждого моста). Еще C9 оказался с трещиной, совсем случайно обнаружил.
Столкнулся с какой-то мистикой. Ни с того ни с сего с района силовой платы повалил дымок. После выяснения причин оказалось что конденсаторы C2 и C3 пробиты (сопротивление пару ом). Резистор R14 просто испарился. Конденсаторы я купил 100шт на ленте. С той-же ленты запаял два новых. Высокое с силовой части убрал, подавал только 12В и 5В. При первом-же включении опять пошел дымок и уже новые два конденсатора опять превратились в резисторы с почти нулевым сопротивлением. Это меня совсем озадачило потому как остальные элементы были целые и высокое напряжение на силовой части отсутствовало. Тогда взял следующие два кондера и тупо подал на них 12В с блока питания. Подержал их под напряжением пару минут, померял их емкость до и после. Все в норме. Запаял их на плату. Включил и все работает. Так и не понял что это было. Дефектные конденсаторы с одной партии в ленте? Они керамические на 1uF x 25V.
Еще выяснил что моя топология печатной платы наверно хороша для токов до 3А но совершенно не годится для токов больше 3А. Более того, использование падение напряжения на токовом резисторе напрямую на LS7290 для токов 8А очень плохая идея. 1V / 8A = 0.125 Ohm 1V * 8A = 8W
Я полистал каталоги основных продавцов электроники в своей зоне и не нашел ничего подходящего с мощностью рассеивания 8W. Только эти два резистора будут занимать половину площади платы.
Тогда решил спаять усилитель напряжения на сдвоенном MC1458 (другого под руками не оказалось). Вместо R18, R26 запаял в параллель по два резистора на 0.1 Ом. Получился токовый резистор на 0.05 ома.
Вместо двигателя включил две лампочки. Подал напряжение и осциллографом посмотрел что на выходе. А на выходе сидит 5вольт. Откуда оно там? Причем на 2 ноге напряжение где-то 0.2В а на 3 почти ноль. Это неинвертирующий усилитель, на выходе должен быть ноль или близко к нему, но не как не напряжение питания. Картина идентична для обоих каналов. Причем никакого возбуждения на осциллографе я не заметил. Ровная линия в 5вольт.
Теперь вот думаю что дальше делать. Больше 4А я со своей топологии не вытащу. У меня 4 обмотки на двигателе по 4.2А каждая. От параллельного соединения придется отказаться (8.4А мой драйв не выдаст из за громадного тепловыделения на токовых шунтах). Остается последовательное соединение. Тоже неплохо. С 4 амперами проще сражаться.
Может кто подскажет что неправильно в операционном усилителе сделано? Если сигнал с шунтов им усилить и потом подать на LS7290 то проблема почти решена.
При питании 5В напряжение Vsense лежит в пределах 0.5-3В. Если подавать что-то около 2В то контроллер должен красивее работать. Для небольших токов это не проблемма, а в моем случае просто бедствие.
Может кто подскажет что неправильно в операционном усилителе сделано?
Операционник должен допускать работу от однополярного источника питания. В даташите на MC1458 такого не видать. Можно попробовать LM358N, там на 5-й странице есть УПТ с регулируемым КУ.