POLITEKNIK KODIKLATAD

JURUSAN TEKNIK KOMUNIKASI




DISUSUN OLEH :
Sertu Ilham Nur Maliki (20190424-E)



TEKNIK KOMUNIKASI D4 ANGKATAN IV

BATU,  JUNI 2021




TUGAS 2
MEMBUAT KONTROL DENGAN TOMBOL DTMF HT 




1. TUJUAN : Agar bamasis mampu mempraktekkan DTMF sebagai kontrol

2. ALAT DAN BAHAN :

a. Laptop

b. Delphi/Embarcardero

c. DTMF decoder

d. HT

e. Motor Stepper

3. TEORI :

            a.         Jelaskan tentang Motor Stepper

        Seperti namanya, motor Stepper adalah jenis motor yang putarannya berdasarkan langkah (step) diskrit. Input pada motor stepper berasal dari pulsa-pulsa digital, berdeda dengan motor DC konvensional yang bekerja berdasarkan komutasi pada komponen brush (sikat) nya. komponen brush (sikat) nya


Step yang mengendalikan motor berasal dari konstruksi kumparan yang disusun menjadi beberapa kelompok yang disebut fase. Motor dapat berputar apabila diberikan energi pada fase secara berurutan. Motor Stepper mengubah sinyal-sinyal listrik menjadi gerakan mekanis diskrit. Motor Stepper bergerak dalam langkah (step) secara teratur. Anda dapat mengendalikan langkah pada motor mengunakan mikrokontroller maupun rangkaian digital. Torsi dari motor Stepper tidak sebesar motor DC. Namun, motor jenis ini memiliki tingkat presisi yang tinggi dalam putarannya. Kecepatan gerak pada stepper dinyatakan dalam step per second atau jumlah step per detik.

        b.     Jelaskan tentang Jenis-jenis Motor Stepper

        Motor stepper memiliki beberapa gategori. Berdasarkan struktur rotor dan statornya, motor stepper terdiri atas 3 jenis umum yaitu :

        1.     Variable Reluctance (VR)

        Stepper jenis ini merupakan jenis yang paling sederhana. Motor Stepper VR terdiri dari motor besi lunak dengan beberapa gerigi dan dikelilingi oleh belitan stator. Stator sendiri terdiri dari beberapa belitan yang terhubung langsung dengan inputnya. Belitan inilah yang menentukan sudut step pada motor. Rotasi pada motor terjadi ketika gerigi rotor ditarik ke kutub stator akibat dari pulsa digital yang diberikan. Pulsa digital membawa daya listrik sehingga menimbulkan medan elektromagnetik pada kumparan stator.

Stepper VR (sumber : motioncontroltips.com)

Magnet pada Stepper tipe VR lebih kecil dan ringan daripada jenis permanen magnet, sehingga dapat bergerak lebig cepat. Semakinkecil gap antara rotor dan gigi stator dari stepper VR, maka semakin kecil pula gaya magnetnya.

        2. Permanen Magnet (PM)

        Stepper ini menggunakan magnet permanen pada rotornya dan bekerja pada atrikan atau tolakan antara rotor dan stator electromagnet. Tidak seperti tipe Variable Reluctance, tipe Permanen Magnet tidak memiliki gerigi pada rotornya. Sebagai gantinya, Stepper PM menggunakan magnet dengan alternating north dan kutub selatan dengan garis lurus yang sejajar dengan poros rotor. Kutub magnet pada rotor ini menghasilkan peningkatan intensitas fluks sehingga torsinya lebih tinggi dibandingkan stepper tipe VR.

Stepper PM (Sumber : linearmotiontips.com)

        3. Stepper Hybrid

        Stepper Hybrid adalah gabungan dari dua jenis stepper diatas. Penggabungan jenis Variable Reluctance dan Permanen magnet bertujuan untuk memberikan daya maksimum dalam kemasan yang kecil. Karena konstruksi yang digabungkan maka harga dari stepper Hybrid lebih malah dari dua jenis yang lain. Namun, Stepper ini memiliki kombinasi sifat terbaik dari keduanya.Jenis Hybrid memberikan kinerja yang lebih baik dalam hal tingkat resolusi, torsi dan kecepatan. Rotor dari Stepper ini memiliki multi-gerigi seperti tipe VR dan berisi magnet konsentrik aksial disekitar porosya.

