|
универсальный вход для любых датчиков, разработка универсального аналогового входа для разных датчиков |
|
|
|
Dec 27 2006, 03:44
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720

|
Нужно 4-8 аналоговых входов для подключения разнообразных датчиков (пока планируются резистивные ТСМ,ТСП 50,100; Pt100,1000; KTY34; аналоговые TMP35,36; HIH3610; цифровые DS1820,1821), возможно, еще потребуется подключение термопар. Подключение для экономии контактов разьема желательно одно-, в крайнем случае двухпроводное. Процессор - Мега16. 10 разрядов его АЦП должно хватить (точность нужна до 1-2х градусов, диапазон - 10-130 градусов). Думаю, схемотехника должна быть приблизительно такая: программируемый ЦАПом или ШИМом генератор тока (0,5-5 мА) для резистивных и цифровых датчиков, аналоговый коммутатор на 4 или 8 каналов (CD4052 или 2xCD4051), дифференциальный усилитель с программируемым К.У., АЦП. Может, удастся обойтись встроенным АЦП (у него есть диф.режим и программируемый К.У.). Делал кто-нибудь что-то подобное?
|
|
|
|
|
Dec 27 2006, 09:13
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(umup @ Dec 27 2006, 03:44)  Нужно 4-8 аналоговых входов для подключения разнообразных датчиков (пока планируются резистивные ТСМ,ТСП 50,100; Pt100,1000; KTY34; аналоговые TMP35,36; HIH3610; цифровые DS1820,1821), возможно, еще потребуется подключение термопар. Подключение для экономии контактов разьема желательно одно-, в крайнем случае двухпроводное. Процессор - Мега16. 10 разрядов его АЦП должно хватить (точность нужна до 1-2х градусов, диапазон - 10-130 градусов). Думаю, схемотехника должна быть приблизительно такая: программируемый ЦАПом или ШИМом генератор тока (0,5-5 мА) для резистивных и цифровых датчиков, аналоговый коммутатор на 4 или 8 каналов (CD4052 или 2xCD4051), дифференциальный усилитель с программируемым К.У., АЦП. Может, удастся обойтись встроенным АЦП (у него есть диф.режим и программируемый К.У.). Делал кто-нибудь что-то подобное? Высказывание об "универсальном входе" - это очень странно! Если не имели дело с метрологией, то сначала сильно рекомендую сесть и посчитать. Генератор тока, управляемый ШИМ - как раз об этом и говорит... Как там с подавлением пульсаций? Как с гальвано-развязкой? Терморезистор и термопара на один вход - это просто красота, если бы не компенсация холодного спая... Да еще однопроводное... А на каком расстоянии от датчиков находится процессор? И в каком температурном диапазоне он должен работать?
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Dec 27 2006, 10:08
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(umup @ Dec 27 2006, 02:44)  Нужно 4-8 аналоговых входов для подключения разнообразных датчиков (пока планируются резистивные ТСМ,ТСП 50,100; Pt100,1000; KTY34; аналоговые TMP35,36; HIH3610; цифровые DS1820,1821), возможно, еще потребуется подключение термопар. Подключение для экономии контактов разьема желательно одно-, в крайнем случае двухпроводное. Какая-то странная у Вас хотелка. Это что, для демонстрации студентам? Больше такое, по-моему, ни на что не сгодится  Это в первую очередь касается двухпроводного подключения RTD. Цитата(umup @ Dec 27 2006, 02:44)  Процессор - Мега16. 10 разрядов его АЦП должно хватить (точность нужна до 1-2х градусов, диапазон - 10-130 градусов). Внимательно посчитайте. Дело в том, что характеристика датчиков, во-первых, нелинейна, во-вторых, в указанном диапазоне температур Вы имеете не от 0 до Umax, а от U1 до U2, что заведомо меньше, чем диапазон АЦП. Цитата(umup @ Dec 27 2006, 02:44)  Думаю, схемотехника должна быть приблизительно такая: программируемый ЦАПом или ШИМом генератор тока (0,5-5 мА) для резистивных и цифровых датчиков, аналоговый коммутатор на 4 или 8 каналов (CD4052 или 2xCD4051), дифференциальный усилитель с программируемым К.У., АЦП. Может, удастся обойтись встроенным АЦП (у него есть диф.режим и программируемый К.У.). Делал кто-нибудь что-то подобное? Кстати, скорость опроса датчиков какая? Универсальный вход ВСЕГДА будет дороже и сложнее, чем специализированный. В запущенных случаях он будет хуже специализированного по параметрам. Универсальный вход хорош для производителя (не нужно номенклатуру раздувать) и плох для конечного потребителя, у которого гирлянды известных датчиков как повесили 20 лет назад, так и не будут ни на что менять еще долго. Например, мы для такого случая имеем плату, поддерживающую сколько-то входов измерения напряжения 0-30мВ (для термопар) плюс еще сколько-то входов измерения сопротивления 10-250 Ом (для RTD) с 3- и 4-х проводным включением. То есть обеспечивается универсальность (любой RTD или любая термопара), но не такая как вам нужно. Ну а перевод миливольт и ом в градусы происходит уже в системе сбора. Следующая ступень универсальности - это контроллеры, работающие с нормированным сигналом (-5...+5 Вольт). Таких входов как правило на производстве очень много нужно. Кстати, если речь идет о универсальности, рекомендую подумать о гальванической развязке хотя бы для термопар. Видел варианты, когда сигнал от одной термопары используется в нескольких независимых системах обработки, в таких случаях гальваноразвязка очччень пользительна.
|
|
|
|
|
Dec 27 2006, 10:42
|
Местный
  
