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

Open

Фотография
* * * * * 1 Голосов

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


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

#181 Карен

Карен

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

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

Отправлено 11 Июль 2025 - 01:06

Добрый день Карен за что диод д1 отвечает? А то моргнул пару раз и все.

Я на всех своих схемах цепляю к этой ноге процессора диод, которым можно показать состояние программы в процессоре. и для разных отладочных целей. В норме программа его включает и выключает раз в секунду, соответственно если он мигает, то я точно знаю, что процессор работает. То есть один взгляд на платы (дозаторы и прочие контроллеры) в тумбе и сразу видно все ли работают. Но для pH метра сделал его отключаемым в опциях, чтоб не раздражал миганием. Можете включить если хотите

Screenshot_1.jpg


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

#182 Карен

Карен

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

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

Отправлено 11 Июль 2025 - 01:25

Заодно не могли бы подсказать как работают dc4-dc6

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

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

Либо от термодатчика сделать управление этими каналами.

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

 

Выход сенсора автодолива это для герконового датчика?

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


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

#183 White80

White80

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

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

Отправлено 11 Июль 2025 - 05:25

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

#184 White80

White80

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

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

Отправлено 11 Июль 2025 - 05:28

Пытаюсь щас понять что куда подключить. На dc5 хотел повесить дополнительный кулер на 12в, тк как слабо в этом всем понимаю пока есть трудность как это сделать

#185 White80

White80

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

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

Отправлено 11 Июль 2025 - 05:31

Датчик контроля вот такой

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

  • Screenshot_20250708_121858.jpg


#186 White80

White80

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

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

Отправлено 11 Июль 2025 - 05:33

Пока паяю новую плату и буду разбираться

#187 White80

White80

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

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

Отправлено 11 Июль 2025 - 05:33

Поэтому возникают вопросы

#188 White80

White80

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

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

Отправлено 11 Июль 2025 - 05:36

С платами вообще интересно вышло. Заказывал белые, пришли зелёные. Поругался на китайцев и успокоился. А в вчера на почту пришли белые))) и теперь для меня плат не точто много, а очень много

#189 White80

White80

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

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

Отправлено 11 Июль 2025 - 05:37

Про титан то я и забыл. Буду пробывать

#190 White80

White80

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

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

Отправлено 11 Июль 2025 - 05:43

Смутило надпись на плате +12. На dc5 ведь не может придти 12 вольт? Или туда +12 от С1 приходит? А минус через мосфет? Подскажите

#191 White80

White80

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

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

Отправлено 11 Июль 2025 - 06:15

Про светодиод понял спасибо. Но честно думал что мигалка это что-то отдельное подключается

#192 Карен

Карен

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

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

Отправлено 11 Июль 2025 - 12:02

Смутило надпись на плате +12. На dc5 ведь не может придти 12 вольт? Или туда +12 от С1 приходит? А минус через мосфет? Подскажите

Как это не может? Туда именно 12 вольт и приходит. У вас же схема есть, посмотрите. +12 подключен к одному контакту напрямую. А землю подключаем/отключаем через мосфет. Когда на ноге BP1 контроллера высокий уровень, мосфет открывается, земля подключена, между контактами DC5 имеем 12 вольт, подключенная к ним нагрузка (например помпочка) крутится. Если на ноге процессора ноль, цепь разомкнута, помпа не крутится.

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

  • Screenshot_1.jpg

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

#193 Карен

Карен

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

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

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

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

Мой алгоритм, который использую с самого начала уже лет 15 (если не 20) на всех аквариумах:

 

Имеем только один датчик уровня. Проверяем уровень в сампе 1 раз в, например, 10 минут (задается в программе).

Если воды много - отключаемся на 10 минут и ничего не делаем.

Если воды мало - включаем перистальтик-помпу на 1 минуту (задается в программе) и больше ничего не проверяем.

Все, конец алгоритма. :)

 

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

 

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

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

