1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài stm32f103 giao tiếp với adc0804 đo nhiệt độ lm35 hiển thị lên lcd thiết kế mạch điện tử

26 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Mở đầu Mạch điện tử số Digital circuit là một hệ thống các linh kiện điện tử như các bộ xử lý, bộ nhớ, các bộ đếm, và các bộ điều khiển logic khác, được kết hợp với nhau để tạo thành một

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA :ĐIỆN -ĐIỆN TỬ

ĐỒ ÁN MÔN: ĐỒ ÁN 2

Đề tài: STM32F103 giao tiếp với ADC0804 đo nhiệt độ LM35 hiển thị lên LCD

GIẢNG VIÊN HƯỚNG DẪN: THẦY NGUYỄN MẠNH HÙNG

Trang 2

MỤC LỤC

*MỞ ĐẦU

I Linh kiện cần thiết làm mạch STM32F103 giao tiếp với ADC0804

đo nhiệt độ bằng LM35 hiển thị LCD 4

1.Giới thiệu, thông số kỹ thuật cảm biến nhiệt độ LM35 4

2.Giới thiệu, thông số kỹ thuật IC ADC0804 5

3.Giới thiệu ,thông số kỹ thuật vi điều khiển STM32F103 8

4.Giới thiệu ,thông số kỹ thuật của LCD 9

2.Mô phỏng mạch trên proteus 12

IV.Nguyên lý hoạt động của mạch 12

1.Nguyên lý hoạt động của LM35 12

2.Giao tiếp giữa LM35 và ADC0804 12

3.Giao tiếp giữa ADC và STM32 12

Trang 3

Mở đầu

Mạch điện tử số (Digital circuit) là một hệ thống các linh kiện điện tử như các bộ xử lý, bộ nhớ, các bộ đếm, và các bộ điều khiển logic khác, được kết hợp với nhau để tạo thành một mạch điện tử thực hiện các chức năng số học và logic.Trong đó STM32 chính là dòng vi điều khiển có nhiều ứng dụng và gần với thực tế nhất STM32 là một dòng vi điều khiển 32-bit, có kiến trúc ARM Cortex-M và được sản xuất bởi STMicroelectronics Cấu tạo cơ bản của STM32 bao gồm các phần sau:Lõi xử lý: STM32 có một lõi xử lý ARM Cortex-M với tốc độ xung nhịp cao Lõi xử lý có thể được tùy chỉnh để đáp ứng yêu cầu cụ thể của ứng dụng.Bộ nhớ: STM32 có bộ nhớ trong, bao gồm bộ nhớ flash và bộ nhớ SRAM, để lưu trữ chương trình và dữ liệu.Các giao diện: STM32 có các giao diện đa dạng để kết nối với các thiết bị bên ngoài, bao gồm các giao diện như SPI, I2C, UART, USB và Ethernet.Bộ chuyển đổi analog-to-digital (ADC): STM32 có bộ chuyển đổi ADC để chuyển đổi các tín hiệu analog sang tín hiệu kỹ thuật số để xử lý.Bộ định thời: STM32 có bộ định thời để điều khiển các hoạt động trong vi điều khiển.

Để hiểu hơn về mạch điện tử chúng em lựa chọn dòng vi điều khiển stm32 để nghiên cứu và phát triển STMicroelectronics STM32 là một dòng vi điều khiển 32-bit rất phổ biến và được sử dụng trong nhiều ứng dụng khác nhau Dưới đây là một số ứng dụng của STM32:Thiết bị y tế: STM32 được sử dụng trong các thiết bị y tế, bao gồm các thiết bị đo lường y tế, thiết bị giám sát sức khỏe và các thiết bị y tế di động.Thiết bị thông minh: STM32 được sử dụng trong các thiết bị thông minh, bao gồm các thiết bị nhà thông minh, các thiết bị giám sát môi trường và các thiết bị giám sát năng lượng.Điều khiển công nghiệp: STM32 được sử dụng trong các hệ thống điều khiển công nghiệp, bao gồm các thiết bị tự động hóa, máy CNC, máy in 3D và các thiết bị điều khiển cảm biến… =>Chúng em lựa chọn dòng vi điều khiển STM32F103C8T6 để thực hiện nghiên cứu.

Trang 4

*Phân chia công việc Lưu Quốc Nhật

Phụ trách tất cả phần cứng và phần mềm(trừ việc viết báo cáo và mua linh kiện)

Nguyễn Tuấn Hùng Mô phỏng và nối chân, làm mạch Nguyễn Minh Thuận Viết code, nạp và kiểm tra mạch

Lê Thị Thanh Hằng Tìm và chọn linh kiện phù hợp, viết báo cáo đồ án

I Linh kiện cần thiết làm mạch STM32F103 giao tiếp với ADC0804 đo nhiệt độ bằng LM35 hiển thị LCD

1.Giới thiệu, thông số kỹ thuật cảm biến nhiệt độ LM35

Dưới đây là các thông số kỹ thuật chính của cảm biến LM35: Điện áp cung cấp: từ 4 đến 30V DC

Khoảng đo nhiệt độ: từ -55 đến +150 độ C Độ nhạy: 10mV/độ C

Trang 5

Độ chính xác: ±0.5 độ C tại 25 độ C Độ phân giải: 0.1 độ C

Dòng tiêu thụ: khoảng 60 µA

Điện trở đầu ra: 10mV/độ C (tương đương với 0.1 độ C/mV) Điện trở đầu vào: khoảng 50 kohm

Dãi tần số tín hiệu đầu ra: 0-10 Hz

Nguyên lý hoạt động của LM35 là dựa trên hiệu ứng nhiệt điện tử Khi nhiệt độ thay đổi, điện thế đầu ra của cảm biến cũng thay đổi theo cách tuyến tính Cụ thể, LM35 có một điện thế đầu ra tương đương với 10 mV cho mỗi độ C Ví dụ, nếu nhiệt độ đo được là 25 độ C, điện thế đầu ra của LM35 sẽ là 250 mV Nếu nhiệt độ là 0 ° C, thì điện áp đầu ra cũng sẽ là 0V Sẽ có sự gia tăng 0,01V (10mV) cho mỗi độ tăng nhiệt độ C.

LM35 có thể hoạt động với điện áp cung cấp từ 4 đến 30 V DC, và có thể đo được nhiệt độ trong khoảng từ -55 đến +150 độ C Điều này làm cho LM35 trở thành một cảm biến nhiệt độ phổ biến và dễ sử dụng trong các ứng dụng điện tử.

Trang 6

2.Giới thiệu, thông số kỹ thuật IC ADC0804

IC ADC0804 là một bộ chuyển đổi tương tự-số (ADC)

8-bit.ADC0804 được thiết kế để chuyển đổi tín hiệu analog thành tín hiệu số Bộ chuyển đổi này chấp nhận tín hiệu đầu vào trong khoảng từ 0 đến 5V và chuyển đổi chúng thành tín hiệu số 8-bit Tín hiệu đầu ra của bộ ADC0804 có thể được đọc thông qua các chân dữ liệu hoặc bằng cách sử dụng một bộ đệm lưu trữ dữ liệu.Cấu trúc bên trong bao gồm các thành phần chính sau:

+Một bộ lấy mẫu và giữ mẫu (S&H): Bộ ADC0804 có một khối S&H tích hợp để lấy mẫu và giữ mẫu tín hiệu analog Khối S&H này giúp đảm bảo rằng tín hiệu đầu vào sẽ không bị biến đổi trong quá trình chuyển đổi.

+Một bộ chuyển đổi tự động (ADC): Bộ chuyển đổi ADC0804 sử dụng một bộ ADC để chuyển đổi tín hiệu analog thành tín hiệu số ADC0804 sử dụng kiến trúc chuyển đổi tương tự-số thông thường, với 256 bậc chuyển đổi, từ 0 đến 255.

+Bộ đệm dữ liệu: ADC0804 cũng bao gồm một bộ đệm dữ liệu để lưu trữ các giá trị đầu ra chuyển đổi Bộ đệm này có thể lưu trữ tối đa 8 giá trị 8-bit.

Trang 7

+Một bộ điều khiển: ADC0804 có một bộ điều khiển để điều chỉnh các tham số của bộ chuyển đổi, bao gồm chế độ chuyển đổi, tốc độ chuyển đổi và độ nhạy của bộ ADC.

+Các chân giao tiếp: ADC0804 có 28 chân giao tiếp, bao gồm các chân đầu vào tín hiệu analog, các chân điều khiển và các chân đầu ra tín hiệu số.

Các thông số kỹ thuật chính như sau: Độ phân giải: 8 bit

Tốc độ chuyển đổi tối đa: 100 kHz Điện áp đầu vào: 0-5V hoặc -5V đến +5V Điện áp tham chiếu: 2.5V hoặc 5V Số kênh đầu vào: 8 kênh đầu vào tương tự Kiểu chuyển đổi: Chuyển đổi tương tự-số (SAR) Độ lệch: ± 1 LSB (Least Significant Bit) Điện áp cung cấp: 5V

Công suất tiêu thụ: 15 mW

Kích thước: 20 chân DIP (Dual In-line Package)

*Nguyên lý hoạt động của ADC0804 bao gồm các bước sau:

+Lấy mẫu và giữ mẫu: ADC0804 sẽ lấy mẫu tín hiệu analog từ đầu vào và giữ mẫu trong một khoảng thời gian nhất định để chuyển đổi +Tạo tín hiệu tham chiếu: ADC0804 sẽ tạo ra một tín hiệu tham chiếu với một giá trị điện áp cố định (VD) để so sánh với tín hiệu đầu vào +So sánh tín hiệu đầu vào với tín hiệu tham chiếu: ADC0804 so sánh tín hiệu đầu vào với tín hiệu tham chiếu bằng cách sử dụng một bộ so sánh tương tự.

Trang 8

+Chuyển đổi thành tín hiệu số: Sau khi so sánh, ADC0804 sẽ chuyển đổi tín hiệu analog thành một tín hiệu số 8-bit sử dụng kiểu chuyển đổi tương tự-số (SAR).

+Lưu giá trị đầu ra: Giá trị đầu ra được lưu vào một thanh ghi 8-bit +Các bước trên sẽ được lặp lại cho mỗi mẫu tín hiệu đầu vào Tốc độ chuyển đổi của ADC0804 phụ thuộc vào thời gian lấy mẫu và giữ mẫu, và thời gian chuyển đổi tín hiệu thành tín hiệu số ADC0804 có tốc độ chuyển đổi tối đa là 100 kHz, có nghĩa là nó có thể chuyển đổi 100,000 mẫu tín hiệu mỗi giây.

3.Giới thiệu ,thông số kỹ thuật vi điều khiển STM32F103

STM32F103C8T6 là một trong những vi điều khiển thuộc dòng STM32F103 của hãng STMicroelectronics Nó được xây dựng dựa trên kiến trúc ARM Cortex-M3, có tốc độ xử lý lên đến 72 MHz và bộ nhớ FLASH 64KB.

Trang 9

Vi điều khiển này còn có các tính năng khác như:

+Chế độ tiêu thụ năng lượng thấp

STM32F103C8T6 là một trong những loại vi điều khiển phổ biến được sử dụng trong nhiều ứng dụng như thiết bị đo, điều khiển thiết bị, hệ thống điều khiển robot và các ứng dụng IoT Nó cũng được sử dụng rộng rãi trong các dự án DIY và các hệ thống nhúng.

Nó hoạt động bằng cách nhận lệnh từ bộ nhớ FLASH, sau đó thực hiện các hoạt động xử lý dữ liệu trên bộ nhớ SRAM STM32F103C8T6 cũng có các module ngoại vi để giao tiếp với các thiết bị khác như UART, I2C, SPI, ADC, CAN, PWM, GPIO, v.v Vi điều khiển này có thể được lập trình bằng các ngôn ngữ như C/C++, Assembly, và các phần mềm hỗ trợ như Keil, IAR và CubeIDE.Các tính năng khác như bảo mật và chế độ tiêu thụ năng lượng thấp cũng được tích hợp trong STM32F103C8T6, làm cho nó trở thành một trong những lựa chọn phổ biến cho các ứng dụng nhúng và IoT.

Trang 10

4.Giới thiệu ,thông số kỹ thuật của LCD

LCD1602 là một màn hình LCD đơn giản, có kích thước 16x2 ký tự Nó là một trong những loại màn hình LCD phổ biến nhất và được sử dụng rộng rãi trong các ứng dụng nhúng, điện tử và máy tính.Màn hình LCD1602 được điều khiển bởi một bộ điều khiển đơn giản, thường là HD44780, và có thể giao tiếp với vi điều khiển bằng giao thức đơn giản như parallel hoặc serial.Màn hình LCD1602 có thể hiển thị các ký tự ASCII, số và ký tự đặc biệt, với độ phân giải 2 dòng x 16 ký tự Nó cũng có thể hiển thị các biểu tượng tùy chỉnh được lập trình.

*Dưới đây là các thông số kỹ thuật cơ bản của màn hình LCD1602:

Trang 11

+Nhiệt độ hoạt động: từ -20°C đến 70°C +Độ ẩm hoạt động: từ 10% đến 90%

Để điều khiển màn hình LCD1602, vi điều khiển hoặc microcontroller gửi các tín hiệu điều khiển thông qua các chân đầu vào/ra Các tín hiệu này bao gồm tín hiệu điều khiển để lựa chọn dòng và cột trên màn hình, tín hiệu để ghi ký tự hoặc dữ liệu vào màn hình, và tín hiệu để điều chỉnh độ sáng và độ tương phản.Khi vi điều khiển gửi các tín hiệu điều khiển và dữ liệu tương ứng, màn hình LCD1602 sẽ hiển thị các ký tự và thông điệp tương ứng lên màn hình.

5 Mạch nạp ST-Link V2

Mạch nạp ST-Link V2 là một mạch nạp dùng để nạp chương trình vào vi điều khiển STM32 Nó được sản xuất bởi STMicroelectronics và được sử dụng rộng rãi trong các dự án điện tử Mạch nạp này có thể được kết nối với máy tính thông qua cổng USB để chuyển đổi dữ liệu giữa máy tính và vi điều khiển.

Mạch nạp ST-Link V2 cung cấp các tính năng sau:

+Nạp chương trình vào vi điều khiển STM32 thông qua cổng JTAG

+Được tích hợp đầy đủ với phần mềm STM32CubeMX để thiết lập các chức năng của vi điều khiển.

Mạch nạp ST-Link V2 có hai đầu cắm để kết nối với vi điều khiển: một cổng JTAG 20 chân và một cổng SWD 2 dây Nó cũng có các đèn LED để hiển thị trạng thái hoạt động và một cổng USB để kết nối với

Trang 12

máy tính Mạch nạp ST-Link V2 được cung cấp với các phần mềm hỗ trợ cho Windows, Linux và MacOS.

II Các phần mềm cần chuẩn bị để mô phỏng và thiết kế mạch

1.Keil C và CubeMX

CubeMX và Keil C là hai phần mềm quan trọng trong việc phát triển ứng dụng nhúng trên các vi điều khiển STM32.

+CubeMX (STM32CubeMX): Là một phần mềm miễn phí của STMicroelectronics, giúp lập trình viên thiết lập các chức năng cơ bản cho vi điều khiển STM32 một cách dễ dàng và nhanh chóng CubeMX cung cấp cho người dùng một giao diện đồ họa để thiết lập các chức năng của vi điều khiển như GPIO, Timer, UART, SPI, I2C và các chức năng khác Sau khi thiết lập các chức năng này, CubeMX tạo ra mã nguồn trong các ngôn ngữ như C hoặc C++, giúp tiết kiệm thời gian và giảm thiểu sai sót trong quá trình lập trình.

+Keil C: Là một môi trường phát triển tích hợp (IDE) dành cho vi điều khiển, bao gồm các công cụ để phát triển, nạp chương trình và gỡ lỗi các ứng dụng nhúng Keil C hỗ trợ nhiều dòng vi điều khiển, trong đó có các dòng vi điều khiển STM32 Keil C sử dụng ngôn ngữ lập trình C hoặc C++ để phát triển các ứng dụng nhúng Nó cũng cung cấp một bộ gỡ lỗi và bộ dụng cụ để nạp chương trình vào vi điều khiển.

Với CubeMX và Keil C, người lập trình có thể dễ dàng thiết lập và phát triển các ứng dụng nhúng trên các vi điều khiển STM32 một cách nhanh chóng và hiệu quả.

2.Proteus

Proteus là một phần mềm mô phỏng mạch điện tử và thiết kế PCB (Printed Circuit Board) được phát triển bởi công ty Labcenter

Electronics Ltd Phần mềm này cho phép người dùng thiết kế mạch điện tử, mô phỏng, kiểm tra và sửa lỗi mạch trước khi đưa vào sản

Trang 13

xuất.Proteus hỗ trợ nhiều loại linh kiện điện tử khác nhau, cho phép người dùng thiết kế mạch với nhiều cấu trúc và chức năng khác nhau Nó cũng hỗ trợ mô phỏng các cảm biến và thiết bị ngoại vi khác, như LCD, LED, động cơ và các module khác.Proteus cung cấp các tính năng tạo ký hiệu, vẽ các ký hiệu đặc biệt và thiết kế PCB Nó cũng hỗ trợ mô phỏng chức năng và hiệu suất của các thiết bị điện tử, giúp người dùng dễ dàng xác định và khắc phục lỗi trong mạch.Proteus là một phần mềm tiện ích trong việc giảng dạy và học tập điện tử Nó cung cấp một môi trường mô phỏng tương tác cho người dùng, giúp họ hiểu rõ hơn về cấu trúc, nguyên lý hoạt động và thiết kế mạch điện tử.Proteus cũng là một công cụ hữu ích cho các kỹ sư và nhà thiết kế để tạo một mô hình mạch điện tử chính xác và hiệu quả, giảm thiểu rủi ro trong sản xuất và đảm bảo chất lượng của sản phẩm.

ST-Link V2 là một chương trình máy tính và một thiết bị phần cứng được sử dụng để lập trình và nạp chương trình vào các vi điều khiển STM32 của STMicroelectronics ST-Link V2 được phát triển bởi STMicroelectronics và hỗ trợ nhiều loại vi điều khiển STM32 khác nhau.

Phần mềm ST-Link V2 bao gồm hai phần chính: phần mềm điều khiển ST-Link V2 và phần mềm nạp chương trình Phần mềm điều khiển ST-Link V2 cài đặt trên máy tính và điều khiển việc kết nối và truyền dữ liệu giữa máy tính và thiết bị nạp chương trình ST-Link V2 Phần mềm nạp chương trình cài đặt trên vi điều khiển và được sử dụng để nạp chương trình vào vi điều khiển.

ST-Link V2 hỗ trợ giao tiếp USB với máy tính, cho phép người dùng kết nối với vi điều khiển và nạp chương trình một cách dễ dàng Nó cũng hỗ trợ chế độ gỡ lỗi và cho phép người dùng thực hiện các bước điều khiển và theo dõi các biến trong chương trình.

Trang 14

ST-Link V2 được sử dụng rộng rãi trong các ứng dụng lập trình và nạp chương trình cho các vi điều khiển STM32 của STMicroelectronics, từ các dự án nhỏ đến các ứng dụng công nghiệp và IoT Nó cung cấp một giải pháp tiện lợi và hiệu quả cho việc phát triển chương trình và kiểm tra chức năng của các hệ thống điện tử sử dụng vi điều khiển STM32.

III Lập trình STM32 và mô phỏng trên proteus

1.Lập trình STM32

1.1.Cài đặt thư viện HAL và cấu hình cho STM32

Thư viện HAL là một thư viện điều khiển phần cứng đơn giản và trừu tượng, cung cấp một API (Application Programming Interface) cho phép các nhà phát triển viết mã lệnh để điều khiển các ngoại vi phần cứng của STM32 Để cài đặt thư viện HAL cho STM32, chúng em tải về và cài đặt phần mềm STM32CubeIDE từ trang web chính thức của STMicroelectronics, nhà sản xuất của STM32.

Cấu hình SPI: Bạn cần cấu hình SPI trên STM32 để có thể truyền và nhận dữ liệu với ADC0804 và LCD1602.

+Cấu hình các chân GPIO để điều khiển LCD1602:

+Sử dụng 4 chân GPIO để điều khiển dữ liệu của LCD1602 (D4-D7) +Sử dụng 3 chân GPIO để điều khiển tín hiệu RS, RW, E của LCD1602 +Thiết lập các hằng số cho các chân GPIO được sử dụng để điều khiển LCD1602.

+Khởi tạo SPI để giao tiếp với ADC0804, sau đó thiết lập các tham số cho SPI như tốc độ truyền dữ liệu, cách truyền dữ liệu (đồng bộ hoặc không đồng bộ),

1.2.Kết nối các chân của ADC0804 và LCD1602 với STM32

Trang 15

Kết nối các chân của ADC0804 với STM32: ADC0804 sử dụng giao thức SPI để giao tiếp với STM32 Bạn cần kết nối các chân MOSI, MISO, SCK và SS của STM32 với các chân tương ứng trên ADC0804.

1.3.Lập trình cho vi điều khiển STM32F103C8T6 giao tiếp với ADC0804 và hiển thị giá trị lên LCD1602

*ADC0804 giao tiếp với STM32

Ngày đăng: 08/04/2024, 12:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w