Выбор метода формирования опорного напряжения.

wladimir69tv

Доброго времени суток.
необходимо изготовить контроллер для униполярного двигателя с микрошагом. Микрошаг необходим для снижения вибрации на малых оборотах.
Как я понял для реализации аппаратного ШИМ, опорное формируют несколькими методами:

  1. В апноуте Микрочипа - синусоида подается только на один компаратор а на другой в это время напряжение обеспечивающее максимальный рабочий ток.
  2. Синус и косинус на оба компаратора - формируются с помощью ШИМ и фильтра. (Kreutz) или ЦАП.
    На форуме в основном обсуждают второй метод. Хотелось бы получить совет ГУРУ плюсы и минусы подходов чтоб изначально не пойти по тупиковому варианту.

Для ознакомления вскрыл один из драйверов промышленного изготовления. М.сх естественно затерты но угадывается PIC 20-ти ногий, ПЛИС Altera наверное 3032, ЦАП какой-то одноканальный и счетверенный компаратор, не считая мелочи. Судя по тому что канал ЦАП обнаружился только один по всему они формируют микрошаг первым методом.
Что скажут ГУРУ какому методу отдать предпочтение и в чем + и -?

ATLab
wladimir69tv:

… какому методу отдать предпочтение и в чем + и -?

Для начала делайте, то, что лично Вам проще сделать.
Если сделаете, что-то на МК, то таблицы опорного в любой момент можно заменить, или переключать джамперами.

wladimir69tv

Так я уже на одни грабли наступил. Не хотелось бы дальше. Получалось вроде компактно и хорошо (PIC16F690 + ЦАП MCP4921 и силовая часть) маленькие движки крутил. Но это только по началу. Оказалось что канал аппаратного ШИМ я организую только один (где синусоида) а второй постоянно открыт. Надо все схему ШИМ переделывать - так как в МК только один канал PWM который бы мог сброситься аппаратно от компаратора. Дальнейшая ее модернизация потребует 4 внешних компаратора + кучку логики и при этом у меня синусоида будет только по одному каналу.
Собрал на макетке почти Kreutz (логику менял под то что было). Крутит, но странно ведет себя опорное - при малой частоте шагов - красивая синусоида и двигатель тоненько попискивает и крутится. При повышении частоты - срезается макушка у синусоиды (если было Umax = 0,3 В то на уровне 0,2) двигатель начинает шипеть но крутится. Дальнейшее увеличение частоты приводит к тому что опорное становится постоянным (0,2 ) ШИМ на формирование опорных принимает фиксированное значение. Движок крутится и шипеть перестает.
Сильно беспокоят средние обороты - потому что вибрирует он при них сильно.
Опять же нет исходников.
Вот теперь на перепутье по какому направлению пойти.

ATLab
wladimir69tv:


Собрал на макетке почти Kreutz (логику менял под то что было). Крутит, но странно ведет себя опорное - при малой частоте шагов - красивая синусоида и двигатель тоненько попискивает и крутится. При повышении частоты - срезается макушка у синусоиды (если было Umax = 0,3 В то на уровне 0,2) двигатель начинает шипеть но крутится. Дальнейшее увеличение частоты приводит к тому что опорное становится постоянным (0,2 ) ШИМ на формирование опорных принимает фиксированное значение. Движок крутится и шипеть перестает…

Вы довольно точно описали работу драйвера Kreutz-а: на низкой скорости SIN/COS, на средней - режим HighTorque когда форма SIN/COS искажается, на большой скорости - полный шаг. Это сделано для сохранения более-менее стабильного момента.
Почитайте его ветку на cnczone или статьи в блоге (я не помню адрес блога, должен быть в ветке cnczone). Кстати, исходники там были в свободном доступе, только последние (вроде как оптимизированные по скорости отработки STEP) он не выкладывал. Написано на BASIC (BascomAVR) и все достаточно прозрачно.

Рекомендую и собственную разработку делать на МК от Atmel, они для этой цели удобнее PIC, таймеров с ШИМ больше.
ЦАП вообще излишество. Я тоже начинал с ЦАП, все было красиво, но не нужно для ШД. На сегодня я считаю, что для формирования опорного вполне достаточно ШИМ на достаточно высокой частоте и ФНЧ 1-го порядка.

P.S. Нашел адрес блога:
…blogspot.com/…/mardus-kreutz-unipolar-micro-stepp…
Кстати, обратите внимание, что его силовая часть работает неправильно: расчетная частота ШИМ для силовой части (стабилизации тока в обмотке) должна быть 38 кГц, а у него она только 19 кГц, т.е. драйвер срывается на субгармонику из-за того, что ток в обмотке не успевает вырасти до нужного значения за 1/2 периода ШИМ (типичная болезнь драйверов с фиксированным периодом ШИМ).
Это хорошо видно по его же осциллограмме, см. ниже.

