Перейти к содержимому

Open

Фотография
- - - - -

DIY pH-метр лабораторного уровня


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 79

#21 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 11 Январь 2025 - 01:26

Попробуйте вместо перемычки между аин+ и - поставить резистор 100к-1М. Если будет смещение по результату АДС, значит это оно. Т.е. есть паразитный потенциал на аин+. Это может быть особенность чипа (надо смотреть даташит, может это в пределах нормы) или брак.

Сделал как вы сказали, резистор поставил 1.5М

Screenshot_3.jpg

 

Сразу после пайки и включения питания дергатня на выходе, далее, через пару минут, видимо заряд стекает с висящего вывода и устанавливается строго ноль с точностью до пятого знака после запятой (в пересчете на pH).

Короче, АЦП работает как часы, а с операционником попробую разобраться, смещение с него идет.

Screenshot_5.jpg


Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#22 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 11 Январь 2025 - 11:54

Резистор 10к при этом выпаять, чтобы исключить влияние выхода операционника

Вроде бы разобрался. Замена операционника на другой (выпаял из своего старого фирменного pH метра, там стоял LMC7111) ничего не изменила, значит мой операционник исправен, впаял его обратно.

 

Засада была во входном токе АЦП. На входы AIN+ и AIN-  ток 1nA  - очень мало, а вот на REFIN в 400 раз больше, 400 nA.  Резистор на входе 10к, падение напряжения на нем 10k*0.4uA = 4000uV = 4mV (я правильно посчитал?). У меня мозгов не хватает сообразить как оно влияет на результат, и почему влияет также и номинал конденсатора С12, но подозрительно точно совпало с со смещением, которое у меня получалось. 

 

Проверил, оказалось что смещение зависит от номиналов R6 и С12. Уменьшил емкости конденсаторов с 1 до 0.1, R6 вместо 10к поставил 220ом и R5 тоже уменьшил с 10к до 5к. Новые номиналы показаны на схеме (обратите внимание, кто повторять будет).

Screenshot_6.jpg

 

Результат: При закороченном разъеме электрода (имитация pH 7 для идеального электрода) получаю без калибровки, "сразу из коробки" pH = 6.9988 pH (вместо 7.0).

Понятно, что это не отменяет калибровку, так как идеальных электродов не бывает, но мне было важно, чтобы электроника сама по себе была точной - оно сильно облегчит кое-какие вещи. Да и спортивный интерес.

 

По стабильности электроники - поставил на непрерывное измерение с закороченным разъемом днем, пока другими делами занимался. Вечером глянул график - идеально, дрейфа нет, стандартное отклонение по pH = 0,000060.

 

Думаю на этом работа со схемой закончена, если еще чего не вылезет, конечно.

Продолжение следует.  


  • vahegan и Dmitry_N это нравится
Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#23 jusupoff

jusupoff

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 253

Отправлено 11 Январь 2025 - 12:47

"Резистор на входе 10к, падение напряжения на нем 10k*0.4uA = 4000uV = 4mV (я правильно посчитал?)"
Похоже на правду. А резистор R6, он откуда взялся? Из даташита? Глядя на схему, как бы логично, чтобы ain- и refin+ были напрямую подключены к точке 1 резистора R2 (5k). С учетом тока через refin+ с дополнительным резистором R6 как раз и получится смещение.

#24 jusupoff

jusupoff

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 253

Отправлено 11 Январь 2025 - 13:00

Вход ain2+... Некоторые соображения:
В микроконтроллерах со встроенным ацп, как правило, нескольно каналов ацп. И разделение между каналами не всегда полное. В микроконтроллерах принято свободные (неиспользуемые) пины притягивать к земле или питанию физически или хотя бы програмно через регистры настройки пинов. Чтобы свободные пины не висели в воздухе и на них не полтались потенциалы\наводки.
Может у ад7793 с этим все в порядке, но это тоже по сути специфический микроконтроллер со своей логикой.

#25 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 11 Январь 2025 - 13:21

 А резистор R6, он откуда взялся? Из даташита? Глядя на схему, как бы логично, чтобы ain- и refin+ были напрямую подключены к точке 1 резистора R2 (5k). С учетом тока через refin+ с дополнительным резистором R6 как раз и получится смещение.

