Tutorial PH Meter Menggunakan Modul Atlas



Selamat Pagi pembaca mikrodb yang setia, kali ini kami akan membagi pengalaman kami dalam menangani modul ph yang di keluarkan oleh atlas scientific.

Sudah beberapa kali kami berkesempatan menggunakan modul ini dan secara keseluruhan modul ini cukup handal dan mudah dalam penanganannya meskipun tidak tanpa beberapa catatan .

Kemudahan yang di tawarkan adalah tidak perlunya mengerti bagaimana karakteristik sensor dan lain2nya cukup dengan 1 perintah maka modul akan melakukannya semuanya dan kesulitan penanganannya hanya sebatas komunikasi serial saja, nanti akan kami bahas.

Ok cukup basa – basinya jadi begin, yang kawan – kawan mikrodb harus perhatikan adalah datasheet dari modul yang akan di gunakan, ini bisa di download di situs nya www.Atlas-Scientific.com

permasalah pertama adalah tegangan kerja :


Kalau kita lihat dari datasheetnya tegangan yang bisa di berikan adalah dari 3,3 sampai 5 volt diluar itu sih menurut pengalaman kami udah bermasalah pada nilainya dan  pengolahannya meskipun di datasheet bilangnya gitu hehehe maklum...  ini praktek langsung.

Dan permasalah lainnya adalah jika anda memakai tegangan 3,3 dan signal ttlnya tidak di konversi ke 5 volt nanti tetap ada masalah pada pembacaan keluaran uart ttl dari modulnya

Dan jika anda kasi tegangan 5 volt maka dan penanganannya tidak hati2 modul jadi panas dan mudah rusak  dan juga sepertinya pembacaannya kurang baik di tegangan tersebut mungkin karena mikro di  modul itu tegangan kerjanya 3,3 volt hehehe sampai disini kayak simalakama yah, jadi pertanyaannya bagaimana menyelesaikannya ??

Pada video di situsnya hanya memberikan contoh dengan usbtottl yang mana itu akan berhasil karena toleran dengan signal yang di berikan tapi tidak begitu lancar dengan mikro, tapi semuanya bisa di akali dengan memberikan dioda seri 2 buah sebelum masuk ke vcc mikro dengan maksud untuk mengurangi sedikit tegangan yang masuk tapi cukup besar untuk di kenali sebagai signal TTL


Dengan cara ini semua masalah diatas sudah bisa di atasi, hehehe mudah kan.....  jadi tidak perlu menambahkan apa2 lagi dan bisa langsung  konek dengan mikro dan tidak menyebabkan timbulnya panas pada modul.  Ini kami pakai pada modul versi 3.0 dan tapi pada versi 5.1 meskipun kami tetap memakai solusi ini tapi dari percobaan sepertinya masalah ini sudah di atasi karena ketika kami coba tanpa ini sudah bisa komuikasi dengan lancar tapi masih agak hangat pada modul makanya kami tetap memutuskan untuk menambahkan dioda tersebut biar aman soalnya mahal modulnya  hehehe

Kami paparkan ini di awal tulisan ini karena sebelum mencoba2 amankan dulu modul yang cukup mahal ini,

Di lihat dari tabel ada 11 perintah saja yang perlu kita ketahui  teman2 mikrodb, tidak banyak kan ...  inilah kelebihan sehingga kami menjatuhkan pilihan pada modul ini, bukan maksud jualan yah

Cukup dengan memberikan huruf  “r”+<cr>   atau   “R” ”+<cr>     kamu sudah mendapatkan nilai Phnya  untuk lebih jelasnya silahkan lihat kedua video ini.

Simak dulu kedua video ini..

https://www.youtube.com/watch?v=o7xVdgHzmSc
https://www.youtube.com/watch?v=UIk6CAINpwo

Kedua video itu di ambil dari situs resminya, dan sekarang mudah2an sudah bisa ngerti garis besar penanganan modul ini....  aamiin


Dan jangan lupa ini adalah cara kalibrasinya yang harus di ikuti



Dan jangan kawatir pada program yang kami sertakan sudah dengan procedure kalibrasi ini kok  hanya cukup dengan menekan keypad di huruf “C” 

Ok sekarang ini ada contoh aplikasi sederhananya  ini gambar rangkaian di proteusnya yang kami gunakan pada saat merancang protype rangkaian ph meter



Ini adalah potongan program ketika memberikan perintah ke modul ph dalam bentuk listing pascal

procedure mode_standby();