В норме обе ноги в Z-состоянии (то бишь "оборваны"), на них нет ни 0 ни +5 вольт.

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

 
//-------------------------------------------------------------------------------- 
unsigned char AuthodolivLevel(){  // вызываем 1 раз в (4...10 минут)
// возвращает 1 если вода ушла и надо включать
// возвращает 0 если электрод в воде
 unsigned char result =0;
 LEVEL_AUTODOLIV_DDR =  0; //ставим на вход
 LEVEL_AUTODOLIV_PORT = 1; //подтяжка
 AUTODOLIV_GND_DDR = 1; //ставим на выход
 AUTODOLIV_GND_PORT =0; // подаем ноль на выход                                     
 delay_us(50);
 result = LEVEL_AUTODOLIV_PIN;
 //0 на выход, чтобы снять напряжение между электродами  
 //если оставить на вход - то подается напряжение через резистор 220к
 LEVEL_AUTODOLIV_PORT = 0;
 LEVEL_AUTODOLIV_DDR =  0; 
 AUTODOLIV_GND_DDR = 0; //ставим на вход
 AUTODOLIV_GND_PORT =0; // Z состояние                                      
 return result;
}
//-------------------------------------------------------------------------------- 
 

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

#194 White80

White80

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

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

Отправлено 11 Июль 2025 - 17:58

[quote name="Карен" post="1198101" timestamp="1752224529"]

Как это не может? Туда именно 12 вольт и приходит. У вас же схема есть, посмотрите. +12 подключен к одному контакту напрямую. А землю подключаем/отключаем через мосфет. Когда на ноге BP1 контроллера высокий уровень, мосфет открывается, земля подключена, между контактами DC5 имеем 12 вольт, подключенная к ним нагрузка (например помпочка) крутится. Если на ноге процессора ноль, цепь разомкнута, помпа не крутится


Говорил что ещё плохо в этом разбираюсь (но стораюсь) по этому скорее перестраховываюсь. Извените за глупые вопросы. Но можно ещё один?) вот тут у меня загвоздка, но может и понял. Подскажите какие это пины? И как их указывать в коде. Какие свободные? Pd7 и pc3 подключён дисплей?

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

  • IMG_20250711_175547.jpg


#195 White80

White80

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

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

Отправлено 11 Июль 2025 - 18:00


Алгоритм работы моих автодоливов я несколько раз здесь рассказывал. Суть в том, чтобы не тупо включать помпу, если вода ушла, и выключать когда долили до риски. И городить страховки от перелива.
Мой алгоритм, который использую с самого начала уже лет 15 (если не 20) на всех аквариумах:

Имеем только один датчик уровня. Проверяем уровень в сампе 1 раз в, например, 10 минут (задается в программе).
Если воды много - отключаемся на 10 минут и ничего не делаем.
Если воды мало - включаем перистальтик-помпу на 1 минуту (задается в программе) и больше ничего не проверяем.
Все, конец алгоритма. :)

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

По сенсору автодолива.
Две титановые проволочки на две ноги процессора через большие резисторы (на самом деле не обязательно... но мне сказали что лучше с ними, типа защита процессора от напряжений в воде - у меня и без них годами работает, процессоры ни разу не горели).
В норме обе ноги в Z-состоянии (то бишь "оборваны"), на них нет ни 0 ни +5 вольт.
При замере, 1 раз в 10 минут, одну ногу переключаем на вход, на другую подаем слабое напряжение подтяжки (тоже на вход, но с подтяжкой). Ждем 50 микросекунд. Проверяем - если на первой ноге сигнал 1 - значит электроды в воде. А теперь оцените - 1 раз в 10 минут коротенький импульс 50 микросекунд - это вам абсолютная гарантия, что оно ни на что в аквариуме не повлияет.

//--------------------------------------------------------------------------------
unsigned char AuthodolivLevel(){ // вызываем 1 раз в (4...10 минут)
// возвращает 1 если вода ушла и надо включать
// возвращает 0 если электрод в воде
unsigned char result =0;
LEVEL_AUTODOLIV_DDR = 0; //ставим на вход
LEVEL_AUTODOLIV_PORT = 1; //подтяжка
AUTODOLIV_GND_DDR = 1; //ставим на выход
AUTODOLIV_GND_PORT =0; // подаем ноль на выход
delay_us(50);
result = LEVEL_AUTODOLIV_PIN;
//0 на выход, чтобы снять напряжение между электродами
//если оставить на вход - то подается напряжение через резистор 220к
LEVEL_AUTODOLIV_PORT = 0;
LEVEL_AUTODOLIV_DDR = 0;
AUTODOLIV_GND_DDR = 0; //ставим на вход
AUTODOLIV_GND_PORT =0; // Z состояние
return result;
}