Из  Analog Devices Circuit Note CN-0326 и из детальной схемы которую они дают вот в этом файле: Прикрепленный файл  EVAL-CN0326-PMDZ-CadenceSchematic-RevA.pdf   70,19К   6 скачиваний

 

По поводу этих резисторов и конденсаторов в Circuit Note сказано лишь следующее: The cut-off frequency of the 10 kΩ/1 μF low pass noise filter for the buffer amplifier output is given by f= 1/2πRC, or 16 Hz.  Смысл этого до меня не очень доходит, что именно они должны фильтровать, некую частоту с операционника? А оно надо? (Наверное надо раз так пишут).

16 герц - это частота по умолчанию того, что в даташите названо Update Rate для АЦП (я перенастроил на 4 герц). 

 

Думаете можно совсем убрать эти резисторы? В АЦП еще можно программно включать буфер на вход (я так понимаю маленький операционник у него внутри), точнее он включен по умолчанию (у меня в программе включен - пробовал выключать - разницы не заметил).


Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#26 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 11 Январь 2025 - 13:30

Вход ain2+... Некоторые соображения:

Могу соединить с ain2-, они рядом находятся. Но сдается мне что на смещение не повлияет, а шумов внутренних у АЦП и так почти нет, уменьшать там нечего... Шумы пойдут когда электрод подключать буду.


Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#27 jusupoff

jusupoff

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 253

Отправлено 11 Январь 2025 - 13:54

Засорю тему, с вашего позволения :)
16 Гц - это частота работы ацп. Частота обработки, некоторый такт. Из-за несовершенства кристалла производитель предполагает, что на ногах микросхемы (по питанию, на lout и т.д.) может появиться эта частота. Вот ее и отфильтровать надо. Если снизили частоту преобразования до 4Гц, то С12 надо, по идее, увеличивать раз этак (надо считать f= 1/2πRC). Но это уже будет близко к маразму.
По поводу резисторов R4 и R6. Они как-бы "защитные". Производитель чипа же не знает, что вы намудрите на входе до ацп. А с этими резисторами (10к) в случае чего, не сгорят входы ацп. С ограничивающим резистором на входе это дает некоторую гарантию, что при какой-нибудь импульсной помехе ток через входы ацп не будет критическим.
Это часто встречается в даташитах. Куча защитных, перестраховочных деталей в обвязке микросхем. Ну вот в вашей схеме - скорее сдохнет ОУ. А после него вообще резисторы можно убрать.
"В АЦП еще можно программно включать буфер на вход (я так понимаю маленький операционник у него внутри)" - конечно! При таком высокоомном входе та точно есть ОУ. Предполагается, что в некоторых проектах этот вход может использоваться напрямую. Но у вас доп. ОУ на входе с низкоомным выходом. И есть возможность через регисты отключить встроенный. Тут на ваш выбор.

#28 jusupoff

jusupoff

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 253

Отправлено 11 Январь 2025 - 14:22

"Могу соединить с ain2-, они рядом находятся." - я бы соединил. Но это просто из-за того, что так научили.
"Шумы пойдут когда электрод подключать буду." - скорее нет. Тут все спокойно будет. Электрод, как источник ЭДС (потенциала) имеет относительно низкое сопротивление. Экранированный провод, разьем и т.д. Работал с ними, есть некоторый опыт.
А вот радиомодуль на плате (блютуз) может сыграть злую шутку. На входе ОУ резистор 1М, на входе ацп - 10К. Вот тут как-бы дорожки на плате не стали приемной антенной со всеми последствиями. Возможно придется зашунтировать вход оу и ацп дополнительно керамическими конденсаторами (между 3-4 ОУ, и 5-6 для ад7793).
  • vahegan это нравится

#29 jusupoff

jusupoff

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 253

Отправлено 11 Январь 2025 - 14:46

Посмотрел еще раз на готовую плату. Не заметил LC-фильтры по питанию на входе (до и после стабилизаторов). Для почти лабораторного прибора так нельзя. Это может вам повезло с блоком питания, а у других там будет шум в 50-100мВ.
А вообще - достойный аппарат получится!

#30 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 12 Январь 2025 - 03:54


