Как считывать отрицательные значения напряжения?

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Пользовался поиском, но ответа не нашёл. Если уже было, то делитесь ссылочкой.

Ситуация такая: буду подключать ардуино к плате, где мне необходимо следить за выходным напряжением, а оно должно быть равным от -10мВ до 0, а может быть от -500мВ до +500мВ

Как я понял: вход Ардуино считывает напряжение от 0 до +5, где 0В=0, а +5В=1023. 

Вопрос: 

1. Можно ли сделать программно так, чтобы -500мВ=0, а +500мВ=1023?

2. Если первый вариант не подходит, то нужно сократить количество «костылей», потому что Устройство и так большое, не хочется ставить там дополнительные детали.

Примерная обрисовка сиитуации:

PS

Занимаюсь этим всего пару суток, поэтому многие очевидные вещи мог пропустить мимо глаз. Прошу отнестись с пониманием :)

__Alexander
Offline
Зарегистрирован: 24.10.2012

программно на ардуино никак. либо брать МК, который в качастве опоры может принимать отрицалку, либо ставить ОУ, и его питать минусом с устройства.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Понятно, тогда думаю, что ОУ - мой вариант. Спасибо!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а сигнал входной просто приподнять нельзя? и оу не понадобится

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Сергей Алексеевич, самый простой способ - последовательно сигналу подключить батарейку 1,5в. Тогда при отрицательных значениях входное напряжение просто вычтется из напряжения батарейки, и при положительных суммируется. Уровень ноля можно поймать программно. Но лучше конечно масштабирующий ОУ. Кстати питать ардуину как у вас на рисунке нельзя.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Дело в том, что выходное напряжение приподнять можно было бы. Но нужно, чтобы это лишнее напряжение приходило только на Ардуино, т.к. минус - это управляющее напряжение на микросхемах Устройства. В общем, я думаю о вариантах. 

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Батарейку я точно туда не повешу ) 

 

Про питание - почему нельзя? 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Сергей Алексеевич пишет:

Батарейку я точно туда не повешу ) 

Про питание - почему нельзя? 

Напряжение на выходе делителя будет гулять пропорционально потребляемому току. Хотите уменьшить напряжение  -включите через два диода последовательно. А лучше применить полноценный стабилизатор.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Понял. Надо обдумать этот момент, потому что опять же суета сует - массогабарит. А Устройство содержит в себе 26 микросхем, которые стабилизаруют на выход всё, что только возможно. Всё равно спасибо, если дойдёт до реального железа - постараемся выбрать более оптимальный вариант. 

__Alexander
Offline
Зарегистрирован: 24.10.2012

та делителю банально не хватит тока потянуть ардуинку.

tpg_k156
Offline
Зарегистрирован: 03.10.2012

Что за тупизм с делителем? В ардуине же стабилизатор, подавай 5В на вход USB.

А для измерения -500мВ лучше поставить ОУ.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

tpg_k156 пишет:

подавай 5В на вход USB.

Вот ещё мне изобретать там юсб-кабель ) Разберусь, это всё равно проект чисто бумажный. 

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

Можно так сделать, у меня тут сжимает с датчика -10...10В для однополярной АЦП на 0.4..4.4В(под свои нужды пересчитать немного). 0В на входе - 2.4В на входе АЦП

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Замечательно, но громозко чтобы компенсировать полвольта ) 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а если проект чисто бумажный какая разница?

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

У меня одним из достоинств подразумеваются малые массогабариты и простота конструкции. Вообще сам проект достоен одного элемента — электронного резистора, но это слишком просто. Более того, мне потом всё это объяснять и обосновывать, а это тяжко, проще поставить один ОУ. 

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

у меня эта часть схемы занимает на плате чуть меньше 1см2.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Но это всё-таки больше, чем один ОУ :) Не по сантиметрам, а по объяснениям. Я ничего не имею против, возможно, в трудный момент жизни я даже прибегну и к этой схеме. 

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

