УСТРОЙСТВО КОРРЕКЦИИ ОШИБКИ ПРЕОБРАЗОВАТЕЛЕЙ УГЛА В КОД
ANGLE IN CODE TRANSDUCER ERROR CORRECTION DEVICE

Изобретение относится к измерительной технике и технике автоматического регулирования, в частности, к преобразователям угла в код, и может быть использовано в системах где требуется измерять положение с высокой точностью. Изобретение целесообразно использовать при проектировании специализированных интегральных схем датчиков положения.
Известен способ цифрового преобразования угла в код с коррекцией ошибки преобразования [1] основанный на том, что значения выходного кода образуют суммированием выходного кода основного канала амплитудного цифрового преобразования угла следящего типа и выходного кода корректирующего канала, при этом соответствующие значения выходного кода корректирующего канала формируют при вращении ротора датчика угла основного канала преобразования с постоянной угловой скоростью, равной половине ее максимального рабочего значения, путем аналого-цифрового преобразования тахометрического сигнала основного канала преобразования, интегрирования переменной составляющей преобразованного тахометрического сигнала и регистрации проинтегрированного сигнала. Недостатком данного технического решения является требование наличия дополнительного канала для коррекции кода угла.
Известен способ цифрового преобразования угла в код с коррекцией ошибки преобразования [2] основанный на том что для коррекции ошибки преобразования используется два канала преобразования (два датчика) с различными спектрами пространственной погрешности. Вычисляются разности первого и второго кодов угла, по которым определяют амплитуды и фазы пространственных гармоник погрешности первого датчика, формируют первую поправку как сумму пространственных гармоник погрешности первого датчика для угла, соответствующего первому коду угла, формируют выходной код, прибавляя первую поправку к первому коду угла. Недостатком данного решения является то что для коррекции ошибки преобразования требуется два датчика с разным спектром ошибки, что в случае реализации на уровне интегрального датчика положения со встроенной сенсорной системой невозможно технически.
Известен преобразователь угол-код [3] реализованный в микросхеме обработки сигналов с синусно-косинусных датчиков положения. В тракте обработки данной микросхемы реализован прямой алгоритм коррекции синусно-косинусного сигнала, включающий коррекцию смещения (в том числе и по датчику температуры), разбаланса амплитуд и фазового сдвига. Корректированный сигнал поступает на преобразователь угол-код. Описанная конструкция широко применяется для коррекции ошибки преобразователей угол-код, но применима только для преобразователей с независимым преобразованием синусно-косинусного сигнала на дискретных АЦП и кроме того не может компенсировать 3-ю и 4-ю гармоники (связанную с нелинейными искажениями), а компенсируют только первую и вторую гармоники.
Известно довольно много методов коррекции сигналов преобразователей различного типа основанных на коррекции ошибки преобразования умножением выхода датчика на корректирующий полином с различными степенями, чем выше степень - тем точнее можно минимизировать ошибку преобразования. Данный метод универсален и применим для преобразователей различного типа, в том числе и преобразователей угол-код. Подобный метод описан, например, в [4], [5] и в различных модификациях используется в огромном количестве устройств. Недостатками данного метода является либо его ресурсоемкость при конвейерной аппаратной реализации (требует умножителей и чем больше степень полинома, тем больше требований к разрядности) либо невысокое быстродействие при программной реализации с использованием последовательного вычислителя (например, на основе микроконтроллера).
Известен метод цифровой коррекции ошибки преобразования для синусно-косинусных преобразователей угол-код [6] включающий два АЦП преобразующих аналоговые синусный и косинусный сигналы в цифровой код, с выходов АПЦ сигналы поступают на вход блока коррекции смещения, разбаланса амплитуд и фазы, с выхода блока коррекции сигналы поступают на детектор разбаланса смещения, разбаланса усилений и фазы, с выхода детектора на вход блока коррекции поступают сигналы пропорциональные соответствующим разбалансам. Скорректированный сигнал после коррекции разбалансов поступает на блок коррекции гармонических искажений (3-я гармоника синусного и косинусного сигнала) и далее на преобразователь угол-код. Данное решение применимо только для преобразователей, в которых синусно-косинусные сигналы преобразуются в цифровой код и лишь затем поступают на преобразователь угол-код, и не применимо для целого класса следящих преобразователей угол-код где отсутствует промежуточное преобразование синусного и косинусного сигналов в цифровой код [7, 8].
Задачей изобретения является повышение точности преобразователей угла в код с получением корректирующих коэффициентов с использованием только кода угла, а именно устранении нелинейностей с периодами кратными 1, 2, 3, 4 относительно периода сигнала (первая, вторая, третья и четвертая гармоники).
Поставленная задача решается благодаря тому, что код угла преобразователя суммируется с набором поправочных значений, полученных из данного кода угла:
- для 1-го поправочного значения путем преобразования CORDIC в режиме поворот со сдвигом на фиксированное значение, сигнал берется с выхода SIN блока CORDIC;
- для 2-го поправочного значения путем сдвига кода угла влево на один разряд и преобразования CORDIC в режиме поворот со сдвигом на фиксированное значение, сигнал берется с выхода SIN блока CORDIC;
- для 3-го поправочного значения путем преобразования CORDIC в режиме поворот со сдвигом на фиксированное значение, сигнал берется с выхода SIN блока CORDIC, умножением на 3, с последующим вычитанием из этого значения другого значения, полученного путем сдвига кода угла на один разряд влево и преобразования CORDIC в режиме поворот со сдвигом на фиксированное значение, сигнал берется с выхода COS блока CORDIC, вычитанием данного значения из значения соответствующего максимальному для блока CORDIC, сдвига вправо на один разряд, умножение на выход SIN первого блока CORDIC с последующим сдвигом на 2 разряда влево, сигнал берется с выхода вичитателя;
- для 4-го поправочного значения путем сдвига кода угла влево на два разряда и преобразования CORDIC в режиме поворот со сдвигом на фиксированное значение, сигнал берется с выхода SIN блока CORDIC.
Между совокупностью существенных признаков заявленного изобретения и достигаемым техническим результатом существует причинно-следственная связь, а именно, блок цифровой коррекции кода угла позволяет обеспечить коррекцию нелинейностей кода угла имеющих гармонический характер с периодами кратными периоду кода угла, а именно устранить первую, вторую, третью и четвертую гармоники.
Математически техническая сущность предложенного изобретения описывается системой выражений:
1
ϕ=АМР1⋅sin(DOFFSET1+ANGLE[N:0])
2
ϕ=АМР2⋅sin(DOFFSET2+ANGLE[N-1:0])
3
3
ϕ=3⋅NMAX⋅АМР3.1⋅sin(DOFFSET3.1+ANGLE[N:0])-4⋅M
4
ϕ=AMP4⋅sin(DOFFSET4+ANGLE[N-2:0])
1
2
3
4
ANGLE_CORR=ANGLE[N:0]+ϕ+ϕ+ϕ+ϕ
Техническая сущность предложенного изобретения поясняется чертежами, где фиг. 1 содержит структурную схему блока коррекции кода угла преобразователя угол-код, фиг. 2 содержит структурную схему формирования первого поправочного значения, фиг. 3 содержит структурную схему формирования второго поправочного значения, фиг. 4 содержит структурную схему формирования третьего поправочного значения, фиг. 5 содержит структурную схему формирования четвертого поправочного значения, на фиг. 6-13 приведены графики демонстрирующие работу устройства.
Структура схемы коррекции ошибки приведена на фиг. 1. и содержит:
1 - преобразователь угол-код;
2 - блок формирования 1-го поправочного значения;
3 - блок формирования 2-го поправочного значения
4 - блок формирования 3-го поправочного значения;
5 - блок формирования 4-го поправочного значения;
6 - первый сумматор;
7 - второй сумматор;
8 - третий сумматор;
9 - четвертый сумматор.
1
4
С выхода преобразователя угол-код 1 сигнал поступает на блоки формирования поправочных значений ϕ-ϕ 2-5, с выхода каждого из которых сигналы поступают на входы соответствующих сумматоров 6-9.
Структурная схема блока формирования 1-го поправочного значения показана на фиг. 2 и содержит:
10 - сумматор;
11 - регистр сдвига начального значения;
12 - блок CORDIC в режиме поворот;
13 - регистр амплитуды выходного сигнала.
1
Код угла сдвигается на фиксированное значение путем сложения с регистром сдвига начального значения 11. После чего смещенный код угла поступает на вход блока CORDIC в режиме «поворот», амплитуда выходного сигнала блока CORDIC задается регистром 13. Выход SIN блока 12 является первым поправочным значением ϕ кода угла.
Структурная схема блока формирования 2-го поправочного значения показана на фиг. 3 и содержит:
14 - сумматор;
15 - регистр сдвига начального значения;
16 - блок CORDIC в режиме поворот;
17 - регистр амплитуды выходного сигнала.
2
Код угла без старшего бита, сдвигается на фиксированное значение путем сложения на сумматоре 14 с регистром сдвига начального значения 15. После чего смещенный код угла поступает на вход блока CORDIC в режиме «поворот», амплитуда выходного сигнала блока CORDIC задается регистром 17. Выход SIN блока 16 является вторым поправочным значением ϕ кода угла.
Структурная схема блока формирования 3-го поправочного значения показана на фиг. 4 и содержит:
18 - сумматор 1;
19 - регистр 1 сдвига начального значения;
20 - блок 1 CORDIC в режиме поворот;
21 - регистр амплитуды 1 3-го поправочного значения;
22 - сумматор 2;
23 - регистр 2 сдвига начального значения;
24 - блок 2 CORDIC в режиме поворот;
25 - регистр амплитуды 2 3-го поправочного значения;
26 - вычитатель 1;
27 - регистр максимального значения амплитуды NMAX;
28 - регистр сдвига на 1 разряд вправо;
29 - умножитель 1;
30 - умножитель 2;
31 - регистр сдвига на 2 разряда влево;
32 - компенсирующий умножитель;
33 - вычитатель 2.
3
Код угла сдвигается на фиксированное значение путем сложения на сумматоре 18 с регистром 1 сдвига начального значения 19. После чего смещенный код угла поступает на вход блока CORDIC 20 в режиме «поворот», амплитуда выходного сигнала SIN блока CORDIC задается регистром 21. Код угла без старшего бита, сдвигается на фиксированное значение путем сложения на сумматоре 22 с регистром сдвига начального значения 23. После чего смещенный код угла поступает на вход блока CORDIC 24 в режиме «поворот», амплитуда выходного сигнала COS блока CORDIC задается регистром 25. Выход COS подается на вычитатель 26 где вычитается из регистра максимального значения NMAX 27. С выхода вычитателя сигнал поступает на регистр сдвига на один разряд вправо 28 и далее на умножитель 30 где перемножается с выходом SIN блока CORDIC 20, с выхода умножителя сигнал сдвигается на регистре 31 на два разряда влево. Выход SIN блока CORDIC 20 умножается на 3 на умножителе 29 и далее поступает на вход компенсирующего умножителя 32 (для компенсации разницы амплитуд между двумя ветвями блока связанной с целочисленным представлением данных) и далее на вход вычитателя 33. На второй вход вычитателя 33 поступает сигнал с выхода регистра сдвига 31. Выход вычитателя 33 является третьим поправочным значением ϕ кода угла.
Структурная схема блока формирования 4-го поправочного значения показана на фиг. 5 и содержит:
34 - сумматор;
35 - регистр сдвига начального значения;
36 - блок CORDIC в режиме поворот;
37 - регистр амплитуды выходного сигнала.
4
Код угла без двух старших бит, сдвигается на фиксированное значение путем сложения на сумматоре 34 с регистром сдвига начального значения 35. После чего смещенный код угла поступает на вход блока CORDIC 36 в режиме «поворот», амплитуда выходного сигнала блока CORDIC задается регистром 37. Выход SIN блока 36 является четвертым поправочным значением ϕ кода угла.
Предложенная конструкция позволяет скорректировать ошибку угла, вызванную неидеальностью сенсорой системы и аналогового тракта обработки и имеющие периодический характер.
На фиг. 6-8 показаны графики, демонстрирующие работу системы коррекции ошибки для компенсации нелинейности 1-го порядка (первая гармоника), вызванные, например, постоянным напряжением смещения в синусном и/или косинусном каналах. Показаны графики для случаев наличия постоянного напряжения смещения (амплитуда сигнала 1 В, разрешение преобразователя 13 бит или 0.05°):
- 20 мВ только на синусном канал;
- 40 мВ только на косинусном канале;
- по 20 мВ на синусном и косинусном каналах.
Результаты работы системы коррекции показаны в таблице 1. Система компенсирует ошибку нелинейности первого порядка более чем в 20 раз (от значений 2-5° до уровня 0,1° для преобразователя с разрешением 13 бит).
На фиг. 9, 10 показаны графики, демонстрирующие работу системы коррекции ошибки для компенсации нелинейности 2-го порядка (вторая гармоника), вызванные, например, различием амплитуд в синусном и косинусном канале. Результаты работы системы коррекции для случаем различия амплитуд синусного и косинусного каналов 0,9 и 1,1 показаны в таблице 1. Система компенсирует ошибку нелинейности второго порядка более чем в 20 раз (от значений порядка 6° до уровня 0,2° для преобразователя с разрешением 13 бит).
На фиг. 11 показаны графики работы системы коррекции для компенсации нелинейности 4-го порядка. Такие нелинейности вызваны нелинейными искажениями в аналоговом тракте преобразователей угол-код. На рисунке показана ошибка преобразования, вызванная нелинейными искажениями в синусном и косинусном каналах на уровне 2%, которая составляет ±1,14°. Подобранные корректирующие коэффициенты позволяют снизить ошибку практически в 10 раз.
На фиг. 12 показаны результаты работа системы коррекции для компенсации нелинейности вызванной всеми описанными выше факторами (смещение, различие амплитуд, нелинейные искажения) и включающие гармоники первого, второго и четвертого порядков. Подбором коэффициентов 1, 2 и 4-го каналов удалось снизить ошибку преобразования в 20 раз.
На фиг. 13 показаны результаты работы системы коррекции для компенсации нелинейности третьего порядка (вызванной, например, механическими факторами) на уровне 5%. Подбором коэффициентов удалось снизить ошибку преобразования в 7 раз.
Приведенные в таблице 1 данные показывают эффективность предложенной системы коррекции - ошибка преобразования снижается в 7-20 раз и более.
Алгоритм получения корректирующих коэффициентов предполагает начальный прогон преобразователя угол-код (датчика углового положения) на весь оборот с построением кривой ошибки сравнением с эталонным датчиком. По кривой ошибки определяют корректирующие коэффициенты. При наличии нескольких гармоник для определения амплитудных коэффициентов каждой гармоники АМР1-АМР4 можно использовать преобразование Фурье.
Для повышения точности вычисления корректирующих коэффициентов можно использовать блоки CORDIC с разрешением, существенно превышаемым необходимое для коррекции ошибки, с последующим сдвигом вправо на требуемое количество разрядов.
Технико-экономический эффект от предложенного изобретения заключается в повышении точности датчиков углового положения. Изобретение наиболее эффективно при интегральной реализации для коррекции ошибки преобразования в составе интегральных микросхем датчиков углового положения.
Источники информации
1. Патент РФ 2488958
2. Патент РФ 2235422
3. Статья «Интегральный процессор положения для прецизионных систем управления перемещением подвижных узлов и механизмов». Журнал «Компоненты и технологии», №7, 2016, стр. 81-85.
4. Статья «А Temperature Compensation Algorithm Based on Curve Fitting and Spline Interpolation». Chemical Engineering Transactions, 2016, №51, стр. 1345-1350.
5. Статья «PDF-Based Progressive Polynomial Calibration Method for Smart Sensors Linearization». IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, 2009, том 58, №9, стр. 3245-3252.
6. Патент США 7250881
7. Полезная модель РФ 167428
8. Патент РФ 2659468