Rabu, 27 September 2017

TIME




1. Tujuan [kembali]
        


2. Alat dan Bahan [kembali]


A.LCD






4.Program [Kembali]

#include "Includes.h"

// Global RTC Array and temp variable
unsigned char pRTCArray[4];
unsigned char Temp;


// Function Purpose: Write_Byte_To_DS1307_RTC writes a single byte on given address
// Address can have any value fromm 0 to 0xFF, and DataByte can have a value of 0 to 0xFF.
void Write_Byte_To_DS1307_RTC(unsigned char Address, unsigned char DataByte)
{
I2C_Start(); // Start i2c communication

// Send i2c address of DS1307 with write command
while(I2C_Write_Byte(Device_Address_DS1307_EEPROM + 0) == 1)// Wait until device is free
{ I2C_Start(); }

I2C_Write_Byte(Address); // Write Address byte
I2C_Write_Byte(DataByte); // Write data byte
I2C_Stop(); // Stop i2c communication
}



// Function Purpose: Read_Byte_From_DS1307_RTC reads a single byte from given address
// Address can have any value fromm 0 to 0xFF.
unsigned char Read_Byte_From_DS1307_RTC(unsigned char Address)
{
unsigned char Byte = 0; // Variable to store Received byte

I2C_Start(); // Start i2c communication

// Send i2c address of DS1307 with write command
while(I2C_Write_Byte(Device_Address_DS1307_EEPROM + 0) == 1)// Wait until device is free
{ I2C_Start(); }

I2C_Write_Byte(Address); // Write Address byte
I2C_ReStart(); // Restart i2c

// Send i2c address of DS1307 RTC with read command
I2C_Write_Byte(Device_Address_DS1307_EEPROM + 1);

Byte = I2C_Read_Byte(); // Read byte from EEPROM

// Make SCK low, so that slave can stop driving SDA pin
// Send a NACK to indiacate single byte read is complete
I2C_Send_NACK();

// Send start bit and then stop bit to stop transmission
Set_SDA_Low; // Make SDA Low
__delay_us(HalfBitDelay); // Half bit delay
Set_SDA_High; // Make SDA high
__delay_us(HalfBitDelay); // Half bit delay

return Byte; // Return the byte received from 24LC64 EEPROM
}



// Function Purpose: Write_Bytes_To_DS1307_RTC writes mulitple bytes from given starting address.
// Address can have any value fromm 0 to 0xFF and pData is pointer to the array
// containing NoOfBytes bytes in it. NoOfBytes is the number of bytes to write.
void Write_Bytes_To_DS1307_RTC(unsigned char Address,unsigned char* pData,unsigned char NoOfBytes)
{
unsigned int i;

I2C_Start(); // Start i2c communication

// Send i2c address of DS1307 with write command
while(I2C_Write_Byte(Device_Address_DS1307_EEPROM + 0) == 1)// Wait until device is free
{ I2C_Start(); }

I2C_Write_Byte(Address); // Write Address byte

for(i=0;i<NoOfBytes;i++) // Write NoOfBytes
I2C_Write_Byte(pData[i]); // Write data byte

I2C_Stop(); // Stop i2c communication
}




// Function Purpose: Read_Bytes_From_DS1307_RTC reads a NoOfBytes bytes from given starting address.
// Address can have any value fromm 0 to 0xFF. NoOfBytes is the number of bytes to write.
// Read bytes are returned in pData array.
void Read_Bytes_From_DS1307_RTC(unsigned char Address, unsigned char* pData, unsigned int NoOfBytes)
{
unsigned int i;

I2C_Start(); // Start i2c communication

// Send i2c address of DS1307 with write command
while(I2C_Write_Byte(Device_Address_DS1307_EEPROM + 0) == 1)// Wait until device is free
{ I2C_Start(); }

I2C_Write_Byte(Address); // Write Address byte
I2C_ReStart(); // Restart i2c

// Send i2c address of DS1307 RTC with read command
I2C_Write_Byte(Device_Address_DS1307_EEPROM + 1);

pData[0] = I2C_Read_Byte(); // Read First byte from EEPROM

for(i=1;i<NoOfBytes;i++) // Read NoOfBytes
{
I2C_Send_ACK(); // Give Ack to slave to start receiving next byte
pData[i] = I2C_Read_Byte(); // Read next byte from EEPROM
}

// Make SCK low, so that slave can stop driving SDA pin
// Send a NACK to indiacate read operation is complete
I2C_Send_NACK();

// Send start bit and then stop bit to stop transmission
Set_SDA_Low; // Make SDA Low
__delay_us(HalfBitDelay); // Half bit delay
Set_SDA_High; // Make SDA high
__delay_us(HalfBitDelay); // Half bit delay
}




