Hot!

Other News

More news for your entertainment
Tampilkan postingan dengan label ATmega32A. Tampilkan semua postingan
Tampilkan postingan dengan label ATmega32A. Tampilkan semua postingan

Perbedaan Mikroprosesor dan mikrokontroller


1. Microprocessor (Mikroprosesor)

Mikroprosesor digunakan sebagai pengolah utama pada semua kerja komputer,yaitu untuk menjalankan perangkat lunak, memecahkan proses aritmatika dan mengendalikan proses I/O, bertugas sebagai CPU (Central Processing Unit) atau biasa disebut pusat pengolah keseluruhan sistem, yaitu menjalankan perangkat lunak yang disimpan pada memori program.


Piranti pada mikroprosesor


Mikroprosesor tidak dapat bekerja sendiri (stand-alone) karena pada mikroprosesor tidak terdapat RAM/ROM (memori) yang fungsi utamanya adalah menyediakan sumber daya untuk digunakan di ALU, register dan kontroller yang terdapat dalam mikroprocessor. Mikroprocesor membutuhkan piranti - piranti pendukung lainnya.


2. Microcontroller (Mikrokontroler)


Mikrokontroler digunakan sebagai pengendali sistem yang di dalam nya terdapat proses pengolah keseluruhan sistem, management input dan output serta di dalamnya terdapat piranti memori yang berguna untuk menyimpan data instruksi.


Mikrokontroler beserta dekripsi PIN

Dengan kata lain mikrokontroler (microcontroller) adalah suatu Integrated Circuit yang di dalam nya terdapat piranti - piranti kompleks sehingga dapat digunakan sebagai general purpose . Perangkat mikrokontroler adalah seluruh piranti mikroprosesor + Sistem I/O dan Memori (RAM/ROM).



Memori


RAM (Random Access Memory) berguna untuk menyimpan data sementara yang mungkin diperlukan oleh mikroprosesor sewaktu menjalankan perangkat lunak.

Misalnya menyimpan nilai-nilai pada variabel, penyortiran, pembandingan dan operasi matematika
ROM (Read Only Memory) berguna untuk menyimpan alamat data perangkat lunak yang akan dijalankan oleh microprosesor.


1. EEPROM


Electrically Erasable Programmable Read Only Memory , ini digunakan untuk menyimpan sejumlah kecil variabel yang dapat berubah dari waktu ke waktu.

2. FLASH


non-volatile, memori ini bekerja lebih cepat dan dapat dihapus/tulis lebih sering dibandingkan EEPROM.

3. Static RAM


memori ini sangat berguna ketika dibutuhkan memori yang besar untuk menyimpan data dan program.

Piranti Mikrokontroller = piranti mikroprosesor + Memori + piranti I/O

berfungsi untuk mengirimkan dan menerima data dari atau ke luar sistem.

untuk menghubungkan sistem dengan dunia luar (piranti di luar mikroprosesor ) , seperti sensor dan papan ketik.

Contohnya:
salah satu piranti I/O yang bertugas mengirimkan data ke printer untuk di cetak.
piranti I/O menerima masukan data dari keyboard.
Always Remember

Clock / Denyut


Istilah yang sering di dapat dalam dunia elektronika, yang terdapat dalam sistem mikrokontroller. Pembangkit logika on/off (1/0), yang berfungsi untuk menyinkronkan kerja piranti-piranti dalam sistem elektronik. pembangkitnya bisa berupa resonator keramik, osilator kristal atau IC pewaktu 555.

PEMBANDING
MIKROKONTROLER
MIKROPROSESOR
PIRANTI I/O
ADA
TIDAK ADA
MEMORI RAM / ROM
ADA
TIDAK ADA
ARITHMATIC LOGICAL UNIT
ADA
ADA
CPU (CONTROLLER)
ADA
ADA
REGISTER
ADA
ADA




