Monday, January 13, 2014

RANGKAIAN ANTIBOUNCING SAKLAR

ehm.. antibouncing.. anti deh yang namanya loncat sana loncat sini sehingga akhirnya rangkaiannya eror eror.. kalo di program asembly, c, c++ ataupun basic bisa kita akalin tu bouncing yang terjadi dengan menambahkan waktu tunda.. biasanya si CALL DELAY heheheh>>
pada postingan ini saya akan memberikan rangkaian yang muantep.. dan pasti jadi.. jika buat rangkaiannya rapi.. rangkaian anti bouncing yang semisalnya teman teman ingin menggukan rangkaian analog.. :P

biasanya sih banyak yang menggukan rangkaian RC saja.. itu loh.. rangkaian cuma pake Komponen Resistor dan Capasitor.. itu orang mau cepat dan simple..
ini gambar scematik antibouncing RC yang sederhananya.. :)


kalo kata orang yang TUA tua si.. semakin komlplek rangkaiannya maka semakin bagus kualitasnya.. jadi saya ngak menggukan rangkaian di atas.. kalo untuk project.. kecuali kePEPET.. heheh
ini rangkaian yang saya buat.. yang kompleks katanya sih.. pas sudah jadi muantep banget.. 98% datanya oke punya..

Scematik antiBouncing

ini di bawah jalur PCB nya.


Tata letak Komponen

terimakasih atas kujungannya

Friday, January 10, 2014

PROGRAM MEMBUAT KAKULATOR DENGAN BAHASA C

ASALAMUALAIKUM..

pada kesempatan ini saya ingin memosting program calculator yang nantinya akan saya simulasikan dengan proteus isis profesional..

langsung aja,, ini dia,, rangkaian di proteus isis profesional



untuk pembuatan isis profesionalnya saya rasa teman teman sudah tau.. bisa liat di sini.. klik
selanjutnya,, masuk ke intinya.. programnya.. di sini saya menggunakan bahasa C temen teman yang sudah bergelut di dunia robot pasti familiar dengan bahasa ini. langsung aja ini source code lengkap nya,,:
#include <mega16.h>
#include <delay.h>
#include <lcd.h>
#include <stdlib.h>
#include <math.h>

#asm
   .equ __lcd_port=0x18
#endasm
//#############################################
int key(void);
float _Main(void);
void Mohandes(void);
void Mohasebe(void);
void Alamat(int,int);
float Emoji(int);
//#############################################
float a = 0 , b = 0 , c = 0 , q , t;
int i ;
char y=0 , lcd[25] , z   ;
//#############################################
void main(void){

DDRB=0x0F;
DDRC=0x07;
DDRD=0x0F;

lcd_init(16);
while (1){
_Main();
}
}
//#############################################################
void _Main(void){
int Loop = 1 ;
y = key();
if( y == 15 ){a = 0 ;b = 0 ;c = 0 ;lcd_clear();return 0 ;}
if( y < 10 ){
        a = (a*10)+y ;
        itoa(y , lcd);
        lcd_puts(lcd);
        delay_ms(50);
}



if( y > 9 && y < 16 ){
        if( y == 15 ){a = 0 ;b = 0 ;c = 0 ;lcd_clear();return 0 ;}
        z = y ;
        Alamat(y,1);
        while(Loop){
        y = key();
        if( y == 15 ){a = 0 ;b = 0 ;c = 0 ;lcd_clear();return 0 ;}
        if( y < 10 ){
                b = (b*10)+y ;
                itoa(y , lcd);
                lcd_puts(lcd);
                delay_ms(50);
        }else if(y == 14){
                lcd_putchar('=');
                Mohasebe();
                y = 0 ;
                Loop = 0 ;
        }
        }
}
if( y > 15 ){
lcd_clear();
a= 0 ; b = 0 ; c = 0;
Alamat(y , 2);
z = y ;
Loop = 1 ;
while(Loop){
y = key();
if( y == 15 ){a = 0 ;b = 0 ;c = 0 ;lcd_clear();return 0 ;}
if(y <  10){
        a = (a*10) + y ;
        itoa(y , lcd);
        lcd_puts(lcd);
        delay_ms(50);
}else if ( y == 14){
        lcd_putchar('=');
        Mohandes();
}
Loop = 1 ;
}
}
return 0;
}
//##########################################################
void Mohasebe(void){                                        
if(z == 10)c = a / b ;
if(z == 11)c = a * b ;
if(z == 12)c = a - b ;
if(z == 13)c = a + b ;
ftoa(c , 3 , lcd);          
lcd_puts(lcd);
delay_ms(100);
}
//#########################################################
float Emoji(int rr){
q=1;
for(i=0;i<rr;i++)q = q * 2.71728 ;
return q;
}
//#########################################################
void Mohandes(void){
t = (3.1415926535897932384626433832795/180)*a ;
if(z == 16)c = sin(t) ;
if(z == 17)c = cos(t) ;
if(z == 18)c = tan(t) ;
if(z == 19)c = 1/tan(t) ;
if(z == 20)c = asin(t) ;
if(z == 21)c = acos(t) ;
if(z == 22)c = log(a) ;
if(z == 23)c = sqrt(a) ;
if(z == 24)c = Emoji(a) ;
floa(c , 3 , lcd);          
lcd_puts(lcd);
delay_ms(100);
}
//#########################################################
void Alamat(int Mojiint Halat){
if(Halat = 1){
        if(Moji == 10)lcd_putchar('/') ;
        if(Moji == 11)lcd_putchar('*') ;
        if(Moji == 12)lcd_putchar('-') ;
        if(Moji == 13)lcd_putchar('+') ;
        delay_ms(100);    
}
if(Halat == 2){
        if(Moji == 16)lcd_putsf("Sin ") ;
        if(Moji == 17)lcd_putsf("Cos ") ;
        if(Moji == 18)lcd_putsf("Tan ") ;
        if(Moji == 19)lcd_putsf("Cot ") ;
        if(Moji == 20)lcd_putsf("aSin") ;
        if(Moji == 21)lcd_putsf("aCos") ;
        if(Moji == 22)lcd_putsf("Log ") ;
        if(Moji == 23)lcd_putsf("Sqrt ") ;
        if(Moji == 24)lcd_putsf("exp ") ;
        delay_ms(100);

}
}
//#########################################################
int (void){
char KEY = 1 ;
while(KEY){

        PORTD.0 = 1 ;
        PORTD.1 = 0 ;
        PORTD.2 = 0 ;
        PORTD.3 = 0 ;
        if(PIND.4 == 1){return 7 ; KEY = 0;delay_ms(50);}  
        if(PIND.5 == 1){return 8 ; KEY = 0;delay_ms(50);}  
        if(PIND.6 == 1){return 9 ; KEY = 0;delay_ms(50);}
        if(PIND.7 == 1){return 10; KEY = 0;delay_ms(50);}    
        //==========================================
        PORTD.0 = 0 ;
        PORTD.1 = 1 ;
        PORTD.2 = 0 ;
        PORTD.3 = 0 ;
        if(PIND.4 == 1){return 4 ; KEY = 0;}  
        if(PIND.5 == 1){return 5 ; KEY = 0;}  
        if(PIND.6 == 1){return 6 ; KEY = 0;}
        if(PIND.7 == 1){return 11; KEY = 0;}    
        //==========================================
        PORTD.0 = 0 ;
        PORTD.1 = 0 ;
        PORTD.2 = 1 ;
        PORTD.3 = 0 ;
        if(PIND.4 == 1){return 1 ; KEY = 0;}      
        if(PIND.5 == 1){return 2 ; KEY = 0;}    
        if(PIND.6 == 1){return 3 ; KEY = 0;}    
        if(PIND.7 == 1){return 12; KEY = 0;}      
        //==========================================
        PORTD.0 = 0 ;
        PORTD.1 = 0 ;
        PORTD.2 = 0 ;
        PORTD.3 = 1 ;
        if(PIND.4 == 1){return 15; KEY = 0;}      
        if(PIND.5 == 1){return 0 ; KEY = 0;}      
        if(PIND.6 == 1){return 14; KEY = 0;}    
        if(PIND.7 == 1){return 13; KEY = 0;}

        //=============================================================================
        PORTC.0 = 1 ;
        PORTC.1 = 0 ;
        PORTC.2 = 0 ;
        if(PINC.5 == 1){return 16 ; KEY=0;}
        if(PINC.6 == 1){return 17; KEY=0;}
        if(PINC.7 == 1){return 18 ; KEY=0;}
        //=====================================================
        PORTC.0 = 0 ;
        PORTC.1 = 1 ;
        PORTC.2 = 0 ;
        if(PINC.5 == 1){return 19 ; KEY=0;}      
        if(PINC.6 == 1){return 20 ; KEY=0;}
        if(PINC.7 == 1){return 21 ; KEY=0;}
        //=====================================================
        PORTC.0 = 0 ;
        PORTC.1 = 0 ;
        PORTC.2 = 1 ;
        if(PINC.5 == 1){return 22 ; KEY=0;}
        if(PINC.6 == 1){return 23 ; KEY=0;}
        if(PINC.7 == 1){return 24 ; KEY=0;}

KEY = 1 ;    
}
}
//############################################################

oke.. ini adalah gambar hasil jadi nya..



Terimakasih telah berkunjung,, untuk file souce code nya dan file aslinya silahkan kirim email teman,. hanya du tujukan untuk yang ingin benar benar belajar..
//[ ]

Thursday, January 9, 2014

MIMIMUN SYTEM ATMEGA 16,32,8535 DAN KOMUNIKASI SERIAL RS 232

SELAMAT DATANG..
kali ini saya akan share rangkaian jitu minimum sistem atmega 32,16,atau pun atmega 8535.. dan bisa komunikasi serial RS232 di jamin pasti jadi.. asalkan buat rangkaiannya rapi rapi ya,,, takut short circuit nantinya heheh......
langsung saja saya share rangkaianya ..


 scematik minimus system atmega 16,32,dan 8535


ini jalur PCB nya

ini tata letak komponenya



oh ya.. bagi teman teman yang ingin bertanya silahkan... tanya,. dan bagi teman yang mau mendapatkan file sch dan board eagle nya.. silahkan kirim emailnya.. di komentar..  :) saya kirimin nanti..

SCADA (Supervisory Control And Data Acquisition)

oke sobat... :)
kali ini postingan tentang sistem SCADA apa yah kepanjangan SCADA!!!
SCADA (Supervisory Control And Data Acquisition) adalah sistem kendali industri berbasis komputeryang dipakai untuk pengontrolan suatu proses, seperti:
  • proses industri: manufaktur, pabrik, produksi, generator tenaga listrik.
  • proses infrastruktur: penjernihan air minum dan distribusinya, pengolahan limbah, pipa gas dan minyak, distribusi tenaga listrik, sistem komunikasi yang kompleks, sistem peringatan dini dan sirine
  • proses fasilitas: gedung, bandara, pelabuhan, stasiun ruang angkasa.
Beberapa contoh lain dari sistem SCADA ini banyak dijumpai di lapangan produksi minyak dan gas (Upstream), Jaringan Listrik Tegangan Tinggi dan Tegangan Menengah (Power Transmission and Distribution) dan beberapa aplikasi yang dipakai untuk memonitor dan mengontrol areal produksi yang cukup luas.
Suatu sistem SCADA biasanya terdiri dari:
  • antarmuka manusia mesin (Human-Machine Interface)
  • unit terminal jarak jauh yang menghubungkan beberapa sensor pengukuran dalam proses-proses di atas
  • sistem pengawasan berbasis komputer untuk pengumpul data
  • infrastruktur komunikasi yang menghuhungkan unit terminal jarak jauh dengan sistem pengawasan, dan
  • PLC atau Programmable Logic Controller




SCADA schematic overview-s.svg