По поводу резисторов R4 и R6. Они как-бы "защитные". Производитель чипа же не знает, что вы намудрите на входе до ацп.
Не совсем так. Производитель указал эти резисторы ( + конденсаторы) именно для конкретного случая подключения pH электрода. Не для ацп вообще, а именно для pH электрода (их схема в pdf файле была приаттачена к моему посту выше). Но в общем понятно, пока оставлю так, займусь программной частью. А потом, уже на полностью готовом устройстве, попробую закоротить эти резисторы, посмотрим повлияет ли на что-то.
 
По влиянию блютуски - я его не вижу. Графики шумов, которые я приводил (со стандартным отклонением измерений 5 стотысячных ! единиц pH), это как раз непрерывный поток данных от блютуски в комп. То есть это наихудший случай, когда блютус лупит в непрерывном режиме - помех я не вижу. В норме же, что просто измерить pH, что логи писать, непрерывная связь с компом будет не нужна, блютус выключен. 

Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#31 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 12 Январь 2025 - 05:31

Посмотрел еще раз на готовую плату. Не заметил LC-фильтры по питанию на входе (до и после стабилизаторов). Для почти лабораторного прибора так нельзя. Это может вам повезло с блоком питания, а у других там будет шум в 50-100мВ.

Интересный вопрос! Он распадается на два:

1) есть ли вообще эти помехи на линиях питания аналоговой части схемы (что касается процессорной части - ей такие помехи в принципе по барабану, керамики у ног процессора хватает выше крыши - ни одного сбоя за 15 лет большого количества контроллеров с таким питанием).

2) если есть, какую ошибку в измерения они вносят.

 

Аналоговая схема запитана не от стоящих на плате стабилизаторов LM7805 и LM7833, а от изолятора ADUM5401. По сути это высокочастотный трансформатор, который на выходе имеет свой шум (довольно приличный по даташиту). При этом в схеме измерителя pH  (рекомендованной производителем) производитель не поставил индуктивность в цепь питания от изолятора к аналоговому питанию АЦП, а вот дальше стоят две индуктивности (которые, естественно, стоят у меня на плате в типоразмере smd 0805), отделяющие цифровую и аналоговую земли и питание АЦП (напомню что процессорная часть вообще гальванической связи с измерялкой pH не имеет). Видимо они считают что этого достаточно, оснований не доверять им нет.

Но вы меня сподвигли проверить :)

 

Как проверить? Осциллографа нет, напрямую посмотреть не могу. Но у данного чипа АЦП есть замечательный режим - монитор его собственного аналогового питания.

Добавил пункт "Монитор питания" в свою рисовалку графика, включаю схему в 12 вольтовую линию проведенную у меня по всему дому от хорошего БП (MeanWell на дин рейке). Кстати, БП то хороший, но линия длинная и на ней куча мелких потребителей. Вижу на графике что вся дергатня более-менее укладывается в 0.3mV (расстояние между двумя горизонтальными линиями).

meanwell.jpg

 

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

A06_5198.JPG

 

Запитываю плату с него и смотрю что по питанию. Не вижу никакой разницы, ровно такая же картина по шумам.

cnina_ph.jpg

 

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

И тут же вторая мысль - а если АЦП не видит помехи по питанию, то какая разница есть они или нет, на результате же никак не сказывается.

 

Ну и дальше, последняя мысль - а нафига я вообще пытался измерять помехи по питанию, можно же было просто воткнуть плохой БП и измерить шум в режиме измерения pH с закороченным BNC разъёмом. Нам же результат важен. (Как же туго доходит, возраст, однако... )

 

Измерил.

Результат: что с хорошим БП, что с отстойным мусором, с непрерывно лупящем в эфир блютусом, стандартное отклонение электроники по измерению pH = 0,00005.

Буквами: пять стотысячных. Кто не помнит что такое стандартное отклонение: оно показывает что практически все измерения (99.7%) должны уложиться в диапазон +/- три стандартных отклонений, то есть в нашем случае от пика до пика +/-0,00015 единиц pH. А у электродов точность максимум одна сотая...

 

Думаю теперь точно все с электроникой, можно переходить к программированию.


  • DNK это нравится
Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#32 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 12 Январь 2025 - 11:01

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

