Уважаемые форумчане!
Требуется помощь в реализации на EPM240 устройства, которое описано ниже.
Должен признать, что не плохо разбираясь в электронике, почти не умею программировать (в активе несколько поделок на Атмеловских камнях, написанных на АСМе), и абсолютно не знаком с ПЛИСами. Разумеется, речь не идет о том, чтобы кто-то сделал за меня эту работу. Работать буду сам, и готов к любым трудностям.
Но освоить новую область знаний за короткое время даже на среднем уровне, чтобы решить такую задачу, не реально...
Поэтому буду благодарен за любые подсказки, которые помогут избежать больших потерь времени и сил.
И заранее прошу сильно не пинать за ошибки, которых у меня наверняка будет не мало.
Постараюсь конкретизировать желаемое.
Задача: разработка системы управления специализированным синхронным электродвигателем.
Объект управления: двухрежимный, двухскоростной, восьмифазный, синхронный, малооборотный, прецизионный электродвигатель (BLDC) с внешним ротором, восемью датчиками Холла позиционированя, и магнитной редукцией (разные угловые деления пар полюсов ротора и зубьев статора).
Съем механической мощности с ротора не требуется. Главное требование - обеспечение максимальной стабильности мгновенной угловой скорости ротора-маховика (отсутствие детонаций, присущих синхронным электромоторам).
Долговременная стабильность обеспечивается кварцеванием генератора фазного напряжения.
Основные параметры двигателя:
1) Режим рабочих оборотов - 35 об/мин, 50 об/мин. Необходима возможность оперативной регулировки рабочих оборотов в пределах +/-10% от базовых значений.
2) Режим старт/стоп, для разгона и остановки ротора в течение заданного времени (не более 5 сек).
3) Схема статорных обмоток - 8-фазная звезда, с питанием фазных обмоток от полумостов с раздельным управлением верхними и нижними ключами по каждой фазе.
Система управления должна:
1) Обеспечить выбор базовой скорости (35/50 об/мин).
2) При подаче команды "Старт" автоматически определить положение ротора относительно статора (точность позиционирования - 1/16 углового деления полюсов ротора), и перейти в режим "Разгон".
3) Режим разгона - при этом на двигатель подается максимальное фазное напряжение, и задействуется до пяти фазных обмоток в каждый момент времени (для получения максимального крутящего момента двигателя). В этом режиме форма фазного напряжения - импульсная, двуполярная (питание от полумостов), без ШИМ. Повышенная мощность в этом режиме требуется для преодоления инерции маховика значительной массы.
4) При достижении заданных базовых оборотов двигатель переводится в рабочий режим, при котором фазное напряжение снижается в несколько раз, а напряжение в каждый момент подается только на одну или две фазные обмотки (аналог полушагового режима у шаговых моторов). Дополнительное снижение подводимой мощности в рабочем режиме обеспечивается ШИМом фазных напряжений.
Требование снижения фазного напряжения вытекает из особенности синхронных электромоторов, у которых ротор имеет свойство "осциллировать" в точке максимального сцепления магнитный полей статора и ротора, что отрицательно сказывается на стабильности угловой скорости. Это явление наиболее выражено на максимальной мощности двигателя, точнее - при минимальной нагрузке.
Для уменьшения подобных колебаний, и максимальной мгновенной стабилизации угловой скорости, к двигателю должна подводиться минимальная электрическая мощность, которая позволит поддерживать синхронный режим работы (на грани срыва синхронизации). При этом ротор, отставая от поля статора на угол до 1/2 угла зубцового деления, продолжает вращаться синхронно с полем статора. В рассматриваемой конструкции механическая мощность в рабочем режиме затрачивается только на потери трения в узле вращения, следовательно, подводимая электрическая мощность не должна намного превышать мощность механических потерь на трение.
Расчетное соотношение подводимой мощности в режиме разгона к мощности в рабочем режиме примерно 1000:1.
5) Система управления должна постоянно отслеживать отставание механической фазы ротора (по сигнал одного из датчиков Холла) от электрической фазы тока в определенной статорной обмотке. При значительном отставании фазы ротора от фазы статора (на грани срыва синхронизации) система увеличивает подводимую мощность изменением скважности ШИМ, при набегании фазы ротора, мощность снижается.
6) Перестройка скорости в требуемых пределах - дискретная, с шагом примерно в 0,5% от базовой скорости в ту, или другую сторону.
7) При подаче команды "Стоп" двигатель переводится в режим торможения, и должен быть остановлен за время, не превышающее время разгона. В этом режиме на него также подается повышенное фазное напряжение без ШИМ.
8) Это уже явно из области "хотелок" - реализовать все функции управления двигателем по wi-fi, используя в качестве дистанционного пульта, допустим смартфон на андроиде.
Исходя из перечисленных выше условий и требований, очевидно, что система управления является, по сути, автоматом второго рода (если память не изменяет - автомат Мура) - с системой обратной связи по отклонению фазы ротора, и сам Бог велел реализовать ее не на микроконтроллере, а на ПЛИСке.
В настоящее время изготавливается прообраз устройства на ATMTGA162 и дискретах.
К сожалению, из-за сложностей конструкции мотора пришлось значительно увеличить количество внешних дискретных элементов, только стандартной логики в выходных драйверах, питающих фазные обмотки, около десятка корпусов.
Вот и созрело решение заменить всю эту разномастицу на один корпус Альтеры. Взялся читать литературу, до которой смог дотянуться, не вставая с кресла, но ее оказалось не достаточно даже для того, чтобы уверенно стартовать.
Надеюсь, что мой проЖект хоть кому-то будет интересен, и я смогу рассчитывать на поддержку со стороны форумчан.
А возможно, что нечто подобное уже было реализовано. Тогда просто прошу ткнуть меня носом в нужное место.