Stepper Hybrid (sumber : motioncontroltips.com)

Stepper ini dapat menghasilkan sudut step yang tinggi, antara 3.6° hingga 0.9° per step. Artinya, diperlukan 100 hingga 400 langkah untuk setiap putaran penuh pada motor.

Berdasarkan sitem lilitan pada statornya, stepper dibagi menjadi dua jenis utama yaitu :

            1.     Stepper Unipolar

        Stepper jenis ini terdiri dari dua lilitan yang memiliki cabang tengah atau center tap. Cabang tengah dari masing-masing lilitan terdapat bersatu ataupun terpisah, tergantung dari datasheet motor. Biasanya yang dijumpai adalah stepper unipolar dengan cabang tengah yang disatukan sehingga terdapat 5 input. Cabang tengah pada stepper ini dapat dihubungkan dengan ground atau ke VCC, tergantung dari spesifikasi pada datasheet motor dan driver yang digunakan .

            2.     Stepper Bipolar

            Stepper bipolar tidak memiliki cabang tengah (center tap). Jenis ini memiliki kelebihan yakni torsi yang lebih besar apabila dibandingkan dengan unipolar dengan ukuran yang sama. Motor stepper bipolar hanya memiliki empat buah input. Namun demikian untuk mengontrol motor jenis ini lebih rumit dibandingkan motor jenis bipolar. Untuk mengontrol stepper bipolar,diperlukan sinyal digital yang berubah-ubah dari positif ke negative dan sebaliknya pada setiap lilitannya. Hal ini bertujuan untuk menghasilkan fluktuasi magnetik yang berubah ubah sehingga rotor dapat berputar sesuai sudut stepnya.




4. LANGKAH PERCOBAAN :

1) buat desain menggunakan Delphi 7 / Embarcardero

Gambar 1. Gambar saat di tekan Run.

Gambar 2. saat di tekan tombol keyboard 1.

Gambar 3. saat di tekan tombol keyboard 2.

Gambar 4. saat di tekan tombol keyboard 3.

Gambar 5. saat di tekan tombol keyboard 4.

Gambar 6. saat di tekan tombol keyboard 0.

Gambar 7. Script yang digunakan program.

2) masukkan coding dengan sebagai berikut :

unit praktek1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.pngimage, Vcl.ExtCtrls, MMSystem,
  Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Timer1: TTimer;
    Timer2: TTimer;
    Image5: TImage;
    Timer3: TTimer;
    Timer4: TTimer;
    Edit1: TEdit;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image9: TImage;
    procedure Image1Click(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure Image3Click(Sender: TObject);
    procedure Image4Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Image6Click(Sender: TObject);
    procedure Image7Click(Sender: TObject);
    procedure Image8Click(Sender: TObject);
    procedure Image9Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image5.Top:=Image5.Top -50;
if Image5.Top <1005 then
begin
Timer1.Enabled :=False;
Timer2.Enabled :=False;
end;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
Image5.Top:=Image5.Top +50;
if Image5.Top <1005 then
begin
Timer1.Enabled :=False;
Timer2.Enabled :=False;
end;
end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
Image5.Left:=Image5.Left +50;
if Image5.Left <1005 then
begin
Timer3.Enabled :=False;
Timer4.Enabled :=False;
end;
end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin
Image5.Left:=Image5.Left -50;
if Image5.Left <1005 then
begin
Timer3.Enabled :=False;
Timer4.Enabled :=False;
end;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key = vk_up then timer1.Enabled:=True;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
if Edit1.Text='0' then
begin
  sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-0.wav',
    SND_NODEFAULT Or SND_ASYNC );
