Mục đích nghiên cứu Nghiên cứu và xây dựng mô hình kiểm tra IC số sử dụng mạch Arduino dùng đe kiểm tra các IC số trong quá trình giảng dạy của giảng viên 3.. MÔ HÌNH KIỂM TRA IC SỐ sử D
Trang 1ỦY BAN NHÂN DÂN TP HÒ CHÍ MINH TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC
NGHIÊN CỨU KHOA HỌC
Trang 2MỤC LỤC
PHẦN MỞ ĐẦU 01
1 Lý do chọn đề tài 01
2 Mục đích nghiên cứu 01
3 Đối tượng và khách thể nghiên cứu 01
4 Giả thuyết nghiên cứu 01
5 Nhiên vụ nghiên cúu 02
6 Phương pháp nghiên cứu 02
7 Phạm vi ứng dụng 02
PHẦN NỘI DUNG 03
Chương 1: Cơ SỞ LÝ THUYẾT CỦA ĐẺ TÀI 03
1.1 Lý thuyết về mạch Arduino 03
1.1.1 Thông số kỹ thuật của Arduino Uno R3 04
1.1.2 Các chân năng lượng trong mạch Arduino R3 05
1.1.3 Bộ nhớ của Arduino Uno R3 06
1.1.4 Cổng vào/ra cùa Arduino Uno R3 06
1.2 Giới thiệu Arduino mega 2560 08
1.3 Ma trận phím 4x3 (Keypad 4x3) 13
1.4 Module nguồn LM2596 15
1.5 Giới thiệu GLCD 128x64 17
Chương 2: XẨY DựNG MÔ HÌNH KIẺM TRA IC SỐ 15
2.1 Sơ đồ khối của mô hình 21
2.2 Sơ đồ nguyên lý 22
2.3 Mô hình kiểm tra IC số sử dụng mạch arduino 23
Chương 3: KÉT QUẢ NGHIÊN cứu 27
3.1 Giao diện hiển thị trên GLCD 27
3.2 Quy trình kiểm tra IC số 27
KÉT LUẬN VÀ KIÉN NGHỊ 34
TÀI LIỆU THAM KHẢO 35
Trang 3DANH SACH CAC HINH
Hình 1.1: Mạch Arduino UNO R3 04
Hình 1.2: Cong ra/vào của arduino 07
Hình 1.3: Arduino mega 1280 08
Hình 1.4: Arduino mega 2560 09
Hình 1.5 : Mạch điều khiển máy in 3D RAMPS 1.4 Arduino Shield Mega Proto 11
Hình 1.6: Chi tiết sản phẩm của Arduino mega 2560 12
Hình 1.7: Các ứng dụng của Arduino mega 2560 13
Hình 1.8: Hình ảnh keypab 4x3 13
Hình 1.9: Sơ đồ kết nối cột và hàng của keypad 4x3 14
Hình 1.10: Sơ đồ mạch của keypad 4x3 15
Hình 1.11: Mạch nguồn LM2596 16
Hình 1.12: Ngõ vào ra của mạch nguồn LM2596 16
Hình 1.13: GLCD 128x64 17
Hình 1.14: Sơ đồ bố trí RAM của GLCD 128x64 19
Hình 1.15: Ký tự "a" trên GLCD 20
Hình 1.16: Dữ liệu RAM cho ký tự “a” 20
Hình 2.1: Sơ đồ khối của mô hình 21
Hình 2.2: Sơ đồ mạch nguyên lý 22
Hình 2.3: Sơ đồ mạch in 23
Hình 2.4: Hình 3D sơ đồ mạch in 24
Hình 2.5: Hình ảnh bên ngoài mô hình 25
Hình 2.6: Hình ảnh kết nối bên trong mô hình 26
Hình 3.1: Giao diện kiểm tra 27
Hình 3.2: Vị trí lắp IC cần kiểm tra 28
Hình 3.3: Nhập IC cần kiểm tra 29
Hình 3.4: Đang chạy kiểm tra 30
Hình 3.5: Hiển thị kết quả kiểm 31
Hình 3.6: Nhập IC 7400 cần kiểm 32
Hình 3.7: Kết quả IC kiểm tra 7400 33
Trang 4MÔ HÌNH KIỀM TRA IC SỐ sử DỤNG MẠCH ARDUINO
PHẦN MỞ ĐẢU
1 Lý do chọn đề tài
Sự phát triển vượt bậc của khoa học kỹ thuật gắn liền với công nghệ kỹ thuật
số, có rất nhiều IC được chế tạo ra nhằm phục vụ cho học tập, cho sản xuất Điều đó cũng đem lại cho con người những thách thức không nhỏ trong việc kiểm ra các IC số khi sử dụng chúng
Thông thường việc kiểm tra các IC số rất chậm và rất tốn nhiều thời gian nếu chúng ta không có thiết bị kiêm tra đặc thù Với nhu cầu thực tế và điều kiện học tập của nhà trường, chủ nhiệm đề tài nghiên cứu, thiết kế và thi công thiết bị kiểm tra IC số
Lợi ích lớn nhất của đề tài này là giúp cho giảng viên và sinh viên có thể kiểm tra nhanh các IC số trong quá trình học các môn chuyên ngành như: Kỹ thuật số, Vi mạch Đó là lí do mà tôi thực hiện đề tài nghiên cứu này
2 Mục đích nghiên cứu
Nghiên cứu và xây dựng mô hình kiểm tra IC số sử dụng mạch Arduino dùng
đe kiểm tra các IC số trong quá trình giảng dạy của giảng viên
3 Đối tượng và khách thể nghiên cửu
- Nghiên cứu lý thuyết về mạch Arduino
- Nghiên cứu phần mềm lập trình Arduino
- Nghiên cứu các IC số
- Nghiên cứu lý thuyết về GLCD
4 Giả thuyết nghiên cứu
Đe tài nghiên cứu và xây dựng mô hình kiểm tra IC số để kiểm tra các dạng IC
số sau:
- Các IC chứa cổng logic: AND, OR, NAND, NOR
- Kiểm tra các IC chứa các Fliplop
- Kiểm tra các IC đếm
- Kiểm tra các IC giải mã led 7 đoạn
5 Nhiệm vụ nghiên cứu
- Thiết kế phần cứng cho mô hình
- Viet code cho mô hình
Trang 5MÔ HÌNH KIỀM TRA IC SÓ sử DỤNG MẠCH ARDƯINO
- Xây dựng mô hình kiểm tra các IC số
6 Phương pháp nghiên cứu đề tài.
- Nghiên cứu lí thuyết về mạch Arduino
- Nghiên cứu lí thuyết về lập trình Arduino
- Nghiên cứu lí thuyết về LCD
- Nghiên cứu lí thuyết về bàn phím (Keypad)
- Thiết ke, thi công mô hình kiểm tra IC số sử dụng mạch arduino
Trang 6MÔ HÌNH KIỂM TRA IC SỐ sử DỤNG MẠCH ARDUINO
PHẦN NỘI DƯNG Chương 1: Cơ SỞ LÝ THUYẾT CỦA ĐẺ TÀI
1.1 Lý thuyết về mạch Arduino
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên Ý thiết kế
và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thể thực hiện nhiều nhiệm vụ từ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, cảm biến siêu âm để tăng khả ứng dụng của mạch Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit Hiện nay, phần cứng của Arduino có tất cả 6 phiên bản Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega Arduino Uno được sử dụng rất rộng rãi trên thế giới, rất nhiều ví dụ trên youtube hoặc các trang hướng dẫn về Arduino sử dụng mạch này Vì vậy đối với các bạn mới học Arduino, việc chọn Arduino Ưno sẽ giúp các bạn có thể tự học dễ dàng Phần mềm để lập trình cho mạch Arduino là phần mềm IDE Đây là phần mềm mã nguồn mở, và có thể được download từ trang web của Arduino
Hiện trên thế giới có rất nhiều kênh youtube và rất nhiều trang web, các nhân chuyên hướng dẫn và chia sẽ miễn phí các dự án về Arduino Vì vậy nếu các bạn có vốn tiếng Anh khá thì có thể tự học từ trên internet, từ các trang web nước ngoài Ở Việt Nam hiện cũng có nhiều trang web và kênh youtube hướng dẫn tự học Arduino Bản thân tác giả cũng có 1 kênh youtube để chia sẻ code và các dự án về Arduino.Hiện tại ở Việt Nam và trên thế giới cũng có nhiều bo mạch vi điều khiển khác nhau Tuy nhiên Arduino có một số ưu điểm mà khiến nó trở nên nổi tiếng và hiện đang được sử dụng rộng rãi trên thế giới Những ưu điểm đó là: rẻ, tương thích được với nhiều hệ điều hành, chương trình lập trình đơn giản, rõ ràng, dễ sử dụng, sử dụng
mã nguồn mở và có thể kết hợp với nhiều module khác nhau
Trang 7MÔ HÌNH KIỀM TRA IC SỐ sử DỤNG MẠCH ARDUINO
Hình 1.1: Mạch Arduino UNO R3 1.1.1 Thông số kỹ thuật của Arduino Uno R3
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Điện áp vào khuyên dùng 7-12V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Dòng tối đa trên mỗi chân I/O 30 mA
Trang 8MÔ HÌNH KIÊM TRA IC SỐ sử DỤNG MẠCH ARDƯINO
1.1.2 Các chân năng lượng trong mạch Arduino R3
- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau
- 5V: Cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
- 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
- Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND
- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được
đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V
từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
- RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KQ
Lưu ý:
- Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó bạn phải hết sức cẩn thận, kiểm tra các cực âm - dương của nguồn trước khi cấp cho Arduino UNO Việc làm chập mạch nguồn vào sẽ làm Arduino không sử dụng được nữa Trong thời gian đầu tìm hiểu tốt nhất hãy sử dụng nguồn cấp qua cổng USB
- Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thế làm hỏng board
- Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board
- Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328
- Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển
- Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển
Trang 9MÔ HỈNH KIỂM TRA IC SÓ sử DỤNG MẠCH ARDƯINO
- Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng
1.1.3 Bộ nhớ của Arduino Uno R3
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
- 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng thường thì ít khi nào phải sử dụng quá 20kb bộ nhớ này
- 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Chú ý: khi mất điện, dữ liệu trên SRAM sẽ bị mất
- 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): tương tự như một chiếc ổ cứng mini - nơi có thể đọc và ghi dữ liệu vào đây
mà không phải lo bị mất khi mất điện giống như dữ liệu trên SRAM
1.1.4 Cổng vào/ra của Arduino Uno R3
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có
2 mức điện áp là ov và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối)
Trang 10MÔ HÌNH KIỂM TRA IC SỐ sử DỤNG MẠCH ARDƯINO
Hình 1.2: cổng ra/vào của arduino
Một số chân digital có các chức năng đặc biệt như sau:
- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit - TX) và nhận (receive
- RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Ket nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Neu không cần giao tiep Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
- Chân PWM (-): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 —* 28-1 tương ứng với ov —> 5V) bằng hàm analogWrite() Nói một cách đon giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức ov đến 5V thay vì chỉ cố định ở mức ov và 5V như những chân khác
- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác
- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng
- Arduino UNO có 6 chân analog (AO —* A5) cung cấp độ phân giải tín hiệu lObit (0 —> 210-1) để đọc giá trị điện áp trong khoảng ov —> 5V Với chân AREF trên
Trang 11MÔ HÌNH KIỀM TRA IC SÓ sử DỤNG MẠCH ARDUINO
board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu bạn cấp điện áp 2.5 V vào chân này thì bạn có thể dùng các chân analog để đo điện
áp trong khoảng từ ov —> 2.5V với độ phân giải vẫn là lObit
- Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
1.2 Giói thiệu Arduino mega 2560
Arduino Mega 2560 là phiên bản nâng cấp của Arduino Mega hay còn gọi là Arduino Mega 1280 Sự khác biệt lớn nhất với Arduino Mega 1280 chính là chip nhân
Trang 12MÔ HÌNH KIỂM TRA IC SỔ sử DỤNG MẠCH ARDUINO
- 16 chân vào analog (từ AO đến AI 5)
- 1 thạch anh với tần số dao động 16 MHz
Trang 13MÔ HÌNH KIỀM TRA IC SỐ sử DỤNG MẠCH ARDUINO
Arduino Mega 2560 có thể sử dụng hầu hết các shiled dành cho các mạch Arduino Uno hay hoặc các mạch trước đây như Duemilanove hay Diecimila với cách cài đặt và nối chân tương tự như Arduino Uno
Hiện nay có một số shiled hỗ trợ cho Arduino Mega rất nhiều như:
- Mạch điều khiển máy in 3D RAMPS 1.4
- Arduino Shield Mega Proto: một board mạch mở rộng cho Arduino Mega 2560, Arduino Mega 1280
Trang 14MÔ HÌNH KIỀM TRA IC SÓ sử DỤNG MẠCH ARDU1NO
Hình 1.5: Mạch điều khiển máy in 3D RAMPS 1.4 Arduino Shield Mega Proto
Thông sổ kĩ thuật
Cường độ dòng điện trên mỗi 3.3V pin 50 mA
Cường độ dòng điện trên mỗi I/O pin 20 mA
Trang 15MÔ HÌNH KIỂM TRA IC SÓ sử DỤNG MẠCH ARDUINO
Hình 1.6: Chi tiết sản phẩm của Arduino mega 2560
ứng dụng thực tế
Với sự tiện ích vô cùng lớn của Arduino Mega 2560, mạnh mẽ với bộ nhớ flash lớn, số chân nhiều hơn và cùng số lượng shield hỗ trợ không hề nhỏ Arduino Mega đã được đưa vào các dự án lớn hơn như xử lý thông tin nhiều luồng, điều khiền nhiều động cơ, xe điều khiển từ xa, LED cube hay còn mở rộng cánh cửa với thế giới loT
Trang 16MÔ HÌNH KIỀM TRA IC SÓ sử DỤNG MẠCH ARDUINO
Hình 1.7: Các ứng dụng của Arduino mega 2560 1.3 Ma trận phím 4x3 (Keypad 4x3)
Hình 2.8: Hình ảnh keypab 4x3
Thông số kỹ thuật
- 12 phím trên ma trận 4x3, loại phím nhựa dẻo
Trang 17MÔ HÌNH KIỀM TRA IC SỐ sử DỤNG MẠCH ARDUINO
- Chiều dài cáp nối: 88mm
- Đầu nối ra 7 chân tín hiệu (không cỏ vcc, GND)
- Nhiệt độ hoạt động 0 ~ 70oC
- Kích thước bàn phím 77 X 69 mm
Hình 1.9: Sơ đồ kết nối cột và hàng của keypad 4x3
Trang 18MÔ HÌNH KIẺM TRA IC SÓ sử DỤNG MẠCH ARDUINO
Thông số kỹ thuật
• Module nguồn không sử dụng cách ly
• Nguồn đầu vào từ 4V - 35V
• Nguồn đầu ra: IV - 30V
• Đầu vào: INPUT +,
Trang 19INPUT-MÔ HÌNH KIỀM TRA IC SỐ sử DỤNG MẠCH ARDUINO
Đầu ra: OƯTPUT+,
OUTPƯT-Hình 1.11: Mạch nguồn LM2596 Cách sủ’ dụng LM2596
Khá đơn giản, các bạn chỉ cần cấp nguồn vào chân INPUT+, INPUT- rồi nhận nguồn ra từ chân OUTPƯT+, OUTPUT-
Output +
Current flow direction
OUT*
DSN2596
Hình 1.12: Ngõ vào ra của mạch nguồn LM2596
Đe chỉnh điện áp đầu ra bằng cách vặn cái biến trở trên module rồi lấy đồng hồ đo điện áp đầu ra, hiệu chỉnh sao cho phù hợp Nếu vặn biến trở mà đo vẫn không thấy thay đổi thì vặn thêm 10 vòng nữa hoặc vặn ngược lại, bởi vì biến trở đó hỗ trợ vặn 14 vòng
Trang 20MÔ HÌNH KIỀM TRA IC SÓ sử DỤNG MẠCH ARDƯINO
1.5 Giói thiệu GLCD 128x64
GLCD 128x64 là Graphic LCD được sử dụng để hiển thị trên mô hình là loại LCD chấm, không màu, có độ phân giải 128x64 tức 8192 chấm GLCD được thiết kế để điều khiển được từng chấm, nên có thể dùng để hiển thị bất kỳ ký tự hay hình ảnh nào Với mỗi chấm tương ứng một bit dữ liệu, GLCD 128x64 cần 8192 bits RAM hay 1024 bytes RAM để hiển thị toàn màn hình
Loại GLCD YM12864J sử dụng 2 chip điều khiển KS0108 rất phổ biến của Samsung, mỗi chip có 512 bytes RAM Do đó, nó tương tự như 2 LCD 64x64 ghép lại với nhau
Hình 1.13: GLCD 128x64
Trang 21MÔ HÌNH KIỂM TRA IC SÓ sử DỤNG MẠCH ARDƯINO
Chức năng các chân của GLCD 128x64
Trang 22MÔ HÌNH KIỂM TRA IC SÓ sử DỤNG MẠCH ARDUINO
bộ nhớ là RAM, không có bộ nhớ chứa bộ font CGROM hay chứa mã font tự tạo CGRAM như của Text LCD Dữ liệu ghi vào RAM sẽ được hiển thị trực tiếp trên GLCD Mỗi chip KS0108 có 512 bytes RAM tương ứng với 4096 chấm trên một nửa (64x64) LCD RAM của KS0108 được truy cập theo từng byte, nghĩa là mỗi lần viết một giá trị vào một byte nào đó trên RAM của GLCD, sẽ có 8 chấm bị tác động, 8 chấm này nằm trên cùng 1 cột Do đó, 64 dòng GLCD được chia thành 8 pages, mỗi page có độ cao 8 bit và rộng 128 cột (tính cả 2 chip)
Hình 1.14: Sơ đồ bố trí RAM của GLCD 128x64
Với mỗi chip KS0108, RAM chia thành 8 page, mỗi page bao gồm 64 cột, mỗi cột bao gồm 8 chấm Các page được gọi là địa chỉ X, mang giá trị từ 0 đến 7, X = 0 tương ứng với page 0 và tương tự Các cột được gọi là địa chỉ Y, cột đầu tiên có giá trị Y = 0
và cột cuối cùng có giá trị Y = 63 Mỗi cột là một byte RAM, DO đến D7, với DO tương ứng điểm trên cao và D7 tương ứng điểm bên dưới Các lệnh di chuyển được hỗ trợ theo cặp địa chỉ X, Y
Minh họa hiển thị ký tự “a” trên GLCD: