0% menganggap dokumen ini bermanfaat (0 suara)
130 tayangan6 halaman

3b.tutorial Modbus Arduino

Tutorial ini menjelaskan cara mengkonfigurasi komunikasi Modbus RTU antara Arduino Uno dan perangkat lunak Modscan. Arduino diatur sebagai slave Modbus dan dikonfigurasi untuk membaca input digital dan analog serta mengontrol output digital. Komunikasi diuji dengan mengubah nilai register melalui Modscan dan memonitor perubahan input/output secara real-time.

Diunggah oleh

JM4 - A
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
130 tayangan6 halaman

3b.tutorial Modbus Arduino

Tutorial ini menjelaskan cara mengkonfigurasi komunikasi Modbus RTU antara Arduino Uno dan perangkat lunak Modscan. Arduino diatur sebagai slave Modbus dan dikonfigurasi untuk membaca input digital dan analog serta mengontrol output digital. Komunikasi diuji dengan mengubah nilai register melalui Modscan dan memonitor perubahan input/output secara real-time.

Diunggah oleh

JM4 - A
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 6

Tutorial Modbus RTU Arduino

Oleh : Fuad Hasan

1. Modbus RTU Serial


Software yang dibutuhkan :
- Arduino versi 0023
- Modscan
Material yang dibutuhkan
- Arduino uno
- Shield rs485
- 2 buah Resistor 10k

Upload sketch arduino dibawah ini:


(Sebelum Upload posisikan dipswitch 4 itu ke posisi
off)
/*
Author : Fuad Hasan
Created : 9 Mei 2017

*/
#include <ModbusSlave.h>
ModbusSlave mbs;

/*register addres modbus*/


enum { Jumlah yang dipolling
MB_40000,
MB_40001,
MB_40002,

MB_REGS //jumlah addres yang dipolling sebanyak 3


};

int regs[MB_REGS];
unsigned long wdog = 0; /* watchdog */
unsigned long tprev = 0; /* previous time*/

void setup()
{

/* the Modbus slave configuration parameters */

const unsigned char SLAVE = 10; /* slaveId */


Configuration baudrate dan parity
const long BAUD = 9600; /* baud rate */
const char PARITY = 'n'; /* n=none; e=even; o=odd */
const char TXENPIN = 2; /* output driver enable pin */

/* Second step MBS: configure */


mbs.configure(SLAVE, BAUD, PARITY, TXENPIN);
mbs.update(regs, MB_REGS);
pinMode(13, OUTPUT);// digital output
pinMode(12, INPUT);//digital input

}
void loop()
{
/* Third and las step MBS: update in loop*/
if(mbs.update(regs, MB_REGS))
wdog = millis();
if ((millis() - wdog) > 1500);
// DIGITAL INPUT
regs[MB_40000] = digitalRead(12);

// DIGITAL OUTPUT
digitalWrite(13, regs[MB_40001]);

//ANALOG INPUT
regs[MB_40002] = analogRead(A0);

Setelah selesai upload sukses. Rangkai seperti


gambar di bawah ini. (Posisikan dipswitch posisi
ON)

A0

GND
Lakukan pengujian dengan software modscan :
1. Tancapkan usb to rs485 to pc
2. Cek port com detek di com brp??
3. Run modscan -> connection -> connect
Pilih com sesuai usb to rs485

Sudah sesuai dengan koding arduino

4. Klik OK
5. Sesuaikan dengan gambar dibwah ini

Sudah sesuai dengan koding arduino

Jumlah yang di polling


6. Lakukan uji control led pin 13 (di board arduino
sudah ada lednya). Klik 2x addres 40002 di modscan

Rubah jadi 1 valuenya. Klik update.


Untuk offkan led rubah jadi 0

7. Lakukan uji digital input. Ambil kabel jumper


colokkan ke 5v atau 3,3v di board arduino kemudian
satunya ke pin 12

A0
GND

5V
Saat di kasih tegangan 5v di pin 12
maka value berubah jadi 1

8. Lakukan uji analog input. Colokkan kabel jumper


yang 5v tadi ke pin A0.

Saat di kasih tegangan 5v di pin AO


maka value berubah jadi 1023

Jika dikasih tegangan 2,5 maka


valuenya setengahnya dari 1023

Anda mungkin juga menyukai