Category Archives: Driver Relay

USB-2R3IO – Modul USB Dengan Dua Relay dan Tiga GPIO

Salam Sukses!

Saat ini kami sedang mengembangkan sebuah produk baru yakni USB-2R3IO. Modul USB ini dilengkapi dengan dua buah relay dan tiga buah GPIO level TTL. USB-2R3IO merupakan pengembangan dari modul USB-2REL. Produk USB-2REL merupakan salah satu produk unggulan kami yang paling laris.

blue_usb2rel_320

Dengan modul USB-2R3IO kita bisa mengontrol 2 buah relay dengan mudah. Tak hanya itu, USB-2R3IO menyediakan 3 buah GPIO yang masing-masing dapat diprogram agar berfungsi sebagai INPUT maupun OUTPUT. GPIO ini memiliki level tegangan logika TTL.

Skematik USB-2R3IO

USB-2R3IO menggunakan mikrokontroler AVR ATtiny2313A yang bekerja pada frekuensi 12MHz. Modul ini memiliki pilihan sumber tegangan yakni USB-Powered atau External Power Supply yang dapat dipilih menggunakan setingan jumper. Untuk input tegangan DC eksternal tersedia 2 buah konektor yakni soket DC bulat dan terminal-screw.

Konektor USB yang kami gunakan adalah USB Socket Tipe-B untuk memastikan kokohnya koneksitas antara modul dengan komputer. Rancangan modul ini dapat berfungsi dengan baik menggunakan kabel USB dengan panjang 3 meter.

Untuk relay, modul USB-2R3IO menggunakan relay dengan tegangan kumparan 5V DC dengan kemampuan kontak maksimum 10A sehingga sangat mencukupi dan aman untuk kebanyakan aplikasi.

Berikut adalah skematik modul USB-2R3IO yang kami gambar menggunakan freeware ExpressSCH yang running pada linux wattOS-R8 menggunakan Wine:

Skematik NEO USB-2R3IO

Layout PCB USB-2R3IO

Gambar layout PCB USB-2R3IO kami gambar menggunakan freeware ExpressPCB yang running pada linux wattOS R8 menggunakan Wine. ExpressPCB merupakan program satu paket dengan ExpressSCH.

Kami tetap mempertahankan penggunaan single-layer dengan track selebar mungkin untuk memudahkan pembuatan dan kemantapan kinerja sistem.

pcb_usb2r3io_500

Terlihat klasik memang. Motto kami (baca: tameng kami) untuk mengantisipasi komentar mengenai keklasikan model ini adalah bahwa

Kami memang belum menggunakan Teknologi Terkini, tapi kami menggunakan Teknologi Teruji.

Board Prototipe

Berikut ini adalah foto board USB-2R3IO yang kami gunakan selama proses pengujian:

usb2r3io_640

usb2r3io_640b

Firmware USB-2R3IO

Program mikrokontroler (firmware) kami buat menggunakan AVR-GCC versi 4.8.1. Implementasi protokol komunikasi USB menggunakan V-USB. Semua produk USB kami menggunakan VID dan PID gratisan yang dibagikan oleh Objective Development.

usb2r3io firmware

Software Antarmuka USB-2R3IO

Program antarmuka kami sediakan untuk beberapa platform yakni Windows, Linux dan Linux-ARMv6 (Raspberry Pi B/B+). Untuk pengguna Mac kami mohon maaf karena kami belum memiliki mesin dengan sistem operasi tersebut. Semoga saja kami bisa segera memiliki mesin dengan platform Mac.

Untuk platform Windows kami sediakan program versi GUI dan CLI. Program versi GUI kami buat menggunakan kompiler C freeware Pelles C. Untuk program versi CLI sementara juga kami buat menggunakan Pelles C, namun kami sedang mengupayakan untuk membuatnya dengan kompiler GCC untuk mendapatkan kecepatan eksekusi yang lebih baik.

usb2r3io_win_gui

Untuk platform Linux dan Linux-ARMv6 (Raspberry Pi), kami baru menyediakan program antarmuka versi CLI. Berikut adalah screenshot keluaran program USB-2R3IO versi CLI.

usb2r3io_cli_linux