Dominator
ATLab:

и ФНЧ 1-го порядка.

Это что бы не было писка ?

wladimir69tv
ATLab:

на средней - режим HighTorque когда форма SIN/COS искажается, на большой скорости - полный шаг. Это сделано для сохранения более-менее стабильного момента.

А почему U max снижается при искажении SIN? и по какому напряжению ток в обмотке выставлять? по постоянному уровню или по максимуму когда SIN еще красивый?
Еще меня смущает наличие двух подстроечников на разные обмотки как внешне проявляется различие тока в обмотках.
И все-же чем плох вариант - когда SIN только в одной обмотке?

ATLab
wladimir69tv:

А почему U max снижается при искажении SIN?..

Это чтобы сохранить площадь импульса тока. В идеале амплитуда SIN в 1,41 раза выше уровня постоянного напряжения. Искаженная - что-то промежуточное, реализацию смотрите в таблицах прошивки Kreutz.
Настройку делайте как удобнее, но, наверное, по постоянному току удобнее, можно обойтись мультиметром.

И все-же чем плох вариант - когда SIN только в одной обмотке?

Да ничем он не плох, двиг крутится так же, как при SIN/COS. Просто момент в пределах шага меняется, тогда как при SIN/COS в идеале должен быть постоянным. Только где тот идеал…
Наверное, изменение момента, может привести к какому-нибудь резонансу. Только здесь все еще сильно завязано на механику привода: двигатель на столе и двигатель в станке работают по-разному.

Это что бы не было писка ?

Нет, это чтобы из ШИМ сигнала (представляющего собой импульсы с частотой, скажем, 78 кГц и амплитудой 5 В), формирующего опорное напряжение выделить этот самый опорный сигнал, в виде того же SIN/COS или постоянного напряжения.

wladimir69tv

Сегодня крутил двигатель (AVR) без нагрузки при частоте полных шагов 156,25 начинает гудеть, при дальнейшем увеличении частоты гудит меньше а на частоте 312,5 снова начинает вибрировать причем очень сильно. При дальнейшем увеличении частоты вибрация исчезает. Результат одинаковый как в шаге 1/16 так и 1/8 1/4.
как я понял это резонанс. Как с ним бороться? На экране при этом - среднее фото на датчике тока (0,2 В, 0,5 мс). Когда не рычит то вид как на последнем.
На четвертом фото - как я понял ШИМ еще работает, а дальше на 1 и 2 уже нет. Этим определяется максимальная скорость шагания? или нет.
И еще при работе с постоянной скоростью вращения меняется тональность с периодом около 2 сек. Что бы это могло быть? Прошивка стоит TRANS_REV01Npp.hex а исходников так и не нашел ни старых ни новых, буду очень признателен если поделитесь.

mura

при микрошаге резонанса не может быть.
форма тока несколько далека от синуса.

Dominator
mura:

при микрошаге резонанса не может быть.

При условии что микрошаг реализован грамотно а не на дешевых микрухах типа TA8435 .

wladimir69tv
mura:

форма тока несколько далека от синуса.

А как это лечится? Движок без лейбы, но если не обманули -FL57ST-3006, питание 30 в, ключи IRF640 c с драйверами. Датчик тока 0,1 Ом. А схема Kreutz правда на макетке.

ATLab
wladimir69tv:

Прошивка стоит TRANS_REV01Npp.hex а исходников так и не нашел ни старых ни новых, буду очень признателен если поделитесь.

  1. Прошивки и схемы по-прежнему доступны в на форуме:
    www.cnczone.com/forums/showthread.php?t=25361&page…
    с последующим изменением таблиц
    www.cnczone.com/forums/showthread.php?t=25361&page…
    Если хочется совсем последнего - пишите письмо Kreutz-у.

  2. Вы когда драйвер включаете, джамперы микрошага в каком положении? Не в полном ли (полу) шаге? Установите правильно джамперы.

  3. Посмотрите осциллографом форму опорного напряжения в точках TP1, TP2, должна соответствовать выбранному дроблению шага.
    Для примера посмотрите мои картинки (1, 2), обратите внимание, что частота сигнала STEP на входе драйвера была примерно одинакова.

  4. Приведенные Вами картинки похожи на то, что:

  • режим полный шаг
  • частота STEP слишком велика для установленного напряжения питания.
    Я, в подтверждение, приведу Вам свои картинки (3, 4)- копия, того, что сняли Вы.
  1. В результате всех манипуляций, форма напряжения на Rизм при микрошаге должна выглядеть примерно так, как на пятой картинке.

mura
Dominator:

При условии что микрошаг реализован грамотно а не на дешевых микрухах типа TA8435 .

Имея большой опыт работы с TOSHIBA скажу следующее:
Эксперементировал с ДШИ-200 на 8435, на шаге в резонанс входил легко, на полушаге с трудом, на 1\8 найти не смог.
С фирменным движком резонанс ловил только на полном шаге.

Dominator
mura:

Имея большой опыт работы с TOSHIBA скажу следующее:
Эксперементировал с ДШИ-200 на 8435, на шаге в резонанс входил легко, на полушаге с трудом, на 1\8 найти не смог.
С фирменным движком резонанс ловил только на полном шаге.

Попробуйте сделайте 75 об в мин , у Вас наверное все это хозяйство под рукой , может поменяете свое мнение .

ATLab

Коллега Dominator, может про TA8435 лучше в соседней ветке, специально ей посвященной?
Например, рядом есть: rcopen.com/forum/f110/topic123955

wladimir69tv

С исходниками вроде решил. Написал Kreutz и уже сегодня получил (правда еще не смотрел). Еще нарыл на Украинском сайте версию на Си - поправил под свои нужды, запустил - эффект тот же. Хотя у него искаженный синус не проваливается по амплитуде.

Работает в микрошаге и на малых частотах step картинки такие же красивые.

ATLab:
  • частота STEP слишком велика для установленного напряжения питания.

Я как раз и спрашивал - это предел? и дальше нет смысла увеличивать частоту STEP? или есть способы увеличить не поднимая напряжения питания?

Но все - таки очень беспокоит вибрация на малых оборотах 156 и 312 полных шагов - как с ней бороться? Пробовал нагружать двигатель - она не исчезает.

Dominator
ATLab:

Коллега Dominator, может про TA8435 лучше в соседней ветке, специально ей посвященной?
Например, рядом есть: rcopen.com/forum/f110/topic123955

Но человек то в этой теме говорил что при микрошаге не может быть резонанса а не в той , и речь была в принципе не о TA8435 ( это было просто в качестве примера ) а о резонансе , будьте внимательным о чем речь идет и не торопитесь людям рот затыкать !

ATLab
Dominator:

Но человек то в этой теме говорил что при микрошаге не может быть резонанса а не в той , и речь была в принципе не о TA8435 ( это было просто в качестве примера ) а о резонансе , будьте внимательным о чем речь идет и не торопитесь людям рот затыкать !

  1. Я рот не затыкал, я вежливо попросил.
  2. Прочтите наименование ветки и найдите в названии или вопросе автора что-либо про резонанс
  3. В том сообщении от mura главным, imho, ,было “…форма тока несколько далека от синуса”, а вибрации - последствия этого, неважно, на чем сделан драйвер.

Поэтому, еще раз убедительно прошу не упоминать TA8435, она не имеет никакого отношения к предмету обсуждения, а превращает ветку с конкретным вопросом в винегрет.

wladimir69tv:


Но все - таки очень беспокоит вибрация на малых оборотах 156 и 312 полных шагов - как с ней бороться? Пробовал нагружать двигатель - она не исчезает.

  1. 156, 312 полных шагов - в секунду? в минуту? Если в секунду, то 1 полный оборот происходит за примерно 1,3 и 0,64 секунды соответственно. Так это?
  2. Покажите осциллограммы опорного напряжения и напряжения на измерительном резисторе на этих или близких частотах STEP. С осциллограммами обязательно укажите параметры развертки (естественно регулятор “время/дел ПЛАВНО” должен быть в калиброванном положении).
  3. Не пересчитывайте в полные шаги, просто укажите частоту импульсов STEP и степень дробления шага (микрошаг).
  4. Есть возможность опробовать драйвер с другим ШД?

Я как раз и спрашивал - это предел? и дальше нет смысла увеличивать частоту STEP? или есть способы увеличить не поднимая напряжения питания?

Частоту STEP имеет смысл наращивать, пока ток в обмотке успевает вырасти до установленного значения. Потом момент падает, и увеличивать частоту STEP можно, только если хватает этого пониженного момента.
Увеличить напряжение питания - это просто способ ускорить нарастание тока в обмотке, следовательно дольше сохранить момент при увеличении частоты STEP.
Все это, конечно, упрощенно.

Dominator
ATLab:

imho, ,было “…форма тока несколько далека от синуса”,

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

ATLab
Dominator:

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

Вы бы лучше по существу, по теме, а не со мной спорили. Мне - все равно.

wladimir69tv

Рис.1 - опорное 1/16 шага, step - 2,7кГц (2мс/дел 0.2 В/дел)
Рис.2 - опорное 1/16 шага , step -5 кГц (2мс/дел 0.2 В/дел)
Рис.3 - ток 1/16 шага , step -5 кГц (2мс/дел 0.2 В/дел)
Рис.4 - ток 1/16 шага , step -5 кГц (1мс/дел 0.1 В/дел)
На немного больших или меньших шагах вибрация резко снижается. для 1/4 шага почти так-же только частоты другие.

