СЛЕДЯЩИЙ СИНУСНО-КОСИНУСНЫЙ ПРЕОБРАЗОВАТЕЛЬ УГЛА В КОД СО ВСТРОЕННОЙ ЦИФРОВОЙ КОРРЕКЦИЕЙ ОШИБКИ ПРЕОБРАЗОВАНИЯ
TRACKING SINE-COSINE ANGLE-TO-CODE CONVERTER WITH BUILT-IN DIGITAL CONVERSION ERROR CORRECTION

Техническое решение относится к измерительной технике и технике автоматического регулирования, в частности, к следящим синусно-косинусным преобразователям угла в код, и может быть использовано в системах где требуется измерять положение с помощью датчика, формирующего синусно-косинусный сигнал, фаза которого пропорциональна измеряемому углу. Изобретение целесообразно использовать при проектировании специализированных интегральных схем быстродействующих датчиков положения на основе следящих преобразователей угол-код.
Известен способ цифрового преобразования угла в код с коррекцией ошибки преобразования [1] основанный на том, что значения выходного кода образуют суммированием выходного кода основного канала амплитудного цифрового преобразования угла следящего типа и выходного кода корректирующего канала, при этом соответствующие значения выходного кода корректирующего канала формируют при вращении ротора датчика угла основного канала преобразования с постоянной угловой скоростью, равной половине ее максимального рабочего значения, путем аналого-цифрового преобразования тахометрического сигнала основного канала преобразования, интегрирования переменной составляющей преобразованного тахометрического сигнала и регистрации проинтегрированного сигнала. Недостатком данного технического решения является требование наличия дополнительного канала для коррекции кода угла.
Известен способ цифрового преобразования угла в код с коррекцией ошибки преобразования [2] основанный на том что для коррекции ошибки преобразования используется два канала преобразования (два датчика) с различными спектрами пространственной погрешности. Вычисляются разности первого и второго кодов угла, по которым определяют амплитуды и фазы пространственных гармоник погрешности первого датчика, формируют первую поправку как сумму пространственных гармоник погрешности первого датчика для угла, соответствующего первому коду угла, формируют выходной код, прибавляя первую поправку к первому коду угла. Недостатком данного решения является то что для коррекции ошибки преобразования требуется два датчика с разным спектром ошибки, что в случае реализации на уровне интегрального датчика положения со встроенной сенсорной системой невозможно технически.
Известен метод цифровой коррекции ошибки преобразования для синусно-косинусных преобразователей угол-код [3] включающий два АЦП преобразующих аналоговые синусный и косинусный сигналы в цифровой код, с выходов АПЦ сигналы поступают на вход блока коррекции смещения, разбаланса амплитуд и фазы, с выхода блока коррекции сигналы поступают на детектор разбаланса смещения, разбаланса усилений и фазы, с выхода детектора на вход блока коррекции поступают сигналы пропорциональные соответствующим разбалансам. Скорректированный сигнал после коррекции разбалансов поступает на блок коррекции гармонических искажений и далее на преобразователь угол-код. Недостатком предложенного решения является ограниченное быстродействие системы за счет использования отдельных дискретных АЦП, которые обычно обладают относительно невысоким для преобразователей угол-код быстродействием.
Известен преобразователь угол-код [4] реализованный в микросхеме обработки сигналов с синусно-косинусных датчиков положения. В тракте обработки данной микросхемы реализован прямой алгоритм коррекции синусно-косинусного сигнала, включающий коррекцию смещения (в том числе и по датчику температуры), разбаланса амплитуд и фазового сдвига. Корректированный сигнал поступает на преобразователь угол-код. Описанная конструкция применима для преобразователей с независимым преобразованием синусно-косинусного сигнала на дискретных АЦП и, как и [3] имеет ограниченное быстродействие.
Известен быстродействующий следящий преобразователь синусно-косинусного сигнала в код положения, выбранный в качестве прототипа [5]. Преобразователь построен по следящей схеме и содержит два умножителя входных сигналов, вычитатель, компаратор и генератор управляемый напряжением (ГУН), который вырабатывает сигналы инкрементирования и декрементирования реверсивного счетчика по разностному сигналу вычитателя. Код реверсивного счетчика является выходным кодом преобразователя. Особенностью преобразователя является то, что значения синуса и косинуса не выбираются из таблиц синуса и косинуса по коду счетчика, а вычисляются блоком CORDIC-вычислителя, который формирует коды значений синуса и косинуса, подаваемые на вход умножителей сигналов косинус и синус, соответственно, что позволяет сократить объем ПЗУ, но при этом снижает быстродействие преобразователя. Недостатком данного решения является отсутствие коррекции ошибки преобразования синусно-косинусного сигнала, которая всегда присутствует в реальных системах и приводит к ошибке измерения угла.
Известен следящий синусно-косинусный преобразователь угла в код положения [6] отличающийся от [5] тем что в качестве блока формирования цифровых значений синуса и косинуса использует табличный способ формирования с укороченной таблицей и интерполяцией промежуточных значений по младшим разрядам счетчика.
Задачей технического решения является повышение точности преобразования синусно-косинусного сигнала в код угла при обеспечении высокого быстродействия преобразования.
Поставленная задача решается благодаря тому, что в структуру следящего преобразователя содержащего первый умножитель для перемножения входного напряжения синусного сигнала на цифровое значение косинуса выходного кода, второй умножитель для перемножения входного напряжения косинусного сигнала на цифровое значение синуса выходного кода, вычитатель-усилитель ошибки, входы которого соединены с выходами умножителей, а выход с генератором сигналов счета, который вырабатывает сигналы инкрементирования и декрементирования реверсивного счетчика в зависимости от знака и величины рассогласования, выходы прямого и обратного счета генератора соединены с реверсивным счетчиком выходного кода угла, выход счетчика соединен блоком формирования значений синуса и косинуса, выходы которого соединены с цифровыми входами умножителей, предусмотрены следующие отличия, а именно, выходы блока формирования значений синуса и косинуса соединены с входами блока коррекции синусно-косинусного сигнала, выходы которого соединены со входами цифрового преобразователя CORDIC работающего в режиме вектор, выходной код данного преобразователя является выходом преобразователя угол-код.
Между совокупностью существенных признаков заявленного технического решения и достигаемым техническим результатом существует причинно-следственная связь, а именно, блок цифровой коррекции синусно-косинусного сигнала позволяет обеспечить устранение неидеальностей входного синусно-косинусного сигнала (ошибки смещения, разбаланса усилений, фазы, а также температурной зависимости данных ошибок) посредством небольшого количества регистров настройки при обеспечении высокого быстродействия за счет следящего контура.
Техническая сущность предложенного решения поясняется чертежами, где фиг. 1 содержит структурную схему преобразователя синусно-косинусного сигнала в код угла, фиг. 2 содержит структурную схему блока коррекции синусно-косинусного сигнала, фиг. 3 содержит графики, демонстрирующие компенсацию ошибки преобразования.
Структурная схема преобразователя приведена на фиг. 1.
Синусно-косинусный преобразователь угла в код содержит:
1, 2 - умножители;
3 - вычитатель-усилитель ошибки;
4 - генератор импульсов счета;
5 - реверсивный счетчик;
6 - блок формирования цифровых значений синуса и косинуса;
7 - блок коррекции синусно-косинусного сигнала;
8 - преобразователь CORDIC в режиме вектор;
9 - датчик температуры.
Умножители 1, 2 соединены с вычитателем-усилителем ошибки 3, разностное напряжение с которого подается на генератор импульсов счета 4, который вырабатывает сигналы инкрементирования и декрементирования реверсивного счетчика в зависимости от знака и величины рассогласования. Генератор импульсов счета 4 соединен линиями сигналов прямого UP и обратного DN счета с реверсивным счетчиком 5, значение которого является входом блока формирования цифровых значений синусно-косинусного сигнала 6. Данный блок может быть реализован различным образом - в виде таблицы синуса и косинуса ПЗУ адрес выбора строки которой является код счетчика (в том числе с применением интерполяции младших разрядов), в виде блока CORDIC в режиме «поворот», в виде вычисления прямой математической функции различным образом.
T
Выходы блока формирования синусно-косинусного сигнала соединены со входами умножителей, таким образом замыкая петлю обратной связи и образуя следящую систему, минимизирующую ошибку преобразования Err=Usin(θ-ϕ).
Выходы блока формирования синусно-косинусного сигнала поступают на входы блока коррекции 7 выполняющего коррекцию синусного и косинусного сигнала, в том числе использую данные с датчика температуры 9. Структура блока коррекции приведена на фиг. 2.
T
Синусный Sin(ϕ) сигнал поступает на вход первого сумматора 10, где суммируется с цифровым значением смещения синусного канала OFFs, с выхода первого сумматора сигнал поступает на вход второго сумматора 11 где суммируется с выходным сигналом блока коррекции температурной зависимости синусного канала 12 OFFTs(Tcode). Данный блок на основе показаний датчика температуры Tcode и коэффициентов настройки выполняет вычисление корректирующего значения смещения. Данный блок может иметь различную реализацию функции зависимости OFFTs=f(Tcode), например, полином 2-го порядка, табличные данные или табличные данные с интерполяцией промежуточных значений и т.д. С выхода второго сумматора 11 сигнал поступает на вход блока коррекции амплитуды синусного канала 13 выполняющего умножение сигнала на значение Gs.
T
Аналогично косинусный Cos(ϕ) сигнал поступает на вход первого сумматора 16, где суммируется с цифровым значением смещения косинусного канала OFFc, с выхода первого сумматора сигнал поступает на вход второго сумматора 17, где суммируется с выходным сигналом блока коррекции температурной зависимости косинусного канала 18 OFFTc(Tcode). С выхода второго сумматора 17 сигнал поступает на вход блока коррекции амплитуды косинусного канала 19 выполняющего умножение сигнала на значение Gc.
Таким образом на выходе блоков коррекции амплитуды 13 и 19 полученный сигнал будет иметь вид:
T
Usa=Gs⋅[Sin(ϕ)+OFFs+OFFTs(Tcode))]
T
Uca=Gc⋅[Cos(ϕ)+OFFc+OFFTc(Tcode))]
Далее осуществляется коррекция фазового сдвига между синусным и косинусным каналами путем взаимного суммирования сигнала каждого канала с определенным весовым коэффициентом.
K
А⋅sin(ϕ)=Usa+Gp⋅Uca
K
A⋅cos(ϕ)=Uca+Gp⋅Usa
Где Gp - корректирующий коэффициент, знаковый.
Внесенный фазовый сдвиг определяется в соответствии с выражением:
Δϕ=2⋅arctg(Gp)
При этом входной сигнал изменяется на масштабирующий коэффициент равный:
Блок коррекции синусно-косинусного сигнала 7 может содержать как полную коррекцию, описанную выше, так и частично, например, только коррекцию смещения.
Корректированные синусный и косинусный сигнал поступают на блок преобразователя угол-код 8, который может быть выполнен как преобразователь CORDIC в режиме вектор.
Предложенная конструкция позволяет скорректировать основные неидеальности синусно-косинусного сигнала вызванные неидеальностью сенсорой системы и аналогового тракта обработки.
На фиг. 3 представлен график демонстрирующий результат работы предложенной системы при компенсации ошибки преобразования вызванной появлением постоянного напряжения смещения в каналах синусного и косинусного сигналов. Разрешение преобразования для моделирования составляло 13 бит. Результаты также представлены в таблице 1.
Данные таблицы 1 показывают, что предложенная конструкция позволяет свести ошибку преобразования до минимального для данного разрешения значения.
Задержка преобразования предложенной системы определяется как:
Td=Tt+Tk+Tc
где Tt - задержка преобразования следящей системы, Tk - задержка преобразования блока коррекции, Тс - задержка преобразования блока CORDIC.
Задержка преобразования следящей системы Tt для тактируемых систем составляет:
Tt=2⋅Tclk
где Tclk - период тактовой частоты.
Задержка преобразования блока коррекции зависит от ее реализации и количества корректирующих звеньев. При использовании конвейерной архитектуры данного блока без промежуточных регистров задержка может быть снижена до двух тактов. Аналогично задержка блока CORDIC в случае его конвейерной реализации без промежуточных регистров между стадиями может быть снижена до двух тактов. Таким образом минимальная задержка преобразования предложенного преобразователя угол-код составит 6 тактов. Для системной тактовой частоты 16 МГц задержка преобразования составит 750 нс, а частота выдачи отсчетов составит 2.6 МГц.
Технико-экономический эффект от предложенного технического решения заключается в повышении точности преобразования синусно-косинусного сигнала в код угла при обеспечении высокого быстродействия преобразования, характерного для следящих систем.
Источники информации
1. Патент РФ 2488958
2. Патент РФ 2235422
3. Патент США 7250881
4. Статья «Интегральный процессор положения для прецизионных систем управления перемещением подвижных узлов и механизмов». Журнал «Компоненты и технологии», №7, 2016, стр. 81-85.
5. Патент РФ 167428 - прототип
6. Патент РФ 2659468