Kami berharap produk ini dapat memenuhi kebutuhan interfacing untuk aplikasi yang tidak membutuhkan banyak IO seperti kontrol palang-pintu (portal).

ID Khusus Untuk Proteksi Produk Anda

Kami menyediakan ID Khusus untuk keperluan proteksi produk software Anda. Dengan ID Khusus ini maka software Anda hanya bisa bekerja menggunakan piranti USB dengan ID Khusus yang sesuai. Hal ini untuk menghindari pembajakan software. Dengan proteksi menggunakan ID Khusus ini maka software Anda akan aman dari kemungkinan penggunaan software dengan piranti USB sejenis yang tidak memiliki ID Khusus.

Kapan Bisa Dipesan?

Kami mentargetkan untuk menghadirkan modul USB-2R3IO pada akhir bulan Februari 2015. Anda bisa menjalin pertemanan dengan kami melalui halaman Facebook sehingga Anda tidak akan melewatkan informasi mengenai perkembangan proyek ini dan juga informasi seputar produk-produk kami serta riset-riset yang kami lakukan.

Stay tuned!

 

Mereset Komputer Dari Jarak Jauh Via SMS Dengan Modul SMC-01

SMC-01_400

Gambar di samping adalah foto modul kontroler relay jarak jauh berbasis SMS. Sistem SMC-01 ini berbasis mikrokontroler AVR ATmega328P yang dilengkapi dengan beberapa rangkaian pendukung yakni driver relay, LED indicator, konverter tegangan TTL/RS232 dan antarmuka USB.

Relay bisa digunakan untuk mengontrol beban listrik atau untuk fungsi triggering (pemicuan). Contoh fungsi pemicuan adalah untuk melakukan peresetan sistem komputer yang berada di lokasi yang jauh manakala diperlukan atau untuk memberikan pemicuan pada kontrol start atau stop.

Jika Anda memiliki sistem telemetri atau server untuk monitoring sensor yang jaraknya sangat jauh, maka sistem ini sangat handy untuk digunakan untuk mereset sistem dari jarak jauh (remote). Semisal jika komputer mengalami HANG, maka pengiriman data akan terhenti. Dengan mengaplikasikan SMC-01 maka kita dapat mereset komputer tersebut dari jarak jauh menggunakan SMS.

Relay pada board SMC-01 bisa dikontrol melalui SMS dengan pesan perintah “ON”, “OFF” dan “PULSE”. Sesuai pesannya, “ON” digunakan untuk mengaktifkan relay dan “OFF” untuk mematikan relay. Sedangkan pesan perintah “PULSE” akan mengaktifkan relay selama 1 detik. Untuk lebih jelasnya simak tabel yang berikut ini.

SMS Perintah Aksi/Fungsi SMS Notifikasi
ON Mengaktifkan relay RELAY DIAKTIFKAN.
OFF Mematikan relay RELAY DIMATIKAN.
PULSE Mengaktifkan relay 1 detik RESET TELAH DIAKTIFKAN.
Salah/tidak dikenali Diabaikan PERINTAH TIDAK DIKENALI.

SMC-01 dirancang untuk digunakan dengan modem serial RS232. Port serial pada board dapat langsung dihubungkan ke modem melalui kabel bawaan modem. Mikrokontroler mengirimkan AT+Command untuk membaca SMS, mengirim SMS, dan menghapus SMS. Firmware SMC-01 telah teruji dan telah diterapkan pada modul kontrol berbasis SMS yang lain seperti SMC-02, SMC-04 dan sistem alarm SMS.

SMC-01 bekerja pada 2 mode yakni Mode RUN atau Mode SETUP. Pada Mode RUN mikrokontroler berkomunikasi secara intensif dengan modem. Mikrokontroler bekerja dengan tugas-tugas sebagai berikut:

  • mengecek status komunikasi
  • mengecek adanya SMS yang masuk
  • membaca pesan SMS yang masuk
  • mencocokkan nomor pengirim dengan nomor terdaftar
  • membandingkan pesan dengan daftar perintah yang dikenali
  • menjalankan aksi sesuai pesan yang diterima
  • menghapus pesan untuk memastikan adanya ruang untuk menerima SMS baru

smc-01_300Pemilihan Mode RUN dilakukan dengan menghubungkan jumper yang terdapat di samping mikrokontroler. Jika jumper dilepas (open), maka sistem SMC-01 akan bekerja pada Mode SETUP.