//--------------------------------------------------------------------------------



Это для меня пока ещё совсем сложно. Но добирусь)). Мне щас нужен не автодолив, а нижний контроль воды в емкости что бы позвонить если что другу чтобы долил

#196 White80

White80

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

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

Отправлено 11 Июль 2025 - 19:35

Обнаружил что на пш метре сбрасывается время. Или ионистр неспасобен питать часы долгое время

#197 White80

White80

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

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

Отправлено 11 Июль 2025 - 19:53

Или всегда нужно синхронизировать?

#198 Карен

Карен

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

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

Отправлено 12 Июль 2025 - 00:28

Обнаружил что на пш метре сбрасывается время. Или ионистр неспасобен питать часы долгое время

Не должно сбрасываться, у меня примерно неделю держит. Была как-то партия ионисторов, которая совсем не держала. Включите плату, измерьте напряжение на ионисторе. Должно быть 5 вольт (может чуть меньше поначалу). Подержите включенной минут 10, чтобы он полностью зарядился. Выключите и измерьте на выключенном.  Должно быть примерно 5 вольт, может чуть меньше. Измерьте через какое-то время - не должно заметно падать.

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

 

Я в последнее время стал проверять ионисторы перед пайкой так: заряжаю от 5 вольт (через резистор обязательно) по очереди десяток ионисторов и оставляю валятся на столе на какое-то время. Потом измеряю какое напряжение на них, на падает ли самопроизвольно.


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

#199 Карен

Карен

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

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

Отправлено 12 Июль 2025 - 01:03

[quote name="Карен" post="1198101" timestamp="1752224529"]
вот тут у меня загвоздка, но может и понял. Подскажите какие это пины? И как их указывать в коде. Какие свободные? Pd7 и pc3 подключён дисплей?

На схеме линии имеющие одно и то же название соединены. Линия PD7 (Port D пин 7) выведена на контакт 3 разъема J4 и на ногу 18 (CLK) контроллера дисплея. Соответственно, ни для чего другого ее использовать нельзя.

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

Соответственно, те линии на разъеме J4 (и на других разъемах), которые никуда не подключены, кроме ног процессора - они свободны.

Screenshot_2.jpg

 

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

У процессора 2 порта, Port С и Port D, у каждого по 7 пинов то бишь по 7 ног (но некоторые отданы под специальные нужды типа подключение кварца и ничего другого к ним не подключишь).

Каждая нога управляется тремя регистрами - DDR (если ноль, то нога настроена на вход, если 1 то на выход), PORT (если нога настроена на выход, то определяет что подано на выход - 0 или 1, а если нога настроена на вход, то определяет включена ли подтяжка или нет). Что такое подтяжка ... у дипсика спросите. И третий регистр PIN (с него считывается 1 если на ноге 5 вольт и 0 если там ноль).

 

В моем совсем древнем компилляторе (CodeVision AVR), с которого я все никак не могу перейти на что-то более современное в силу старых привычек, ноги указываются просто: PORTD.7, DDRD.7 и PIND.7.

В ардуино-коде, насколько я помню, как-то через задницу (извините, но там все через это место, с моей субъективной точки зрения).


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

#200 vahegan

vahegan

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

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

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

 

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

Мой алгоритм, который использую с самого начала уже лет 15 (если не 20) на всех аквариумах:

 

Имеем только один датчик уровня. Проверяем уровень в сампе 1 раз в, например, 10 минут (задается в программе).

Если воды много - отключаемся на 10 минут и ничего не делаем.

Если воды мало - включаем перистальтик-помпу на 1 минуту (задается в программе) и больше ничего не проверяем.

Все, конец алгоритма. :)

 

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

 

Карен, а если произойдет обрыв одного из проводов датчика, он будет тупо лить по минуте, каждые 10 минут? То есть выходит, что в течение суток он будет лить, в общем, примерно 2.5 часа.

Не имеет ли смысл сохранять в eprom-е среднее время автодолива, скажем, за предыдущие 5 дней, и при двукратном превышении среднего уровня давать сигнал тревоги?


  • DNK это нравится




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

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