// ********************************************************************************************************
Как разработчик профессионально уже много лет занимающийся сервоприводами хочу сказать, что для такого применение от МК требуется обязательно:
- Два АЦП от 10...12 бит, 1...3 МГц, более важен параметр времени прохождения сигнала от входа до выдачи кода чем частота дискретизации. Часто АЦП приходится использовать для приема аналоговых квадратур, обычно полоса этого аналогового сигнала до 200кГц, но критически важно время рассогласования измерений двух каналов АЦП, оно напрямую влияет на точность вычисления сдвига фаз, т.е. на точность и качество всей системы, для прецизионных приводов это наиболее важный параметр. А время прохождения сигнала напрямую ограничивает полосу всего регулятора.
- 4 пары комплиментарных ШИМ выхода. Именно 4, поскольку три мало для многих реальных применений. Причем очень полезной функцией будет аппаратное блокирование одновременного появления единицы на верхнем и нижнем выходе, для простых случаев это обеспечивает драйвер, но для мощных приводов приходится делать независимые драйверы и ставить перед ними отдельную маленькую ПЛИС для этой блокировки. Можно даже комплиментарные выходы постоянно оставить заблокированными от одновременной единицы, и лучше не мультиплексировать эти выходы, а жестко задать им конкретные ноги.
Безусловно нужны настройки самого ШИМ как в STM32 или TMS320F28, разные типы центрирования, настройки мертвой зоны.
Причем было бы сказочно если бы у этих таймеров был более высокочастотный тактовый источник, хотя бы с удвоением частоты, т.е. срабатыванию по переднему и заднему фронту тактового сигнала как в CoolRunner II.
- ТРИ (минимум два) ЦАП 10...12бит, и эти ЦАП обязательно должны обеспечивать напряжение нулевого кода именно от нуля вольт максимум от 15мВ. Например тот же ЦАП STM32 имеет напряжение нулевого кода порядка 120-200мВ, и это не позволяет его использовать в точных системах сервопривода когда управление идет не ШИМ а с помощью аналогового сигнала и усилителя класса D. Приходится либо городить аналоговый сдвиг напряжения на 200мВ либо ставить внешний ЦАП. Причем 10бит реально достаточно, главное чтобы от нуля, пусть и с не идеальной линейностью. Еще неплохо бы предусмотреть нормальный выход Vref отдельно для ЦАП в идеале от 1В до напряжения питания.
- 2...3 Компаратора одной ногой соединенных с ЦАПами, быстродействие должно быть максимум 50нС. Компараторы тоже должны работать от 0В, выходы этих компараторов должны переключать выходной триггер одного из ШИМ таймеров. Т.е. нужно обеспечить простую петлю обратной связи, когда таймер включает ток через индуктивность, на компаратор приходит величина пропорциональная текущему току от шунта или токового трансформатора, и в момент когда напряжение на компараторе превышает заданное на ЦАП - выходы ШИМ переключаются отключая подачу тока в индуктивность. Обычная схема Компаратор + QR триггер.
И тут есть важная особенность, часто именно в сервоприводах используется биполярный датчик холла, он имеет напряжение нулевого тока обычно 2.5В и для того чтобы токовая петля работала с этим биполярным токов, необходимо после компаратора предусмотреть управляемый из программы инвертор, т.е. необходимо задавать по какому сигналу с компаратора 0 или 1 должен сбрасываться QR триггер, это критически важно.
- 4...6 таймеров общего назначения. Причем минимум два должны иметь режим подключения квадратурных энкодеров. Поскольку большинство современных приводов используют именно Full Clossed Loop, т.е. имеют два датчика положения на валу мотора и на конечном звене.
- 2...3 SPI, от 30МГц
- минимум три USART, минимум один из них должен иметь выход для аппаратного управления направлением RS485
- Два CAN.
- FPU блок аппаратного ускорения операций с плавающей точкой, он всегда используется в приводной тематике
- тактовая частота от 80МГц.
- 16 свободных GPIO, больше редко нужно.
Контроллер с таким набором свойствами - то что надо для управления практически любыми приводами и импульсными системами питания, он может стоить дороже но он буде того стоить.
Последний раз редактировалось AlexStepanov 2015-авг-27 14:21, всего редактировалось 1 раз.
|