1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo cáo STM32

13 27 2
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 323,59 KB

Nội dung

Qua môn học hệ thống nhúng, chúng em đã hiểu thêm về các hệ thống nhúng trong thực tế, về đặc điểm, tính ưu việt cũng như tính ứng dụng của chúng đối với con người.. Với mong muốn làm rõ

Trang 1

GVHD: Th.S Lê Minh Thành

SVTH: Trần Minh Luân MSSV: 14141180

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ



TP HỒ CHÍ MINH- T1/2018

ĐỀ TÀI:

ĐO NHIỆT ĐỘ DÙNG LM35 HIỂN THỊ LCD

VỚI KIT STM32F4

BÁO CÁO THỰC TẬP HỆ THỐNG NHÚNG

Trang 2

MỤC LỤC

Trang 3

Chương 1: GIỚI THIỆU ĐỀ TÀI

1 GIỚI THIỆU ĐỀ TÀI.

Ngày nay, ứng dụng hệ thống nhúng rất đa dạng và trở nên phổ biến, đóng vai trò quan trọng trong đời sống con người Trong cuộc sống hằng ngày có rất nhiều sản phẩm nhúng như: lò vi sóng, nồi cơm điện, điều hòa, điện thoại di động,

ô tô, máy bay, tàu thủy, cơ cấu chấp hành thông minh, robot v.v ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi trong cuộc sống của chúng ta

Qua môn học hệ thống nhúng, chúng em đã hiểu thêm về các hệ thống nhúng trong thực tế, về đặc điểm, tính ưu việt cũng như tính ứng dụng của chúng đối với con người Với mong muốn làm rõ các kiến thức đã học và giới thiệu các

ứng dụng cơ bản của hệ thống nhúng, nhóm chúng em quyết định chọn đề tài: “Đo

nhiệt độ, dùng LM35 hiển thị LCD với kit STM32F4” để nghiên cứu

2 MỤC TIÊU ĐỀ TÀI.

 Lựa chọn được các module ngoại vi cần sử dụng, nắm rõ các thông số kỹ thuật

 Tìm hiểu các chức năng cơ bản về KIT STM32F4

 Viết chương trình điều khiển hệ thống

Trang 4

Chương 2: THIẾT KẾ PHẦN CỨNG 2.1 STM32F4

Hình 2-1:STM32F401

Dòng ARM Cortex KIT STM32F4 DISCOVERY là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ Không giống như các chip ARM khác, dòng Cortex là một lõi xử lí hoàn thiện, dựa ra một chuẩn CPU và kiến trúc hệ thống chung Dòng Cortex KIT STM32F4 DISCOVERY gồm

có 3 phân nhánh chính: dòng A dành cho các ứng dụng cao cấp, dòng R dành cho các ứng dụng thời gian thực như các đầu đọc và dòng M dành cho các ứng dụng vi điều khiển và chi phí thấp STM32 được thiết kế dựa trên dòng Cortex-M3, dòng Cortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hệ thống, kết hợp với tiêu thụ năng luợng thấp, CortexM3 được thiết kế trên nền kiến trúc mới, do đó chi phí sản xuất đủ thấp để cạnh tranh với các dòng vi điều khiển 8 và 16-bit truyền thống Các chip ARM7 và ARM9 được các nhà sản xuất bán dẫn thiết kế với giải pháp riêng của mình, đặc biệt là phần xử lí các các ngắt đặc biệt (exception) và các ngắt thông thường (interrupt) Cortex-M3 đưa ra một lõi vi điều khiển chuẩn nhằm cung cấp phần tổng quát, quan trọng nhất của một vi điều khiển, kiến trúc cơ bản của SMT32 - ARM Cortex M3 bao gồm hệ thống ngắt (interrupt system), SysTick timer (đuợc thiết kế cho hệ điều hành thời gian thực), hệ thống kiểm lỗi (debug system) và memory map Không gian địa chỉ 4Gbyte của Cortex-M3 đuợc chia thành các vùng cho mã chương trình, SRAM, ngoại vi và ngoại vi hệ thống Không

Trang 5

giống với ARM7 được thiết kế theo kiến trúc Von Neumann (bộ nhớ chương trình

và bộ nhớ dữ liệu chung với nhau), Cortex-M3 đuợc thiết kế dựa theo kiến trúc Harvard (bộ nhớ chương trình và bộ nhớ dữ liệu tách biệt với nhau), và có nhiều bus cho phép thực hiện các thao tác song song với nhau, do đó làm tăng hiệu suất của chip Không giống với các kiến trúc ARM truớc đó, dòng Cortex cho phép truy cập dữ liệu không xếp hàng (unaligned data, vì chip ARM là kiến trúc 32bit, do đó tất cả các dữ liệu hoặc mã chương trình đều được sắp sếp khít với vùng bộ nhớ là bội số của 4byte) Ðặc điểm này cho phép sử dụng hiệu quả SRAM nội Dòng Cortex còn hỗ trợ việc đặt và xoá các bit bên trong hai vùng 1 Mbyte của bộ nhớ bằng phương pháp gọi là bit banding Ðặc điểm này cho phép truy cập hiệu quả tới các thanh ghi ngoại vi và các cờ được dùng trên bộ nhớ SRAM mà không cần một

bộ xử lí luận lí (Boolean processor)

Thông số kỹ thuật

• Trên bảng ST-LINK / V2 với chuyển đổi chế độ lựa chọn để sử dụng bộ như một ST-LINK / V2 độc lập (có đầu nối SWD để lập trình và gỡ lỗi)

• Cung cấp điện cho ban: thông qua bus USB hoặc từ nguồn điện áp 5 V bên ngoà.i

• Nguồn ứng dụng bên ngoài: 3 V và 5 V

• L3GD20: cảm biến chuyển động ST MEMS cảm biến đầu ra 3 trục

• LSM303DLHC: Hệ thống ST MEMS trong hệ thống bao gồm bộ cảm biến gia tốc tuyến tính kỹ thuật số 3D và cảm biến từ tính số 3 chiều

• MP45DT02: Bộ cảm biến âm thanh ST MEMS, micrô kỹ thuật số omnidirectional

• CS43L22, âm thanh DAC với trình điều khiển loa lớp D tích hợp

• Tám đèn LED:

 LED1 (đỏ / xanh) để truyền dữ liệu thông qua cổng USB

 LED2 (màu đỏ) cho nguồn 3.3 V

 Bốn đèn LED người dùng: LED3 (cam), LED4 (xanh lá cây), LED5 (đỏ)

và LED6 (màu xanh)

• Hai đèn LED USB OTG: LED7 (xanh) VBus và LED8 (màu đỏ) trên dòng điện

Trang 6

• Hai nút nhấn (nút nhấn cho người sử dụng và nút RESET).

• USB OTG với đầu nối vi-AB

• Tiêu đề mở rộng cho I / O LQFP100 cho một kết nối nhanh chóng với các mẫu thử nghiệm và một thăm dò dễ dàng

Phần mềm tự do toàn diện bao gồm nhiều ví dụ, một phần của gói STM32CubeF4 hoặc STSW-STM32136 cho việc sử dụng thư viện tiêu chuẩn kế thừa

Bảng 1: Thông số cơ bản của dòng STM32F4

Dòng

STM32F4

FCPU(MHz) Flash(kb) RAM(kb) Small

package(mm)

Run curren t

Stop curren t STM32F401 84 128 to 152 Up to 96 Down to 3x3 Down

to 128

Down

to 10 STM32F410 100 64 to 128 32 Down to

2.553x2.579

Down

to 89

Down

to 6 STM32F411 100 256 to 512 128 Down to

3.034x3.22

Down

to 100

Down

to 12 STM32F412 100 512 to

1024

256 Down to

3.653x3.651

Down

to 112

Down

to 18 STM32F413 100 1024 to

1536

320 Down to

3.951x4.039

Down

to 115

Down

to 18

2.2 LCD 16X2:

Trong quá trình hoạt động, để hiển thị nhiệt độ thì có nhiều thiết bị như LCD, Led ma trận Trong bài báo cáo này, nhóm đã chọn LCD làm nhiệm vụ hiển thị

LCD: Có nhiều loại LCD nhưng thị trường hiện nay phổ biến với 2 loại nhỏ: LCD20X4, LCD16X2 Ở đây, nhóm sử LCD 16x2 để hiển thị đo nhiệt độ

Trang 7

Hình 2.2 LCD 16x2

• Chân cấp nguồn: VSS, VDD, Vo (điều khiển độ tương phản)

• Chân RS: Chọn thanh ghi

• Chân RW: Chân chọn chế độ đọc ghi

• Chân E: chân cho phép chốt xung kí tự

• D0-D7: chân dữ liệu

• A, K: chân điều khiển đèn nền

Chính vì những thông số trên nhóm đã chọn LCD 16x2 để thực hiện nhiệm vụ hiển thị trong mạch này Chỉ cần 1 LCD là có thể hiển thị được các thông tin cần thiết

Chính vì những thông số trên nhóm đã chọn LCD 16x2 để thực hiện nhiệm vụ hiển thị trong mạch này Chỉ cần 1 LCD là có thể hiển thị được các thông tin cần thiết

Dùng biến trở 5K để điều chỉnh độ sáng cho LCD

RS: Thiết lập dữ liệu truyền là dữ liệu kí tự hay lệnh Khi gữi lệnh hay cần đọc trạng thái của LCD chân này được kéo mức thấp Chân này được kéo mức cao khi truyền hay đọc dữ liệu kí tự từ LCD

R/W: Điều khiển hướng dữ liệu được truyền, khi ở mức thấp dữ liệu sẽ được truyền tới LCD Ngược lại, khi cần đọc dữ liệu từ LCD chân này sẽ được kéo lên mức cao

E: Dữ liệu chỉ được truyền khi có sự chuyển mức từ cao sang thấp trên chân này

D0-D7: là các chân truyền dữ liệu, có 2 kiểu truyền dữ liệu 8bits (D0-D7) và 4bits Nếu dùng 8bits sẽ mất 8 chân nên tiết kiệm người ta thường dùng chế

độ 4bits (D4-D7) nhưng phải truyền 2 lần

Sơ đồ nối chân LCD với STM32F411VETx:

Trang 8

LCD STM32F411VETx

V0 Chân giữa của biến trở 5k

R/W GND ( để chi ghi vào chip, không đọc trên chip)

2.3 LM35:

Hình 2.3: LM35

Hiện nay, việc xác định nhiệt độ thì cần có cảm biến Các dữ liệu thu thập được từ cảm biến sẽ được bộ ADC của vi điều khiển xử lí Trên thị trường có nhiều loại cảm biến nhiệt độ như DS18B20, LM35, LM335…

Với yêu cầu của hệ thống đo nhiệt độ ngoài trời dao động từ hơn 20 độ đến dưới 50 độ nên các loại cảm biến trên đều đáp ứng được yêu cầu Và với cảm biến LM35 ta sẽ có độ chính xác tốt (± 1OC), tầm đo rộng từ -55-> 150OC, độ nhạy 10mV/OC

Sau khi tìm hiểu, nhóm đã quyết định chọn LM35 để đo nhiệt độ Ngoài các đặc tính được nêu ở trên LM35 còn có những đặc tính sau:

• Hoạt động khi cung cấp nguồn từ 4->30V

• Có tổng trở ngõ ra thấp 0,1Ohm cho 1mA tải

Trang 9

• Độ chính xác cao ở 25OC là 0.5OC.

• Nhiệt độ ở -55OC thì áp ra là -550mV

• Nhiệt độ ở 25OC thì áp ra là 250mV

• Nhiệt độ ở 150OC thì áp ra là 1500mV

Sơ đồ nối chân LM35 với STM32F411VETx:

LM35 STM32F411VETx

SIGNAL PA0 ( adc 10bit)

Trang 10

Chương 3: THIẾT KẾ PHẦN MỀM 3.1 CODE ĐIỀU KHIỂN

#include "main.h"

#include "stm32f4xx_hal.h"

#include "lcd_txt.h"

uint16_t adc_value, nhietdo=0;

char buffer0[16];

ADC_HandleTypeDef hadc1;

void SystemClock_Config(void);

static void MX_GPIO_Init(void);

static void MX_ADC1_Init(void);

int main(void)

{

HAL_Init();

SystemClock_Config();

MX_GPIO_Init();

MX_ADC1_Init();

HAL_ADC_Start_IT(&hadc1);

lcd_init();

lcd_puts(0,0,(int8_t*)"**luan_sang**");

lcd_puts(1,0,(int8_t*)"NHIET DO: ");

lcd_puts(1,12,(int8_t*)"*");

lcd_puts(1,13,(int8_t*)"C");

while (1)

{

Trang 11

sprintf(buffer0,"%d", nhietdo);

lcd_puts(1,9,(int8_t*)buffer0);

}

}

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) {

if(hadc ->Instance == hadc1.Instance)

{

adc_value = HAL_ADC_GetValue(&hadc1);

nhietdo = adc_value/3.1;

}

}

Trang 12

Chương 4: KẾT QUẢ THỰC HIỆN

Sau khi thực hiện, nhóm đã hoàn thành yêu cầu đặt ra là đọc và hiển thị nhiệt độ trên LCD 16x2

Hình 4.1: Kết quả sau khi đọc và hiển thị nhiệt độ trên LCD16x2

Chương 5:

Trang 13

TÀI LIỆU THAM KHẢO

[1] Giao tiếp với ARM, https://vi.scribd.com/document/115119163/giao-ti

%E1%BA%BFp-v%E1%BB%9Bi-ARM, Ngày truy cập: 29/12/2017

[2] Cảm biến nhiệt độ LM35, http://linhkienrtc.com/san-pham-p465595/cam-bien-nhiet-do-lm35.html, Ngày truy cập: 25/12/2017

Ngày đăng: 24/06/2018, 23:55

w