дык в 1 корпусе 2 ОУ

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Дык я не смогу обосновать выбор именно этого корпуса! В любом случае ещё здесь напишу, что у меня в итоге получается )

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

так может так и сказать: делаю диплом. чтобы меньше разбираться ищу простое решение

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Так ведь так и сказано с самого начала в 2м пункте первого поста, а так же в постах 15, 17, 19. 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

это так легкие намеки были, кроме того что проект бумажный

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Ну это же не только диплом, а ещё и моя работа. Сам проект, если доделаем, может пойти на ещё большее сокращение деталей, а в последствии устанавливаться на тех Устройствах, которые находятся за городом.

 

Но всё это уже оффтоп ) 

__Alexander
Offline
Зарегистрирован: 24.10.2012

млин, если надо маленькие размеры, то тогда легче два резистора втулить, раз точности не надо и это диплом.

 

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

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Кто сказал, что точности не надо? Лишние 10мВ уже могут решить многое.

 

Я написал выше, что проект в последующем может уменьшаться ещё. Сейчас, выбран Ардуино из-за GSM-модуля и языка, чтобы можно было за пару месяцев устройство освоить и запрограммировать. Это же для прототипирования, вот и прототипируем. 

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Я вообще как-то не пойму что за проблема у автора топика? Кто мешает подать на аналоговый вход ардуины смещение +0,5В с  делителя и в эту же точку сигнал через резистор? Ну получится некоторый делитель по входному сигналу, но его-то несложно скомпенсировать программно. Зато ардуина будет в штатном режиме. В упрощенных самодельных осциллографах на ардуино именно так входные цепи и делаются чтобы получить входной диапазон от -2,5В до +2,5В.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

У меня никаких проблем. Первый пост - вопрос, второй пост - ответ. Сейчас я изучаю ОУ, а в реальной схеме, что соберем или не соберём - время покажет.

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Изучать что-то всегда полезно. Но, на мой взгляд, начать Вам нужно с резистивных цепей и закона Ома. А то можно вместо 3-4 резисторов нагородить ОУ которым или двухполярное питание потребуется, или при однополярном, придется все-равно смещение на входе организовывать, но при этом еще и решать вопрос с выходным напряжением, которое при однополярном питании не может быть нулевым и его линейность в этой области никак не для измерительных цепей. А при двухполярном питании придется принимать меры чтобы напряжение на выходе ОУ ни при каких обстоятельствах не стало большим отрицательным, иначе выйдет из строя микроконтроллер. Если стоит задача удерживать контролируемое напряжение в диапазоне 10мВ то про смещение нуля у ОУ не надо забывать, его придется компенсировать и возможно думать и о температурной коррекции и т.д. Реальные радиоэлементы отличаются от своих идеальных моделей. Разработчики такие вещи должны очень хорошо понимать. ОУ в цепях постоянного тока с малым сигналом это зло.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Вообще в бумажной модели можно повесить батарейки, понавтыкать резисторы и сказать: «и тааак сойдёт», но хочется сделать более приближенно к жизни. Ясное дело, что за оставшиеся три недели я не стану учитывать многие параметры и приму элементы, как идеальные. 

Я, конечно, институт зря посещал, но понимаю, что на реальной схеме всё гораздо сложнее ) 

axill
Offline
Зарегистрирован: 05.09.2011

самое подходяшее это использовать ОУ с двуполярным питанием. Таким образом можно не только сместить отрицательные значения вплюс так, чтобы на ардуину попадали уже только положительные значения, но заодно можно усилить напряжение так, чтобы крайние значения были близки к напряжению питания МК - это существенно повысит точность измерения

для создания двуполярного питания от сети надо использовать трансформатор с двемя обмотками или со средним выводом

при питании от батарей можно применить специальные микросхемы преобразователей с конденсаторами (charge pump) или с индуктивностями в схеме со сменой полярности питающего напряжения.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