Электрод не калиброван пока (так что цифры pH не точны), расчет pH исходя из параметров идеального электрода. Мне не терпелось посмотреть будут скакать цифры или нет, и что с помехами.

 

На графике - примерно полтора часта работы электрода с алиэкспресс в аквариуме, поток данных напрямую в комп по блютусу, 4 измерения в секунду, 17 тысяч с лишним измерений.

В аквариуме все оборудование (два стрима в дисплее, скиммер в сампе, свет, обогреватель, датчики температуры и сенсоры автодолива) в штатном режиме, ничего не выключал. Маленький пик посередине - кормежка рыб с выключением помп на 10 мин. Расстояние между горизонтальными линиями 0.05 единиц pH.

 

Я доволен - не то слово :)  Есть тормознутость электрода (медленно устанавливаются значения), но это не проблема железа, об этом потом напишу.

Общий вид:

Screenshot_1.jpg

 

Оно же детальнее - видно что разброс замеров в целом менее 1 тысячной единицы pH. (Если это и есть наводки по питанию и от блютуса - мы им простим, пусть живут  :)  )

Screenshot_2.jpg

 

 


  • DNK это нравится
Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#33 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 12 Январь 2025 - 12:06

Немного не по теме. Купил недавно логический анализатор, более-менее приличный. Ух и классная же штука оказалась - раньше никогда их у меня не было, поэтому сейчас под впечатлением. Думал надо будет время тратить разбираться как с ним работать, на деле оказалось проще некуда. Не знаю как в деле многочисленные копеечные с али, а этот, чуть подороже, DSLogic младшая модель (тоже с али), просто супер для моих целей. Глаза раскрывает на то, что реально происходит на схеме, все задержки, протоколы как на ладони, поиск ошибок в коде облегчается сильно. 

A06_5201.JPG  

Screenshot_3.jpg


  • DNK и Andrey66 это нравится
Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#34 Дмитрий57

Дмитрий57

    Новичок

  • Пользователи
  • Pip
  • Cообщений: 6
  • Меня зовут:Дмитрий
  • Откуда:Орёл

Отправлено 12 Январь 2025 - 12:17

А 7-сегментный индикатор на 4 разряда светится в темноте? На чем написана прошивка для МК и программа на ПК? 



#35 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 12 Январь 2025 - 12:45

А 7-сегментный индикатор на 4 разряда светится в темноте?

А вам надо чтоб светился или нет? Его можно будет включать или выключать программой с компа (по блютусу), если включен, то будет светится. 
По моему мнению свечение всех лампочек и индикаторов ночью - большое зло, поэтому стараюсь предусмотреть выключение всего этого фестиваля, возможно по расписанию, посмотрим.
Софт этого pH метра пока не дописан.
 

На чем написана прошивка для МК и программа на ПК?

Прошивка и программа пока в окончательном виде не готовы. Точнее базово все уже есть, осталось юзер-интерфейс, настройки и прочие свистелки вокруг да около. Легкая, не принципиальная часть, но, как практика показывает, времязатратная.

Прошивки я пишу на Си (не в среде Ардуино). Программа на комп: С++. 


Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#36 Дмитрий57

Дмитрий57

    Новичок

  • Пользователи
  • Pip
  • Cообщений: 6
  • Меня зовут:Дмитрий
  • Откуда:Орёл

Отправлено 12 Январь 2025 - 13:19

А вам надо чтоб светился или нет?

 

Мне жк дисплеи нравятся, которые без подсветки, в TDS мониторе сделал так:

1706356157429.jpg (3000×4000)

 

Ph монитор milwaukee MC120 использую(там тоже жк экран без подсветки), но есть желание сделать устройство 3 в 1(tds, ph, temp) с возможностью взаимодействия с другими устройствами(дозатор, терморегуляция и тд).



#37 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 13 Январь 2025 - 01:42

Мне жк дисплеи нравятся, которые без подсветки, в TDS мониторе сделал так:
1706356157429.jpg (3000×4000)