Группа: Свой
Сообщений: 492
Регистрация: 19-08-06
Пользователь №: 19 667

|
Цитата(umup @ Dec 27 2006, 02:44)  Нужно 4-8 аналоговых входов для подключения разнообразных датчиков (пока планируются резистивные ТСМ,ТСП 50,100; Pt100,1000; KTY34; аналоговые TMP35,36; HIH3610; цифровые DS1820,1821), возможно, еще потребуется подключение термопар. Подключение для экономии контактов разьема желательно одно-, в крайнем случае двухпроводное. Процессор - Мега16. 10 разрядов его АЦП должно хватить (точность нужна до 1-2х градусов, диапазон - 10-130 градусов). Думаю, схемотехника должна быть приблизительно такая: программируемый ЦАПом или ШИМом генератор тока (0,5-5 мА) для резистивных и цифровых датчиков, аналоговый коммутатор на 4 или 8 каналов (CD4052 или 2xCD4051), дифференциальный усилитель с программируемым К.У., АЦП. Может, удастся обойтись встроенным АЦП (у него есть диф.режим и программируемый К.У.). Делал кто-нибудь что-то подобное? Каша какая-то. Какое еще подключение "одно-, в крайнем случае двухпроводное". Ты бы хоть посмотрел, что для тех же ТСМ, ТСП рекомендуют (и, странное дело, применяют) 4- или 3-проводное подключение, и подумал: а нафига это туповатый народец лишние провода использует? И что ты собираешься подавать на "дифференциальный усилитель с программируемым К.У." с терморезистора, подключенного по "однопроводной схеме" (надеюсь, общий провод в это число не входит). Какой еще программируемый ток предполагается подавать на DS1820?
|
|
|
|
|
Dec 27 2006, 11:40
|

Знающий
   
Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402

|
Вот накинулись на человека :-) umup, вообще, желание хорошее, но самоубийственное изначально. Жизненный опыт показывает, что экономия контактов разъёма совершенно не оправдывается схемными наворотами. Вы получаете целый набор недостатков: - печатная плата становиться больше - помехозащищённость схемы резко падает - сложность монтажа возрастает (фактически, это конструктор "Сделай сам" для монтажника) - модернизация схемы усложняется - ремонтопригодность снижается - можно продолжать далее... и всё это из-за экономии разъёма... Если принципиально нельзя увеличить количество разъёмов, то лучшим решением (ИМХО) будет модульная сборка. Т.е. Вы делаете несколько небольших одноплатных модулей - для ТСМ..., для термопар, для цифры, для... и потом устанавливаете их на общую плату. Такой подход позволит упростить задачу в разы - поверьте. Ещё очень важно обеспечить гальваническую изоляцию всех каналов друг от друга и от МК.
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Dec 27 2006, 14:04
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 11-01-05
Из: Украина, г. Одесса
Пользователь №: 1 896

|
Мдя... Ну бывает, бывает. Человеку захотелось иметь полный пердимонокль Особенно понравилось сочетание 'универсальный аналоговый вход' и цифровые датчики... Единственное что всплыло из моей памяти , это делал в свое время универсальный модуль аналоговых диф.входов с двумя регулировками на канал: одна - усиление, вторая - смещение нуля.
|
|
|
|
|
Dec 27 2006, 15:06
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 11-01-05
Из: Украина, г. Одесса
Пользователь №: 1 896

|
Цитата(Ruslan1 @ Dec 27 2006, 15:56)  Цитата(okela @ Dec 27 2006, 13:04)  Единственное что всплыло из моей памяти , это делал в свое время универсальный модуль аналоговых диф.входов с двумя регулировками на канал: одна - усиление, вторая - смещение нуля.
Дык это и так присутствует всегда и везде, природа позаботилась. Наша задача- свести эти смещения-уходы-старения к допустимому минимуму, вводя свои "антисмещения и "антиусиления".  Имелось ввиду что подстраиваемые параметры : размах входного диапазона и его начало. Например: 0...10 в, 1...5 в, 0... 1.5 в и т.д.
|
|
|
|
|
Dec 27 2006, 15:52
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720

