Разрабатываю частотник для АД, подскажите пожалуйста.

Блоки питания, преобразователи напряжения, UPS'ы - это здесь :)
Аватара пользователя
Sanchogus
Нашел транзистор. Понюхал.
Сообщения: 179
Зарегистрирован: Ср окт 07, 2015 13:13:40
Откуда: МО, г. Воскресенск
Контактная информация:

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение Sanchogus »

Это наброски говнокода, до того, как я понял, что сначала надо думать, а не писать, но да ладно. :oops:
https://yadi.sk/d/Eo4cP9i236jjoJ

Проект из многим ненавистного CubeMX'а.
Есть аппаратный дедтайм сколько-то там, ибо он в попугаях. (могу замерить, если ннадо)
Там собственно указаны основные ноги для ШИМа.
Ноги DISP - для подключения дисплея 1602. (насколько я помню в 4х битном режиме используется, т.е. 0-3, вроде, можно убрать)
Резерв под энкодер с кнопкой (TIM2), кнопку стоп. Ибо на мой взгляд после магнитолы - лучше энкодер(тем более аппаратный!) с кнопкой, чем 3 кнопки. Можно будет при желании крутить менюшку с той скоростью, с какой хочешь.
Резерв под UART - можно смело убрать.

Есть подобие на плавный выход на заданную частоту. (правда не реализован её ввод извне, только из отладчика пока :o )
Дисплей подключен костыльным самопальным кодом, умеет супер ограниченные возможности.



______________
Можно попробовать возобновить это дело, но надо бы список того, что необходимо: структуру меню, набор функционала и т.п.

Ну и если кому надо могу объяснить, как этот ужас работает. Можно оставить только саму генерацию синуса и от неё плясать с почти чистого листа.

И да, ноги дисплея подобраны 5V tolerant
Реклама
Аватара пользователя
Sanchogus
Нашел транзистор. Понюхал.
Сообщения: 179
Зарегистрирован: Ср окт 07, 2015 13:13:40
Откуда: МО, г. Воскресенск
Контактная информация:

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение Sanchogus »

Добавил еще больше быдлокода для бога быдлокода!
Теперь он умеет отображать свои частоту и амлитуду, умеет менять по отдельности частоту и амплитуду. 8)
Управление энкодер с кнопкой, вот свежий видосик.

Осторожно, в видео продемонстрирован срач и хаос, страшнейшая печатная плата и сопли! :o
https://yadi.sk/i/pxrS0F6g36yHKU

Кому надо эту жесть, вот исходники:
https://yadi.sk/d/R6qxFziZ36yFUF

В ближайшие дни, возможно, допилю в менюшку настройку скорости изменения частоты, возможность вкл/выключения генерации ШИМа, ну и может еще ченить, типо поддержки соотношения U/f, U^2/f, U/f^2, настройки дедтаймов, ну или подскажете что интересного.

Жду помидоры в свой адрес и пожелания. :)))
Реклама
Аватара пользователя
Sanchogus
Нашел транзистор. Понюхал.
Сообщения: 179
Зарегистрирован: Ср окт 07, 2015 13:13:40
Откуда: МО, г. Воскресенск
Контактная информация:

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение Sanchogus »

Итак, привел это дело к относительно жизнеспособному варианту.
Что есть:
ШИМ 9 кГц.
Энкодер с кнопкой ОК, кнопка СТОП, кнопка СТАРТ

Менюшка 0 с отображением текущей частоты и амплитуды и режима работы ШИМ (STOP - ШИМа нет, STRT - идет запуск ШИМ, ZERO - чередование нулевых векторов - верхние откр, нижние закрыты и наоборот, RUN - генерация синуса)

Меню 1 - задание частоты, по нажатию кнопки энкодера входим, при редактировании параметра добавляется буква Е. Энкодером устанавливаем частоту и кнопкой энкодера её подтверждаем. Если нажать кратковременно кнопку стоп, то выход без изменений.

Меню 2 - задание амплитуды (имеет смысл только для независимого управления частотой и амплитудой). Редактирование аналогично.

Меню 3 - выбор з-на управления (0 - независимо выставляем частоту и амплитуду, 1 - U/f=const, 2 - U/sqrt(f) = const, 3 - U/sqr(f) = const; константа задается в 4м меню)

Меню 4 - задание константы для з-на управления. Тут всё через попу, но да ладно. :)))
СпойлерОпределяемся с законом управления. Допустим U/sqrt(f) = const. В этому случае нам в формулу

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

   U
-------   =  const
sqrt(f)
надо вбить числитель и знаменатель (корень или квадрат частоты надо считать ручками. По входу в меню сначала крутится то, что будет в числителе, т.е. амплитуда, энкодером выкручиваем ее и кратковременно нажимаем ОК, далее выставляем знаменатель (для вышеописанного з-на корень из 50 = ~7) и зажимаем кнопку ОК на 1 сек. По отпусканию кнопки константа будет записана, а буква Е из первой строки исчезнет.
Меню 5 - время между инкрементами частоты в мс.
Т.е. стартуем с нуля и каждые X мс инкрементируем частоту до заданного в 1-м меню значения.

Меню 7 - сохранить текущие настройки. В нем будет два пункта - YES или NO.

Из любого меню можно выйти без сохранения параметров кнопкой стоп (кратковременным нажатием).

Меню 8 почти как и 0-е, но показывает текущую частоту и заданную, а также режим работы ШИМа.


Управление:
После запуска будет отображаться 0-ое меню и статус ШИМа STOP, т.е. его отсутствие.
После кратковременного нажатия START включается ШИМ (статус ШИМ STRT) и сразу же начинает переключать верхние-нижние ключи (т.е. формирование нулевых векторов) - статус ZERO.
Если при статусе ZERO снова нажать START то начинаем нарастание частоты от нуля до заданной частоты (амплитуда в зависимости от настроек либо независимая либо будет меняться в соответствии с законом и константой). Статус ШИМ измениться на RUN.

Есть нажать кнопку СТАРТ во время работы, то ШИМ перейдет в состояние ZERO (нулевые векторы), а частота будет сброшена. Не стоит в этом случае снова нажимать кнопку запуска до останова двигателя))))
Есть зажать кнопку СТАРТ на 1 сек и отпустить, то двигатель начнет убавлять частоту от текущей до нуля, после чего перейдет в состояние ZERO.

Если зажать кнопку СТОП на 1 сек и отпустить, то ШИМ вырубается.

Нога B12 дергается с той же частотой, что генерируется в данный момент.

Фотки менюшек, осциллограммы на ногах с которых снимается ШИМ, демонстрация дедтайма.
Спойлерменю 0
Изображение
меню 1, меню 1 с активным редактированием
Изображение
Изображение

остальные менюшки
Изображение
Изображение
Изображение
Изображение
Изображение
Замеренное с лог. анализатора:
СпойлерПри статусе PWM STOP
Изображение

При PWM ZERO, tdeadtime = 1.35мкс (можно изменить в программе, при желании
Изображение

При выставленных 50Гц
Изображение

При выставленных 399Гц
Изображение
Скоро м.б. попробую запитать двиг не 30ю Вольтами, а трехстами. Надеюсь силовая плата нормально к этому отнесется. :)

Исходники данной версии тут:
https://yadi.sk/d/qeRdxBQJ37Lqry
ma5a97
Прорезались зубы
Сообщения: 217
Зарегистрирован: Чт мар 12, 2015 01:37:52
Откуда: Донецк

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение ma5a97 »

Выложи картинки с анализатора крупней .
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Sanchogus
Нашел транзистор. Понюхал.
Сообщения: 179
Зарегистрирован: Ср окт 07, 2015 13:13:40
Откуда: МО, г. Воскресенск
Контактная информация:

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение Sanchogus »

