Я должен был сделать это в значительной степени на предыдущей работе RL, поэтому я рассмотрю проблемы, которые я могу видеть здесь, и дам хотя бы краткое описание того, что мы сделали, хотя а) это было около 20 лет назад, так что мой память может расходиться с реальностью, б) она была на искробезопасной системе, которая добавляет дополнительные компоненты для ограничения доступной мощности в условиях сбоя, и в) я не был первоначальным разработчиком.
Цепь на уровне блока представляла собой коммутируемый источник тока (стабильный, достаточно точный, но не с точностью, необходимой для измерения), питающий датчик PRT, подключенный по Кельвину, и высокоточный эталонный резистор (0,01%), причем различные точки подавались через защитные резисторы. и мультиплексор для 24-битного интегрирующего АЦП с двойным наклоном. Это дало точность 0,01 ° C в середине диапазона, но только 0,02 ° C (0,013 ° C IIRC) на верхнем конце из-за токов утечки, действующих на защитные резисторы, которые могут быть исправлены на нижнем конце, как указано ниже. Использование эталонного резистора и измерение пропорционально устраняют необходимость в точном и стабильном источнике тока и ослабляют ограничения на эталонный АЦП, так что нормального коммерческого компонента будет достаточно.
Я предполагаю, что точка измерения удалена от электроники (датчик находится на конце какого-либо кабеля), потому что в противном случае у вас будут большие проблемы с электроникой, выходящей за пределы указанного температурного диапазона (обычный промышленный диапазон составляет -55 + 85C). Это довольно хорошо диктует использование соединений Кельвина (4-проводной PRT), так что сопротивление кабеля может быть исключено из измерения - ток возбуждения подается по одной паре проводов, а напряжение измеряется по другой (где стоимость кабеля составляет очень высокий, вы можете использовать 3-х проводную симметричную длину и компенсировать общий провод еще несколькими измерениями и программным обеспечением). Основным измерения для измерения напряжения на датчике и поперек опорного резистора;
Переключение тока возбуждения позволяет избежать саморазогрева, а уровень возбуждения достаточно высок, чтобы обеспечить приемлемые уровни сигнала; Вы можете выбрать ток возбуждения таким образом, чтобы наибольшее сопротивление цепи датчика давало напряжение, близкое к полному диапазону, но все еще находящееся в линейной области, с учетом сопротивления датчика, эталона, соединительных кабелей, их изменения температуры, изменения температуры источник тока и т. д. Вы можете установить ток возбуждения на выходе ЦАП (настоящий ЦАП, а не линии ШИМ) и использовать программное обеспечение, чтобы в течение длительного времени регулировать уровень привода, чтобы максимально высокое показание АЦП было близко к полному диапазону - это позволило бы избежать потеря разрешения при низких температурах (низкая температура PRT = низкое сопротивление = низкое показание АЦП = меньшее количество бит на градус = пониженная точность).
Использование одного АЦП позволяет избежать проблем (неправильного) сопоставления АЦП, приводящих к неизмеримым ошибкам; В моей системе АЦП был настроен как однополярный, но вы можете обнаружить, что конфигурация дифференциального входа упрощает работу, однако следите за токами утечки и их изменением в общем режиме входа. При использовании двухстороннего преобразователя необходимо использовать полипропиленовые или полиэтиленовые конденсаторы в схеме АЦП, чтобы минимизировать диэлектрическое поглощение, они большие и дорогие (а также используют защитные кольца на печатной плате и минимизируют определенную длину следа печатной платы, поскольку эпоксидная смола в FR4 имеет высокое диэлектрическое поглощение). Дельта-сигма-преобразователь избегает этого, но создает проблемы со временем установления при изменении входного сигнала (отбрасывает первые N показаний), что увеличивает время измерения и может позволить самонагреву влиять на показания или предотвращать своевременное считывание (вот почему был выбран двойной уклон, с компонентами, доступными в то время). Если на входе в АЦП имеется блок усиления, то стоит использовать его, чтобы минимизировать ток возбуждения, но не пытайтесь обалдеть, меняя усиление между показаниями, поскольку усиления никогда не бывают точно номинальными значениями, поэтому показания АЦП, полученные с разным усилением, не совместимы для этой цели.
Другой пагубный источник ошибок - непреднамеренные переходы термопар; даже лужение на медных проводах (или следы печатной платы) может дать этот эффект. Помимо попыток минимизировать количество разнородных соединений металл-металл на пути прохождения сигнала, убедитесь, что все, чего вы не можете избежать, находится в сбалансированных парах и изотермически, так что любые эффекты отменяются, и что путь прохождения сигнала находится настолько далеко, насколько это возможно, от более высокого тока следы. Будьте осторожны с вашими кругами; заземление на стороне входа АЦП (которое может использоваться в качестве эталона для источника тока возбуждения) подключено только в одной точке к аналоговому заземлению (заземление микросхемы АЦП и входного мультиплексора), которое подключено только в одной точке к системе (микропроцессор) и т. д.) заземление, которое подключено только в одной точке к входу заземления источника питания. Другим источником ошибки могут быть входные токи утечки; если у вас есть какое-либо значительное сопротивление последовательно с входом АЦП (например, сопротивление «мультиплексора» или «пропускающий фильтр»), убедитесь, что падение напряжения на этом сопротивлении при максимальном токе утечки достаточно мало. Кроме того, для этой точности вам необходимо обеспечить очень низкую утечку через датчик и другие части системы, такие как эталонный резистор; все, что меньше 10М, будет иметь заметный эффект. такой как эталонный резистор; все, что меньше 10М, будет иметь заметный эффект. такой как эталонный резистор; все, что меньше 10М, будет иметь заметный эффект.
При измерении включите ток возбуждения, подождите около секунды, пока он не установится (помните, что кабель датчика имеет внутреннюю емкость, которая должна быть заряжена до устойчивого состояния), выполните преобразования АЦП на всех каналах с фиксированной синхронизацией. , затем перечитайте все, кроме последнего, в обратном порядке в то же время; при необходимости выполните еще два набора показаний, чтобы рассчитать самонагрев, затем выключите возбуждение. Номинальное время для набора показаний - это время нечетного одноэлементного считывания (для двухслойного преобразователя это момент, когда входной конденсатор выборки и удержания отключен от входов), и пары показаний должны быть то же самое, но если они отличаются, возможно, из-за самонагревания, вы можете усреднить их, чтобы дать эквивалентное значение в номинальное время. С 4-проводной PRT в вас есть чтение PRT и опорное чтение, умножение опорного значение резистора по отношению их, чтобы получить сопротивление PRT; для 3-проводного PRT сначала вычтите показания через провод привода из показаний PRT, чтобы компенсировать общую линию. Чтобы прочитать несколько PRT, вы можете либо последовательно соединить их, если источник тока имеет достаточную совместимость, и иметь входной мультиплексор с достаточным количеством каналов для выбора любого из датчиков (или эталонного резистора), либо мультиплексировать привод - вам все еще нужен широкий вход мультиплексор, но текущие требования соответствия источника смягчены.
Чтобы преобразовать сопротивление PRT в температуру, вы можете попытаться сгенерировать или найти формулу, но система, в которой я использовал таблицы данных RT производителя, выполнила квадратичную интерполяцию для трех ближайших точек данных; это позволяет упростить замену используемых датчиков (просто поместите новую таблицу) или выполнить индивидуальную калибровку путем замены таблицы измеренных значений.