Другого двигателя аналогичного нет, поставил что было (рис.5) кажись ДШИ. Настройку токов не менял, крутил на 1/16 шага вибрации возрастают при частоте step 7,1 кГц, 3,57 кГц, 222 Гц. Максимальная частота шагов при которой еще есть ШИМ значительно выше чем у предыдущего двигателя.

Взял фирменный драйвер и начал крутить его (разглядел и второй канал у ЦАП).
Он тоже гудит но только на одной частоте шагов - для 1/8 - 2 кГц, для 1/16 - 4 кГц Драйвер биполярный. Кстати опорное у него все время синусоида и практически не искажается на больших частотах, хотя и проседает чуть чуть (не так сильно как у Kreuts ).

Установил прошивку которую прислал Kreuts REV01p+ и 😃 полное молчание. Идут импульсы на ШИМ, вместо опорных фигня какая-то а управление обмотками вообще отсутствует. Похоже поменялась схема. Будем искать

ATLab

Картинки выглядят похоже на правду, несколько смущают повышенные колебания тока на нарастающем участке SIN, вроде шума.
По пробуйте увеличить постоянную ФНЧ формирования опорного (проще всего, наверное, будет увеличить C), чтобы сгладить ступеньки в опорном, возможно это несколько поможет уменьшить резонансы.
Пора смотреть силовую часть.
Какая частота ШИМ в силовой части получается?

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

wladimir69tv

Вот и силовая часть. Она была такой до сегодняшнего дня.
Сегодня все что вокруг компаратора пытался привести в соответствие с Kreutz.
А именно - С1 долой R1 заменил на 10к, R8 и С3 тоже долой.
Включаю - тишина вчерашняя. Залил bin вместо hex и все заработало (последняя прошивка Kreutz.). Тут же сгорел IRF640 - оказался не подключен вход компаратора. По дороге дымок пошел из ДШИ 😮 (интересно он умер или еще помучается?).

Все устранил, начал смотреть картинки тока - вообще сплошная помеха и кривые какие-то, плюс свист. Вернул на место R8 и С3 - все стало как вчера.
Начал смотреть ШИМ - и обнаружил косяк какой-то. рис.1 - затвор транзистора 5 мкс/дел, 5 В/дел при том что ШИМ идет с периодом 25 мкс. Но такая картина не всегда а лишь на определенном шаге (работает микрошаг 1/16 в пошаговом режиме)
рис.2 - генератор ШИМ 10 мкс/дел 2 В/дел.
рис. 3 выход компаратора развертка та же - мало того что один импульс пропал, да и этот какой-то кривой
рис. 4 там- же только несколько шагов вперед.
На некоторых шагах вполне адекватная картинка - один импульс и положение его зависит от опорного
рис. 5 на датчике тока 10 мкс/дел 0,1 В/дел.

Судя по всему компаратор работает не так как надо. Для исключения влияния пробовал отключать вторую обмотку чтоб помех не давала - картина не поменялась.
Компаратор стоит LM293P (нумерация ног на схеме не правильная).

ATLab

Начнем разбираться.

  1. Все картинки нужно рассматривать относительно импульсов запуска ШИМ, это рис.2
  2. Картинки 1,3 - суть одно и то же, просто в разном масштабе, остальные пока можно не смотреть.
    Что вытекает из картинок: как я и упоминал, схема работает нестабильно из-за того, что ток в обмотке не успевает вырасти за полпериода ШИМ (полпериода по рис.2), поэтому и импульсы такие кривые - то длинный, то короткий, и свист отсюда же.

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

Компаратор работает правильно, а в схеме лучше бы проинвертировать (программно) запускающий импульс ШИМ и подать его на S (по S у триггера приоритет), тогда 2ИЛИ можно выкинуть.
ДШИ, скорее всего, еще поживет, только ток для него нужен поменьше.

Не знаю, как распаяна силовая часть, возможно, что помехи и из-за кривой разводки/проводов.

Задача: причесать схему/плату так, чтобы ток успевал вырасти до установленного значения за 12,5 мкс.
Правда это уже выходит за рамки темы обсуждения (формирование опорного напряжения) 😃

P.S. Чтобы картинки было удобно смотреть на осциллографе:

  • сформируйте дополнительный сигнал синхронизации: поделите триггером сигнал запуска ШИМ (с рис. 2),
  • используйте этот сигнал для запуска осциллографа в режиме внешней синхронизации
    Так даже на однолучевом осциллографе будет просто соотнести временные соотношения сигналов в разных точках.
wladimir69tv

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