// Function Purpose: Set_DS1307_RTC_Time sets given time in RTC registers.
// Mode can have a value AM_Time or PM_Time or TwentyFourHoursMode only.
// Hours can have value from 0 to 23 only.
// Mins can have value from 0 to 59 only.
// Secs can have value from 0 to 59 only.
void Set_DS1307_RTC_Time(unsigned char Mode, unsigned char Hours, unsigned char Mins, unsigned char Secs)
{
// Convert Hours, Mins, Secs into BCD
pRTCArray[0] = (((unsigned char)(Secs/10))<<4)|((unsigned char)(Secs%10));
pRTCArray[1] = (((unsigned char)(Mins/10))<<4)|((unsigned char)(Mins%10));
pRTCArray[2] = (((unsigned char)(Hours/10))<<4)|((unsigned char)(Hours%10));

switch(Mode) // Set mode bits
{
case AM_Time: pRTCArray[2] |= 0x40; break;
case PM_Time: pRTCArray[2] |= 0x60; break;

default: break; // do nothing for 24HoursMode
}

// WritepRTCArray to DS1307
Write_Bytes_To_DS1307_RTC(0x00, pRTCArray, 3);
}





// Function Purpose: Get_DS1307_RTC_Time returns current time from RTC registers.
// Pointer to pRTCArray is returned, in this array
// pRTCArray[3] can have a value AM_Time or PM_Time or TwentyFourHoursMode only.
// pRTCArray[2] (Hours byte) can have value from 0 to 23 only.
// pRTCArray[1] (Mins byte) can have value from 0 to 59 only.
// pRTCArray[0] (Secs byte) can have value from 0 to 59 only.
unsigned char* Get_DS1307_RTC_Time(void)
{
// Read Hours, Mins, Secs register from RTC
Read_Bytes_From_DS1307_RTC(0x00, pRTCArray, 3);

// Convert Secs back from BCD into number
Temp = pRTCArray[0];
pRTCArray[0] = ((Temp&0x7F)>>4)*10 + (Temp&0x0F);

// Convert Mins back from BCD into number
Temp = pRTCArray[1];
pRTCArray[1] = (Temp>>4)*10 + (Temp&0x0F);

// Convert Hours back from BCD into number
if(pRTCArray[2]&0x40) // if 12 hours mode
{
if(pRTCArray[2]&0x20) // if PM Time
pRTCArray[3] = PM_Time;
else // if AM time
pRTCArray[3] = AM_Time;

Temp = pRTCArray[2];
pRTCArray[2] = ((Temp&0x1F)>>4)*10 + (Temp&0x0F);
}
else // if 24 hours mode
{
Temp = pRTCArray[2];
pRTCArray[2] = (Temp>>4)*10 + (Temp&0x0F);
pRTCArray[3] = TwentyFourHoursMode;
}

return pRTCArray;
}





// Function Purpose: Set_DS1307_RTC_Date sets given date in RTC registers.
// Year can have a value from 0 to 99 only.
// Month can have value from 1 to 12 only.
// Date can have value from 1 to 31 only.
// Day can have value from 1 to 7 only. Where 1 means Monday, 2 means Tuesday etc.
void Set_DS1307_RTC_Date(unsigned char Date, unsigned char Month, unsigned char Year, unsigned char Day)
{
// Convert Year, Month, Date, Day into BCD
pRTCArray[0] = (((unsigned char)(Day/10))<<4)|((unsigned char)(Day%10));
pRTCArray[1] = (((unsigned char)(Date/10))<<4)|((unsigned char)(Date%10));
pRTCArray[2] = (((unsigned char)(Month/10))<<4)|((unsigned char)(Month%10));
pRTCArray[3] = (((unsigned char)(Year/10))<<4)|((unsigned char)(Year%10));

// WritepRTCArray to DS1307
Write_Bytes_To_DS1307_RTC(0x03, pRTCArray, 4);
}