Mikroprosesor merupakan bagian dari mikrokontroler , karena mikroprosesor tidak dapat berfungsi tanpa adanya piranti lain. tabel di atas adalah tabel pembanding untuk membedakan mikrokontroler dengan mikroprosesor. Semoga Bermanfaat :)

Memprogram MCU AVR dengan AVRdude di Linux

1. Install AVRdude di Linux

buka terminal pada linux kemudian masuk sebagai superadmin (root) :

Masuk sebagai super admin

Setelah itu ketikkan perintah di bawah ini :

apt-get install avrdude binutils-avr gcc-avr avr-libc gdb-avr

2. Mengedit file rules pada AVRdude di Linux

Ketika kita menginstall AVRdude di linux , aturan system usbasp belum dapat dikenal, sehingga kita harus menambahkan beberapa aturan. Sebagai berikut:
untuk USB asp :



untuk idVendor USB programmer lainnya :



Setelah itu ketikkan perintah di bawah ini :

sudo gedit /etc/udev/rules.d/70-persistent-net.rules

3. Restart AVRdude di Linux

Untuk menginisialisasi rules yang baru saja dibuat, dilakukan pembangkitan ulang oleh udev dengan mengetikkan perintah di shell linux di bawah ini :

sudo /etc/init.d/udev restart

#via
link source http://www.nongnu.org/avrdude/user-manual/avrdude_13.html#Part-Definitions

4. Inisialisasi programmer AVRdude di Linux

Programmer usb asp yang terhubung dengan mikrokontroler harus sudah tersambung dengan laptop/PC linux . Sebagai contoh , digunakan mikrokontroler Atmega8.
Atmega 8


untuk memulai inisialisasi programmer dan mikrokontroler yang kita pasang, ketikkan perintah di bawah :

sudo avrdude -c usbasp -p m8

Always Remember :

keterangan kode perintah:
-c  : untuk memilih programmer
-p m8 : mikrokontroler yang di pasang adalah ATmega8


5. Hasil AVRdude di Linux Compatible dengan ATMega

kemudian akan di dapatkan hasil sebagai berikut :

AVRdude berhasil mendeteksi programer dan mikrokontroler

Sekian pengetahuan kecil tentang Memprogram MCU AVR dengan AVRdude di Linux. Untuk membuat program embedded menggunakan bahasa c (avr-gcc) dapat dilakukan dengan menggunakan IDE eclipse. Membuat program embedded dengan menggunakan eclipse , semoga bermanfaat :)

Hal-hal Utama Untuk Membuat Sistem Tertanam



Beberapa hal yang perlu diperhatikan untuk membuat sistem embedded. Pemilihan mikrokontroller yang banyak dijumpai serta dokumentasi dengan baik adalah langkah yang paling penting.


1. Sediakan Mikrokontroler


Pilihlah mikrokontroler yang tersedia di pasaran agar lebih cepat untuk memulai membuat sistem tertanam (embedded system). Jika Anda kurang mengerti atau kurang mau disibukan dengan pekerjaan 'merangkai' maka sebaiknya Anda membeli kit modul mikrokontroler yang sudah jadi, sebaliknya jika Anda mau disibukkan dengan usaha merangkai elektronika maka sebaiknya kita kembali ke Open Up Requirement ATMega. Beberapa Board Mikrokontroler yang dapat dijumpai di pasaran :


1. Arduino2. ATmega3. Raspbery4. Bluebery5. MCS-51
Mikrokontroler yang banyak dijumpai

2. Pemilihan bahasa pemrograman

Bahasa pemrograman merupakan hal yang mutlak dikuasai untuk memulai membuat sistem tertanam (embedded system). Bahasa yang banyak dijumpai dan terdokumentasi dengan baik adalah bahasa C.


Software yang mendukung bahasa pemrograman sekaligus sistem tertanam



3. Software yang harus diikutsertakan. 