|
Вот собрал такое (пока на макете) - работает (четыре канала), подключал DS18B20, Pt100, TMP36, HIH3610, ТСМ-50. Используется трехпроводная схема. ШИМ с PD4 задает ток для резистивных датчиков. U8A - повторитель после фильтра, U8B - генератор тока. AO0-AO3 - выходы тока, AI0-AI3 - входы напряжения. PA4 - используется для работы с цифровыми датчиками (для K_AV - им нужен подтягивающий резистор - ток 0,5 - 2 мА - вот по каналу генератора тока он и генерируется, работает прекрасно). После RC фильтра аналоговый сигнал поступает на PA3. Если нужно, АЦП используется в диф. режиме (по входу PA2 ШИМом с PD5 задается уровень на втором диф. входе, то есть неиспользуемый диапазон резистивных датчиков отрезается). Для датчиков с большим сигналом (TMP36, HIH3610) используется обычный, не диф. вход. Для 100 и 50 омных включается внутр. усилитель 10х. В программе создан массив параметров для типов датчиков (задан ток, который нужен данному датчику, режим АЦП (диф/обычный, Ку), нужен ли цифровой обмен). Алгоритм приблизительно такой : 1.Конфигурируем АЦП в соответствующий выбранному каналу (подключенному датчику) режим (обычный/диф., Ку) 2.В регистр ШИМа тока пишем значение, соответствующее току для данного типа датчика, в регистр ШИМа диф. сигнала - соответствующее значение. 3.пауза для установления параметров 4.меряем АЦП или обмениваемся с DSxxx 5.пишем считанное значение в массив измеренных значений 6.выключаем ток 7.пауза 8.переключаемся на следующий канал 9.перейти на п.1 Точности пока хватает (в +-3 градуса укладывается). Смещения компенсируются калибровкой по двум точкам (у LM358 они большие, но компенсируются нормально, пробовал MCP617 - значительно лучше, OPA2335 должно быть еще лучше). Если применить вместо встроенного внешний АЦП (например ADS1110) c программируемым усилением, должно быть вообще прекрасно.
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 27 2006, 16:04
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(okela @ Dec 27 2006, 14:06)  Цитата(Ruslan1 @ Dec 27 2006, 15:56)  Цитата(okela @ Dec 27 2006, 13:04)  Единственное что всплыло из моей памяти , это делал в свое время универсальный модуль аналоговых диф.входов с двумя регулировками на канал: одна - усиление, вторая - смещение нуля.
Дык это и так присутствует всегда и везде, природа позаботилась. Наша задача- свести эти смещения-уходы-старения к допустимому минимуму, вводя свои "антисмещения и "антиусиления".  Имелось ввиду что подстраиваемые параметры : размах входного диапазона и его начало. Например: 0...10 в, 1...5 в, 0... 1.5 в и т.д. Да я понял. Это так, шутка была.
|
|
|
|
|
Dec 27 2006, 17:22
|
Местный
  
Группа: Свой
Сообщений: 492
Регистрация: 19-08-06
Пользователь №: 19 667