// Function Purpose: Get_DS1307_RTC_Date returns current date from RTC registers.
// Pointer to pRTCArray is returned, in this array
// pRTCArray[3] (Year byte) can have value from 0 to 99 only.
// pRTCArray[2] (Month byte) can have value from 1 to 12 only.
// pRTCArray[1] (Date byte) can have value from 1 to 31 only.
// pRTCArray[0] (Day byte) can have value from 1 to 7 only.
unsigned char* Get_DS1307_RTC_Date(void)
{
// Read Hours, Mins, Secs register from RTC
Read_Bytes_From_DS1307_RTC(0x03, pRTCArray, 4);

// Convert Date back from BCD into number
Temp = pRTCArray[1];
pRTCArray[1] = (Temp>>4)*10 + (Temp&0x0F);

// Convert Month back from BCD into number
Temp = pRTCArray[2];
pRTCArray[2] = (Temp>>4)*10 + (Temp&0x0F);

// Convert Year back from BCD into number
Temp = pRTCArray[3];
pRTCArray[3] = (Temp>>4)*10 + (Temp&0x0F);

return pRTCArray;

}


5.Flow chart [Kembali]




6.Rangkayan Simulasi [Kembali]




7.Video simulasi [Kembali]








8.Link download [Kembali]

projek donload disini



Jumat, 15 September 2017

LCD




1. Tujuan [kembali]
        


2. Alat dan Bahan [kembali]

A.LCD


4.Program [Kembali]



#include "Includes.h"

/* Pin configuration
 *
 * RA0 = Enable pin for LCD
 * RA1 = RS pin for LCD
 * RB4 to RB7 = Data port for LCD
 */

// Config word
__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON & CP_OFF);

// Define CPU Frequency
// This must be defined, if __delay_ms() or
// __delay_us() functions are used in the code
#define _XTAL_FREQ   20000000


// Main function
void main()
{
InitLCD(); // Initialize LCD in 8bit mode

WriteDataToLCD('H'); // Write H on LCD screen
WriteDataToLCD('e'); // Write e on LCD screen
WriteDataToLCD('l'); // Write l on LCD screen
WriteDataToLCD('l'); // Write l on LCD screen
WriteDataToLCD('o'); // Write o on LCD screen

while(1)
{
}
}


5.Flow chart [Kembali]




6.Rangkayan Simulasi [Kembali]

7.Video simulasi [Kembali]



8.Link download [Kembali]




GERBANG KASIR DENGAN SENSOR LDR DAM MOTOR STEPPER




1. Tujuan [kembali]
        


2. Alat dan Bahan [kembali]

A.OP APM
Operasional amplifier (Op-Amp) adalah suatu penguat berpenguatan tinggi yang terintegrasi  dalam sebuah chip IC yang memiliki dua input inverting dan non-inverting dengan sebuah terminal output, dimana rangkaian umpan balik dapat ditambahkan untuk mengendalikan karakteristik tanggapan keseluruhan pada operasional amplifier (Op-Amp). Pada dasarnya operasional amplifier (Op-Amp) merupakan suatu penguat diferensial yang memiliki 2 input dan 1 output.
Op-amp ini digunakan untuk membentuk fungsi-fungsi linier yang bermacam-mcam atau dapat juga digunakan untuk operasi-operasi tak linier, dan seringkali disebut sebagai rangkaian terpadu linier dasar. Penguat operasional (Op-Amp) merupakan komponen elektronika analog yang berfungsi sebagai amplifier multiguna dalam bentuk IC dan memiliki simbol sebagai berikut :

Simbol Operasional Amplifier (Op-Amp)