Ya tentu untuk mengimplementasikan sebuat algoritma yang Anda punya ke dalam sistem tertanam (embedded system), harus dengan menggunakan bahasa pemrograman. Untuk itu bahasa pemrograman harus dituang kedalam sourcecode yang nantinya akan di- compile oleh software compiler.



Beberapa software compiler bahasa C untuk pemrograman sistem tertanam : 

1. Codevision Evaluation
2. IDE Arduino
3. Atmel Studio



Tidak hanya untuk pemula, Setiap hal yang Anda lakukan di setiap project sistem tertanam (embedded system) apapun, harus menyertai dokumentasi yang di tulis untuk mengingat hal-hal apa saja yang telah dilakukan.

Tidak jarang setiap developer melupakan langkah ini, dan nantinya akan berguna untuk melakukan proses debuging . Buatlah pernyataan - pernyataan dalam kalimat pasif atau dalam bentuk per point serta gunakanlah tinta berwarna untuk setiap penekanan kata yang dianggap penting.


4. Peralatan pendukung lainnya. 

Berikutnya dalam membuat suatu sistem tertanam (embedded system) adalah alat-alat pendukung seperti downloader , solder , kabel penghubung dan adaptor kehadirannya sangat berpengaruh.

Downloader berfungsi untuk mengangkut semua file program (algoritma) dalam bentuk file *.hex ke dalam mikrokontroler. File ini berisi ratusan instruksi yang nantinya akan dieksekusi oleh mikroprosesor dalam mikrokontroler.
programmer usb asp

Sebagai developer sistem tertanam (embedded system) yang baru akan sangat rentan terkena serangan putus asa yang berkesinambungan :D. Oleh karena itu persiapan mental yang kuat sangat diperlukan untuk menghadapi kegagalan demi kegagalan yang akan diraih. Kebanyakan seorang pemula berangan-angan untuk langsung mencoba membuat sesuatu yang susah. Hal ini tidak dapat dibenarkan, sebaiknya mulailah dari projek yang mudah dahulu. Kemudian berangsur-angsur menaikkan tingkat kesusahannya . Selamat mencoba , semoga bermanfaat :)

ATmega 32, Open Up ATmega Requirements

Kali ini Penulis akan membahas tentang Mikrokontroler , sebelumnya Penulis sempat membahas Mikrokontroler VS Mikroprosesor pada postingan sebelumnya.

Mikrokontroler adalah Integrated Circuit (IC) yang berisi berbagai unit penting untuk melakukan pemrosesan data (I/O, timer, memory, Arithmatic Logic Unit (ALU) dan lainnya) sehingga dapat berlaku sebagai pengendali dan komputer sederhana.


Mikrokontroler ATmega32 produk dari AVR.

AVR berteknologi Reduced Instruction Set Computing (RISC) yang artinya dengan menggunakan jumlah instruksi yang lebih sedikit, memungkinkan untuk lebih meningkatkan kemampuan chip. Keuntungannya adalah kesederhanaan desain chip (lebih kecil), jumlah pin sedikit dan mengonsumsi sedikit daya .

Mikrokontroler AVR (Alf and Vegard’s Risc processor) standar memiliki 8 bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock.



Perancangan Board Mikrokontroler.

Rangkaian dasar yang digunakan untuk mengoperasikan sebuah mikrokontroler disebut sebagai rangkaian sistem minimum. Rangkaian sistem minimum terdiri dari rangkaian osilator (crystal), sistem reset dan catu daya. Berikut daftar komponen untuk ikut dirangkaikan pada board mikrokontroller:

No
Nama Komponen
Banyak
Fungsi
1.Mikrokontroller (ATmega32A)1Processor Utama
2.Crystall (12MHz)1Pembangkit Sinyal (oscilator)
3.Kapasitor nonpolar (22pF)2Komponen pendukung
4.Resistor 10k1Komponen pendukung
5.Kapasitor 10uF1Komponen pendukung
6Dioda 1N40021Komponen pendukung
7.IC 78051Pembagi tegangan sebesar 5 V
8.Kapasitor nonpolar (100 uF)1Komponen pendukung
9LED1Sebagai indikator
10Socket IC 40 PIN1Sebagai penyangga mikrokontroller.


Vcc = sumber tegangan atau 5 Volt atau 12 Volt.
Gnd = Ground atau 0 Volt.

Fitur ATmega32

  1. Performa tinggi, mikrokontroler berdaya rendah. 
  2. Mikrokontroler dengan arsitektur RISC 8 bit. 
  3. 131 kode instruksi dalam bahasa assembly, hampir semua membutuhkan satu clock untuk eksekusi. 
  4. Mempunyai 32 x 8 bit register kerja kegunaan umum (general purpose register). 
  5. Pengoperasian full static, artinya clock dapat diperlambat, bahkan dihentikan sehingga chip berada dalam kondisi sleep. CMOS juga lebih tahan terhadap noise. 
  6. Kecepatan mengeksekusi sampai dengan 16 mega instruksi per detik pada saat diberikan osilator sebesar 16 MHZ. 
  7. Terdapat rangkaian pengali 2 (dua) kali untuk siklus kerjanya di dalam chip. 


  8. Flash EEPROM (Electrically Eraseable Programmable Read Only Memory) sebesar 32 kilobyte yang dapat diprogram ulang dan dengan kemampuan Read While Write. 


  9. Ketahanan hapus-tulis Flash ROM adalah 10.000 kali dengan pengaturan pilihan kode boot dan Lock Bit yang independen. 
  10. Memori SRAM sebesar 2 kilobyte yang dapat dihapus-tulis 100.000 kali. 
  11. penguncian kode program untuk keamanan perangkat lunak agar tidak dapat dibaca. 
  12. Memori yang non-volatile EEPROM sebesar 1024 byte. 
  13. Memiliki 2 buah timer/counter 8 bit sebanyak 2 buah dan sebuah timer/counter 16 bit dengan opsi PWM sebanyak 4 kanal. 
  14. Memiliki 8 kanal Analog to Digital Converter 10 bit dengan jenis single ended. 
  15. Untuk kemasan TQFP ADC dapat diatur 7 buah kanal jenis diferensial dan khusus 2 kanal dengan penguatan yang dapat diatur melalui registernya sebesar 1x, 10x atau 20x. 
  16. Antarmuka komunikasi serial USART yang dapat diprogram dengan kecepatan maksimal 2,5 Mbps. 
  17. Antarmuka SPI master / slave. 
  18. Watchdog timer dengan osilator di dalam chip yang dapat diprogram. 
  19. Komparator Analog di dalam chip. 
  20. Pendeteksian teganga\n gagal yang dapat diprogram. 
  21. Osilator RC internal yang terkalibrasi. 
  22. Sumber interupsi internal dan eksternal. 
  23. Pilihan Mode sleep : idle, pereduksi noise ADC, penghematan daya konsumsi, penurunan daya, kondisi standby. 
  24. 32 Pin masukan dan keluaran terprogram. 
  25. Terdapat pilihan kemasan PDIP 40 pin,TQFP 44 kaki, QFN/MLF 44 titik. 
  26. Tegangan pengoprasian: 
  27. 2,7 – 5,5 Volt untuk ATMega32L 
  28. 4,5 – 5,5 Volt untuk ATMega32
    (*diambil dari datasheet ATmega32)

Nomor Pin
Nama
Fungsi
10
VCC
Catu daya positif
11, 31
GND
Catu daya negative/ground
30
AVCC
Catu daya positif untuk ADC internal
32
AREF
Pin untuk tegangan referensi ADC
1 – 8
PB7…PB0
Pin masukan dan keluaran Port B
33 – 40
PA7…PA0
Pin masukan dan keluaran Port A
14 – 21
PD7…PD0
Pin masukan dan keluaran Port D
22 – 29
PC7…PC0
Pin masukan dan keluaran Port C
9
RESET
Pin masukan untuk reset (active low)
12, 13
XTAL1 dan 2
Pin untuk masukan osilator eksternal