У меня само устройство имеет от +12/-12 до +6В/-6В, а так же общую землю. Так что я от него и запитаю. 

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Ваша задача и так по точности на грани фола для 10-битного АЦП, а с дополнительными погрешностями от напряжения смещения ОУ станет вообще невыполнимой. Диапазон входных напряжений от -0,5В до +0,5В это 1000мВ. Для 10-битного АЦП разрешение получается около 1мВ на единицу младшего разряда. При этом погрешность самого АЦП где-то 3-4 единицы младшего разряда при стандартной частоте. Чтобы с учетом этой погрешности гарантированно попасть в заданный диапазон -10...0мВ его придется сузить до -6..-4мВ при регулировании. Т.е. держать параметр нужно в диапазоне всего 2мВ. А напряжение смещения LM358 что тут советовали может превышать 5-10мВ в зависимости от исполнения и плавать от температуры. Так что придется искать прецизионные ОУ. Стабильность питаний ОУ понадобится не хуже 0,1 от единицы младшего разряда АЦП. Вы к этому готовы?

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Alex_Sk, как-то вы сложно живёте. 

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Напомню классику: "Иная простота хуже воровства..." (С)

Хотя если для управления, например, светом в сортире, то сойдет для сельской местности.

gena
Offline
Зарегистрирован: 04.11.2012

   Я бы попробовал классическую схему - истоковый повторитель. Транзистор КП303. "Искусство схемотехники" Титце, Шенк, том 1.   Конденсатор С на входе естественно не нужен. В Ардуино выбираете источник опорного напряжения поменьше, если микроконтроллер позволяет выбирать.  http://s017.radikal.ru/i429/1501/9d/4df1adf90466.jpg

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Не прокатит это по термостабильности если нужна точность в мВ на постоянном токе. Если уж решили использовать схемотехнику 70-х годов прошлого века, то хотя бы диффусилитель на КПС104. Но и у него термостабильности не хватит.

gena
Offline
Зарегистрирован: 04.11.2012

У транзисторов такого типа есть термостабильная точка на истоковой характеристике (во всяком случае так помню из курсовой). А транзистор можно поискать и из импортных современных.

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Uвх   = -450/+450

Uвых = +0,04/+2,13

УД1408А собран по такой схеме:

Rос = 10кОм; Rдел1= 43кОм; Rдел2 = 10кОм; Ruвх = 100кОм.

Резисторы выбраны подбором из имеющейся элементной базы. 

 

Вопрос: Это вообще что? :) Если кто-то знает название схемы и методику расчёта - поделитесь, пожалуйста.

Я сегодня потратил весь рабочий день на гугл и бумажки, но не смог вывести математической формулы хоть какой-нибудь, позволяющей сделать расчёт. Есть такая зависимость: Чем больше Rдел1, тем меньше Uвых, при 100кОм Uвых где-то около -0,7В.

 

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Плохо учились? 1й и 2й законы Кирхгофа не знаете?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012
gena
Offline
Зарегистрирован: 04.11.2012

 

Рассуждаю так.

     Если Uвх = 0 В, то напряжение на выводе 2 операционного усилителя (далее U2 ОУ) тоже равно 0 В. Т.о. ток через резистор Rдел1 = 6 В/43 000 Ом  = 0,0001395348837209 А. Этот же ток протекает и через Rос. Значит

Uвых = 0,0001395348837209 * Rос = 1,395 В.
     Если Uвх = +0,45 В, то напряжение U2 тоже равно 0,45 В. Значит ток через Rос будет состаять из двух токов:
1. I1 = (6+0,45)/Rдел1 = 0,00015 А;
2. I2 = 0,45/Rдел2 = 0,000045 А.
Следовательно напряжение Uвых = (I1+I2)*Rос = 1,95 В.
     Если Uвх = -0,45 В, то напряжение U2 тоже равно -0,45 В. Значит ток через Rос будет состаять из двух токов:
1. I1 = (6-0,45)/Rдел1 = 0,0001290697 А;
2. I2 = 0,45/Rдел2 = 0,000045 А.
Следовательно напряжение Uвых = (I1-I2)*Rос = 0,84 В.