Prinsip kerja sebuah operasional Amplifier (Op-Amp) adalah membandingkan nilai kedua input (input inverting dan input non-inverting), apabila kedua input bernilai sama maka output Op-amp tidak ada (nol) dan apabila terdapat perbedaan nilai input keduanya maka output Op-amp akan memberikan tegangan output. Operasional amplifier (Op-Amp) dibuat dari penguat diferensial dengan 2 input. Sebagai penguat operasional  ideal , operasional amplifier (Op-Amp) memiliki karakteristik sebagai berikut :
  • Impedansi Input (Zi) besar = ∞
  • Impedansi Output (Z0) kecil= 0
  • Penguatan Tegangan (Av) tinggi = ∞
  • Band Width respon frekuensi lebar = ∞
  • V0 = 0 apabila V1 = V2 dan tidak tergantung pada besarnya V1.
  • Karakteristik operasional amplifier (Op-Amp) tidak tergantung temperatur / suhu.
Rangkaian dasar operasional amplifier (Op-Amp) dibuat dari bipolar transistor (BJT) seperti terlihat pada gambar berikut.

Rangkaian Dasar Operasional Amplifier (Op-Amp) Penguat Diferensial


Pada penguat diferensial diatas terdapat dua sinyal masukan (input) yaitu V1 dan V2. Dalam kondisi ideal, apabila kedua masukan identik (Vid = 0), maka keluaran Vod = 0. Hal ini disebabkan karena IB1 = IB2 sehingga IC1 = IC2 dan IE1 = IE2. Karena itu tegangan keluaran (VC1 dan VC2) harganya sama sehingga Vod = 0.
Apabila terdapat perbedaan antara sinyal V1 dan V2, maka Vid = V1 – V2. Hal ini akan menyebabkan terjadinya perbedaan antara IB1 dan IB2. Dengan begitu harga IC1 berbeda dengan IC2, sehingga harga Vod meningkat sesuai sesuai dengan besar penguatan Transistor.
Untuk memperbesar penguatan dapat digunakan dua tingkat penguat diferensial (cascade). Keluaran penguat diferensial dihubungkan dengan masukan penguat diferensial tingkatan berikutnya. Dengan begitu besar penguatan total (Ad) adalah hasil kali antara penguatan penguat diferensial pertama (Vd1) dan penguatan penguat diferensial kedua (Vd2).
Mode operasi dari sebuah operasional amplifier (Op-Amp) dapat diset dalam beberapa mode penguatan sebagai berikut.

Mode Loop Terbuka

Mode Loop Tertutup Op-Amp,op amp loob terbuka,rumus op amp open loop,penguatan op amp loop terbukaPada mode loop terbuka besarnya penguatan tegangan adalah tak berhingga (∞), sehingga besarnya tegangan output hampir dan bisa dikatakan mendekati Vcc. Expresi matematika pada penuat operasional mode loop terbuka adalah.
Av=\infty
Sehingga tegangan output ≈ Vcc.

Mode Loop Tertutup

Mode Loop Tertutup Op-Amp,op amp loop tertutup,penguatan op amp close loop,rumus op amp loop tertutup,penguatan tegangan op amp close loopPada mode loop tertutup besarnya penguatan tegangan (Av) adalah besar tetapi tidak mecapai nilai maksimalnya dan dapat dituliskan sebagai berikut.
Av<Max
.

Mode Penguatan Terkendali

Mode Penguatan Terkendali Op-Amp,penguatan terganga op amp,rumus penguatan mode terkendali op amp,Pada mode operasi penguatan terkendali besarnya penguatan dari operasional amplifier (Op-Amp) dapat ditentukan dari nilai resistansi feedback dan input. Sehingga nilai penguatan tegangan (Av) pada mode operasi ini dapat dituliskan sebgai berikut.
Av=-\frac{Rf}{Rin}
Sehingga besarnya tegangan output adalah :
Vout=-\left ( \frac{Rf}{Rin} \right )Vin

Mode Penguatan 1