А ссылку дайте на такой мониторчик, может и его приспособлю. Я в их сторону вообще не смотрел и в ассортименте не разбираюсь, дома раньше было много разных мелких китайских приборчиков с ЖК экранчиками (термометры и т. п.), так половина из этих дисплеев со временем стали совсем обесцветились, посдыхали. А те, чт о с 7-сегментными индикаторами продолжают работать, работать и работать. Понятно что наверняка ЖК не все такие некачественные, но желание их применять пропало. А так да, понятно что ЖК дисплей имеет преимущества, если качественный. Посоветуйте какой взять.
 

но есть желание сделать устройство 3 в 1(tds, ph, temp) с возможностью взаимодействия с другими устройствами(дозатор, терморегуляция и тд).

Температура с логами у меня именно в этой прошивке уже есть, делалась для мониторинга температуры на участке (пытаюсь всякую экзотику выращивать, надо знать температуру днем, ночью, на земле, под землей по многих точках). Веер датчиков на проводах до 50 метров, все ок. Уже больше года в непрерывном режиме пишет логи, выглядит так:

 

Прикрепленные изображения

  • Screenshot_1.jpg

Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...

#38 Дмитрий57

Дмитрий57

    Новичок

  • Пользователи
  • Pip
  • Cообщений: 6
  • Меня зовут:Дмитрий
  • Откуда:Орёл

Отправлено 13 Январь 2025 - 08:33

А ссылку дайте на такой мониторчик, может и его приспособлю. Я в их сторону вообще не смотрел и в ассортименте не разбираюсь, дома раньше было много разных мелких китайских приборчиков с ЖК экранчиками (термометры и т. п.), так половина из этих дисплеев со временем стали совсем обесцветились, посдыхали. А те, чт о с 7-сегментными индикаторами продолжают работать, работать и работать. Понятно что наверняка ЖК не все такие некачественные, но желание их применять пропало. А так да, понятно что ЖК дисплей имеет преимущества, если качественный. Посоветуйте какой взять.

Этот прибор(tds монитор) был моим Hellow world в создание устройств на микроконтроллерах, в работе только 9 месяцев. В комплектующих я не разбираюсь, да и дисплеем этим разочаровался. Во-первых, я не смог в документации к дисплею найти способ отключить подсветку, решил проблему перерезав цепь питания диода подсветки. Во-вторых, шрифты в 8-16 пикселей на дисплее с разрешение 128х64 меня не устроили, пришлось рисовать свои, переписываю чью-то библиотеку с гитхаба. В-третьих, периодически, раз в несколько месяцев, может возникать баг индексов страниц, они смещаются на 1 вниз и дело не в моей прошивке, а в самом модуле экрана, который работает по шине i2c, лечится перезапуском устройства. Брал здесь https://aliexpress.r...4565916343.html серый, сейчас его нет в наличии.

 

Температура с логами у меня именно в этой прошивке уже есть, делалась для мониторинга температуры на участке (пытаюсь всякую экзотику выращивать, надо знать температуру днем, ночью, на земле, под землей по многих точках). Веер датчиков на проводах до 50 метров, все ок. Уже больше года в непрерывном режиме пишет логи, выглядит так:

По ui интерфейсам мне понравилась возможность esp32 разделения логики фронта и бека в веб приложениях, запустив асинхронный веб сервер нужно просто указать путь к статическим файлам веб приложения. Не думал, что будет так просто. С веб интерфейсом делал дозатор на шаговых помпах, код на с++, хранение данные в sqlLite, веб морда на angular 2 получилось так:

 


https://rutube.ru/play/embed/ed930664e585ba0fac649e1159f7be70/?r=wd



#39 vahegan

vahegan

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 056
  • Меня зовут:Վահե
  • Откуда:Ереван

Отправлено 13 Январь 2025 - 09:05

Карен, китайцы всюду продают за гроши ЖК дисплеи от Нокия 5510. Ищется по строке "nokia 5110 lcd".
Вот здесь видно в работе, ваял на нем тндикатор для аппарата обжарки кофе лет 10 назад.


#40 Карен

Карен

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 3 958
  • Откуда:Камчатка

Отправлено 13 Январь 2025 - 09:46

Красиво получилось. У меня с веб приложениями не сложилось, не лежит душа к ним. 

 

Карен, китайцы всюду продают за гроши ЖК дисплеи от Нокия 5510. 

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


Самодельные тесты: NO3, NO2, PO4, Si, KH, Ca, Mg.
от крипта...




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных