Цитата(Dmi3y @ Oct 7 2011, 23:33)

Прошу помощи по замене сельсин-приемника угла поворота антенны.
Антенна вращается со скоростью 1 оборот за 10 секунд. На антенне установлен сельсин-датчик, на обмотку возбуждения которого подается 110В 400Гц. Необходимо заменить сельсин-приемник цифровым девайсом (необходим 12 разрядный код угла поворота). Как наиболее просто можно это сделать? Применимы ли для моего случая AD2SXX? Если да, то какой? Как я понял есть ограничения на минимальную частоту входных напряжений. Есть ли у кого опыт разработки подобного девайса, прошу помочь.
Мы решали аналогичную задачу. Микроконтроллер сам запитывал ротор, подавая на него постоянное напряжение, пока ток в обмотке нарастает, измеряет напряжения на статорных обмотках. Затем напряжение снимается, а через некоторое время подается напряжение противоположной полярности - чтобы ротор не намагничвался - и опять измеряется напряжение статорных обмоток. По их соотношению вычисляется угол. Если запитку менять нельзя, нужно будет измерять переменное напряжение, это
тоже не сложно.
Математика для вычисления угла примерно такая. Если магнитные датчики расположены под углом 90 градусов (т.е для синусно-косинусного трансформатора) и мы имеем сигналы Y=sin(phi) и X=cos(phi), то для вычисления угла достаточно посчитать арктангенс их отношения. Для этого имеется следующий итеративный алгоритм. Пусть phi0 - значение угла, подстраиваемое на каждой итерации. Для его вычисления домножаем сигнал Y на cos(phi0), а X на sin(phi0) и вычитаем их:
Y*cos(phi0) - X*sin(phi0) = sin(phi)*cos(phi0) - cos(phi)*sin(phi0) = sin(phi - phi0) ~ phi - phi0
Мы получили разность, прибавив которую к phi0 сразу получаем текущий угол. Выполняя эту операцию непрерывно мы будем непрерывно отслеживать угол.
В случае сельсина угол между обмотками 120 градусов и мы имеем Y=sin(phi) и X=sin(phi + d), где d = 120. Для вышеописанной формулы требуется косинус, для его вычисления выполним следующие преобразования:
sin(phi + d) = sin(phi)*cos(d) + cos(phi)*sin(d); заменяем синусы на X и Y
X = Y*cos(d) + cos(phi)*sin(d); из этого выражения находим cos(phi)
cos(phi)*sin(d) = X - Y*cos(d)
cos(phi) = (X - Y*cos(d)) / sin(d)
Таким образом, мы получили cos(phi), синус у нас уже есть и задача свелась к предыдущей.
Поскольку d=120, то получаем формулу cos(phi) = (X + Y/2) / (sqrt(3)/2)
Цитата(MaslovVG @ Oct 10 2011, 11:50)

Вот не поленился полазил по гугл:
AD2S44: Low Cost, 14-Bit, Dual Channel Synchro/Resolver-to-Digital Converter
AD2S90: Low Cost, Complete 12-Bit Resolver-to-Digital Converter
AD2S82AKPZ
AD2S83: Variable Resolution Resolver-to-Digital Converter
Resolver - это СКТ (синусно-косинусный трансформатор). А сельсин - это selsyn. Отличаются они (если не считать мощностей) углом под которым расположены статорные обмотки.