Подключение PH ТРАНСМИТТЕРА к PIC BASIC

Подключение pH transmitter RS232 к контроллеру PICuBASIC для измерения концентрации ионов водорода pH и температуры раствора.

Будем использовать следующие модули 

 -  PH ТРАНСМИТТЕР RS232 и PH электрод Milwaukee BNC 2м

                     

              PDF   Документация

 -  USB PICµBASIC LOGIC CONTROLLER или Программируемый модуль расширения BASIC

          

            PDF  Документация

Соберем следующую схему (для увеличения клик на схеме)

Схема

Перемычки S3 и S4 на плате PH ТРАНСМИТТЕР следует снять при питании от батареек или одеть при питании от общего источника 12 вольт.

При питании от батареек обеспечивается более высокая точность измерений и возможно применение нескольких измерителей PH/EC в одном объеме жидкости без ухудшения точности показаний.  Дополнительно используем погружной датчик температуры жидкости при необходимости. Подключим PH электрод и подключим схему к источнику питания постоянного тока, напряжением  12 вольт. Соединим USB кабелем с компьютером и подадим питание на собранную схему. Далее загрузим терминал и соединимся с контроллером  USB PICµBASIC.

Общение между контроллером USB PICµBASIC и платой pH трансмиттер происходит в текстовом режиме по адресному интерфейсу UART (RS232 TTL). По умолчанию скорость порта pH трансмиттера  19200 , адрес равен нулю . 

    Включим и настроим UART порт контроллера на скорость 19200, набирая команды в терминале 

    UART 1,5    Ответ  OK

    Проверим связь, запросив информацию о модуле PH. Для этого отправим команду запроса информации, прочтем данные из UART и выведем на экран.

    SPRINT "0ATI"    Ответ  OK

    SGET #(700)    Ответ  OK

    PRINT *$(700)    Ответ  0PH MODULE VER=2.2.0  S/N=713C,FULL 

Связь с модулем PH установлена. По умолчанию модуль выполняет измерение концентрации ионов водорода pH в растворе и температуры раствора один раз в минуту и хранит значения в памяти. при запросах - выдает последние измеренные значения. Выполним запрос данных концентрации ионов водорода pH в растворе из памяти модуля PH, не ранее, чем через минуту от включения для получения достоверных данных.

    SPRINT "0GT0"   Ответ  OK

    SGET #(700)    Ответ  OK

    PRINT *$(700)    Ответ  0H=0690 

Что соответствует измеренному значению 6,90 . Ответ пришел текстом, первый символ  = "0" - что означает ответ от модуля с адресом "0". Далее сам текст. Запросим температуру раствора:

    SPRINT "0GT1"   Ответ  OK

    SGET #(800)    Ответ  OK

    PRINT *$(800)    Ответ  0T=251 

Что соответствует температуре 25,1 градус Цельсия. Ответ также пришел текстом. Далее мы выделим значения из текста и поместим собственно числа в переменные BASIC. С начала мы найдем позицию текста "H=" в строке ответа от контроллера. Далее вычислим позицию начала цифрового ответа, потом текстовый ответ преобразуем в число и  выведем форматированный ответ на экран, уже как  число. Звучит сложно, а записывается легко:

   a=INSTR${$(700),"H="}         Ответ:  OK

   a=a+2                                              Ответ:  OK

   H=VAL{#(700),a}                  Ответ:  OK

   PRINT "Значение pH =",.2,H    Ответ:  Значение pH =6.90

Аналогично обработаем температуру.

   a=INSTR${$(800),"T="}         Ответ:  OK

   a=a+2                                              Ответ:  OK

   T=VAL{#(800),a}                   Ответ:  OK

   PRINT "Значение температуры =",.1,T," градус"    Ответ:  Значение температуры =25.1 градус

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

Так же советуем посмотреть





Комментарии

  • Admin 29.01.2017, 13:30
    Конечно можно, RS232 позволяет нам подключать его к Arduino, Raspberry PI или любому другому устройству с RS232, без необходимости подключения каких либо библиотек, т.к. обмен данными происходит в текстовом режиме.
  • Валерий 29.01.2017, 13:27
    Можно ли подключить pH transmitter RS232 к Ардиуно?

Написать комментарий