Yang dimaksud dengan Supervisory Control atau Master Terminal Unit (MTU) adalah kendali yang dilakukan di atas kendali lokal atau Remote Terminal Unit (RTU), sebagai ilustrasi, pada suatu ladang minyak dan gas (Oil and Gas Field) ada beberapa sumur minyak (Oil Well) yang berproduksi. Hasil minyak mentah (Crude Oil) dari masing-masing sumur produksi tersebut dikumpulkan di stasium pengumpul atau Gathering Station (GS) di mana proses lanjutan terhadap minyak mentah yang terkumpul tersebut dilakukan. Biasanya pada masing-masing sumur minyak produksi terpasang suatu sistem (RTU) yang memonitor dan mengontrol beberapa kondisi dari sumur minyak produksi tersebut. Kendali lokal dilakukan pada masing-masing production well dan supervisory control yang berada di stasiun pengumpul, melakukan control dan monitoring kepada semua production well yang ada di bawah supervisi. Jika salah satu production well mengalami gangguan, dan stasiun pengumpul tetap harus memberikan dengan production rate tertentu, maka supervisory control akan melakukan koordinasi pada production well lainnya agar jumlah produksi bisa tetap dipertahankan.
Pada umumnya jarak antara RTU dengan MTU cukup jauh sehingga diperlukan media komunikasi antara keduanya. Cara yang paling umum dipakai adalah Komunikasi Radio (Radio Communication) dan Komunikasi Serat Optik (Optical Fiber Communication).
Pada sistem tenaga listrik, media komunikasi yang dipergunakan adalah Power Line Communication, Radio Data, Serat optik dan kabel pilot. Pemilihan media komunikasi sangat bergantung kepada jarak antar site, media yang telah ada dan penting tidaknya suatu titik ( gardu ).
Pengaturan sistem tenaga listrik yang komplek, sangat bergantung kepada SCADA. Tanpa adanya sistem SCADA, sistem tenaga listrik dapat diibaratkan seperti seorang pilot membawa kendaraan tanpa adanya alat instrumen dihadapannya. Pengaturan sistem tenaga listrik dapat dilakukan secara manual ataupun otomatis. Pada pengaturan secara manual, operator mengatur pembebanan pembangkit dengan melihat status peralalatan listrik yang mungkin dioperasikan misalnya Circuit Breaker ( CB ), beban suatu pembangkit, beban trafo, beban suatu transmisi atau kabel dan mengubah pembebanan sesuai dengan frekuensi sitem tenaga listrik. Pengaturan secara otomatis dilakukan dengan aplikasi Automatic Generating Control ( AGC ) atau Load Frequency Control ( LFC ) yang mengatur pembebanan pembangkit berdasar setting yang dihitung terhadap simpangan frekuensi.
Salah satu hal yang penting pada sistem SCADA adalah komunikasi data antara sistem remote ( remote station / RTU ) dengan pusat kendali. Komunikasi pada sistem SCADA mempergunakan protokol khusus, walaupun ada juga protokol umum yang dipergunakan. Protokol yang dipergunakan pada sistem SCADA untuk sistem tenaga listrik diantaranya :
  1. IEC Standar meliputi IEC 60870-5-101 yang berbasis serial komunikasi dan IEC 60870-5-104 yang berbasis komunikasi ethernet.
  2. DNP 3.0
  3. Modbus
  4. Proprietary solution, misalnya KIM LIPI, HNZ, INDACTIC, PROFIBUS dan lain-lain


 bisa di liat gambar di bawah hasil dari yang saya buat:

 teman-teman juga bisa melihat video nya saat sistem di atas saya buat.. lihat di bawah atau klik disini lebih jelasnya :
 terima kasih teman telah membaca dengan baik.. :)

TUTORIAL PROGRAMMING TOUCH SCREEN PLC DENGAN XP BUILDER

SELAMAT BERJUMPA teman teman..
kali ini saya akan memberikan tutorial membuat program touch screen PLC dengan cepat dan sangat sangat sangat sangat mudah.. :)
langsung TO the Point aja yuk.. :].. instal dulu aplikasinya bisa di download di gogle dengan keywoard "download aplikasi XP-Builder free" nah download deh tuh.. instal next dan next aja kok..
langsung !!!
buka icon nya seperti gambar di bawah...


maka akan muncul tampilan seperti gambar di bawah... langsung deh.. mau nya apa.. create project atau open project.. karna mau belajar yahh klik create project.. boss.. !!!!


selanjutnya muncul deh jendela seperti gambar di bawah.. itu adalah untuk setting touchscreen nya..
pilih tipe touchsreennya.. cara nya adalah baca dulu keterangngan tipe label produk di touchscreen.. nah baru kali bisa nyeting jendela seperti gambar di bawah..
di bawah adalh settinggan touchsreen yang saya gunakan.. 


nah,, setelah itu muncul deh,.. jendela kerja.. nya... bingung atau gampang.. jawaban saya mudah.. :P.. heheh



lihat pada lingkaran merah.. pada hitungan ke tiga anda akan tidur.. 1... 2... 3.. heheh


perhatikan lingkaran merah lingkaran tersebut adalah lembar touchscreen..  kesimpulannya.. itu dalah lembaran pertama, jika ingin menambah lagi . cukup dengan klik kanan pada base srceen klik insert.. nambah deh..


lihat pada gambar di bawah.. di bawah adalah biang keladi nya.. wkkwkwk.. contoh saja ni kita ingin membuat tombol.. pilih bit switch selajutnya,, klik ke lembar kerja.. kemudian akan muncul gambar tampilan tombol yang kita ingin kan.. pilih deh sesuka hati tombol yang teman teman inginkan..
jika kita ingin membuat indikator lampu.. pilih bit lamp.. pilih juga tampilan lampunya.. mudah kan.. menu yang lain coba sendiri ya..
warning!!!: hehehe teman teman jangan lupa masukin alamat nya sesuit dengan alamat di PLC nya ya.. misalka.. tombol di program PLC itu alamat P0000 maka di xp-builder tombolnya juga P0000.. kalo ngak sama aja ngak terhubung...


di bawah adalah lembar utama yang saya buat.. perhatikan base screen nya,,  base screen 1 kan.. itu adalah halaman 1.. :)


ini base screen 2 nya.,



ini base screen 3



ini base sreen 4


ini base sreen 5



kemudian simulasi kan deh.. kilik di lingkaran merah.. tu play./.. 


tapi jangan lupa running dulu simulasi PLC nya.. kalo ngak.. bakalan ngak jalan


nanti xp simulatornya akan mencompile... tunggu sampai 100% bseperti gambar di bawah.. 


jadi deh.. seperti gambar di bawah tinggal di klik klik deh..





di bawah adalah video nya,, udah saya aplikasi kan touchsreen nya,, :)

mohon maaf jika ada kekurangn ya teman.. maaf kalo bahasanya tidak baku.. kalo terlalu baku.. nanti teman teman copas.. untuk tugas dosen.. kwkwk capek ngetik nya.. :)

Tutorial Programming PLC XGB dengan software XG5000



Selamat berjumpa lagi teman-teman yang pastinya ingin belajar donk..... :)
pada postingan kali ini saya akan sedikit memberikan tutorial memprogram PLC XGB dengan Sofware XG5000. apa untungnya buta tenam teman?... ya jelas banyak donk.. salh satunya meningkat kan pengetahuan teman teman tentang PLC dan satu lagi di dunia industri sering sekali menggunakan Teknologi PLC. gaji luman gede' kalo sudah ahli PLC.

langsung aja YUk tutorialnya.. perhati kan langkah demi langkah yah.. di jamin sukses mengikiti tutorial ini...
pertama menyiapkan software nya terlebih dahulu XG5000 bisa di download di gogle.. dengan kata kunci download  Software XG500 Free .., heheh
 instal deh.. saya yakin teman teman bisa menginstal nya.. tinggal next next aja kok.

pertama: klik icon XG5000 nya seperti icon di gambar bawah seperti dekstop saya :)



selanjutnya akan muncul tampilannya seperti berikut:
untuk menampilkan lembar kerja nya tinggal klik new project seperti lingkaran pada gambar di bawah:



muncul seperti gambar di bawah.. tulis deh nama project teman teman!!!!


jangan sampai lupa ya.. seperti gambar di bawah.. cocokkan PLC yang teman teman gunakan..
di sini  saya menggunakkan PLC XGB.. tu bisa di liat di gambar di bawah.


kemudian akan muncul deh lembar kerja nya seperti gambar di bawah..




ini di teman teman tool untuk membuat program PLC nya,,  ngak banyak kan,,  tinggal di klik>>> kemudian klik di lembar kerja..



ini adalah contoh program cerdas cermat sederhana yang saya buat... bisa teman teman ikuti langkahnya,, 



kemudian untuk mensimulasikannya tinggal di run,, klik start simulator pada toolbar di bawah:


setelah di start simulator bakal ada muncul perintah .. tinggal di klik OK OK dan Ok aja kok hehhehe
kemudian jangan lupa itu belum di simulator..  klik lagi di menu tool bar seperti gambar PLAY tuh terlihat jelas di gambar bawah.. klik deh RUN MODE nya,,,,,



kemudian klik di tombolnya pada lembar kerja.. ok ok kan aja perintanya jika muncul perintah.. itu tandanya benar.. 


Sory teman teman jika ada kurang.. kalo ada yang kurang jelas bisa komentar di bwah.. insyaallh pasti saya jawab.. atau nanti saya kirimkan program yang sudah jadi  lewat email saya... oke.. thanks teman.. terima kasih telah membaca dengan tersenyum....:)

Wednesday, January 8, 2014

INVERTER PADA PLC

hemmm lama juga ngak posting lagi ne.. hay sobat.. selamat datang kembali.. kali ini saya ingin sedikit berbagi tentang ilmu INVERTER...

Inverter adalah suatu alat yang dapat mengontrol motor 1 phasa dan 3 phasa, di mana  dapat mengontrol seperti berikut:
1. kecepatan acc(accelerasi) adalah suatu kecepatan awal mula starting motor.
    contohnya: kita ingin mengontrol motor 3 phasa namun kita butuh kecepatan starnya tidak secara langsung     60khz.. bisa di setting di menu kontrol acc = 10 second, jadi selama 10 second motor baru berputar             60khz.

2. kecepatan dec(decelerasi) adalah suatu kecepatan saat motor off.
    contohny: pada saat motor off kita menginginkan motor tidak langsung off, kita bisa menyeting dec selama     10 second atau sesui keinginan

mungkin teman-teman bisa liat videonya disini SETTING INVERTER