begin

  UART1_Write ('e');

  UART1_Write(0x0d);

end;

 

procedure mode_reset();

begin

  UART1_Write ('x');

  UART1_Write(0x0d);

end;

 

procedure mode_continue();

begin

  UART1_Write('c');

  UART1_Write(0x0d);

end;

 

procedure read_ph();

begin

  UART1_Write('r');

  UART1_Write(0x0d);

  save_ph := true;

  ph_char_count := 0;

end;

 

dan ini potongan cara menerimanya dari modul

 

procedure serial(); iv IVT_ADDR_USART_RXC; ics ICS_AUTO; //modul PH

begin

if (UART1_Data_Ready() <> 0) then

  begin

    uart_rd1 := UART1_Read();

    if kalibrasi = true then

      begin

        UART1_Write(uart_rd1);

        ph[ph_char_count] := uart_rd1;

        inc(ph_char_count);

        if uart_rd1 = 0x0d  then

          begin

            save_ph := false;

            data_ready := true;

          end;

      end;

    if save_ph = true then

      begin

        UART1_Write(uart_rd1);

        ph[ph_char_count] := uart_rd1;

        inc(ph_char_count);

        if uart_rd1 = 0x0d  then

          begin

            save_ph := false;

            data_ready := true;

          end;

      end;

  end;

end;

 

dan untuk mengambil sampling kami menggunakan timer sebagai trigger samplingnya

procedure olah(); iv IVT_ADDR_TIMER1_OVF; ics ICS_AUTO;

begin

if (counter >= _THRESHOLD) then

  begin

    sampling := true;

    counter := 0;              // reset counter

    inc (hitung1);

    if hitung1 > 100 then

      begin

        inc (hitung);

        hitung1 := 0;

      end;

  end

else

  Inc(counter);                // increment counter

end;

 

dan untuk metode kalibrasi kami menggunakan ini

kalibrasi:

save_ph := false;

kalibrasi := true;

 

RXCIE_bit  := 1;

TOIE1_bit  := 0;               // Timer1 overflow interrupt enable

TCCR1B := 0;                   // Start timer with 8 prescaler

SREG_I_bit := 1;               // Interrupt enable

 

Lcd_Cmd(_LCD_CLEAR);

lcd_out(1,1,'Mode KALIBRASI');

kalibrasi := true;

delay_ms(1000);   //untuk simulasi aja

mode_continue;

 

  while true do

    begin

      key := cek_keypad;

      if key <> 0 then

        begin

          if key = 'A' then mode_reset;

          if key = 'B' then

            begin

              UART1_Write ('E');

              UART1_Write(0x0d);

            end;

          if key = 'C' then

            begin

              UART1_Write (text[1]);

              UART1_Write (text[2]);

              UART1_Write ('.');

              UART1_Write (text[4]);

              UART1_Write (text[5]);

              UART1_Write(0x0d);

            end;

          if key = 'D' then goto awal;

          if key = '4' then

            begin

              UART1_Write ('F');

              UART1_Write(0x0d);

            end;

          if key = '7' then

            begin

              UART1_Write ('S');

              UART1_Write(0x0d);

            end;

          if key = '0' then

            begin

              UART1_Write ('T');

              UART1_Write(0x0d);

            end;

        end;

       

      if data_ready = true then

        begin

          conversi();

          Display_Temperature(temp);

          txt2[0] := 'P';

          txt2[1] := 'H';

          txt2[2] := ':';

          txt2[3] := ph[0];

          txt2[4] := ph[1];

          txt2[5] := ph[2];

          txt2[6] := ph[3];

          txt2[7] := 'S';

          txt2[8] := 'H';

          txt2[9] := ':';

          txt2[10] := text[1];

          txt2[11] := text[2];

          txt2[12] := '.';

          txt2[13] := text[4];

          txt2[14] := text[5];

          lcd_out(2,1,txt2);

          ph_char_count := 0;

          lcd_out(1,1,'Mode KALIBRASI');

          data_ready := false;

        end;

    end;

 

dan itulah sebagian yang kami lakukan pada modul PH itu  dan ini kami berikan untuk di download simulasi dan programnya disni , agar bisa mentrigger inventor2 kreatif lainnya

silahkan masukkannya dan kritik agar kami bisa selalu bisa memperbaiki diri dan berbenah agar bisa bermanfaat untuk semua aamiin....    jadi sampai pada tulisan kami yang lainnya....


 

Add comment


Security code
Refresh