Memprogram Mikrokontroler ATMega32

Untuk membuat program mikrokontroler ATMega32 digunakan editor dan compiler untuk bahasa C (AVR studio). Setelah proses pembuatan dan kompilasi program selesai dilakukan akan diperoleh file intel hex (*.hex). File ini adalah file yang nantinya akan diprogramkan ke mikrokontroler ATMega32 melalui interface ISP (In System Programming) yang terhubung dari port Mikrokontroler melalui antarmuka port USB komputer.
usb_isp_programmer alat untuk memasukkan program (*.hex) ke mikrokontroler

ATmega requirements (persyaratan yang harus di penuhi) berlaku untuk semua jenis ATmega, pada umum nya ATmega32, ATmega16 dan ATmega8535 mempunyai requirements yang sama hanya saja kapasitas memori yang berbeda . Semoga bermanfaat :)



Membuat Alat Ukur GP2Y1010AU0F Optical Dust Sensor

GP2Y1010AU0F Optical Dust Sensor merupakan sensor debu yang berbasis inframerah dengan menerapkan prinsip kerja cahaya dicerminkan pada partikel yang melewati sensor .

1. GP2Y1010AU0F Optical Dust Sensor

Merupakan sensor debu yang berbasis inframerah. Prinsip kerja dari sensor ini ialah cahaya dicerminkan pada partikel melewati keseluruhan permukaan, kemudian oleh photodioda diubah menjadi tegangan. Tegangan harus diperkuat untuk dapat membaca perubahan. Output dari sensor adalah tegangan analog sebanding dengan kepadatan debu yang terukur, dengan sensitivitas 0.5V/0.1mg/m3, artinya setiap 0,1 mg/m3 kepadatan debu yang terukur, maka tegangannya naik sebesar 0,5 V.


Bentuk Fisik GP2Y1010AU0F Optical Dust Sensor
Bentuk Fisik GP2Y1010AU0F Optical Dust Sensor

Rangkaian sirkuit elektronik diimplementasikan dengan menggunakan papan PCB. Penggunaan papan PCB dapat mengurangi noise dan lebih stabil dibandingkan dengan penggunaan protoboard, karena PCB dapat membuat rangkaian elektronika yang stabil dan PCB juga dapat membuat sistem pada perangkat tidak menimbulkan bug ke dalam sistem dan mempermudah pengerjaan dalam merangkai.

2. Mikrokontroler ATMega 32

Rangkaian sirkuit elektronik diimplementasikan dengan menggunakan papan PCB. Penggunaan papan PCB dapat mengurangi noise dan lebih stabil dibandingkan dengan penggunaan protoboard, karena PCB dapat membuat rangkaian elektronika yang stabil dan PCB juga dapat membuat sistem pada perangkat tidak menimbulkan bug ke dalam sistem dan mempermudah pengerjaan dalam merangkai.

Board Mikrokontroler yang digunakan


3. Pengujian di Udara Bebas 

Berdasarkan pengujian dengan meletakkan alat ukur tersebut di udara bebas maka diperoleh hasil 0,086 mg/m3 dengan tegangan sebesar 0,43 V.

Pengujian Menggunakan Pembakaran Kertas

Pengujian Menggunakan Asap Kertas


Hasil Pengujian Menggunakan Asap Kertas


4. Pengujian Menggunakan Asap Rokok 

Berdasarkan pengujian menggunakan asap rokok yang dibakar diperoleh hasil 0,207 mg/m3 dengan tegangan sebesar 1,035 V.

pengujian menggunakan asap rokok




pengujian menggunakan asap rokok

pengujian menggunakan asap rokok


Untuk mengetahui sourcecode silahkan berikan komentar dengan menuliskan email. Semoga bermanfaat :)