các bộ định thời như RTC… - Lập trình vi điều khiển thường được sử dụng để làm các thiết bị tự động, còn lập trình vi xử lý thường để làm các hệ điều hành dùng trong máy tính hoặc các sả
CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1 Giới thiệu chung vi điều khiển Vi xử lý (viết tắt µP hay uP), đơi cịn gọi vi xử lý, linh kiện điện tử chế tạo từ tranzito thu nhỏ tích hợp lên vi mạch tích hợp Khối xử lý trung tâm (CPU) vi xử lý nhiều người biết đến nhiều thành phần khác máy tính có vi xử lý riêng nó, ví dụ card hình (video card) có vi xử lý Trước xuất vi xử lý, CPU xây dựng từ mạch tích hợp cỡ nhỏ riêng biệt, mạch tích hợp chứa khoảng vào chục tranzito Do đó, CPU bảng mạch gồm hàng ngàn hay hàng triệu vi mạch tích hợp ngày nay, cơng nghệ tích hợp phát triển, CPU tích hợp lên vài vi mạch tích hợp cỡ lớn, vi mạch tích hợp cỡ lớn chứa hàng ngàn hàng triệu tranzito Nhờ cơng suất tiêu thụ giá thành vi xử lý giảm đáng kể Vi điều khiển máy tính tích hợp chíp, thường sử dụng để điều khiển thiết bị điện tử Vi điều khiển, thực chất, hệ thống bao gồm vi xử lý có hiệu suất đủ dùng giá thành thấp (khác với vi xử lý đa dùng máy tính) kết hợp với khối ngoại vi nhớ, mô đun vào/ra, mô đun biến đổi số sang tương tự tương tự sang số, Ở máy tính mơ đun thường xây dựng chíp mạch Vi điều khiển thường dùng để xây dựng hệ thống nhúng Nó xuất nhiều dụng cụ điện tử, thiết bị điện, máy giặt, lị vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phương tiện, dây chuyền tự động Hình 1.1 Cấu trúc thiết bị vi điều khiển 1.2 Vi xử lý vi điều khiển - Nếu ví vi điều khiển người vi xử lý não - Vi điều khiển hoạt động độc lập, tương tác với giới bên ngoại vi ADC, chân IO, chuẩn giao tiếp I2C, SPI… Còn vi xử lý tiếp nhận thơng tin, phân tích điều khiển qua bus liệu - Vi điều khiển tích hợp vi xử lý nhiều thành phần khác nhớ, ngoại vi, định thời… Đối với vi xử lý, để hoạt động chúng cần có nhớ RAM, ổ cứng… định thời RTC… - Lập trình vi điều khiển thường sử dụng để làm thiết bị tự động, lập trình vi xử lý thường để làm hệ điều hành dùng máy tính sản phẩm tương tự máy tính Tuy vi xử lý sử dụng thiết bị máy tính nhúng, kể đến Ras PI, Jetson… - Vi xử lý quan trọng phần hiệu làm việc, vi xử lý có hiệu tốt mạnh mẽ, cịn vi điều khiển quan trọng phần tối ưu công xuất hiệu năng, ứng dụng nhúng không cần tốc độ làm việc cao mà quan tâm tới việc tiết kiệm lượng ổn định Vi điều khiển đời mang lại tiện lợi người dùng, họ không cần nắm vững khối lượng kiến thức lớn người dùng vi xử lý, kết cấu mạch điện dành cho người dùng trở nên đơn giản nhiều có khả giao tiếp trực tiếp với thiết bị bên Vi điều khiển xây dựng với phần cứng dành cho người sử dụng đơn giản hơn, thay vào lợi điểm khả xử lý bị giới hạn (tốc độ xử lý chậm khả tính tốn hơn, dung lượng chương trình bị giới hạn) Thay vào đó, Vi điều khiển có giá thành rẻ nhiều so với vi xử lý, việc sử dụng đơn giản, ứng dụng rộng rãi vào nhiều ứng dụng có chức đơn giản, khơng địi hỏi tính tốn phức tạp Trong tài liệu này, ranh giới hai khái niệm “vi xử lý” “vi điều khiển” thực không cần phải phân biệt rõ ràng Chúng dùng thuật ngữ “vi xử lý” đề cập đến khái niệm kỹ thuật vi xử lý nói chung dùng thuật ngữ “vi điều khiển” sâu nghiên cứu họ chip cụ thể 1.3 Các họ vi điều khiển Họ vi điều khiển Atmel: Đây dòng quen thuộc học vi điều khiển, điển hình họ 8051 Ngồi cịn có dịng sau: - Dịng 8051 (8031, 8051, 8751, 8951, 8032, 8052, 8752, 8952) - Dòng Atmel AT91 (Kiến trúc ARM THUMB) - Dòng AT90, Tiny & Mega – AVR (Atmel Norway design) - Dòng Atmel AT89 (Kiến trúc Intel 8051/MCS51) - Dòng MARC4 Họ vi điều khiển STMicroelectronics: Đây dòng chip chủ đạo, đại diện dịng STM32 huyền thoại - ST 62 - ST7 - STM8 - STM32 (Cortex-Mx) Hình 1.2 Thiết bị vi điều khiển STMicroelectronics Họ vi điều khiển Microchip: - PIC 8-bit (xử lý liệu 8-bit, 8-bit data bus): Từ lệnh dài 12-bit (Base-line): PIC10F, PIC12F vài PIC16F Từ lệnh dài 14-bit (Mid-Range Enhance Mid-Range): PIC16Fxxx, PIC16F1xxx Từ lệnh dài 16-bit (High Performance): PIC18F - PIC 16-bit (xử lý liệu 16-bit): PIC điều khiển động cơ: dsPIC30F PIC có DSC: dsPIC33F Phổ thông: PIC24F, PIC24E, PIC24H - PIC 32-bit (xử lý liệu 32-bit): PIC32MX Các dòng vi điều khiển khác - Họ vi điều khiển Cypress MicroSystems - Họ vi điều khiển AMCC (Applied Micro Circuits Corporation) - Họ vi điều khiển Freescale Semiconductor - Họ vi điều khiển Intel - Họ vi điều khiển National Semiconductor - Họ vi điều khiển Philips Semiconductors 1.4 Phân loại vi điều khiển Phân loại theo độ dài ghi: Dựa vào độ dài ghi lệnh VĐK mà người ta chia loại vi điều khiển bit, 16 bit hay 32 bit… Các loại VĐK 16 bit có độ dài lệnh lớn nên tập lệnh nhiều hơn, phong phú Tuy nhiên chương trình viết VĐK 16 bit viết vi điều khiển bit với chương trình thích hợp Phân loại theo kiến trúc CISC RISC: Vi điều khiển CISC vi điều khiển có tập lệnh phức tạp Các VĐK có số lượng lớn lệnh nên giúp cho người lập trình linh hoạt dễ dàng viết chương trình Vi điều khiển RISC vi điều khiển có tập lệnh đơn gian Chúng có số lượng nhỏ lệnh đơn giản Do đó, chúng địi hỏi phần cứng hơn, giá thành thấp hơn, nhanh so với CISC Tuy nhiên địi hỏi người lập trình phải viết chương trình phức tạp hơn, nhiều lệnh Kiến trúc Harvard kiến trúc Von-Neuman: Kiến trúc Harvard sử dụng nhớ riêng biệt cho chương trình liệu Bus địa bus liệu độc lập với nên trình truyền nhận liệu đơn giản Kiến trúc Von-Neumann sử dụng chung nhớ cho chương trình liệu Điều làm cho VĐK gọn nhẹ hơn, giá thành rẻ 1.5 Cấu trúc tổng quan vi điều khiển VCC GND MEMORY CPU RAM ROM/EPROM/EEPROM Timing & control Special functioning block Ocscillator Circuit Timer/Counter ADC Parallel I/O ports Interrupt Control DAC Hình 1.3 Cấu trúc vi điều khiển CPU (Center Programing Unit) hay xử lý trung tâm não vi điều khiển CPU chịu trách nhiệm nạp lệnh, giải mã thực thi Tất hành vi vi điều khiển CPU điều khiển Chúng giao tiếp với phần khác vi điều khiển thơng qua hệ thống Bus CPU có cấu tạo gồm có đơn vị xử lý số học lôgic (ALU), ghi, khối lôgic mạch giao tiếp Chức CPU tiến hành thao tác tính tốn xử lý, đưa tín hiệu địa chỉ, liệu điều khiển nhằm thực nhiệm vụ người lập trình đưa thơng qua lệnh (Instructions) Để giao tiếp điều khiển quan chấp hành (các ngoại vi), CPU sử dụng 03 loại tín hiệu tín hiệu địa (Address), tín hiệu liệu (Data) tín hiệu điều khiển (Control) Về mặt vật lý tín hiệu đường nhỏ dẫn điện nối từ CPU đến ngoại vi chí ngoại vi với Tập hợp đường tín hiệu có chức gọi bus Như ta có bus địa chỉ, bus liệu bus điều khiển Sequencer EU Data register Addr register Instruction decoder Program counter ALU Internal bus BIU Data bus driver Control bus driver Data bus Control bus Addr bus driver Addr.bus Hình 1.4 Khối xử lý trung tâm Đây đơn vị có nhiệm vụ điều khiển giám sát tất hoạt động bên vi điều khiển người sử dụng tác động vào hoạt động Nó bao gồm số đơn vị nhỏ hơn, quan trọng là: Bộ giải mã lệnh có nhiệm vụ nhận dạng câu lệnh điều khiển mạch khác theo lệnh giải mã Việc giải mã thực nhờ có tập lệnh “instruction set” Mỗi họ vi điều khiển thường có tập lệnh khác Arithmetical Logical Unit (ALU) Thực thi tất thao tác tính tốn số học logic Thanh ghi tích lũy (Accumulator) ghi SFR liên quan mật thiết với hoạt động ALU Nó lưu trữ tất liệu cho q trình tính tốn lưu giá trị kết để chuẩn bị cho tính tốn Một ghi SFR khác gọi ghi trạng thái (Status Register) cho biết trạng thái giá trị lưu ghi tích lũy Ocscillator Circuit (Mạch tạo dao động): Nếu CPU não Ocscillator Circuit hay cịn gọi Clock coi trái tim vi điều khiển Để thứ hoạt động, bắt buộc phải cấp xung, trái tim hoạt động bơm máu cho toàn thể hoạt động Chúng ta thường nghe quảng cáo dịng vi xư lý có tốc độ Ghz gì đó, tốc độ Clock mà vi xử lý đáp ứng được, tốc độ xung cao tốc độ xử lý CPU tăng lên LP, XT, HS mode 20-30pF OSC2 Pin OSC CPU GND Quartz crystal Hình 1.5 Mạch tạo dao động vi điều khiển Bộ dao động đóng vai trị nhạc trưởng làm nhiệm vụ đồng hóa hoạt động tất mạch bên vi điều khiển Nó thường tạo thạch anh gốm để ổn định tần số Các lệnh không thực thi theo tốc độ dao động mà thường chậm hơn, câu lệnh thực qua nhiều bước Mỗi loại vi điều khiển cần số chu kỳ khác để thực lệnh Memory – Bộ nhớ: Bộ nhớ coi phần thiếu, chúng nơi lưu trữ chương trình nạp lên dùng làm nơi chứa thông tin tức thời mà CPU cần dùng tới Có kiểu nhớ bản: - RAM (Random access memory) nhớ lưu liệu mà CPU cần dùng để tính tốn, đưa định, lưu trữ kết tạm thời kết trung gian tạo sử dụng trình hoạt động vi điều khiển, chúng bị xóa điện - ROM (Read Only Memory): Read Only Memory (ROM) loại nhớ sử dụng để lưu vĩnh viễn chương trình thực thi Kích cỡ chương trình viết phụ thuộc vào kích cỡ nhớ ROM tích hợp vi điều khiển hay thêm vào chip gắn bên ngoài, tùy thuộc vào loại vi điều khiển Cả hai tùy chọn có số nhược điểm Nếu ROM thêm vào chip bên ngoài, vi điều khiển rẻ chương trình tồn lâu đáng kể Nhưng đồng thời, làm giảm số lượng chân vào/ra để vi điều khiển sử dụng với mục đích khác ROM nội thường nhỏ đắt tiền hơn, ghim thêm có sẵn để kết nối với mơi trường ngoại vi Kích thước dãy ROM từ 512B đến 64KB - EEPROM (Electrically Erasable Programmable ROM): EEPROM kiểu đặc biệt nhớ có số loại vi điều khiển Nội dung thay đổi trình thực chương trình (tương tự RAM), cịn lưu giữ vĩnh viễn, sau điện (tương tự ROM) Nó thường dùng để lưu trữ giá trị tạo sử dụng trình hoạt động (như giá trị hiệu chuẩn, mã, giá trị để đếm, v.v ), mà cần phải lưu sau nguồn cung cấp ngắt Một bất lợi nhớ trình ghi vào tương đối chậm - Các ghi chức đặc biệt (SFR): Thanh ghi chức đặc biệt (Special Function Registers) phần nhớ RAM Mục đích chúng định trước nhà sản xuất thay đổi Các bit chúng liên kết vật lý tới mạch vi điều khiển chuyển đổi A/D, modul truyền thông nối tiếp… Mỗi thay đổi trạng thái bit tác động tới hoạt động vi điều khiển vi mạch Timer/counter: Một vi điều khiển có nhiều đếm thời gian đếm Bộ đếm thời gian đếm có chức đếm thời gian tạo kiện để vi điều khiển hoạt động thời điểm Hầu hết chương trình sử dụng định thời hoạt động Chúng thường ghi SFR 16 bit, sau xung dao động clock, giá trị chúng tăng lên Ngay ghi tràn, ngắt phát sinh Các ngoại vi vi điều khiển On – chip Peripherals GPIO ADC CPU DAC Bus Memory RTC I/O Port Analog Input Analog Output Timer UART Serial I/O Other Peripherais Hình 1.6 Ngoại vi vi điều khiển - Hệ thống Bus: Là đường tín hiệu song song chiều nối từ CPU đến nhớ, gồm: bus địa chỉ, bus liệu, bus điều khiển CPU gửi giá trị địa ô nhớ cần truy nhập (đọc/ghi) đường tín hiệu Độ rộng bus: số đường tín hiệu, 8, 18, 20, 24, 32 hay 64 CPU với n đường địa địa hố 2n nhớ Ví dụ, Cpu có 16 đường địa địa hố 216 hay 65,536 (64K) ô nhớ a Bus liệu - Data bus: Là đường tín hiệu song song chiều, nhiều thiết bị khác nối với bus liệu; thời điểm, có thiết bị phép đưa liệu lên bus liệu Độ rộng Bus: 4, 8, 16, 32 hay 64 bits Bất kỳ thiết bị kết nối đến bus liệu phải có đầu dạng trạng thái, cho trạng thái treo (trở kháng cao) không sử dụng b Bus điều khiển - Control bus: Bao gồm đến 10 đường tín hiệu song song CPU gửi tín hiệu bus điều khiển phép đầu ô nhớ hay cổng I/O địa hố Các tín hiệu điều khiển thường là: đọc/ ghi nhớ memory read, memory write, đọc/ ghi cổng vào/ra - I/O read, I/O write Ví dụ, để đọc byte liệu từ ô nhớ cần đến hoạt động sau: CPU đưa địa ô nhớ cần đọc lên bus địa CPU đưa tín hiệu đọc nhớ - Memory Read bus điều khiển Tín hiệu điều khiển cho phép thiết bị nhớ địa hoá đưa byte liệu lên bus liệu Byte liệu từ ô nhớ truyền tải qua bus liệu đến CPU - I/O Ports – Input/ouput: Có thể coi cổng I/O tay chân vi điều khiển, chúng giúp cho vi điều khiển tương tác với thành phần khác ngồi mơi trường Cổng đầu vào/ đầu sử dụng chủ yếu điều khiển giao tiếp thiết bị hình LCD, đèn LED, máy in, …cho vi điều khiển Cổng I/O thay đổi chức năng, chiều vào/ra theo yêu cầu người dùng - Các chuẩn giao tiếp: Giống miệng tai Vi điều khiển sử dụng chuẩn giao tiếp khác để liên lạc với liên lạc với phâng tử khác mạch Có thể kể đến I2C, SPI, UART, USB, … - Bộ chuyển đổi analog sang digital (ADC): Bộ chuyển đổi ADC sử dụng để chuyển đổi tín hiệu analog sang dạng digital Tín hiệu đầu vào chuyển đổi phải dạng analog (ví dụ: đầu cảm biến) đầu từ thiết bị dạng digital Đầu digital sử dụng cho ứng dụng kỹ thuật số (ví dụ: thiết bị đo lường) - Bộ chuyển đổi Digital sang Analog (DAC): Hoạt động DAC đảo ngược ADC DAC chuyển đổi tín hiệu digital thành định dạng analog Nó thường sử dụng để điều khiển thiết bị analog động DC, ổ đĩa… - Interrupt control hay quản lý kiện: Ngồi việc thực thi chương trình, vi điều khiển phải tương tác với tác nhân bên bên Các tác nhân tạo kiện gọi Ngắt, để quản lý cần có khối quản lý ngắt (Interrupt control) - Special functioning block: Một số vi điều khiển sử dụng cho số ứng dụng đặc biệt (ví dụ: hệ thống khơng gian rơ bốt) điều khiển có chứa cổng bổ sung để thực hoạt động đặc biệt Đây coi khối chức đặc biệt Ngoài với loại vi điều khiển cụ thể cịn có thêm số phần cứng khác biến đổi tương tự-số ADC, biến đổi số-tương tự DAC, mạch điều chế dạng sóng WG, điều chế độ rộng xung PWM…Bộ não vi xử lý CPU, phần cứng khác quan chấp hành quyền CPU Mỗi quan có chế hoạt động định mà CPU phải tuân theo giao tiếp với chúng Khi triển khai cho ứng dụng, ta cần lựa chọn vi điều khiển liên quan đến tính năng, số chân, kích thước cần thiết vi điều khiển Và phải lựa chọn vi điều khiển cần dùng Tùy theo ứng dụng, giá cả, chức năng, độ ổn định cần chọn cho loại để bắt đầu Để lập trình vi điều khiển bắt buộc bạn phải học ngơn ngữ C, ngơn ngữ C can thiệp tới tầng thấp phần cứng, điều mà ngôn ngữ khác không làm Bản chất lập trình vi điều khiển tạo hành động cụ thể cho Như việc người tương tác với giới xung quanh Mọi thao tác lập trình viên viết ngơn ngữ lập trình C ngơn ngữ khác Sau ngơn ngữ thơng dịch lại cho vi điêu khiển hiểu, q trình gọi biên dịch 1.6 Ưu nhược điểm ứng dụng vi điều khiển Ưu điểm: - Vi điều khiển hoạt động máy vi tính khơng có phận kỹ thuật số - Tích hợp cao bên vi điều khiển làm giảm chi phí kích thước hệ thống - Việc sử dụng vi điều khiển đơn giản, dễ khắc phục cố bảo trì hệ thống - Hầu hết chân lập trình người dùng để thực chức khác - Dễ dàng kết nối thêm cổng RAM, ROM, I/O - Cần thời gian để thực hoạt động Nhược điểm: - Vi điều khiển có kiến trúc phức tạp so với vi xử lý - Chỉ thực đồng thời số lệnh thực thi giới hạn - Chủ yếu sử dụng thiết bị vi mô - Không thể trực tiếp giao tiếp thiết bị công suất cao Ưng dụng vi điều khiển: Vi xử lý, chip loại máy tính ngày nay, nên hẳn bạn biết rõ có ứng dụng Ở đây, nói đên ứng dụng vi điều khiển Vi điều khiển dùng thiết kế loại máy tính nhúng Máy tính nhúng có hầu hết thiết bị tự động, thơng minh ngày Chúng ta dùng vi điều khiển để thiết kế điều khiển cho sản phẩm như: Trong sản phẩm dân dụng: Nhà thơng minh, Cửa tự động, Khóa số, Tự động điều tiết ánh sáng thông minh (bật/tắt đèn theo thời gian, theo cường độ ánh sáng, ), Điều khiển thiết bị từ xa (qua điều khiển, qua tiếng vỗ tay, ), Điều tiết ẩm, điều tiết nhiệt độ, điều tiết khơng khí, gió, Hệ thống vệ sinh thông minh Trong quảng cáo: Các loại biển quảng cáo nháy chữ, Quảng cáo ma trận LED (một màu, màu, đa màu), Điều khiển máy bạt quảng cáo Các máy móc dân dụng: Máy điều tiết độ ẩm cho vườn cây, Buồng ấp trứng gà/vịt, Đồng hồ số, đồng hồ số có điều khiển theo thời gian Các sản phẩm giải trí: Máy nghe nhạc, Máy chơi game, Đầu thu kỹ thuật số, đầu thu set-top-box Trong thiết bị y tế: Máy móc thiết bị hỗ trợ: máy đo nhịp tim, máy đo đường huyết, máy đo huyết áp, điện tim đồ, điện não đồ…Máy cắt/mài kính, Máy chụp chiếu (city, X-quang, ) Các sản phẩm công nghiệp: Điều khiển động cơ, Điều khiển số (PID, mờ, ), Đo lường (đo điện áp, đo dòng điện, áp suất, nhiệt độ, ), Cân băng tải, cân toa xe, cân ô tô, Máy cán thép: điều khiển động máy cán, điều khiển máy quấn thép, Làm điều khiển trung tâm cho RoBot, Ổn định tốc độ động cơ, Đếm sản phẩm nhà máy, xí nghiệp,…, Máy vận hành tự động (dạng CNC) 1.7 Các hệ đếm vi điều khiển Hệ thập phân – Decimal Hệ nhị phân – Binary Hệ16 – Hexadecimal Mã BCD (standard BCD, gray code): (Binary Coded Decimal) Trong thực tế, số ứng dụng đếm tần, đo điện áp, … ngõ dạng số thập phân, ta dùng mã BCD Mã BCD dùng bit nhị phân để mã hoá cho số thập phân Như vậy, số hex A F không tồn mã BCD Mã BCD gồm có loại: - Mã BCD không nén (unpacked): biểu diễn số BCD bit nhị phân - Mã BCD nén (packed): biểu diễn số BCD bit nhị phân VD: Số thập phân Số BCD không nén 0000 0101b 0000 0010b 0000 1001b Số BCD nén 0101b 0010b 1001b Mã hiển thị đoạn (7-segment display code) analogWrite(11,100); // Điều khiển độ sáng chân số 11 ( 11 phát 490 hz) analogWrite(9,100); // Đđiều khiển độ sáng chân số 9( phát 490 hz) analogWrite(10,100); // Điều khiển độ sáng chân số 10 ( 10 phát 490 hz) analogWrite(5,100); // Điều khiển độ sáng chân số ( phát 980 hz) analogWrite(6,100); // Điều khiển độ sáng chân số ( phát 980 hz) tone(12,200); // Phát xung chân số 12 với tần số 200Hz //tone(12,200,3000); // Phát tần số chân 12 với tần số 200Hz giây } void loop() { //Bắt đầu vịng lặp } Kết xung đầu ra: Hình 8.3: Tín hiệu sóng xung chân Hình 8.4: Tín hiệu sóng xung chân 3, 9, 10 11 CHƯƠNG 5: THIẾT KẾ ỨNG DỤNG ARDUINO TRONG THỰC TẾ 5.1 Các thiết bị ngoại vi kết nối thiết bị ngoại vi với arduino 5.1.1 Module L298 Giới thiệu Module điều khiển động L298N có IC điều khiển động L298, Bộ điều chỉnh điện áp 78M05, điện trở, tụ điện, LED nguồn, jumper 5V tích hợp Hình 5.1 Mơ đun L298 Tên chân Mô tả IN1 & IN2 Các chân đầu vào điều khiển hướng quay động A IN3 & IN4 Các chân đầu vào điều khiển hướng quay Động B ENA Kích hoạt tín hiệu PWM cho Động A VIB Kích hoạt tín hiệu PWM cho Động B OUT1 & OUT2 Chân đầu cho động A OUT3 & OUT4 Chân đầu cho Động B 12V Đầu vào cấp nguồn 12 5V Cấp nguồn cho mạch logic bên IC L298N GND Chân nối đất Chân ENA & ENB chân điều khiển tốc độ cho Động A Động B IN1 & IN2 IN3 & IN4 chân điều khiển hướng quay cho Động A Động B Sơ đồ mạch bên module điều khiển động L298N thể hình 5.2 Hình 5.2 Sơ đồ ngun lý mơ đun L298 Chức nhiệm vụ Chức năng: + Điều khiển động cơ: Module L298 có khả điều khiển động DC hai chiều động bước (stepper motor) để điều chỉnh tốc độ hướng quay động + Chuyển đổi nguồn: Module L298 cung cấp khả chuyển đổi nguồn cung cấp cho động hệ thống, điều chỉnh mức điện áp vào để đảm bảo hoạt động ổn định Nhiệm vụ: + Điều khiển động DC: Module L298 có nhiệm vụ điều khiển tốc độ hướng quay động DC Nó nhận lệnh từ mạch điều khiển (như vi điều khiển Arduino) điều chỉnh dòng điện điều khiển để quay theo chiều với tốc độ yêu cầu + Điều khiển động bước: Module L298 điều khiển động bước, đảm bảo chuyển động xác động bước bước Nó cung cấp xung từ mạch điều khiển để điều chỉnh tốc độ hướng quay động bước Ứng dụng - Robot di động: Module L298 sử dụng phổ biến điều khiển động robot di động, cho phép di chuyển nhanh chóng điều khiển xác - Xe tự động: Module L298 sử dụng ứng dụng tự động hóa xe tự động xe robot để điều khiển động thực chuyển động theo yêu cầu - Hệ thống mô điều khiển: Module L298 sử dụng ứng dụng mô điều khiển, giúp kiểm sốt xác động thực chuyển động phù hợp 5.1.2 Data logger Giới thiệu Datalogger thiết bị lưu trữ truyền nhận liệu từ hệ thống quan trắc mơi trường tự động, liên tục, có nhiệm vụ ghi đo lưu trữ số đọc từ cảm biến, truyền liệu nhiều hình thức khác cáp quang, modem 3G/4G giúp người sử dụng quản lý hiệu hệ thống quan trắc Hình 5.3 Mô đun Data Logger Chức nhiệm vụ Chức năng: Thu thập liệu: Datalogger có khả kết nối thu thập liệu từ nguồn tín hiệu cảm biến, máy móc, hệ thống, mạng thông qua giao diện kênh kết nối phù hợp Lưu trữ liệu: Datalogger lưu trữ liệu ghi lại nhớ nội thiết bị lưu trữ ngoại vi thẻ nhớ ổ cứng Điều đảm bảo liệu bảo tồn không bị mát nguồn cung cấp điện khơng có kết nối mạng Một số loại datalogger có tích hợp tính bảo mật để đảm bảo liệu không bị mát bị truy cập trái phép Quản lý liệu: Datalogger cung cấp khả quản lý liệu ghi lại Nó cho phép người dùng xem, xếp, lọc xuất liệu theo nhu cầu Người dùng tìm kiếm truy xuất thơng tin cần thiết từ liệu ghi lại để phân tích sử dụng cho mục đích khác Giao tiếp truyền liệu: Datalogger thiết kế để giao tiếp truyền liệu cho thiết bị khác máy tính điện thoại thơng qua giao thức USB, Bluetooth, Wi-Fi phương pháp truyền thông khác Điều giúp dễ dàng truyền chia sẻ liệu thu thập cho ứng dụng phân tích giám sát Ứng dụng Mơi trường khí hậu: Datalogger sử dụng ứng dụng giám sát ghi lại liệu nhiệt độ, độ ẩm, áp suất, chất lượng không khí thơng số mơi trường khác Điều hỗ trợ nghiên cứu khí hậu, quản lý tài nguyên giám sát môi trường Theo dõi quản lý tốt trình trồng trọt nghiên cứu trồng Đo lường kiểm tra: Datalogger sử dụng ứng dụng đo lường kiểm tra để ghi lại liệu từ thiết bị đo lường, máy móc hệ thống Nó giúp phân tích đánh giá tham số quan trọng để đảm bảo hiệu suất chất lượng Hệ thống theo dõi giám sát: Datalogger sử dụng hệ thống giám sát theo dõi độ tin cậy, giám sát mơi trường, q trình sản xuất, hoạt động cơng nghiệp ứng dụng nghiên cứu khác Dữ liệu ghi lại giúp theo dõi, phân tích đánh giá hiệu suất an toàn hệ thống Nghiên cứu khoa học: Datalogger sử dụng nghiên cứu khoa học để ghi lại liệu liên quan đến thí nghiệm, q trình biến số khác Nó giúp nhà nghiên cứu thu thập liệu xác đáng tin cậy để phân tích đưa kết luận Quản lý lượng: Datalogger sử dụng ứng dụng quản lý lượng để ghi lại thông tin tiêu thụ điện, nhiên liệu lượng từ hệ thống thiết bị khác Dữ liệu ghi lại sử dụng để phân tích tối ưu hóa việc sử dụng lượng 5.1.3 Ethernet shield Giới thiệu Hình 12.1 Mơ đun Ethernet Shield Ethernet Sheild module phụ kiện sử dụng để kết nối với Arduino với mạng Ethernet Nó hỗ trợ giao thức TCP/IP cho phép Arduino truyền nhận liệu thông qua mạng Chức nhiệm vụ Chức năng: Ethernet Shield cho phép Arduino kết nối giao tiếp với thiết bị khác mạch Ethernet máy tính, server internet Với Ethernet Shield, Arduino thực tác vụ web server, web client, truyền liệu qua mạng, kiểm soát từ xa, nhiều ứng dụng khác liên quan đến mạng Ethernet Nhiệm vụ: Cung cấp cổng kết nối Ethernet cho Arduino, giúp Arduino kết nối giao tiếp với thiết bị mạng khác Nó cung cấp thư viện phương pháp để Arduino xử lý tác vụ liên quan đến mạng Ethernet Ứng dụng: Thường sử dụng dự án IoT (Internet of Things), hệ thống giám sát từ xa, điều khiển tự dộng, web server nhỏ, cảm biến mạng nhiều ứng dụng khác liên quan đến việc kết nối Arduino với mạng Ethernet 5.1.4 I2C Giới thiệu I2C (Inter-Integrated Circuit) giao thức truyền thông serial đồng sử dụng để kết nối giao tiếp vi mạch hệ thống điện tử Hình Mơ đun I2C Chức nhiệm vụ Chức năng: I2C sử dụng để truyền liệu vi mạch chủ vi mạch thông qua hai dây truyền dẫn dây liệu (SDA) dây đồng hồ (SCL) Giao thức I2C cung cấp tốc độ truyền liệu khác hỗ trợ nhiều thiết bị kết nối bus Nhiệm vụ: + Truyền liệu: I2C cho phép truyền liệu song song thiết bị hệ thống điện tử + Xác định địa chỉ: Mỗi thiết bị kết nối bus I2C có địa để xác định giao tiếp với + Đồng hóa: I2C đồng hóa q trình truyền liệu thiết bị sử dụng tín hiệu dây đồng hồ (SCL) Ứng dụng Điều khiển cảm biến thiết bị ngoại vi: I2C sử dụng để giao tiếp với điều khiển cảm biến nhiệt độ, ánh sáng, gia tốc, thiết bị ngoại vi hình LCD, nhớ EEPROM, mạch điều khiển khác Hệ thống nhúng: I2C sử dụng rộng rãi việc kết nối vi mạch hệ thống nhúng vi xử lý, vi điều khiển, thiết bị ngoại vi khác Truyền thông vi mạch: I2C sử dụng để truyền thông tin điều khiển vi mạch hệ thống điện tử phức tạp, vi mạch định tuyến, vi mạch chuyển mạch, vi mạch khác 5.1.5 NFC Giới thiệu NFC (viết tắt Near-Field Communications) công nghệ giao tiếp trường gần, sử dụng cảm ứng từ trường để thực kết nối thiết bị có tiếp xúc trực tiếp hay để gần NFC phát triển dựa nguyên lý nhận dạng tín hiệu tần số vơ tuyến có tốc độ truyền tải liệu tối đa 424 Kbps Do khoảng cách truyền liệu ngắn (trong khoảng cách cm) nên giao dịch qua công nghệ NFC xem an tồn Ngồi ra, NFC cịn kết hợp nhiều cơng nghệ sử dụng hệ thống công cộng bán vé, vé gửi xe điện tử, tốn hóa đơn… Thẻ NFC mạch mỏng, lưu giữ thơng tin đơn giản (có thể ghi lại được) Nó khơng cần sử dụng nguồn điện Hình 10.1 Thẻ NFC Chức nhiệm vụ Chức NFC đơn giản, sử dụng để truyền tín hiệu điện thoại di động Ngoài việc tránh bước ghép nối điện thoại di động sử dụng Bluetooth, NFC sử dụng cơng nghệ điểm với điểm hiệu có hai điện thoại di động tiếp xúc với đạt kết nối truyền này, tăng cường bảo mật Nhiệm vụ NFC truyền liệu, ứng dụng việc nhận dạng mở khóa cửa điện tử thẻ tín dụng khơng tiếp xúc (contactless credit card) Ngồi NFC cịn phục vụ truyền tệp tin hình ảnh thiết bị smartphone NFC hoạt động tần số 13.56 Mhz truyền liệu với tốc độ 106/212/424 kbps (khoảng 0.053MB) Phạm vi hoạt động công nghệ khoảng 10cm Nhưng thực tế NFC truyền liệu phạm vi khoảng 4cm trở lại Ứng dụng Dựa vào đặc tính chế hoạt động, cơng nghệ NFC ứng dụng rộng rãi nhiều lĩnh vực nhờ khả kết nối nhanh đơn giản Một số ứng dụng phổ biến kể đến sau: - Thanh tốn phương tiện cơng cộng xe bus, tàu điện ngầm hay mượn xe đạp quốc gia phát triển - Mua vé điện tử xem phim, nghe nhạc, đến sân vận động, vé gửi xe điện tử hay chí làm thủ tục sân bay - Chìa khóa tiện lợi tích hợp điện thoại di động, giúp mở cửa nhà, văn phòng, khách sạn hay khởi động xe nhanh chóng - Check-in đánh giá địa điểm có gắn nhãn NFC, ví dụ nhà hàng, hàng hóa, khách sạn, địa điểm du lịch mà không cần kết nối Internet hay GPS - Trao đổi liệu thiết bị điện thoại có kết nối NFC phạm vi hoạt động - Ghép nối Bluetooth wifi hai thiết bị có NFC môi trường mà không cần khai báo qua nhiều bước 5.1.6 Xbee Giới thiệu Hình 10.1: Xbee Arduino Xbee module không dây sử dụng phổ biến Arduino Nó cung cấp khả truyền thông không dây cho Arduino, cho phép giao tiếp kết nối với thiết bị khác mạng lưới Xbee sử dụng để truyền liệu không dây, điều khiển từ xa thu thập liệu cảm biến Nó hỗ trợ tính tiết kiệm lượng bảo mật để đảm bảo an toàn liệu truyền qua mạng Với linh hoạt dễ sử dụng, Xbee trở thành công nghệ quan trọng việc phát triển ứng dụng IoT mạng không dây Arduino Chức nhiệm vụ Chức năng: Truyền nhận liệu không dây: Xbee cho phép Arduino gửi nhận liệu không dây với nhiều mô-đun Xbee khác Điều hữu ích việc xây dựng mạng cảm biến không dây hệ thống điều khiển từ xa Mở rộng khoảng cách truyền thơng: Với Xbee, Arduino truyền thơng tin theo khoảng cách xa cách sử dụng cáp kết nối trực tiếp Xbee hoạt động khoảng cách từ số mét đến mét tùy chọn phụ thuộc vào môi trường phiên mô-đun Giao tiếp nhiều module Xbee: Xbee hỗ trợ giao tiếp nhiều module lúc Điều cho phép bạn tạo mạng lưới không dây với nhiều thiết bị giao tiếp với Tiết kiệm lượng: Xbee thiết kế để tiết kiệm lượng, giúp kéo dài thời gian hoạt động Arduino sử dụng mô-đun Độ tin cậy cao: Xbee sử dụng giao thức Zigbee, có khả tự động chuyển đổi kênh truyền thơng để tránh nhiễu tín hiệu Điều giúp tăng cường độ tin cậy việc truyền thông không dây Nhiệm vụ: XBee loạt mô-đun không dây sử dụng ứng dụng truyền thông không dây Nhiệm vụ XBee cung cấp khả truyền thông không dây cho thiết bị khác mạng không dây Ứng dụng - Giám sát mơi trường: Cảm biến Xbee sử dụng để giám sát nhiệt độ, độ ẩm, ánh sáng, âm thông số môi trường khác - Giám sát động cơ: Cảm biến Xbee sử dụng để giám sát tốc độ, áp suất thông số khác động - Giám sát an ninh: Cảm biến Xbee sử dụng để giám sát cửa vào, cửa sổ khu vực khác tòa nhà khu vực - Giám sát lượng: Cảm biến Xbee sử dụng để giám sát lượng tiêu thụ thiết bị điện tử hệ thống khác - Giám sát y tế: Có thể sử dụng để giám sát thông số y tế bệnh nhân, bao gồm nhịp tim, huyết áp nồng độ oxy máu - Giám sát động vật: Cảm biến Xbee sử dụng để giám sát vị trí hoạt động động vật tự nhiên trang trại 5.1.7 RFID - Công nghệ RFID (Radio Frequency Identification) công nghệ nhận dạng đối tượng qua tần số vô tuyến Sử dụng trường điện từ để nhận dạng theo dõi đối tượng Từ đó, quản lý, giám sát lưu vết đối tượng Hình 10.1 Sơ đồ hoạt động RFID Hay nói cách khác, RFID kỹ thuật nhận dạng sóng vơ tuyến từ xa, cho phép liệu chíp đọc cách "khơng tiếp xúc" qua đường dẫn sóng vơ tuyến khoảng cách từ 50 cm tới 10 mét, sử dụng thiết bị thẻ RFID đầu đọc RFID Điểm bật RFID công nghệ không sử dụng tia sáng mã vạch, không tiếp xúc trực tiếp Tần số hoạt động thẻ RFID: 125Khz 900Mhz Có thể đọc thông tin xuyên qua môi trường, vật liệu như: bê tông, tuyết, sương mù, băng đá, sơn gỗ, thùng carton… Cấu tạo, phân loại nguyên lý hoạt động Một hệ thống RFID gồm thiết bị sau: + Thẻ RFID (RFID Tag, gọi transponder): thẻ gắn chíp + Anten + Thiết bị đọc thẻ RFID (hay gọi đầu đọc-reader): để đọc thơng tin từ thẻ, đặt cố định lưu động + Anten: Thiết bị truyền nhận tín hiệu thẻ đầu đọc thẻ + Server (máy chủ): nhu nhận, xử lý liệu, phục vụ giám sát, thống kê, điều khiển, Hình 10.2 Nguyên lý hoạt động RFID Thẻ RFID thượng có loại: - Passive tags (thẻ thụ động): loại thẻ cấp lượng từ sóng vơ tuyến phát từ đầu đọc RFID cho việc truy vấn liệu Tầm hoạt động hiệu loại thể cỡ vài cm - Active tags (thẻ chủ động): loại thể cấp lượng từ pin, đọc từ khoảng cách xa với đầu đọc RFID, lên đến hàng trăm mét b Nguyên lý hoạt động - Thiết bị RFID đọc đặt cố định vị trí Chúng phát sóng vơ tuyến điện tần số định để phát thiết bị phát xung quanh - Mỗi thẻ Tag RFID có dãy số mã hóa riêng - Khi RFID phát vào vùng sóng vơ tuyến điện mà RFID đọc phát ra, thiết bị đọc RFID đọc giá trị thẻ Tag RFID phát nhận sóng điện tử, thu nhận phát lại cho RFID đọc mã số mã hóa - Các tín hiệu mã hóa thu truyền lưu trữ máy chủ (server) Ứng dụng - Ứng dụng cho hệ thống quản lý nhân sự, chấm công, bãi giữ xe, cửa an ninh (siêu thị, cửa hàng quần áo, chung cư ), chống trộm - Ứng dụng cho hệ thống sản xuất hàng hóa, kiểm kê kho hàng, sản phẩm - Ứng dụng cho hệ thống thu phí giao thơng, trạm thu phí đường bộ, đường cao tốc Hình Một ứng dụng cụ thể RFID 5.1.8 Bluetooth Giới thiệu Bluetooth chuẩn công nghệ truyền thông không dây tầm ngắn thiết bị điện tử, dựa tần số vô tuyến Công nghệ hỗ trợ việc truyền liệu qua khoảng cách ngắn thiết bị di động cố định, tạo nên mạng cá nhân không dây Chức nhiệm vụ Bluetooth đạt tốc độ truyền liệu 1Mb/s Bluetooth hỗ trợ tốc độ truyền tải liệu lên tới 720 Kbps phạm vi 10m–100m Kết nối Bluetooth vô hướng sử dụng dải tần 2,4 GHz Ở chế độ sử dụng rộng rãi nhất, công suất truyền giới hạn mức 2,5 milliwatt Hình 10.4 Các tính Bluetooth số ứng dụng Thay dây cable máy tính, thiết bị điện tử truyền thông tin Kết nối vô tuyến thiết bị điện tử với cách thuận lợi, giá thành rẻ, tiêu thụ lượng thấp Ưu điểm bluetooth ứng dụng dễ dàng nhiều loại thiết bị với độ tương thích cao, có tính an tồn bảo mật cao Nhược điểm Bluetooth bị nhiễu sóng di chuyển, khoảng cách kết nối gần, dễ kết nối có vật cản, có độ delay chuyển tiếp âm thanh, thiết bị vi tính chuột, laptop Ứng dụng - Điều khiển giao tiếp không dây điện thoại di động tai nghe, loa, micro, đồng hồ thông minh, - Kết nối khơng dây máy tính với thiết bị ngoại vi chuột, bàn phím khơng dây, máy in, web cam, share hình điện thoại với laptop - Truyền tải thông tin, liệu, ảnh thiết bị điện tử (smartphone, laptop ) với - Điều khiển từ xa với mơ hình, robot, tay cầm chơi game - Thiết bị định vị GPS - Điều khiển thiết bị điện tử, gia dụng gia đình (đèn, cửa, bếp, điều hịa ) 5.1.9 Wifi Giới thiệu Module WiFi gọi module WLAN (mạng cục không dây) thành phần điện tử sử dụng nhiều sản phẩm để đạt kết nối không dây với Internet Hình Mơ đun Wifi Chức năng, nhiệm vụ Chức năng, nhiệm vụ module Wi-Fi sử dụng để cung cấp kết nối internet cho dự án robot ,điện tử gửi liệu từ robot máy chủ qua lại lẫn Ứng dụng Các module không dây sử dụng nhiều ứng dụng công nghiệp, khoa học, tiêu dùng thương mại Với module Wi-Fi, nhà cung cấp dịch vụ khách hàng họ giao tiếp trực tiếp với thiết bị bình nóng lạnh hệ thống điều hịa khơng khí, điều khiển nhiệt độ sản phẩm điện khác nhà Ngoài cịn có nhiều ứng dụng khác đo lường thơng minh giám sát an ninh vị trí theo thời gian thực 5.1.10 Module Sim Giới thiệu Hình 10.2: Module Sim Arduino Module SIM (Subscriber Identity Module) loại vi mạch tích hợp thiết kế để lưu trữ số thông tin định, bao gồm số IMSI (International Mobile Subscriber Identity) khóa liên quan Thơng tin sử dụng để xác định xác thực thuê bao thiết bị di động điện thoại di động máy tính xách tay Chức nhiệm vụ Chức năng: Gửi nhận tin nhắn SMS: Module SIM Arduino cho phép gửi nhận tin nhắn SMS từ điện thoại di động mô-đun SIM khác Bằng cách sử dụng lệnh AT (Hay lệnh AT), bạn viết chương trình để gửi nhận tin nhắn qua mơ-đun SIM Gọi điện: Module SIM Arduino cho phép bạn thực gọi điện thoại từ board Arduino Bằng cách sử dụng AT lệnh, bạn gọi điện đến số điện thoại khác Kết nối Internet: Module SIM Arduino cung cấp khả kết nối Internet thông qua GPRS Bạn sử dụng mơ-đun để gửi nhận liệu từ giao thức TCP/IP thông tin Internet Định vị GPS: Một số mô-đun SIM Arduino tích hợp GPS, cho phép bạn định vị vị trí mơ-đun GPS thơng qua tín hiệu Đọc ghi liệu từ thẻ SIM: Cho phép bạn đọc ghi liệu từ thẻ SIM Bạn lưu trữ thông tin danh bạ, tin nhắn, thông tin đăng nhập, vv thẻ SIM truy cập chúng từ board Arduino Nhiệm vụ: Module Sim dùng điều khiển thiết bị cảnh báo từ xa thông qua mạng di động gọi điện, nhắn tin, GPRS Mơ-đun SIM Arduino có khả kết hợp với biến cảm ứng thiết bị khác để thực đa dạng ứng dụng giám sát từ xa, định vị xe, báo động hệ thống… Ứng dụng Điện thoại di động: SIM card phần thiết yếu điện thoại di động Nó xác định số điện thoại người dùng cho phép họ truy cập vào dịch vụ di động gọi, tin nhắn văn bản, liệu di động Máy tính bảng laptop: Một số máy tính bảng laptop có khả chấp nhận SIM card để kết nối với mạng di động Điều cho phép người dùng truy cập internet dịch vụ trực tuyến mà không cần kết nối Wi-Fi Ethernet Thiết bị Internet of Things (IoT): SIM card sử dụng thiết bị IoT xe ô tô, máy ATM, hệ thống theo dõi điều khiển từ xa SIM card giúp cho thiết bị kết nối với internet mạng di động để truyền liệu nhận lệnh từ xa Hệ thống an ninh theo dõi: SIM card sử dụng hệ thống an ninh camera an ninh hệ thống báo động Điều cho phép người dùng nhận thơng báo truy cập hình ảnh video từ xa qua mạng di động Điều khiển từ xa: SIM card sử dụng ứng dụng điều khiển từ xa hệ thống tưới tự động điều khiển thiết bị gia đình thơng minh qua ứng dụng di động 5.2 Xây dựng thực nghiệm lập trình arduino điều khiển thiết bị điện