Просто от больших картинок может и всё окно перекосить :)
Так что кидаю ссылкой на папку, там снимки при нулевом режиме, при выставленных 50 Гц и выставленных 399 Гц (амплитуда везде 100%).
Плюс, если есть прога от анализатора Saleae Logic (бесплатная) - можно открыть приложенные сохраненные файлы и более подробно их рассмотреть.
https://yadi.sk/d/zO-1vXKW37rPfa
Реклама
ma5a97
Прорезались зубы
Сообщения: 217
Зарегистрирован: Чт мар 12, 2015 01:37:52
Откуда: Донецк

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение ma5a97 »

Я когда подобным способом считал ( return (sinTable[x] * amplitude) / 100;) , с изменением амплитуды нарушалась симметрия полу-волн . Потом мне подсказали что нужно считать от середины , в моем случае это 127 и с одной половинки , делать вторую половину синусоиды . Если не понятно написал смотри исходник что я выложил , flowcode скачай у меня в облаке https://yadi.sk/d/IoswZLk_g7tDK в папке для работы лежит :)))
Реклама
Аватара пользователя
Sanchogus
Нашел транзистор. Понюхал.
Сообщения: 179
Зарегистрирован: Ср окт 07, 2015 13:13:40
Откуда: МО, г. Воскресенск
Контактная информация:

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение Sanchogus »

Страшно было, наверное, читать этот код. :)))
Надо будет сделать скрин осциллограммы и более тщательно изучить это дело. Но это чуть позже.
DC-AC
Друг Кота
Сообщения: 3020
Зарегистрирован: Чт июн 26, 2014 00:04:37

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение DC-AC »

Sanchogus писал(а):Если нажать кнопку СТАРТ во время работы, то ШИМ перейдет в состояние ZERO (нулевые векторы), а частота будет сброшена. Не стоит в этом случае снова нажимать.....))))
Может уже бессмысленно будет что-то нажимать :o Из рабочего режима ШИМ сразу нулить напряжение нельзя - закорачиваете двигатель
Аватара пользователя
Sanchogus
Нашел транзистор. Понюхал.
Сообщения: 179
Зарегистрирован: Ср окт 07, 2015 13:13:40
Откуда: МО, г. Воскресенск
Контактная информация:

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение Sanchogus »

Лучше вырубать сразу? Сделаем. На 180 Вт это не заметно просто, во всяком случае.

Да и при этом ток просто будет медленно спадать же? В теории я слабоват. :oops:
DC-AC
Друг Кота
Сообщения: 3020
Зарегистрирован: Чт июн 26, 2014 00:04:37

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение DC-AC »

Останавливать плавным снижением частоты или самовыбегом, просто выключая все ключи.
Ток спадать не будет. Представьте, поле вращается с частотой 50Гц, а потом бац - нулевые вектора пошли. Двигатель закорачивается инвертором, поле как-бы резко "замирает", но не исчезает, а намагниченный ротор ротор продолжает вращение, переходит резко в отрицательное скольжение и генерит...Будет ударный ток.
Когда проверяли защиту "Восьмикрута" на к-з между фазами, обратите внимание на резкую ударную остановку ротора двигателя при коротком замыкании выводов. Если включить на ходу нулевые вектора, то транзисторы и диоды инвертора сработают вместо плоскогубцев :facepalm:
Аватара пользователя
Sanchogus
Нашел транзистор. Понюхал.
Сообщения: 179
Зарегистрирован: Ср окт 07, 2015 13:13:40
Откуда: МО, г. Воскресенск
Контактная информация:

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение Sanchogus »

FIXED

Есть нажать кнопку СТАРТ во время работы, то ШИМ перейдет в состояние STOP (ШИМа нет), а частота будет сброшена.