timer1.Enabled:=false;
        Edit1.Text:='';
        Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
        end
else if Edit1.Text='1' then
begin
  sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-1.wav',
    SND_NODEFAULT Or SND_ASYNC );
timer1.Enabled:=True;
        Edit1.Text:='';
        Image6.Visible:=true;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=true;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
        end
       else if Edit1.Text='2' then
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-2.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer3.Enabled:=True;
        Edit1.Text:='';
            Image6.Visible:=false;
Image7.Visible:=true;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=true;
Label3.Visible:=false;
Label4.Visible:=false;
        end
else if Edit1.Text='3' then
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-3.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer2.Enabled:=true;
            Edit1.Text:='';
                Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=true;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=true;
Label4.Visible:=false;
            end
else if Edit1.Text='4' then
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-4.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer4.Enabled:=true;
            Edit1.Text:='';
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=True;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=true;
end;
end;



procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key = vk_down then timer2.Enabled:=true;
end;



procedure TForm1.Image1Click(Sender: TObject);
begin
    sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-1.wav',
    SND_NODEFAULT Or SND_ASYNC );
    Image6.Visible:=true;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=true;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
    sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-2.wav',
    SND_NODEFAULT Or SND_ASYNC );
    Image6.Visible:=false;
Image7.Visible:=true;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=true;
Label3.Visible:=false;
Label4.Visible:=false;
end;

procedure TForm1.Image3Click(Sender: TObject);
begin
    sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-3.wav',
    SND_NODEFAULT Or SND_ASYNC );
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=true;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=true;
Label4.Visible:=false;
end;

procedure TForm1.Image4Click(Sender: TObject);
begin
    sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-4.wav',
    SND_NODEFAULT Or SND_ASYNC );
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=True;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=true;
end;



procedure TForm1.Image6Click(Sender: TObject);
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-1.wav',
    SND_NODEFAULT Or SND_ASYNC );
timer1.Enabled:=True;
Image6.Visible:=true;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=true;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
end;

procedure TForm1.Image7Click(Sender: TObject);
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-2.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer3.Enabled:=True;
    Image6.Visible:=false;
Image7.Visible:=true;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=true;
Label3.Visible:=false;
Label4.Visible:=false;
end;

procedure TForm1.Image8Click(Sender: TObject);
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-3.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer2.Enabled:=True;
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=true;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=true;
Label4.Visible:=false;
end;

procedure TForm1.Image9Click(Sender: TObject);
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-4.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer4.Enabled:=true;
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=True;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=true;
end;

end.


5. ANALISA :

A.    Pada pembuatan program didesain agar tombol berubah warna ketika diberi data angka pada input text sehingga berbeda dari warna semula dan kembali pada warna awal apabila di tekan tombol untuk reset. pada percobaan yang pertama ini dilaksanakan percobaan mengguakan menggunakan tombol keyboard 1,2,3,4,5, dan 0.

B.    Penulisan coding pada Delphi/Embarcardero harus teliti supaya tidak ada kesalahan penulisan script agar program dapat berjalan dan tidak terjadi error yang dapat mengakibatkan program tidak bisa dijalankan.

C.    Dalam percobaan pertama ini kita menggunakan input text untuk memasukkan angka yang selanjutnya akan menghasilkan nada DTMF.

D.         Saat percobaan telah bisa di gunakan kita sambungkan dengan rangkain yang telah di buat dengan menggunakan motor stepper, rangkaian motor stepper tersebut di hubungkan dengan rangkaian relay yang terdapat pada rangkaian DTMF decoder.


6. KESIMPULAN DAN SARAN

            1.    Program yang dibuat ini bertujuan untuk mengendalikan alat menggunakan nada suara yang dihasilkan oleh DTMF bisa untuk kendali jarak jauh menggunakan HT misal digunakan untuk detonator bom.
            2.    Program DTMF decoder juga dapat digunakan untuk sensor pendeteksi ketinggian air di bendungan sehingga dapat sebagai sistem peringatan jarak jauh.