Страница 1 из 1

Омметр цифровой автоматический - что я делаю не так?

Добавлено: Ср сен 11, 2013 11:21:39
keht
Здравствуйте, товарищи!

Извините, но будет много букв на очень простую схему :)

Решил сделать цифровой омметр с автоматическим выбором предела измерения. Номиналы, подлежащие измерению: от 10 Ом до 1 МОм. Ограничений по точности не ставил - как получится.

В основе прибора - банальный делитель. Зная сопротивление одного плеча и напряжения с двух сторон, легко можем вычислить неизвестное сопротивление.

Замером напряжения и индикацией занимается мк (в моем случае - ардуино). Т.к. его АЦП дает 1024 значения на интервале 0-5в, очевидно, что для покрытия требуемого диапазона сопротивлений придется сделать несколько делителей и поочерёдно подключать исследуемый резистор к ним. Так же известно, что наивысшая точность АЦП в середине диапазона, поэтому желательно держать коэффициент делителя в районе 0.5.

В результате получаем следующую схему:
Изображение

8-ми битный сдвиговый регистр, к каждому выходу подключаем плечо одного из делителей (на схеме для экономии места изображено только 3, но в реальности их будет 8 ).
Rx - измеряемый резистор, на схему не запаян, подключается через клеммы/крокодилы/щупы/итп.
R11-R18 - токоограничительные.
R1-R8 - заранее известные, взятые с таким шагом, чтобы равномерно покрыть весь диапазон - назову их эталонными.
R9 - для ограничения тока, чтобы не превысить допустимые транзистором 100ма в случае, если сопротивлений измерямого и эталонного резисторов для этой цели окажется недостаточно.
R10 - компенсирует влияние R9 на делитель.

A0 - нога АЦП мк, на которой меряем напряжение.

Элементы:
Источник питания - 5в, взятые с мк. Питание самого мк пока не рассматриваю.
Сдвиговый регистр - 74HCT164 (макс ток на ногу - 20ма) - выбор обусловлен наличием.
Транзисторы S9014 (на схеме аналог, т.к. в протеусе их не оказалось) - выбор обусловлен наличием. Даташит: http://www.fairchildsemi.com/ds/SS/SS9014.pdf
мк - Aurduino Uno, макс ток на ногу - 40ма.

Алгоритм работы софта:
0. Получена команда измерить резистор.
1. Двигаем единицу по регистру, поочерёдно включая все восемь делителей. На каждом шаге снимаем напряжение с A0.
2. В полученных данных находим число, максимально близкое к 2.5в - это будет самое точное измерение. (и тут же обрабатываем граничные случаи, когда измерить резистор нельзя или он мертв).
3. По формуле расчета делителя получаем значение измеряемого сопротивления.
4. Выводим результат.

Тестовый прогон в proteus показал, что всё работает, и даже выдаёт точность ~0.1%.

А теперь собственно вопросы.
1. Т.к. это первая схема в моей жизни, то я просто не мог не накосячить. Подскажите, пожалуйста, где ошибки.
2. Существует ли подходящая мне сборка 8-ми транзисторов в одном dip, чтобы не разводить/распаивать отдельными элементами? Гугл по теме, к сожалению, не увечался успехом.

Re: Омметр цифровой автоматический - что я делаю не так?

Добавлено: Ср сен 11, 2013 13:40:56
Gudd-Head
keht писал(а):R10 - компенсирует влияние R9 на делитель.
Вот это пипец. R9 поставить 5/0.1 = 50 Ом и не париться.
keht писал(а):всё работает, и даже выдаёт точность ~0.1%.
При минимальном Uкэ_нас = 40 мВ, т.е. 0.04/5*100% = 0.8 %???

И зачем заводить на регистр вывод "R", если достаточно просто записать в него "00000000"?

Re: Омметр цифровой автоматический - что я делаю не так?

Добавлено: Ср сен 11, 2013 14:11:18
keht
Gudd-Head писал(а):Вот это пипец. R9 поставить 5/0.1 = 50 Ом и не париться.
Действительно, перемудрил. Уберу нафик.
Gudd-Head писал(а):При минимальном Uкэ_нас = 40 мВ, т.е. 0.04/5*100% = 0.8 %???
0.1% получился при испытаниях. Аналитически рассчитывать как-то даже не подумал : ) Похоже, просто повезло с входными данными. В реальном устройстве ожидаю куда более печальных результатов : )
Gudd-Head писал(а):И зачем заводить на регистр вывод "R", если достаточно просто записать в него "00000000"?
Спасибо за хинт! Я почему-то решил, что перед началом работы обязательно следует пользоваться резетом. Освобожу тогда ногу мк, а резет подтяну резистором от греха подальше.

Re: Омметр цифровой автоматический - что я делаю не так?

Добавлено: Ср сен 11, 2013 14:25:49
Gudd-Head
Я бы, конечно, применил полевики (им и в затвор можно резисторы не пихать). Но если у вас нет... :(
В качестве сборки можно посмотреть на что-то вроде ULN2003A, но по мне проще напаять 8 штук отдельных транзисторов в корпусе SOT-23.

Re: Омметр цифровой автоматический - что я делаю не так?

Добавлено: Ср сен 11, 2013 15:28:07
keht
Gudd-Head писал(а):Я бы, конечно, применил полевики (им и в затвор можно резисторы не пихать). Но если у вас нет... :(
В качестве сборки можно посмотреть на что-то вроде ULN2003A, но по мне проще напаять 8 штук отдельных транзисторов в корпусе SOT-23.
Планировал паять обычные ТО92, которых навалом, и которые печалят необходимым количеством отверстий в плате. Поэтому идея с SOT-23 - очень понравилась. Я как-то сразу не подумал, что бывают другие типы корпусов, не требующие дырок в плате : ) Полез гуглить и очень удивился, когда оказалось что напридумывали не меньше полусотни разных вариантов - есть из чего выбирать.

ULN2003А - как раз то что я искал изначально. Спасибо за наводку!

Re: Омметр цифровой автоматический - что я делаю не так?

Добавлено: Ср сен 11, 2013 15:34:49
Gudd-Head
А хотите ещё идейку? Можно собрать RC-генератор с исследуемым резистором, и просто мерить частоту генерации :idea:
Возможно, переключая конденсаторы для расширения измеряемого диапазона.

Re: Омметр цифровой автоматический - что я делаю не так?

Добавлено: Ср сен 11, 2013 21:19:14
kalobyte
изменение температуры будет сильно влиять на показания
есть вариант попроще, но лень рисовать и точность пока сам не знаю, точней как будут влиять элементы друг на друга
хотя в твоем случае можно сделать еще автокалибровку перед измерением и иногда делать ее, когда нет измеряемого элемента