Pada Mode SETUP, mikrokontroler akan berkomunikasi dengan komputer melalui port USB. Untuk antarmuka kami buatkan program setup dengan interface yang sederhana, sehingga mudah dipahami dan dioperasikan. Melalui program setup kita dapat mengenali modul SMC-01, melakukan testing relay secara manual, membaca data nomor telepon terdaftar dan mengubah nomor telepon terdaftar. Pada saat sistem bekerja pada Mode SETUP, LED Status akan berkedip-kedip secara terus-menerus dengan interval yang tetap.

Sekedar info, program setup SMC-01 kami buat menggunakan kompiler C gratisan Pelles C. Paket program Pelles C sangatlah lengkap. IDE Pelles C simpel dan memiliki Dialog Editor yang tidak sulit digunakan. Kompiler Pelles C telah memenuhi standar C99 dan C11 dan dalam status pengembangan yang aktif. Untuk platform Windows, kami sangat merekomendasikan Pelles C sebagai development tool untuk pemrograman bahasa C.

Nah, berikut ini adalah tampilan program setup untuk modul SMC-01.

smc-01_setup

Program setup ini secara otomatis melakukan pengecekan status komunikasi dengan modul SMC-01. Jika status komunikasi baik, maka akan ditampilkan status [Connected]. Sebaliknya program akan menampilkan tampilan status [Disconnected] jika gagal melakukan komunikasi dengan SMC-01.

Jika Anda membutukan sistem alarm atau kontrol berbasis SMS, silakan menghubungi kami melalui halaman kontak kami di http://teknikelektrolinks.com/kontak.htm.

smc-01_640

Selamat berkarya!

Mengontrol Empat Buah Relay dan Membaca Empat Buah Input Melalui Port Paralel LPT Menggunakan VB6 + INPOUT32.DLL

LPT-4R4OI_6320

LPT-4R4OI adalah modul antarmuka port paralel LPT yang memiliki 4 buah output berupa relay dan 4 buah input opto-isolated. Modul ini cocok bagi Anda yang pengguna port paralel, baik pemula maupun profesional.

Modul LPT-4R4OI menggunakan ULN2803 untuk driver relay dan PC817 untuk rangkaian input. Masing-masing relay dan input memiliki LED status. LED Relay akan menyala jika relay ON. LED Input akan menyala jika input ON. Input LPT-4R4OI aktif-rendah, artinya LED Input akan menyala jika input diberi logika rendah (LOW).

Empat relay pada modul LPT-4R4OI dikendalikan oleh port data. RELAY-1 pada pin D4, RELAY-2 pada pin D5, RELAY-3 pada pin D6 dan RELAY-4 pada pin D7. Berikut adalah tabel koneksi port LPT dengan LPT-4R4OI.

Port LPT Nomor Pin Nama Pin Fungsi
Port Data Pin 6 D4 Kontrol RELAY-1
Port Data Pin 7 D5 Kontrol RELAY-2
Port Data Pin 8 D6 Kontrol RELAY-3
Port Data Pin 9 D7 Kontrol RELAY-4
Port Status Pin 10 ACK INPUT-1
Port Status Pin 11 BUSY INPUT-2 (INVERTED)
Port Status Pin 12 PAPER OUT INPUT-3
Port Status Pin 13 SELECTED INPUT-4

Perhatian! Keterangan INVERTED pada pin 11 (BUSY) memiliki arti bahwa nilai logika yang terbaca adalah kebalikan dari logika input yang sebenarnya.

Untuk mengontrol relay dan membaca input modul LPT-4R4OI dibutuhkan program antarmuka LPT. Library program yang paling populer adalah INPOUT32.DLL. Dengan library ini kita bisa mengakses port LPT ataupun port IO lainnya.

Sesuai judul di atas, saya membuat program antarmuka LPT-4R4OI menggunakan VB6. Berikut adalah tampilan programnya.

lpt-4r4oi_vb6

Dengan modul LPT-4R4OI kita bisa membuat sistem kontrol berbasis komputer. Contoh aplikasi yang bisa dibangun adalah:

  • sistem monitoring level ketinggian tandon air dengan kontrol pompa air
  • sistem kontrol lift
  • sistem kontrol mesin press
  • dan lain-lain

