Skip to main content

Driver H-Bridge

 

Driver H-Bridge

Rangkaian driver motor DC H-Bridge transistor ini dapat mengendalikan arah putaran motor DC dalam 2 arah dan dapat dikontrol dengan metode PWM (Pulse Width Modulation) maupun metode sinyal logika dasar TTL (High) dan (Low). Untuk pengendalian motor DC dengan metode PWM maka dengan rangkaian driver motor DC ini kecepatan putaran motor DC dapat dikendalikan dengan baik. Apabila menggunakan metode logika TTL 0 dan 1 maka rangkaian ini hanya dapat mengendalikan arah putaran motor DC saja dengan kecepatan putaran motor DC maksimum.

Proses mengendalikan motor DC menggunakan rangkaian driver motor DC H-Bridge dapat diuraikan dalam beberapa bagian seperti yang ditunjukkan pada Gambar 2.5 berikut:


Rangkaian driver H-brigde

1.       Driver motor DC dengan metode logika TTL (0 dan 1) atau High dan Low

Rangkaian driver motor DC H-bridge diatas dapat diberikan input berupa logika TTL ke jalur input A dan B.

·            Untuk membuat stop motor DC pada input A dan B mempunyai logika yg sama ‘0’ (Low), maka kedua transistor (Q1 & Q2) tidak akan mendapat picuan pada basisnya sehingga transistor bersifat cut-off atau transistor bersifat seperti saklar yg terbuka. Dari rangkaian diatas terlihat pula bahwa kedua transistor (Q3 & Q4) bergantung pada Q1 dan Q2 dimana basis kedua Q3 dan Q4 terhubung pada kolektor Q1 dan Q2. Jadi, apabila tidak ada arus yg mengalir pada kolektor Q1 dan Q2 maka basis Q3 dan Q4 tidak akan terpicu akibatnya motor tidak akan berputar atau berhenti.

·            Untuk  mengendalikan  arah  putar  searah  jarum  jam   (clock wise) adalah saat input A diberi logika ‘0’ (low) dan input B diberi logika ‘1’ (high) maka Q2 akan saturasi sedangkan Q1 tetap cut-off. Karena Q2 bersifat saturasi atau seperti saklar yang tertutup maka



basis Q3 akan mendapat picuan sehingga Q3 juga bersifat saturasi. Akibatnya arus akan mengalir dgn urutan seperti berikut : Vs-Q3- motor-Q1-ground, sehingga motor akan berputar searah jarum jam seperti yang ditunjukkan pada Gambar 2.6.

Kondisi CW (Clock Wise)



Untuk mengendalikan arah putar berlawanan arah jarum jam (counter clockwise) adalah saat input A diberi logika ‘1’ (5V) dan input B diberi logika ‘0’ (0V) maka Q1 akan saturasi sedangkan Q2 cut-off. Akibatnya Q4 juga akan menjadi saturasi karena basis Q4 mendapat picuan dari Q1. Sehingga arus akan mengalir dengan urutan seperti berikut : Vs-Q4-motor-Q2-ground dan motor akan berputar berlawanan arah jarum jam seperti pada Gambar 2.7.

Kondisi CCW ( Counter Clock Wise)

·            Jika kedua input diberi logika ‘1’ secara bersamaan maka akan mengakibatkan semua transistor dalam kondisi saturasi. Secara logika motor tidak akan berputar karena tidak ada beda potensial pada ujung-ujung konektornya. Namun hal ini akan menyebabkan timbulnya panas yang berlebihan pada semua transistor sehingga dapat menyebabkan kerusakan. Oleh karena itu hal ini harus dihindari. Untuk memudahkan dalam pemahaman dapat dilihat pada Tabel 2.1.

2 Kondisi Motor dengan Metode TTL

 

No

Input

 

Q1

 

Q2

 

Q3

 

Q4

 

Kondisi Motor

A

B

1

0

0

Off

Off

Off

Off

Diam

2

1

0

Off

On

Off

On

CCW

3

0

1

On

Off

On

Off

CW

4

1

1

On

On

On

On

Diam (tidak direkomendasikan)

1.       Driver motor DC dengan metode PWM