Mode Penguatan 1 Op-Amp,op amp buffer,mode buffer op amp,rangkaian buffer op amp,rumus buffer op ampMode operasi penguatan 1 pada operasional amplifier (Op-Amp) sering disebut dengan istilah buffer (penyangga). Hal ini karena pada mode ini tidak terjadi penguatan tegangan (Av) bernilai 1. Konfigurasi ini berfungsi untuk memperkuat arus sinyal sehingga tidak drop pada saat diberikan beban terhadap sinyal input. Besarnya tegangan output (Vout) sama dengan tegangan input (Vin) karena penguatan tegangan (Av) operasional amplifier (Op-Amp)  bernilai 1.
B.LDR
1.      PENGERTIAN LDR
                        LDR (Light Dependent Resistor), ialah jenis resistor yang berubah hambatannya karena pengaruh cahaya. Bila cahaya gelap nilai tahanannya semakin besar, sedangkan cahayanya terang nilainya menjadi semakin kecil.
                        LDR (Light Dependent Resistor) adalah jenis resistor yang biasa digunakan sebagai detector cahaya atau pengukur besaran konversi cahaya. Light Dependent Resistor, terdiri dari sebuah cakram semikonduktor yang mempunyai dua buah elekrtroda pada permukaannya.
                        Resistansi LDR berubah seiring dengan perubahan intensitas cahaya yang mengenainya. Dalam keadaan gelap resistansi LDR sekitar 10 M  dan dalam keadaan terang sebesar 1 k  atau kurang. LDR terbuat dari bahan semikonduktor seperti cadmium sulfide. Dengan bahan ini energy dari cahaya yang jatuh menyebabkan lebih banyak muatan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan telah mengalami penurunan.
                        LDR digunakan untuk mengubah energy cahaya menjadi energy listrik. Saklar cahaya otomatis dan alarm pencuri adalah beberapa contoh alat yang menggunakan LDR. Akan tetapi karena responnya terhadap cahaya cukup lambat, LDR tidak digunakan pada situasi di mana intensitas cahaya berubah secara drastis. Sensor ini akan berubah nilai hambatannya apabila ada perubahan tingkat kecerahan cahaya.
2.      PRINSIP KERJA LDR
                        Pada saat gelap atau cahaya redup, bahan dari cakram tersebut menghasilkan elektron bebas dengan jumlah yang relative kecil. Sehingga hanya ada sedikit elektron untuk mengangkut muatan elektrit. Artinya pada saat cahaya redup, LDR menjadi konduktor yang buruk, atau bisa disebut juga LDR memiliki resistansi yang besar pada saat gelap atau cahaya redup.
                        Pada saat cahaya terang, ada lebih banyak elektron yang lepas dari atom bahan semikonduktor tersebut. Sehingga akan lebih banyak elektron untuk mengangkut muatan elektrit. Artinya pada saat cahaya terang, LDR menjadi konduktor yang baik, atau bisa disebut juga LDR memiliki resistansi kecil pada saat cahaya terang. Penerapan laindari sensor LDR ini ialah alarm Pencuri.
                        Misalnya untuk rangkaian system alarm cahaya (menggunakan LDR) yang aktif ketika terdapat cahaya. Ketika kita akan mengatur kepekaan LDR (Light Dependent Resistor) dalam suatu rangkaian maka kita perlu menggunakan potensiometer. Kita atur letaknya agar ketika mendapat cahaya maka buzzer atau bell akan berbunyi dan ketika tidak mendapat cahaya maka buzzer atau bell tidak akan berbunyi.


4.Program [Kembali]



         void main(void)                      //Fungsi utama program
{                                              //Pembuka program utama
  PORTB=0x5;                      //Deklarasi PORT B dengan kondisi awal
  TRISB=0x00;                       //Deklarasi PORT B secara keseluruhan sebagai OUTPUT
  PORTA=0x00;                      //Deklarasi PORT A dengan kondisi awal LOW
  TRISA=0xff;                       //Deklarasi PORT A sebagai  INPUT

  while(1)                                 //Fungsi perulangan
  {
    if(PORTA.RA0 == 0)           //Jika kondisi terpenuhi, maka akan menjalankan statement if
    {
      PORTB=0x3;                 //Memberikan nilai pada PORT B

    }
    if (PORTA.RA1 == 1)           //Jika kondisi terpenuhi, maka akan menjalankan statement if
    {
    delay_ms(100);
      PORTB=0x5;                    //Jika kondisi terpenuhi, maka akan menjalankan statement if

    }



  }

}

5.Flow chart [Kembali]





6.Rangkayan Simulasi [Kembali]



7.Video simulasi [Kembali]


8.Link download [Kembali]




LINE FOLOWER DENGAN MOTOR DC




1. Tujuan [kembali]
        


2. Alat dan Bahan [kembali]

A.Dioda
a.Dioda silikon
 Menghantar dengan tegangan maju kira-kira 0.6 Volt
1.     Perlawanan maju cukup kecil
2.     Perlawanan terbalik sangat tinggi, dapat mencapai beberapa Mega ohm
3.     Arus maju maksimum yang dibolehkan cukup besar, sampai 1000 A
4.     Tegangan terbalik maksimum yang dibolehkan cukup tinggi, dapat mencapai 1000 V

 
b. Dioda Germanium
1.     Menghantar dengan teganagnmaju kira-kira 0,2 Volt
2.     Perlawanan maju agak besar
3.     Perlawanan terbalik kurang tinggi ( kurang dari 1 M ohm)
4.     Arus maju maksimum yang dibolehkan kurang besar
5.     Tegangan terbalik masimum yang dibolehkan kurang tinggi
2.Fungsi dioda
Fungsi dioda dalam komponen elektronika adalah sebagai, Untuk penyerah arus, Sebagai catu daya, Sebagai penyaring atau pendeteksi dan Untuk stabilisator tegangan.

3. Prinsip kerja
Kata dioda berasal dari pendekatan kata  yaitu dua elektroda yang mana (di berarti dua) mempunyai dua buah elektroda yaitu anoda dan katoda. Anoda digunakan untuk polaritas positif dan katoda untuk polaritas negatip. Didalam dioda terdapat junction (pertemuan) dimana daerah semikonduktor type-p dan semi konduktor type-n  bertemu.


Dioda semikonduktor hanya dapat melewatkan arus pada satu arah saja, yaitu pada sat dioda memperoleh catu arah maju (forward bias). Pada kondisi ini dioda dikatakan bahwa dioda dalam keadaan konduksi atau menghantar  dan mempunyai tahanan dalam dioda relative kecil. Sedangkan bila dioda diberi catu arah terbalik (Reverse bias) maka dioda tidak bekerja dan pada kjondisi ini dioda mempunyai tahanan dalam yang tinggi sehingga arus sulit mengalir


Pengertian Motor DC dan Prinsip Kerjanya – Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetik atau gerakan (motion). Motor DC ini juga dapat disebut sebagai Motor Arus Searah. Seperti namanya, DC Motor memiliki dua terminal dan memerlukan tegangan arus searah atau DC (Direct Current) untuk dapat menggerakannya. Motor Listrik DC ini biasanya digunakan pada perangkat-perangkat Elektronik dan listrik yang menggunakan sumber listrik DC seperti Vibrator Ponsel, Kipas DC dan Bor Listrik DC.
Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat berputar searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik yang diberikan pada Motor DC tersebut dibalikan. Motor Listrik DC tersedia dalam berbagai ukuran rpm dan bentuk. Kebanyakan Motor Listrik DC memberikan kecepatan rotasi  sekitar 3000 rpm hingga 8000 rpm dengan tegangan operasional dari 1,5V hingga 24V. Apabile tegangan yang diberikan ke Motor Listrik DC lebih rendah dari tegangan operasionalnya maka akan dapat memperlambat rotasi motor DC tersebut sedangkan tegangan yang lebih tinggi dari tegangan operasional akan membuat rotasi motor DC menjadi lebih cepat. Namun ketika tegangan yang diberikan ke Motor DC tersebut turun menjadi dibawah 50% dari tegangan operasional yang ditentukan maka Motor DC tersebut tidak dapat berputar atau terhenti. Sebaliknya, jika tegangan yang diberikan ke Motor DC tersebut lebih tinggi sekitar 30% dari tegangan operasional yang ditentukan, maka motor DC tersebut akan menjadi sangat panas dan akhirnya akan menjadi rusak.
Pada saat Motor listrik DC berputar tanpa beban, hanya sedikit arus listrik atau daya yang digunakannya, namun pada saat diberikan beban, jumlah arus yang digunakan akan meningkat hingga ratusan persen bahkan hingga 1000% atau lebih (tergantung jenis beban yang diberikan). Oleh karena itu, produsen Motor DC biasanya akan mencantumkan Stall Current pada Motor DC. Stall Current adalah arus pada saat poros motor berhenti karena mengalami beban maksimal.

Bentuk dan Simbol Motor DC

Pengertian Motor DC dan Prinsip Kerjanya

Prinsip Kerja Motor DC

Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan Rotor. Stator adalah bagian motor yang tidak berputar, bagian yang statis ini terdiri dari rangka dan kumparan medan. Sedangkan Rotor adalah bagian yang berputar, bagian Rotor ini terdiri dari kumparan Jangkar. Dua bagian utama ini dapat dibagi lagi menjadi beberapa komponen penting yaitu diantaranya adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding (kumparan medan magnet), Armature Winding (Kumparan Jangkar), Commutator (Komutator) dan Brushes (kuas/sikat arang).

Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk bergerak, ketika arus listrik diberikan ke kumparan, permukaan kumparan yang bersifat utara akan bergerak menghadap ke magnet yang berkutub selatan dan kumparan yang bersifat selatan akan bergerak menghadap ke utara magnet. Saat ini, karena kutub utara kumparan bertemu dengan kutub selatan magnet ataupun kutub selatan kumparan bertemu dengan kutub utara magnet maka akan terjadi saling tarik menarik yang menyebabkan pergerakan kumparan berhenti.Prinsip Kerja Motor DCUntuk menggerakannya lagi, tepat pada saat kutub kumparan berhadapan dengan kutub magnet, arah arus pada kumparan dibalik. Dengan demikian, kutub utara kumparan akan berubah menjadi kutub selatan dan kutub selatannya akan berubah menjadi kutub utara. Pada saat perubahan kutub tersebut terjadi, kutub selatan kumparan akan berhadap dengan kutub selatan magnet dan kutub utara kumparan akan berhadapan dengan kutub utara magnet. Karena kutubnya sama, maka akan terjadi tolak menolak sehingga kumparan bergerak memutar hingga utara kumparan berhadapan dengan selatan magnet dan selatan kumparan berhadapan dengan utara magnet. Pada saat ini, arus yang mengalir ke kumparan dibalik lagi dan kumparan akan berputar lagi karena adanya perubahan kutub. Siklus ini akan berulang-ulang hingga arus listrik pada kumparan diputuskan.

4.Program [Kembali]


         void main(void)                      //Fungsi utama program
{                                              //Pembuka program utama
  PORTB=0x00;                      //Deklarasi PORT B dengan kondisi awal LOW
  TRISB=0x00;                       //Deklarasi PORT B secara keseluruhan sebagai OUTPUT
  PORTA=0x00;                      //Deklarasi PORT A dengan kondisi awal LOW
  TRISA=0xff;                       //Deklarasi PORT A sebagai OUTPUT dan INPUT

  while(1)                                 //Fungsi perulangan
  {
    if(PORTA.RA0==1)           //Jika kondisi terpenuhi, maka akan menjalankan statement if
    {
      PORTB=0x01;                 //Memberikan nilai pada PORT B
      delay_ms(10);
    }
    else if (PORTA.RA0 == 0) {
      PORTB=0x00;
    }
    if(PORTA.RA1==1)           //Jika kondisi terpenuhi, maka akan menjalankan statement if
    {
      PORTB=0x02;
      delay_ms(10);
    }                 //Memberikan nilai pada PORT B
    else if (PORTA.RA1 == 0) {
      PORTB=0x00;
    }
    if (PORTA.RA0==1 && PORTA.RA1==1) {
      PORTB=0x03;
    }
    else {
      PORTB=0x00;
    }
    

  }

}

5.Flow chart [Kembali]


6.Rangkayan Simulasi [Kembali]


7.Video simulasi [Kembali]


8.Link download [Kembali]




 

Copyright @ 2015