Есть зажать кнопку СТАРТ на 1 сек и отпустить, то двигатель начнет убавлять частоту от текущей до нуля, после чего перейдет в состояние ZERO.

Спасибо за совет.

Исправленная версия: https://yadi.sk/d/s0AlM2ig38TTvX
ma5a97
Прорезались зубы
Сообщения: 217
Зарегистрирован: Чт мар 12, 2015 01:37:52
Откуда: Донецк

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение ma5a97 »

Вот сделал небольшой тест https://www.youtube.com/watch?v=CVX0eP-PSFM . Весь необходимый материал в облаке , папка частотники №4.
sidor094
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Чт ноя 24, 2016 13:52:44

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение sidor094 »

DC-AC писал(а):Останавливать плавным снижением частоты или самовыбегом, просто выключая все ключи.
Ток спадать не будет. Представьте, поле вращается с частотой 50Гц, а потом бац - нулевые вектора пошли. Двигатель закорачивается инвертором, поле как-бы резко "замирает", но не исчезает, а намагниченный ротор ротор продолжает вращение, переходит резко в отрицательное скольжение и генерит...Будет ударный ток.
Когда проверяли защиту "Восьмикрута" на к-з между фазами, обратите внимание на резкую ударную остановку ротора двигателя при коротком замыкании выводов. Если включить на ходу нулевые вектора, то транзисторы и диоды инвертора сработают вместо плоскогубцев :facepalm:
От таких вещей спасает установка энкодера.Для обеспечения оптимального (Наиболее быстрого разгона или торможения)Необходимо
устанавливать вращение поля отличным от вращения двигателя на частоту скольжения.Если частота поля будет отличаться на большую величину,то токи возрастут а момент не увеличится,а даже немного уменьшится.
ma5a97
Прорезались зубы
Сообщения: 217
Зарегистрирован: Чт мар 12, 2015 01:37:52
Откуда: Донецк

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение ma5a97 »

sidor094 писал(а): От таких вещей спасает установка энкодера . Для обеспечения оптимального (Наиболее быстрого разгона или торможения).
Мы пойдем гораздо дальше , если будем видеть исходный код :))) Если код под STM , то у меня нет возможности что-то проверять в железе :dont_know:
Сейчас пытаюсь побороть attiny861 :facepalm: Какие полезные функции туда нужно внедрить ???
sidor094
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Чт ноя 24, 2016 13:52:44

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение sidor094 »

Код на STM32.Atmega наврядли потянет.Дело тут не столько в производительности,но в основном в отсутствии аппаратной поддержки энкодера. А код достаточно простой надо просто добавлять скольжение пропорционально отставанию или опережению от желаемой скорости при этом надо сохранять соотношение U/F,и при этом никогда не превышать максимального скольжения(ограничивать ).
Вот мой привод.
https://youtu.be/sKJRzdLFmIA
sidor094
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Чт ноя 24, 2016 13:52:44

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение sidor094 »

ma5a97 видел ваше видео.Есть вопрос по схеме.Не очень понятно .Как вы меряете постоянный ток с помощью токовых трансформаторов?В приводе "Размер 2м" тоже измеряют ток трансформатором.Но там используется насыщение.На выход подается меандр,и меряется ток генератора.Вообще на STM32 Значительно удобнее управление.Я понимаю ,что людей смущает переход с хорошо знакомых платформ,но это всё равно придётся делать ,если цель сложнее чем моргание светодиодами.Тем более ,что при программировании на языках высокого уровня переход заключается лишь в изучении периферии.Для настройки периферии на stm существует визуальная среда CubeMx где настройка сводится к указанию мышкой ноги и заданию желаемой функции.У вас на плате несколько микросхем служат для формирования мертвого времени и инверсных сигналов ,а так-же аварийного отключения Для двигателей у stm32 трехфазный шим контроллер с заданием мертвого времени и возможности подключения инверсных сигналов,Что сократит число микросхем на плате.Так же есть нога отключения ШИМа .На неё достаточно подать сигнал защиты и не надо никак при этом следить за ней программно.Она сама отключит шим.Ну и огромное количество таймеров которые можно запрограммировать как входа энкодера.Не говоря о производительности.
ma5a97
Прорезались зубы
Сообщения: 217
Зарегистрирован: Чт мар 12, 2015 01:37:52
Откуда: Донецк

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение ma5a97 »