Pada proses PWM dapat mengendalikan arah putaran motor DC dan kecepatan motor DC mengunakan pulsa PWM yang diberikan ke jalur input A dan B, dimana konfigurasi sinyal control sebagai berikut.

·           Untuk mengendalikan arah motor DC searah jarum jam (CW) dengan kecepatan dikendalikan pulsa PWM maka jalur input B selalu diberikan logika low dan jalur input A diberikan pulsa PWM.

·         Untuk mengendalikan arah putar motor DC berlawanan arah jarum jam (CCW) dengan kecepatan dikendalikan pulsa PWM maka jalur input A selalu diberikan logika low dan jalur input B diberikan pulsa PWM.

Kecepatan putaran motor DC dikendalikan oleh presentasi on-duty cycle pulsa PWM yang diberikan ke jalur input rangkaian driver motor DC H-Bridge transistor tersebut. (Purnama, 2012)







Comments

Popular posts from this blog

program bahasa c membantu kasir memisahkan kembalian

SOAL BAHASA C USING DEV++ Buatlah program untuk membantu kasir swalayan untuk memisahkan pecahan uang kembalian menjadi 50.000. 20.000, 10.000,5.000, 2.000, 500 dan   100 Dengan menginputkan jumlah kembalian!   #include <stdio.h> #include <stdlib.h> #include <conio.h> void main() {     int a,b,c,d,e,f,g;     int kembalian;     printf ("jumlah uang kembalian = ");     scanf ("%i",&kembalian);        a=kembalian / 50000;     b=(kembalian - (a * 50000)) / 20000;     c=(kembalian - ((a * 50000) + ( b * 20000))) / 10000;     d=(kembalian - ((a * 50000) + ( b * 20000) + (c * 10000))) / 5000;     e=(kembalian - ((a * 50000) + ( b * 20000) + (c * 10000) + ( d * 5000)))/1000;     f=(kembalian - ((a * 50000) + ( b * 20000) + (c * 10000) + ( d * 5000) + ( e*1000)))/500;     g=(kembalian - ((a * 50000) + ( b * 20000) + (c * 10000) + ( d * 5000) + ( e*1000) + ( f*500)))/100;        printf ("\n %i %s",a,"le

Program Bahasa C mencari bilangan terbesar dan terkecil dari 5 data.

SOAL BAHASA C using DEV++ Buatlah program mencari bilangan terbesar dan terkecil dan menjumlahkan dan merata rata, 5 nilai yang di inputkan dengan range 0-100 !!     #include <stdio.h> #include <stdlib.h> void main() {     int a,b,c,d,e,max,min,jumlah;     float rata2;        printf("masukan nilai ujian ke-1 ="); scanf("%i",&a);     printf("masukan nilai ujian ke-2 ="); scanf("%i",&b);     printf("masukan nilai ujian ke-3 ="); scanf("%i",&c);     printf("masukan nilai ujian ke-4 ="); scanf("%i",&d);     printf("masukan nilai ujian ke-5 ="); scanf("%i",&e);     if ( a>b && a>c && a>d && a>e)     {         max=a;     }     if ( b>a && b>c && b>d && b>e)     {         max=b;     }     if ( c>a && c>b && c>d && c>e)   

menginputkan, menghitung dan mencetak perkalian matrik 3 X 3 menggunakan bahasa c

SOAL BAHASA C USING DEV++ Buatlah program untuk menginputkan, menghitung dan mencetak perkalian matrik 3 X 3 ! #include <stdio.h> #include <stdlib.h> void main () {     int A[3][4], B[3][3],X[3][3],i,j;         /*********** MASUKAN MATRIK A ***********/     for (i=0;i<3;i++)     {         for (j=0;j<3;j++)         {             printf ("input data matrik A[%i][%i]:",i+1,j+1);             fflush(stdin);             scanf("%i",&A[i][j]);         }     }             /*********** MASUKAN MATRIK B ***********/     for (i=0;i<3;i++)     {         for (j=0;j<3;j++)         {             printf ("input data matrik B[%i][%i]:",i+1,j+1);             fflush(stdin);             scanf("%i",&B[i][j]);         }     }         /*********** PROSES PERKALIAN MATRIK A dan B ***********/     for (i=0;i<3;i++)     {         for (j=0;j<3;j++)         {             X[i][j]=((A[0][