Selain sistem aplikasi, modul LPT-4R4OI juga sangat cocok untuk pelajaran interfacing. Dengan modul ini kita bisa mengenalkan contoh hardware interfacing dan pemrogramannya.

Bagi Anda yang berminat dengan modul ini bisa menghubungi kami melalui email ke info@teknikelektrolinks.com atau melalui http://teknikelektrolinks.com/kontak.htm.

Selamat berkarya!

:D

SMC-02: Kontroler Relay Via SMS Berbasis AVR ATmega8

smc-2 modem_320

SMC-02 adalah modul SMS Relay yang memiliki 2 buah relay sebagai output. Dengan modul ini kita bisa mengendalikan dan membaca kondisi 2 buah relay (on/off) melalui SMS Perintah yang dikenali sistem. Sistem hanya memroses SMS Perintah yang dikirim oleh nomor telepon yang terdaftar. Jika SMS Perintah dikirim oleh nomor yang tidak dikenal, maka akan diabaikan oleh sistem.

SMC-02 menggunakan relay dengan kemampuan kontak NO sebesar 10A (max) pada tegangan 250VAC sehingga sangat memadai untuk langsung digunakan mengendalikan beban peralatan listrik seperti lampu, kipas angin atau AC berdaya rendah.

Sebagai otak modul SMC-02 digunakan mikrokontroler ATMEL AVR ATmega8/8A dengan rancangan sistem mikrokontroler yang telah teruji di lapangan. Modem yang digunakan adalah modem serial Wavecom tipe 1306 atau tipe yang lain.

SMC-02 dilengkapi program SMC-02 Setup yang digunakan untuk mengeset nomor telepon pengguna.  Program SMC-02 Setup dibuat menggunakan ThinBASIC. Source code program SMC-02 Setup disertakan dalam CD Program.

Prinsip Kerja SMC-02

Ketika diaktifkan SMC-02 akan masuk ke mode WAIT_PC. Pada mode ini mikrokontroler menunggu data dari PC selama beberapa detik dan LED Status akan berkedip-kedip cepat sebanyak 80 kali. Jika ada komunikasi dari PC (program SMC-02 Setup), maka SMC-02 akan masuk ke mode SETUP. Penjelasan mengenai SMC-02 Setup dapat dibaca di bawah.

Jika tidak ada komunikasi dari PC selama mode WAIT_PC, maka mikrokontroler akan berpindah ke mode RUN, yakni menjalankan program kontrol relay via SMS dengan cara berinteraksi dengan modem serial.

Pada mode RUN ini, mikrokontroler akan secara kontinyu mengecek apakah ada SMS baru yang diterima oleh modem dengan perintah AT+CMGL. Jika ada, maka SMS akan dibaca dan diambil data pesan (SMS Perintah) dan data nomor pengirimnya. Jika nomor pengirim terdaftar, maka selanjutnya mikrokontroler akan mengecek apakah SMS Perintah benar atau tidak. Dan jika SMS Perintah benar, maka mikrokontroler akan melakukan aksi yang bersesuaian dan mengirimkan SMS Notifikasi ke nomor pengirim.

Jika nomor pengirim tidak terdaftar, maka mikrokontroler akan mengabaikan SMS tersebut dan langsung menghapusnya.

SMS Perintah dan Notifikasi

SMC-02 memiliki SMS Perintah yang unik dan akan memberikan SMS Notifikasi pada setiap SMS yang dikirimkan oleh user yang terdaftar. Berikut adalah tabelnya:

SMS Perintah Fungsi Perintah SMS Notifikasi
RL01LIVE RELAY-1 ON SMC-02: RELAY1 ON
RL01DIE RELAY-1 OFF SMC-02: RELAY1 OFF
RL02LIVE RELAY-2 ON SMC-02: RELAY2 ON
RL02DIE RELAY-2 OFF SMC-02: RELAY2 OFF
RELAY? Membaca status relay SMC-02 SMC-02: RELAY1 ON/OFF, RELAY2 ON/OFF
Salah SMS Perintah tidak dikenali tapi nomor pengirim dikenali SMC-02: COMMAND ERROR!

Program SMC-02 Setup

SMC-02 menyimpan 2 nomor telepon user di dalam EEPROM mikrokontroler. User dapat membaca, mengedit dan menyimpan nomor telepon user menggunakan program SMC-02 Setup.

smc-02 setup

SMC-02 Setup dibuat dengan interface yang sederhana namun intuitif sehingga mudah digunakan. Sourcecode program SMC-02 Setup disertakan dalam CD.

Untuk melakukan komunikasi dengan SMC-02, hubungkan SMC-02 ke PC dengan perantaraan kabel data serial. Selanjutnya jalankan program SMC-02 Setup dan klik Tombol READ DATA.

Pada saat SMC-02 diaktifkan (Power On), mikrokontroler akan menunggu komunikasi dari PC. Selama proses menunggu data dari PC tersebut, LED Status akan berkedip-kedip cepat sebanyak 80 kali.

Jika SMC-02 menerima data dari PC, maka LED Status SMC-02 akan menyala penuh sebagai tanda SMC-02 sedang berkomunikasi dengan program SMC-02 Setup. Dan jika tidak ada komunikasi (data) dari PC, maka mikrokontroler akan menjalankan program kontrol SMC-02 (berinteraksi dengan modem).

Jika komunikasi berjalan lancar, maka SMC-02 akan mengirimkan data nomor user yang terdaftar. Pada screenshot di bawah nomor HP-1 adalah +6281231784018 dan nomor HP-2 adalah +623419857624.

smc-02 setup2

Tombol Set HP User-1 digunakan untuk mengedit dan menyimpan nomor HP pertama. Sedangkan Tombol Set HP User-2 digunakan untuk mengedit dan menyimpan nomor HP kedua.

Perhatian!

Penulisan nomor telepon/HP menggunakan format internasional yakni dilengkapi dengan kode negara dan kode area. Nomor telepon 081231784018 ditulis menjadi +6281231784018 dan nomor telepon 03419857624 ditulis menjadi +623419857624.

Setelah editing nomor HP selesai dilakukan, kita bisa melepas kabel serial dan menghubungkan modem ke board SMC-02 dan klik Tombol EXIT untuk menutup aplikasi SMC-02 Setup.

Ketika aplikasi SMC-02 ditutup, program akan mengirimkan data ke board SMC-02 sebagai tanda bahwa proses setup telah selesai sehingga mikrokontroler bisa keluar dari mode setup dan menjalankan program kontrol SMC-02 dan berinteraksi dengan modem.

smc-02 lampu 300Untuk menghubungkan beban peralatan listrik AC 220V ke board SMC-02 tidaklah sulit karena telah disediakan terminal-terminal untuk keperluan tersebut. Terminal tersebut adalah:
1. Terminal Input AC 220V (2 pin)
2. Terminal Output Beban-1 (2 pin)
3. Terminal Output Beban-2 (2 pin)

SMC-02 dapat Anda pesan melalui situsnya di http://teknikelektrolinks.com/smc-02/smc-02.htm.

Selamat berkarya!

Mengontrol Relay Via USB Menggunakan BASIC dan USB-1REL

usb1rel_jb

USB-1REL adalah modul USB Relay yang memiliki 1 buah relay sebagai output. Dengan modul ini kita bisa mengendalikan kondisi 1 buah relay (on/off) melalui program komputer dengan antarmuka port USB.
Modul ini mengambil daya secara langsung dari port USB sehingga tidak membutuhkan catu daya eksternal. Oleh karenanya modul USB-1REL sangat mudah dan praktis digunakan.

Screenshot di samping adalah tampilan program Demo Kontrol USB-1REL yang dibuat menggunakan interpreter Bahasa BASIC gratisan JustBASIC V1.01. Program mengontrol relay USB-1REL dengan memanggil command-line tool USB1RC.EXE.

usb1rel_320 Modul USB-1REL sangat cocok untuk aplikasi bel sekolah terprogram berbasis komputer. Dengan scheduler dan database sederhana maka cukuplah untuk membuat aplikasi bel sekolah terprogram yang sederhana namun berdayaguna.

Selain bel sekolah atau bel pabrik, USB-1REL juga bisa diaplikasikan untuk mengaktifkan dan mematikan extra-fan atau air-conditioner pada ruang server pada kurun-kurun waktu yang telah ditentukan (terprogram).

Pada tulisan ini kami berikan contoh program Demo Kontrol USB-1REL dengan beberapa fungsi tombol yakni:

Tombol Fungsi
ON Mengaktifkan relay
OFF Mematikan relay
ON-OFF Very Fast Mengaktifkan kemudian mematikan dengan delay yang sangat singkat (flicker)
ON – 0.5s – OFF Relay ON, delay 1/2 detik, kemudian Relay OFF
ON – 1s – OFF Relay ON, delay 1 detik, kemudian Relay OFF
ON – 5s – OFF Relay ON, delay 5 detik, kemudian Relay OFF

Untuk menghasilkan delay program menggunakan fungsi TIMER. Berikut adalah kode program selengkapnya.

'--- JB_USB1REL.BAS
'--- Demo pengontrolan modul relay USB-1REL
'--- Chandra MDE - Teknik Elektro Links
'--- 28 September 2014

    nomainwin

    WindowWidth = 300
    WindowHeight = 355

    UpperLeftX=int((DisplayWidth-WindowWidth)/2)
    UpperLeftY=int((DisplayHeight-WindowHeight)/2)

    groupbox #main.groupbox1, " Relay Control: ", 15, 15, 170, 72
    button #main.btnRelayOn, "ON", [btnRelayOnClick], UL, 25, 40, 70, 30
    button #main.btnRelayOff, "OFF", [btnRelayOffClick], UL, 105, 40, 70, 30

    groupbox #main.groupbox2, " Relay Trigger/Off-Delay: ", 15, 100, 170, 196
    button #main.btnRelayOnFast, "ON-OFF Very Fast", [btnRelayFastClick], UL, 25, 130, 150, 30
    button #main.btnRelayOn50, "ON - 0.5s - OFF", [btnRelay50Click], UL, 25, 170, 150, 30
    button #main.btnRelayOn1, "ON - 1s - OFF", [btnRelay1Click], UL, 25, 210, 150, 30
    button #main.btnRelayOn5, "ON - 5s - OFF", [btnRelay5Click], UL, 25, 250, 150, 30

    button #main.btnExit, "EXIT", [btnExitClick], UL, 200, 20, 78, 277

    statictext  #main.telinks, "http://teknikelektrolinks.com", 14, 302, 200, 20

    open "JustBASIC - Demo Kontrol USB-1REL" for dialog as #main
    print #main, "trapclose [quit.main]"

    print #main, "font Arial 9 Bold"
    print #main.telinks, "!font Verdana 8"

    wait

[quit.main]
    close #main
    end

[btnRelayOnClick]    'Perform action for the button named 'btnRelayOn'
    run "USB1RC.EXE R1", hide
    wait

[btnRelayOffClick]    'Perform action for the button named 'btnRelayOff'
    run "USB1RC.EXE r1", hide
    wait

[btnRelayFastClick]
    run "USB1RC.EXE R1 r1", HIDE
    wait

[btnRelay50Click]
    run "USB1RC.EXE R1", hide
    timer 500, [tmr500ms]
    wait
    [tmr500ms]
    timer 0
    run "USB1RC.EXE r1", HIDE
    wait

[btnRelay1Click]
    run "USB1RC.EXE R1", hide
    timer 1000, [tmr1000ms]
    wait
    [tmr1000ms]
    timer 0
    run "USB1RC.EXE r1", hide
    wait

[btnRelay5Click]    'Perform action for the button named 'btnRelay1Off'
    run "USB1RC.EXE R1", hide
    timer 5000, [tmr5000ms]
    wait
    [tmr5000ms]
    timer 0
    run "USB1RC.EXE r1", hide
    wait

[btnExitClick]    'Perform action for the button named 'btnExit'
    Close #main
    wait

USB-1REL dilengkapi dengan CD program yang berisi contoh program dalam berbagai bahasa seperti BASIC, C, Delphi/Lazarus,  JustBASIC, Python, REBOL, VB/VB.NET.

Jika Anda berminat dengan modul USB-1REL, silakan mengunjungi halaman resminya di http://teknikelektrolinks.com/usb-1rel/usb-1rel.htm.

Semoga bermanfaat, selamat belajar dan selamat berkarya.

:D