Трансформаторы меряют не постоянку , а несущую шим (чем больше ток , тем сильней проникает и шим), колечки ведь одеты на каждой фазе , а не на DC цепи. Если сильно хочется ,то можно мерить и постоянку с помощью трансформатора постоянного тока (магнитного усилителя ) . Как отладку STM делать ? Насколько мне известно симулятора типа протеуса для этих микросхем нет , да и не придумывается мне где может пригодиться двигатель с энкодером ??? На циркулярке или дровоколе :))) , чпу станку у меня нету. Переходить на мощные камни буду , но пока нет лишних денег.
sidor094
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Чт ноя 24, 2016 13:52:44

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение sidor094 »

Понятно ,что проникновение ШИМ меняется от тока статора.Но тут скорее можно говорить о качественном измерении ,а не о количественном.Что например будет при векторном шиме,когда одна фаза вообще не шимится.А другие две будут зависеть от заполнения ШИМа а не только от тока статора.Хотя если только для защиты то наверное пойдет.Про магнитные усилители я и говорил .В приводах "Размер2м" используется такой же принцип.Т.е зависимость от насыщения трансформатора .Что касается отладки то её можно использовать и с STM .Кстати по-моему STM32f103 есть и в протеусе,хотя можно и через JTAG.Я как то вообще отладчиком не пользуюсь.Что касается энкодера ,то кроме точного позиционирования можно получить нормальный пусковой момент(разгонную характеристику) и высокий момент при движении с очень низкими скоростями.Т. е. знание о реальной скорости вращения двигателя позволяет улучшить тяговые характеристики двигателя и избегать запредельного скольжения.Так же позволяет получить хорошую стабилизацию скорости вне зависимости от нагрузки.Но конечно для циркулярки это не столь актуально.Я перешел на ARM затем на CORTEX уже около семи лет назад .и с тех пор даже простейшие вещи делаю на них (вообще забыл от АТМЕГЕ).Кстати на али экспрессе плату с stm32f103 можно купить за 100руб.
https://ru.aliexpress.com/item/1pcs-STM ... f6978e946d
ma5a97
Прорезались зубы
Сообщения: 217
Зарегистрирован: Чт мар 12, 2015 01:37:52
Откуда: Донецк

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение ma5a97 »

Использовалось 3 трансформатора тока и сигнал считывался через 3 диодных моста , выходы мостов подключались на компаратор. Насчет точности измерения я не знаю , мне была нужна быстрая и не выделяющая тепла защита . Тут хоть какой датчик не ставь на выходе получается рванина , остается только усреднять сигнал. Что касается энкодера , то он стоит как весь частотник :shock: , а высокий момент на низких оборотах я могу получить с помощью тахометра (выкладывал черновую версию несколькими сообщениями раньше).
sidor094
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Чт ноя 24, 2016 13:52:44

Re: Разрабатываю частотник для АД, подскажите пожалуйста.

Сообщение sidor094 »

Я использую такой
https://ru.aliexpress.com/item/High-Qua ... d25e6f70e4
Если не требуется позиционирование то тахометр ничем не хуже энкодера.Но по-моему 500-600 руб цена за энкодер небольшая ,плюс возможность точного позиционирования.Меня трансформатор тока интересует для реализации токового управления.Кстати вопрос .Для чего средняя точка?Для защиты от сквозного тока?Ведь для защиты от фазного тока достаточно включить трансформатор в фазу.
Ответить

Вернуться в «Питание»