1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài đọc giá trị của ADC và thực hiện yêu cầu

15 51 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

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 3,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vậy thì yêu cầu đặt ra cho người lập trình dùng STM32F103 đọc giá trị ADC và dùng động cơ để lập trình cho con khủng long tự nhảy qua chướng ngại vật.. + Bộ nhớ : 64 kbytes bộ nhớ Flash

Trang 1

BÁO CÁO BÀI TẬP LỚN VI XỬ LÝ

Nhóm 1

Đề tài: Đọc giá trị của ADC và thực hiện yêu cầu

Nguyễn Ngọc Anh – B18DCVT018

Vũ Đình Chiến – B17DCVT037

Nguyễn Tiến Đạt – B18DCVT089

Nguyễn Vũ Đạt – B17DCVT056

Giảng viên: Nguyễn Trung Hiếu

Trang 2

1 TỔNG

QUAN

2 LÝ

THUYẾT

3 HOẠT

ĐỘNG

4 DEMO

Trang 3

1 TỔNG

QUAN 1.1 Yêu cầu và mục tiêu

Yêu cầu: Đọc giá trị ADC và thực hiện yêu cầu sau: Sử dụng động cơ servor Máy tính

không kết nói mạng thì google sẽ có trò chơi khủng long vượt cây rào Vậy thì yêu cầu đặt

ra cho người lập trình dùng STM32F103 đọc giá trị ADC và dùng động cơ để lập trình cho con khủng long tự nhảy qua chướng ngại vật

Mục tiêu:

- Có kỹ năng lập trình C cho STM32

- Nắm được cơ bản về các ngoại vi dùng

- Lên ý tưởng viết code

- Vân dụng kiến thức đã học vào bài tập lớn

Trang 4

1.2 Công cụ và linh kiện

STM32F103C8T6 là vi điều khiển 32bit, thuộc họ F1 của dòng chip STM32 hãng ST

+ Lõi ARM COTEX M3

+ Tốc độ tối đa 72Mhz

+ Bộ nhớ : 64 kbytes bộ nhớ Flash và 20 kbytes SRAM

Module cảm biến ánh sáng này hoạt dựa vào sự thay đổi của cường độ của ánh sáng môi trường Nếu trời tối thì cường độ ánh sáng yếu, điện trở của cảm biến ánh sáng trên module tăng lên và ngược lại, nếu cường độ ánh sáng tăng thì điện trở của cảm biến ánh sáng sẽ giảm

Trang 5

1.2 Công cụ và linh kiện

Động cơ Servo SG90 (Góc Quay 180) là Servo phổ biến dùng trong các mô hình điều khiển nhỏ và đơn giản như cánh tay robot.

USB ra UART dùng PL2303 dùng để kết nối với máy tinh hiển thị serial trên Arduino IDE

Trang 6

2 LÝ

THUYẾT 2.1 Bộ ADC

ADC – Analog to digital Converter là bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC trong STM32F103 là bộ ADC có 12 bit tức là giá trị đọc về nằm trong khoảng 0 ->2^12= 4096 STM32F103C8 có 2 mô hình ADC đó là ADC1 và ADC2

+ Độ phân giải 12 bit tương ứng với giá trị maximum là 4095

+ Chế độ có: Single mode hay Continuous mode

+ Tự động calib và có thể điều khiển hoạt động ADC bằng xung Trigger

Trang 7

2.1 Bộ ADC

Vận dụng đọc ADC tại chân V0 được kết nối chân PA0 của module quang trở

Trang 8

2.2 UART

UART - Universal synchronous asynchronous receiver transmitter là một ngoại vi

cơ bản và thường dùng trong các quá trình giao tiếp với các module như : Xbee, Wifi, Blutooth, Khi giao tiếp UART kết hợp với các IC giao tiếp như MAX232CP,

SP485EEN, thì sẽ tạo thành các chuẩn giao tiếp RS232, RS485

STM32F103C8 có 3 bộ UART với nhiều mode hoạt động Một số tính năng nổi bật như

sau:

+ Đầy đủ các tính năng của bộ giao tiếp không đồng bộ

+ Điều chỉnh baud rate bằng lập trình và tốc độ tối đa lên đến 4.5Mb/s

+ Độ dài được lập trình là 8 hoặc 9 bit

+ Cấu hình bit stop hỗ trợ là 1 hoặc 2

+ Có chân clock nếu muốn chuyển giao tiếp thành đồng bộ

Trang 9

2.2 UART

Vận dụng sử dụng USB PL2303 kết nối với máy tinh theo chân cắm như sau:

Trang 10

2.3 PWM

PWM(pulse-with modulation) hay còn gọi nôm na là “băm xung” hay “điều khiển độ rộng xung” là ứng dụng phổ biến và thường dùng trong lĩnh vực điều khiển động cơ

Do servo hoạt động ở tần số 50Hz, tức chu kì xung PWM điều khiển servo là T = 20ms Nhiệm vụ của người lập trình là sử dụng timer 2 của STM32F103C8T6 băm xung tạo ra xung có chu kì là 20ms để điều khiển động cơ

Công thức tính toán tạo xung PWM có tần số 50Hz như sau:

Tần số PWM = 50Hz => Chu kỳ PWM = 20ms

F(PWM) = F(SYS) / [(PSC+1)(Period+1)]

Ta có F(SYS) = 72MHz => (PSC+1)(Period+1) = 72MHz/50Hz

= 1440000 Hz

Ta chọn PSC = 1339 => Period = 999 (có lợi cho tính toán)

Trang 11

2.3 PWM

Cấu hình timer2 kênh 1 là chân PA1 để tiến hành băm xung điều khiển động cơ SG90

Trang 12

3 HOẠT ĐỘNG 3.1 Sơ đồ khối

Trang 13

Bước 1: Đọc ADC được theo phương pháp đo trung bình 10 lần rồi lưu vào biến adc_tb sau đó reset biến cho lần đọc tiếp theo.

Bước 2: Khảo sát giá trị min và max của ADC đọc được hiển thị lên cổng com ảo bằng

cách kết nối PA2 và PA3 với chân RX và TX của module PL2303, phần mềm hiển thị sử dụng Serial của Adruino IDE

Bước 3: Thu nhỏ giá trị trong khoảng từ 1000 đến 2000 thành giá trị từ 100 đến 125

để

điều khiển góc quay từ 135 độ cho đến 180 độ bằng cách sử dụng hàm Map

3.2 Quá trình thực hiện

Trang 14

3.3 Lưu đồ thuật toán

Trang 15

4 DEMO

Ngày đăng: 28/07/2021, 11:40

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w