|
Цитата(umup @ Dec 27 2006, 14:52)  Вот собрал такое (пока на макете) - работает (четыре канала), подключал DS18B20, Pt100, TMP36, HIH3610, ТСМ-50. Используется трехпроводная схема. ШИМ с PD4 задает ток для резистивных датчиков. U8A - повторитель после фильтра, U8B - генератор тока. AO0-AO3 - выходы тока, AI0-AI3 - входы напряжения. PA4 - используется для работы с цифровыми датчиками (для K_AV - им нужен подтягивающий резистор - ток 0,5 - 2 мА - вот по каналу генератора тока он и генерируется, работает прекрасно). После RC фильтра аналоговый сигнал поступает на PA3. Если нужно, АЦП используется в диф. режиме (по входу PA2 ШИМом с PD5 задается уровень на втором диф. входе, то есть неиспользуемый диапазон резистивных датчиков отрезается). Для датчиков с большим сигналом (TMP36, HIH3610) используется обычный, не диф. вход. Для 100 и 50 омных включается внутр. усилитель 10х. Вот теперь замысел понятен. Я бы так все равно не делал, но раз тебя устраивает - почему бы и нет. а) использовать источник тока вместо подтягивающего резистора безбоязненно можно только в статике. Сомневаюсь, что твой источник тока успевает отрабатывать импульсы информационного обмена. Скорее, спасает широкий допуск на ток "подтяжки" в этой цепи. "Ноль" задается жестко, а к единице чем бы ни тянулся - в большом диапазоне токов почти все равно. Но чревато. б) Если раньше, говоря об "однопроводном" подключении датчика, видимо, имелось в виду 2 физических провода  , то теперь "трехпроводное" - это три или четыре? Видимо, все же 3, просто с терминами напряженка. В подключении проволочных термосопротивлений трехпроводное подключение означает не только то, что проводов 3, но и то, что падение напряжения на обоих проводах питания датчика компенсируется (пусть с использованием всего одного доп. провода). У тебя, судя по всему, - нет (точнее, компенсируется падение на одном проводе). Не полностью уверен, т.к. не нарисовано - но подозреваю. Хотя опять же - если устраивает... в) такой "дифференциальный" режим измерения из исходного поста совсем не ожидался. Ну да ладно. Другое дело, что он плохо реализован. Ты создаешь вычитаемое напряжение из ШИМ. Получаемое напряжение зависит, вообще говоря, не только от скважности ШИМ, но и от его амплитуды. Амплитуда определяется в данном случае напряжением питания контроллера. А оно у тебя застабилизировано в достаточной степени, чтобы использоваться в качестве сравнительной величины (через ШИМ) для 10-разрядного АЦП? По-простому, требуется питание контроллера 5+-0,005 В.
|
|
|
|
|
Dec 27 2006, 18:02
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720

|
Цитата Сомневаюсь, что твой источник тока успевает отрабатывать импульсы информационного обмена Смотрел осцоллографом - да, нарастание импульса не совсем идеальное, но достаточное для обмена данными Цитата Если раньше, говоря об "однопроводном" подключении датчика, видимо, имелось в виду 2 физических провода , то теперь "трехпроводное" - это три или четыре Я имел ввиду, по одному проводу на выход датчика (плюс общая земля и питание для аналоговых/цифровых датчиков). Для резистивных ничего лучшего пока не придумалось - для устранения влияния канала коммутатора пришлось разделить токовый выход и вход, если взять хороший соединительный провод с датчиком, можно их соединить, то есть получится по одному проводу на датчик + общая земля и питание. Цитата У тебя, судя по всему, - нет (точнее, компенсируется падение на одном проводе) Резистивные датчики включаются одним выводом на землю, другим (двумя проводами) на выход тока и вход напряжения. То есть один провод (земля) не компенсируется, ну и фиг с ним. Цитата такой "дифференциальный" режим измерения из исходного поста совсем не ожидался Ну не знаю, писал вроде что используется Мега16 Цитата По-простому, требуется питание контроллера 5+-0,005 В. Сейчас питание контроллера и аналоговой части сделано на LM317L. Ее погрешность компенсируется калибровкой (вообще-то онаи так небольшая), а термостабильность вроде достаточная (все резисторы - 1%) А если использовать контроллер с более навороченной аналоговой частью (MSP430, ADuC, c8051x) - вообще будет нормально. Можно ШИМ и связь с АЦП разделить опторазвязкой.
Сообщение отредактировал umup - Dec 27 2006, 18:13
|
|
|
|
|
Dec 27 2006, 18:37
|
Местный
  
Группа: Свой
Сообщений: 492
Регистрация: 19-08-06
Пользователь №: 19 667

|
umup Знаешь, если честно - то мне все равно. Я ведь не Госприемка. Тебя устраивает - и ладненько. Только в плане использования ШИМ для создания измеряемого на АЦП сигнала важно не значение напряжения питания контроллера, а его стабильность (чтобы после проведенной тобой калибровки и компенсации все не гуляло далее не учтенным). Ты ведь, наверное, посмотрел, что у LM317 температурная нестабильность 0,7% и временная нестабильность 0,3%. Плюс нестабильность резисторов обратной связи. 1% у них - это допуск на номинальное значение. "Ползают" от температуры они так же, как 5-процентные.
Сообщение отредактировал K_AV - Dec 27 2006, 18:38
|
|
|
|
|
Dec 27 2006, 19:08
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720

|
Цитата Ты ведь, наверное, посмотрел, что у LM317 температурная нестабильность 0,7% и временная нестабильность 0,3%. Лучшее что было под рукой. А какие стабилизаторы с лучшими параметрами ? По крайней мере точность и стабильность 317 не хуже встроенного опорника Меги. Цитата Плюс нестабильность резисторов обратной связи. 1% у них - это допуск на номинальное значение. "Ползают" от температуры они так же, как 5-процентные. Лучших пока нет.
Сообщение отредактировал umup - Dec 27 2006, 19:11
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|