kali ini saya akan share tentang tutorial membuatnya, komunikasi data serial RS485.
kenapa saya menggunakan RS485???
karena modul-modul di pasaran sekarang menggunakan itu. contoh modul yang ada di tempat kerja saya, yang menggunakan RS485, antara lain:
- ION6200
- Micom P127
- ADAM 4055
- PM710
Kelebihan RS485 dibandingkan RS232:
- Bisa menghubungkan 1 master dengan 32 slave.
- Kecepatan data bisa sampai 1 mbps
- Maksimal panjang kabel data 1200 meter.
- menggunakan metoda master-slave
Bahan-bahan yang perlu di sediakan untuk membuat RTU :
Material Hardware:
- Arduino Uno
- Kabel data Arduino
- IC MAX485
- konverter RS232 to RS485 (ujicoba ke PC)
Material Software:
- Software Arduino versi 0023
- Library ModbusSlave (maaf belum bisa upload ke internet, bisa dicari di google)
1. Masukkan library yang sudah anda cari di goolge ke dalam folder library software arduino
2. Buat sketch pada software arduino
#include <ModbusSlave.h>
ModbusSlave mbs;
enum {
MB_40000, //A0
MB_40001, //A1
MB_40002, //A2
MB_40003, //A3
MB_40004, //A4
MB_40005, //A5
MB_40006, //PWM PIN_3
MB_40007, //PWM PIN_4
MB_40008, //PWM PIN_5
MB_40009, //PWM PIN_6
MB_40010, //PWM PIN_7
MB_40011, //PWM PIN_8
MB_40012, //Pino 9 do arduino 1= liga Led 0 desliga led.
MB_40013, //Pino 10 do arduino 1= liga Led 0 desliga led.
MB_40014, //Pino 11 do arduino 1= liga Led 0 desliga led.
MB_40015, //Pino 12 do arduino 1= liga Led 0 desliga led.
MB_40016, //Pino 13 do arduino 1= liga Led 0 desliga led.
// Aqui você pode criar mais registradores porém o elipse demo fica limitado em 20 tags. Lembrete os registradores e tags são na verdade variaveis.
MB_REGS /* total number of holding registers on slave */
};
int regs[MB_REGS];
int ledPin = 13;
unsigned long wdog = 0; /* watchdog */
unsigned long tprev = 0; /* previous time*/
void setup()
{
const unsigned char SLAVE = 1; /* slaveId */
const long BAUD = 9600; /* baud rate */
const char PARITY = 'n'; /* n=none; e=even; o=odd */
const char TXENPIN = 2; /* output driver enable pin */
mbs.configure(SLAVE, BAUD, PARITY, TXENPIN);
mbs.update(regs, MB_REGS);
pinMode(ledPin, OUTPUT);
pinMode(3, INPUT);
}
void loop()
{
if(mbs.update(regs, MB_REGS))
wdog = millis();
if ((millis() - wdog) > 1500);
// ANALOG INPUT
regs[MB_40000] = analogRead(A0);
// DIGITAL INPUT
regs[MB_40006] = digitalRead(3);
// DIGITAL OUTPUT
digitalWrite(13, regs[MB_40016]);
}
3. Compile
4. tancapkan kabel data ke PC dan Arduino
5. Cek arduino di com brp???
6. setelah terdeteksi upload sket ke arduino
7.rangkai arduino sperti gambar di bawah ini
8. Cek hasil rakitan arduino dengan software Modscan / atau software untuk membaca protokol modbus
library cek disini
bila kurang jelas silahkan tinggalkan pesan atau contact ke 081555305255
klik RS485 untuk melanjutkan ke tahap berikutnya
Wah tertarik juga pak dengan tutorialnya bapak, mampir juga yah pak ke website saya Jual Arduino
BalasHapusselalu merah pak... mungkin library yang bapak maksud berbeda dengan yg saya download.. bisa perjelas downloadnya dimana ?
BalasHapussaya librarynya cari d google pak.... cari aja modbus slave arduino
BalasHapustolong di share dong link library nya.!!
BalasHapusuntuk pembacaan seperti arus,teganga, frekuensi dll bagaimana ya caranya
BalasHapuslibrary sudah saya share.. silahkan dibaca lagi...
BalasHapusthanks sudah berkunjung
untuk pembacaan arus dan tegangan menggunakan tranduser atau sensor
Mas Fuad....mantap deh.... alhamdulillah berhasil hehe
BalasHapuspak maaf mau nanya, saya kan diperintahkan untuk membuat konfigurasi untuk komunikasi RTU IP based dengan modem supaya terkoneksikan ke master station. yang harus saya lakukan apa saja ya pak ?
BalasHapusmodem apa ini?
BalasHapusIP RTU harux dpt langganan IP statis/fix
Komentar ini telah dihapus oleh pengarang.
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapussaya compile koq ada yang eror ya pak bagian ModbusSlave mbs;
BalasHapusarduino ide versi 0023
Hapuskabel yg digunakan bisa pakai kabel listrik apa tidak??
BalasHapusKomentar ini telah dihapus oleh pengarang.
Hapusbisa
Hapuspak saya mau nanya, kalau dari arduino ke rs485(slave),lalu ke rs485(master) PC(labview), tanpa konverter seperti gambar diatas, bagaimana cara nya pak??
BalasHapuspakai kabel usb y? yang buat upload
BalasHapusArduino.1 + RS485.1 --> Arduino.2 + RS485.2 --> Labview
HapusMau pakai Softwareserial mas di arduino.1 itu gimana?
saya gk pernah pakai softserial... biasanya hardware serial
BalasHapuspak saya mau nanya. untuk library yang digunakan apa ya pak? link yang dicantumkan pada postingan sudah tidak dapat diakses pak
BalasHapus