gena
Offline
Зарегистрирован: 04.11.2012

   Интетресно, как выходное напряжение этой схемы будет "плавать" при изменении температуры (по сравнению с полевым транзистором)?

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

gena, спасибо! Идею понял, попробую посчитать, потом подпаяю резисторы, посмотрю, сошёлся ли расчёт хоть приблизительно.

PS: При Uвх = 0 напряжение на 2й ноге 0,2В, а напряжение на выходе = 1,07. 

PPS: У меня Устройство уже урегулирование по всем параметрам - на жаре и холодильнике напряжение входное останется в норме. Соответственно всё, что будет стоять после выходного - ОУ, Ардуино, GSM - зависит от них.

Alex_Sk, ваша харизма здесь неуместна. Законы знаю, а применять не умею, в ином случае я бы здесь не спрашивал. 

SU-27-16, читал уже, ничего не вычитал ) 

gena
Offline
Зарегистрирован: 04.11.2012

Возможно входной ток утечки через вывод 3 ОУ создаёт смещение. Попробуйте его уменьшить и посмотреть на изменение Uвых. А то, что я описывал словами и есть по сути законы Киргофа. Попробуйте другой ОУ, эксперимента ради.

gena
Offline
Зарегистрирован: 04.11.2012

  На первый взгляд эта схема похожа на неинвертирующий усилитель с коэффициентом усиления 1+ (Roc/Rдел2). Но есть Rдел1, который в эту формулу вносит изменениия. Выводить общую формулу не возьмусь - это почти лабораторка.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

SU-27-16, читал уже, ничего не вычитал ) 

 

ну и зря....

вам нужно сместить входной сигнал и масштабировать его под ардуину ( 0......5 )

в той ссылке ВСЁ есть... 

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

gena, попробуем эксперименты с подстроечниками. Мне главное, что есть вектор направления!

 

SU-27-16, в том смысле, что я из статьи мало, что понял. Как-то вникнуть за две недели в радиотехнику проблемно, но стараюсь. 

Мне нужно было сместить сигнал таким образом, чтобы напряжение изменялось не меньше, чем на 1 вольт, но оставалось в плюсе. Именно этого я и добился, пусть таким кривым способом, без претензий на изобретение года. 

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Сергей Алексеевич пишет:

Alex_Sk, ваша харизма здесь неуместна. Законы знаю, а применять не умею, в ином случае я бы здесь не спрашивал.

Вы еще и значений слов не знаете.

А на счет законов, что, трудно нарисовать эквивалентную схему цепи ОС с источниками напряжения зная что охваченный отрицательной ОС ОУ стремится выставить на выходе такое напряжение чтобы напряжение на инвертирующем входе стало равным напряжению на неинвертирующем? Дальше просто дело техники, согласно Кирхгофу написать уравнения для узлов и ветвей и преобразовать их так чтобы получилась зависимость выходного напряжения от входного. Всего несколькихх резисторов и источников, ну неужели так сложно?

Сергей Алексеевич
Offline
Зарегистрирован: 09.01.2015

Гораздо проще, когда знаешь куда считать.

 

Если по делу, то я произвёл подсчёт: Фактическое напряжение: 6,05В

(6,05/Rдел1 + Uвх3/Rдел2 + Uвх2/Rдел2) * Rос = Uвых

Сегодня подал на третью ногу +500мВ с другого источника, а разницу в 200мВ на второй ноге не нашёл, чем компенсировать. Поэтому в расчёте напряжение 3й и 2й ноги. Для нуля на третьей ноге этот расчёт так же подходит, значит, что и в отрицательное подойдёт.

Спасибо ребятам за помощь, вы сэкономили мне кучу нервов и времени :)

gena
Offline
Зарегистрирован: 04.11.2012

 Постараюсь в воскресенье нарисовать схему и показать инженерный расчёт (не сложный) инвертирующего усилителя для Вашего случая. Коэффициент усиления 4...5. Питание будет однополярное (ну не люблю я лишних источников питания).