Tải bản đầy đủ (.pdf) (81 trang)

Thiết kế và điều khiển hệ thống phân bố đều nhiệt trong lò ấp trứng loại nhỏ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.02 MB, 81 trang )

NHIỆM VỤ ĐỒ ÁN
Nhiệm vụ của đề tài của em là tập trung vào tìm hiểu Thiết kế và điều
khiển hệ thống phân bố đều nhiệt trong lò ấp trứng loại nhỏ, nội dung của đề
tài bao gồm:
 Khảo sát và phân tích điều kiện nhiệt trong lo ấp trứng
 Thiết kế cơ cấu phần cứng đảm bảo phân phối đều nhiệt trong lò.
 Lập trình điều khiển đảm bảo phân phối đều nhiệt và thông gió trong
lò tự động.
 Viết báo cáo tổng kết đồ án.

1


LỜI CẢM ƠN
Em xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Công
Nghệ Thông Tin và Truyền Thông - Đại học Thái Nguyên và đặc biệt là cô giáo
ThS.Ngô Thị Vinh - Khoa Công Nghệ Điện Tử và Truyền Thông đã tận tình chỉ
bảo và định hướng giúp em hoàn thành đề tài này.
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè luôn tạo điều kiện
thuận lợi, động viên và giúp đỡ em trong suốt thời gian học tập cũng như trong quá
trình tìm hiểu và nghiên cứu.
Thái Nguyên, tháng 6 năm 2016
Sinh viên thực hiện

Nguyễn Văn Mạnh

2


LỜI CAM ĐOAN
Em xin cam đoan cuốn đồ án này do chính em nghiên cứu. Hệ thống phần


cứng và chương trình phần mềm do em thiết kế và xây dựng. Các thông tin số liệu
trong đồ án là hoàn toàn trung thực, chính xác và có nguồn gốc rõ ràng. Trong quá
trình nghiên cứu em có tham khảo một số tài liệu có trong danh mục tài liệu tham
khảo được liệt kê cuối đồ án.
Sinh viên

Nguyễn Văn Mạnh

3


MỤC LỤC
NHIỆM VỤ ĐỒ ÁN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
LỜI CẢM ƠN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
LỜI CAM ĐOAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
MỤC LỤC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
LỜI MỞ ĐẦU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
CHƯƠNG 1. TỔNG QUAN KIT STM32F0 DISCOVERY . . . . . . . . . . . . . . . . . . . . 8
1.1 Đặc điểm của ARM STM32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1 Tính mềm dẻo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2 Sự an toàn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.3 Tính bảo mật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.4 Phát triển phần mềm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2. Bộ kít F0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3. Vi điều khiển STM32F0R8T6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.1. Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.3. Sơ đồ khối Vi điều khiển STM32F0R8T6. . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.4. Thanh ghi dữ liệu cổng I/O.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.6. Bộ so sánh (COMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Tổng quan kít STM32F051R8T6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5 Cấu trúc phần cứng STM32F0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6 Các khối chức năng kit STM32F0- Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.6.1 Bản vẽ cơ khí của KIT STM32F0 - Discovery . . . . . . . . . . . . . . . . . . . . . . . 18
1.6.4. Khối nguồn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6.6. Đèn LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6.7. Các nút ấn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.7. Các thông số kỹ thuật trên kit STM32F0- Discovery . . . . . . . . . . . . . . . . . . . . 25
1.8. Tính năng RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4


1.8.1. Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.8.2. tổng quan về RTC trong STM32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.8.2.1 RTC calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.8.2.1.1 Khởi tạo calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.8.2.2 Cấu hình RTC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.8.2.3 Cấu hình RTC Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.8.2.4 chức năng thay thế đầu ra RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.8.2.4.1 RTC_CALIB output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.8.2.4.2 RTC_ALARM output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.8.2.5.Bảo vệ RTC với các khía cạnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.8.2.5.1 Nhập / Thoát khỏi chế độ khởi tạo. . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.8.2.5.2 RTC đồng bộ hóa xung clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.8.2.6 RTC firmware driver API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.8.2.7 Bắt đầu với RTC Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.8.2.7.1 cấu hình Alarm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.8.2.7.2 Cấu hình RTC Wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.8.2.7.3 cấu hình đầu ra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
CHƯƠNG 2 : PHÂN TÍCH BÀI TOÁN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1. cấu tạo và quá trình phát triển của phôi trứng . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.1.1 Cấu tạo và thành phần trứng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.1.1 Màng nhầy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.1.2 Vỏ cứng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.1.3 Màng vỏ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.1.4 Lòng trắng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.1.5 Lòng đỏ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.1.2Quá trình phát triển của phôi(gà con): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.1.3 Phương pháp chọn và loại trứng khi soi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2. lò ấp trứng và điều kiện thông gió . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5


2.2.1. Công dụng lò ấp trứng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.2 Yêu cầu điều kiện thông gió cho lò ấp trứng . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3 Phân tích các yêu cầu của hệ thống thông gió của lò ấp trứng . . . . . . . . . . . . 41
2.3.1 thùng xốp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3.2 Quạt thông gió . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3.3 khay đựng nước . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.4 Giàn đảo trứng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4 Thiết kế module phần mềm và lập trình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.1 khối nguồn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.2 khối vi điều khiển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.3 Module relay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.4 Động cơ đảo trứng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4. Thiết kế module phần mềm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4.1. Module main.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4.2. Module điều khiển ngắt stm32f0xx_it.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.4.3. Lưu đồ thuật toán. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1. Hình ảnh hệ thống lò ấp trứng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.1.1. Hình ảnh tổng thể . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.2. Hình hệ thống đảm bảo lưu thông gió . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2. Kết quả ấp thử trứng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
KẾT LUẬN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
TÀI LIỆU THAM KHẢO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
NHẬN XÉT CỦA GIẢNG VIÊN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6


LỜI MỞ ĐẦU
Lĩnh vực công nghệ thông tin ngày càng phát triển và ngày càng được ứng
dụng rộng rãi trong các lĩnh vực của cuộc sống xã hội. Việc hội nhập, tiếp thu kiến
thức để áp dụng vào cuộc sống luôn là vấn đề được mọi người quan tâm. Con
người ngày càng sáng chế ra nhiều loại máy móc, phương tiện hữu ích để phục vụ
cho con người, nhằm giảm đi công sức mà con người phải bỏ ra, giúp cho công
việc đạt hiệu quả hơn.
Trong đồ án này, em đã nghiên cứu tìm hiểu về KIT STM32F0 – Discovery và
vi điều khiển STM32F051R8T6 sau đó Thiết kế và điều khiển hệ thống phân bố đều
nhiệt trong lò ấp trứng loại nhỏ .Hệ thống này áp dụng vào trong lĩnh vực nông
nghiệp chăn nuôi cụ thể là mô hình lò ấp trứng trong gia cầm. Đề tài đồ án được chia
làm ba chương
Chương I: tổng quan kit stm32f0 discovery.
Chương II: phân tích bài toán.
Chương III: kết quả thực nghiệm

7


CHƯƠNG 1. TỔNG QUAN KIT STM32F0 DISCOVERY

1.1. Đặc điểm của ARM STM32
1.1.1. Tính mềm dẻo
Thoạt nhìn thì các ngoại vi của STM32 giống như những vi điều khiển
khác, như hai bộ chuyển đổi ADC, timer, I2C, SPI, USB và RTC. Tuy nhiên mỗi
ngoại vi trên đều có đặc tính riêng. Ví dụ như bộ ADC 12 bit có gắn một cảm biến
nhiệt độ để tự động điều chỉnh khi nhiệt độ thay đổi và hỗ trợ nhiều mode chuyển
đổi. Mỗi bộ timer có bốn khối capture compare, mỗi khối timer có thể kiên kết với
các khối timer khác để tạo ra một mảng các timer tinh vi. Một timer cao cấp
chuyên hỗ trợ điều khiển động cơ, với 6 đầu vào PWM với dead time lập trình
được và một đường break input sẽ buộc tín hiệu PWM sang một trạng thái an toàn
đã được cài sẵn. Ngoại vi nối tiếp SPI có một khối kiểm tổng CRC bằng phần cứng
cho 8 và 16 word hỗ trợ tích cực cho giao tiếp thẻ nhớ SD hoặc MMC.
STM32 có hỗ trợ thêm 7 kênh DMA(Direct Memory Access). Mỗi kênh có
thể dùng để truyền dữ liệu đến các thanh ghi ngoại vi hoặc từ các thanh ghi ngoại vi
đi với kích thước từ (word ) dữ liệu truyền có thể là 8/16 hoặc 32 bit. Mỗi ngoại vi
có thể có một bộ điều khiển DMA đi kèm dùng để gửi hoặc đòi dữ liệu theo yêu cầu.
Một bộ phận sử bus nội và ma trận bus tối thiểu hóa sự tranh chấp bus giữa truy cập
dữ liệu thông qua CPU và các kênh DMA. Điều đó cho phép các đơn vị DMA hoạt
động linh hoạt, dễ dùng và tự động điều khiển các luồng dữ liệu bên trong vi điều
khiển.
STM32 là một vi điều khiển tiêu thụ năng lượng thấp và đạt hiệu quả cao.
Nó có thể hoạt động ở điện áp 2V, chạy ở tần số 72 Mhz và dòng tiêu thụ chỉ có
36mA với tất cả các khối bên trong vi điều khiển đều được hoạt động. Kết hợp với
chế độ tiết kiệm năng lượng của Cortex, STM32 tiêu thụ 2µA khi ở chế độ chờ.
Một bộ dao động nội RC 8Mhz cho phép chip nhanh chóng thoát khỏi chế độ tiết
kiệm năng lượng trong khi bộ dao động ngoài đang khởi động. Khả năng nhanh đi
8


vào và thoát khỏi chế độ tiết kiệm năng lượng làm giảm nhiều sự tiêu hao năng

lượng tổng thể.
1.1.2. Sự an toàn
Ngày nay các ứng dụng hiện đại thường phải hoạt động trong môi trường
khắt khe, đòi hỏi tính an toàn cao, cũng như đòi hỏi sức mạnh xử lí và càng nhiều
thiết bị ngoại vi tinh vi. Để đáp ứng các yêu cầu khắt khe đó STM32 cung cấp một
số tính năng phần cứng hỗ trợ các tính năng tốt nhất. Chúng bao gồm một bộ phát
hiện điện áp thấp, một hệ thống bảo vệ xung clock và hai bộ watchdogs. Bộ đầu
tiên là watchdog cửa sổ. Watchdog này phải được làm tươi trong một khung thời
gian xác định. Nếu nhấn nó quá sớm hoặc quá muộn thì nó sẽ bị kích hoạt. Bộ thứ
hai là một Watchdog độc lập, có bộ dao động bên ngoài tách biệt với xung nhịp hệ
thống chính. Hệ thống bảo vệ xung nhịp có thể phát hiện lỗi của dao động chính
bên ngoài (thường là thạch anh) và chuyển sang dùng bộ dao động nội RC 8Mhz.
1.1.3. Tính bảo mật
Một trong những yêu cầu khắt khe khác của thiết kế hiện đại là nhu cầu bảo
mật mã chương trình để ngăn chặn sao chép trái phép phần mềm. Bộ nhớ FLASH
của STM32 có thể được khóa để chống truy cập đọc Flash thông qua cổng debug.
Khi tính năng bảo vệ được kích hoạt, bộ nhớ Flash cũng được bảo vệ chống ghi để
ngăn chặn mã không tin cậy được chèn vào bảng vecto ngắt. Hơn nữa bảo vệ ghi
có thể được cho phép trong phần còn lại của bộ nhờ Flash. STM32 cũng có một
đồng hồ thời gian thực và một khu vực nhỏ dữ liệu trên SRAM được nuôi nhờ
nguồn pin. Khu vực này có một đầu vào chống giả mạo, có thể kích hoạt một sự
kiện ngắt khi có sự thay đổi trạng thái ở đầu vào này. Ngoài ra một sự kiện chống
giả mạo sẽ tự động xóa dữ liệu được lưu trên SRAM được nuôi bằng nguồn pin.
1.1.4. Phát triển phần mềm
Nếu bạn đã sử dụng một vi điều khiển dựa trên lõi ARM, các công cụ phát triển
đã được hỗ trợ tập lệnh Thumb-2 và dòng Cortex. Ngoài ra ST cũng cung cấp một thư
viện điều khiển thiết bị ngoại vị, một thư viện phát triển USB như một thư viện ANSI
9



C và mã nguồn đó là tương thích với các thư viện trước đó được công bố cho vi điều
khiển ARM7 và ARM9. Có rất nhiều RTOS mã nguồn mở và thương mại và
middleware (trung gian) (TCP/IP, hệ thống tập tin,.v.v..) hỗ trợ cho họ Cortex. Dòng
Cortex-M3 cũng đi kèm một hệ thống gỡ lối hoàn toàn mới gọi là CodeSight. Truy cập
vào hệ thống CodeSight thông qua cổng Debug (Debug Access Port ), cổng này hỗ trợ
kết nối chuẩn JTAG hoặc giao diện 2 dây (serial wire -2 Pin), cũng như cung cấp trình
điều khiển chạy gỡ lối, hệ thống CodeSight trên STM32 cung cấp một data watchpoint
và một công cụ theo dõi (instrucmentation trace). Công cụ này có thể gửi thông tin về
ứng dụng được lựa chọn đến công cụ gỡ lối. Điều này có thể cung cấp thêm các thông
tin gỡ lối và cũng có thể sử dụng trong quá trình thử nghiệm phần mềm.
1.2. Bộ kít F0
Bộ STM32F0 - Discovery giúp ta khám phá các tính năng thiết bị và để
phát triển các ứng dụng một cách dễ dàng. Nó được dựa trên vi điều khiển
STM32F030R8T6, một loạt vi điều khiển STM32 F0 32-bit ARM ® Cortex ™ M0, và bao gồm một công cụ ST-LINK/V2 nhúng gỡ lỗi, đèn LED, nút bấm và
một board nguyên mẫu.
1.3. Vi điều khiển STM32F0R8T6
1.3.1. Giới thiệu
Các STM32F0DISCOVERY giúp ta khám phá các tính năng STM32F0
Cortex-M0 và để phát triển các ứng dụng một cách dễ dàng. Nó bao gồm tất cả
mọi thứ cần thiết cho người mới bắt đầu và người dùng có kinh nghiệm để bắt đầu
một cách nhanh chóng. Dựa trên KIT STM32F0 - Discovery, nó bao gồm một
công cụ ST-LINK/V2 nhúng gỡ lỗi, đèn LED, nút bấm và một bảng mẫu bổ sung
cho kết nối dễ dàng của các thành phần bổ sung và mô-đun. Một số lượng lớn các
ví dụ phần mềm ứng dụng đã sẵn sàng để chạy miễn phí có sẵn trên
www.st.com/stm32f0 -Discovery để hỗ trợ đánh giá và phát triển nhanh chóng.
1.3.3. Sơ đồ khối Vi điều khiển STM32F0R8T6

10



11


Hình 1.2. Sơ đồ khối Vi điều khiển STM32F0R8T6

12


 Nhân : ARM 32 bit, tần số lên tới 48MHz.
 Bộ nhớ: 16 KB đến 64 KB bộ nhớ Flash và 8 KB SRAM.
 Đơn vị tính toán CRC.
 Quản lí Power và Reset: Dải điện áp: 2V đến 3,6 V, thiết lập lại nguồn
lên , nguồn xuống(POR/PDR), chế độ nguồn thấp : Sleep, Stop, StandBy, nguồn
cho RTC và thanh ghi lưu trữ.
 Quản lí xung nhịp: Dao động thạch anh từ 4 MHz đến 32 MHz, 32 KHz
dao động hiệu chỉnh cho RTC.
 Cổng vào /ra lên tới 55 chân trong đó có 36 vào/ra có khả năng chịu được
5V.
 5 kênh điều khiển DMA
 1 bộ ADC 12 bit tốc độ 1 us lên tới 16 kênh: Dải chuyển đổi từ 0V đến
3,6 V và nguồn tương tự riêng biệt từ 2,4 V đến 3,6 V.
 1 bộ chuyển đổi D/A 12 bit.
 2 bộ so sánh tương tự nguồn thấp với đầu vào đầu ra lập trình được.
 STM32F0 có 11 bộ timer:
+ Một bộ timer 16 bit 7 kênh timer điều khiển tiến bộ cho 6 kênh PWM đầu
ra, tạo thời gian chết, dừng khẩn cấp.
+ Một bộ 32 bit, 1 bộ 16 bit lên tới 4 IC/OC có thể sử dụng giải mã điều khiển
IR.
+ Một bộ timer 16 bitvoiws 2 IC/OC và ONC, tạo thời gian chết và dừng
ngay lập tức.

+ Hai bộ timer 16 bit với mỗi bộ IC/OC, ONC, tạo thời gian chết, dừng lại
khẩn cấp và cổng bộ điều khiển cho điều khiển IR.
+ Độc lập và hệ thống WDT.
+ SysTick timer : 24 bit đếm xuống.
13


+ Một bộ basic timer 16 bit để điều khiển DAC.
+ Đồng hồ thời gian thực
 Giao diện giao tiếp : 2 bộ I2Cs, 2 bộ USARTs, 2 bộ SPIs, giao diện
HDMI và 96 bit unique ID.
1.3.4. Thanh ghi dữ liệu cổng I/O.
Mỗi cổng I/O có 2 thanh ghi dữ liệu, thanh ghi dữ liệu I/O(GPIOx_IDR và
GPIOx_ODR). Dữ liệu đầu vào thông qua I/O được lưu trữ trong thanh ghi dữ liệu
đầu vào( GPIOx_IDR ), nó là thanh ghi dữ liệu chỉ Read. GPIOx_ODR lưu trữ dữ
liệu đầu ra và nó là thanh ghi truy cập Read/Write
Thanh ghi dữ liệu đầu vào cổng GPIO

14


Hình 1.3. Thanh ghi dữ liệu cổng I/O
- Thanh ghi dữ liệu đầu vào cổng GPIO

Hình 1.4. Thanh ghi dữ liệu đầu vào cổng GPIO
1.3.6. Bộ so sánh (COMP)
- Các STM32F0xx nhúng hai bộ so sánh mục đích chung COMP1 và
COMP2 có thể được sử dụng như thiết bị độc lập (tất cả các thiết bị đầu cuối có
sẵn trên
I /O hoặc kết hợp với bộ tính giờ. Chúng có thể được sử dụng cho một loạt

các chức năng bao gồm:
+ Dịch vụ báo thức dậy từ chế độ công suất thấp kích hoạt bởi một tín hiệu
tương tự.
+ Điều tín hiệu Analog.
+ Chu kỳ theo chu kỳ vòng lặp kiểm soát hiện nay khi kết hợp với DAC và
một đầu ra PWM từ một bộ đếm thời gian.
- Tính năng chính COMP:

15


+ Rail-to-rail bộ so sánh
+ Mỗi so sánh có ngưỡng lựa chọn: 3 I / O pins, DAC1, Điện áp điện áp nội
bộ và ba tiểu nhiều giá trị (1/4, 1/2, 3/4)
+ Hiện tượng trễ lập trình
+ Tốc độ và tiêu dùng lập trình
+ Các kết quả đầu ra có thể được chuyển hướng đến một I / O hoặc nhiều
đầu vào bộ đếm thời gian để kích hoạt:
+ Chụp sự kiện: Sự kiện OCref_clr (đối với chu kỳ theo chu kỳ kiểm soát
hiện hành) và sự kiện lao cho tắt máy PWM nhanh
+ Hai bộ so sánh có thể được kết hợp trong một so sánh cửa sổ
+ Mỗi so sánh đã làm gián đoạn khả năng thế hệ với dịch vụ báo thức từ
giấc ngủ và chế độ Stop (thông qua bộ điều khiển EXTI)
Sơ đồ khối bộ so sánh:

16


Hình 1.5. Sơ đồ khối bộ so sánh.
1.4. Tổng quan kít STM32F051R8T6


17


Hình 1.6. Hình ảnh kit STM32F051R8T6-Discovery
- Vi điều khiển STM32F051R8T6 gồm 64 KB Flash, 8 MB bộ nhớ RAM
trong một gói LQFP64.
- On-board ST-LINK/V2 với chế độ lựa chọn chuyển sang sử dụng các bộ
như ST-LINK/V2 (với kết nối SWD cho lập trình và gỡ lỗi) .
18


- Board cung cấp điện: Bus thông qua USB hoặc từ một nguồn cung cấp
điện áp 5 V cung cấp điện bên ngoài ứng dụng bên ngoài: 3 V và 5 V .
- Bốn đèn LED:
+ LD1 (màu đỏ) cho 3,3 V điện vào .
+ LD2 (màu đỏ / xanh lá cây) để giao tiếp USB .
+ LD3 (màu xanh) cho sản lượng PC9.
+ LD4 (màu xanh) cho đầu ra PC8 .
- Hai nút bấm (người sử dụng và thiết lập lại).
- Tiêu đề mở rộng cho tất cả các LQFP64 I / O để kết nối nhanh chóng và
dễ dàng tạo mẫu bảng thăm dò.
- Một bảng bổ sung được cung cấp có thể được kết nối với cổng mở rộng
cho mẫu dễ dàng hơn và thăm dò.
1.5 .Cấu trúc phần cứng STM32F0
Kit STM32F0-Discovery được thiết kế trên vi điều khiển STM32F051R8T6
bao gồm LQFP 64 pin. Hình 2.2 minh họa các kết nối giữa các thiết bị ngoại vi
của nó và STM32F030R8T6 (ST-LINK/V2, nút bấm, đèn LED và kết nối )

19



Hình 1.7: Sơ đồ khối STM32F0-Discovery
Vi điều khiển ARM STM32F051R8T6 kết hợp hiệu suất cao Cortex - M0
32-bit RISC lõi hoạt động ở một tần số 48 MHz , tốc độ cao kỷ lục (lên đến 64
20


Kbytes bộ nhớ Flash và lên đến 8 Kbytes SRAM ) , và một loạt các thiết bị ngoại
vi và I / O . Tất cả các thiết bị cung cấp tiêu chuẩn giao diện truyền thông (lên đến
hai I2Cs , lên đến hai SPIs , và lên đến hai USARTs ) , 12-bit ADC, lên đến 6 mục
đích chung giờ 16-bit và một bộ đếm thời gian PWM tiên tiến kiểm soát .
Vi điều khiển STM32F051R8T6 hoạt động trong khoảng nhiệt độ từ - 40
đến 85 ° C nhiệt độ , từ 2,4 V đến 3,6 V cung cấp điện. Một tập hợp toàn diện các
chế độ tiết kiệm năng lượng cho phép thiết kế các ứng dụng năng lượng thấp.
Những tính năng này làm cho các vi điều khiển STM32F051R8T6 thích hợp
cho một loạt các ứng dụng như kiểm soát ứng dụng và người sử dụng giao diện,
thiết bị cầm tay , A/V thu và truyền hình kỹ thuật số, thiết bị ngoại vi máy tính ,
nền tảng chơi game , xe đạp điện , thiết bị tiêu dùng , máy in , máy quét, báo động
hệ thống , hệ thống liên lạc video…
Các chương trình và gỡ lỗi công cụ ST-LINK/V2 được tích hợp trên
STMF0 -DISCOVERY. Các ST-LINK/V2 nhúng có thể được sử dụng theo 2 cách
khác nhau tùy theo các nước.
+ Chương trình / gỡ lỗi MCU trên ST-Link trên kit
+ Chương trình / gỡ lỗi một MCU trong mạch nạp chương trình ứng dụng
bên ngoài bằng cách sử dụng một cáp kết nối với kết nối SWD CN3.
Các ST-LINK/V2 nhúng chỉ hỗ trợ cho các thiết bị SWD STM32. Để biết
thông tin về việc gỡ lỗi và lập trình các tính năng tham khảo hướng dẫn sử dụng
UM1075 (ST-LINK/V2 trong mạch debugger / lập trình cho STM8 và STM32)
trong đó mô tả chi tiết tất cả các tính năng ST-LINK/V2.

1.6 .Các khối chức năng kit STM32F0- Discovery
1.6.1.Bản vẽ cơ khí của KIT STM32F0 - Discovery
Hình 2.3 và hình 2.4 giúp ta xác định vị trí các tính năng trên KIT
STM32F051. Pin 1 CN2, CN3, P1 và P2 kết nối được xác định bởi một hình
vuông.

21


22


Hình 1.8. Mặt trên của KIT STM32F051R8T6
Đây là sơ đồ kích thước và khoảng cách các chân trên KIT, đây là thông số rất
quan trọng giúp người thiết kế tạo ra thư viện mạch nguyên lý và mạch in cho linh
kiện.

23


24


Hình 1.9. Mặt dưới của KIT STM32F051R8T6
1.6.4. Khối nguồn
- Nguồn được cung cấp bằng máy tính thông qua cáp USB, hoặc một nguồn
điện 5V từ bên ngoài thông qua cáp nguồn.
- D1 và D2 là hai điốt bảo vệ nguồn 5V và 3V khi nguồn được cung cấp từ
bên ngoài.
- Nguồn 5V và 3V có thể được sử dụng như nguồn cung cấp điện đầu ra cho

các ứng dụng được kết nối với chân P1 và P2.
- Nguồn 5V cũng có thể được sử dụng như là nguồn cung cấp năng lượng
đầu vào, ví dụ: Khi kết nối USB không được kết nối với máy PC. Trong trường
hợp này, STM32F051R8T6 - DISCOVERY phải được hỗ trợ bởi một đơn vị cung
cấp điện hoặc thiết bị phụ trợ tuân thủ các tiêu chuẩn EN-60.950-1: 2006 +
A11/2009, và phải được an toàn điện áp với khả năng hạn chế.
- VDD = 2,0 đến 3,6 V: Nguồn điện bên ngoài cho I / O, cung cấp bên
ngoài thông qua VDD chân.
- VDDA = 2,0-3,6 V: Bên ngoài cung cấp điện tương tự cho ADC, cài đặt
lại các khối, RCS và PLL (điện áp tối thiểu được áp dụng cho VDDA là 2,4 V khi
ADC và DAC được sử dụng). Mức điện áp VDDA phải luôn luôn lớn hơn hoặc
bằng mức điện áp VDD và phải được cung cấp đầu tiên.
- VBAT = 1,65-3,6 V: Cung cấp điện cho RTC, bên ngoài đồng hồ dao
động 32 KHz .
- Các POR giám sát chỉ cung cấp điện áp VDD. Trong giai đoạn khởi động
nó là cần thiết rằng VDDA nên đến đầu tiên và lớn hơn hoặc bằng VDD.
- Các màn hình PDR cả VDD và điện áp cung cấp VDDA, tuy nhiên người
giám sát cung cấp điện VDDA có thể bị vô hiệu hóa (bằng cách lập trình một chút
Lựa chọn chuyên dụng) để giảm điện năng tiêu thụ nếu thiết kế ứng dụng đảm bảo
rằng VDDA cao hơn hoặc bằng VDD.
- Cơ quan quản lý có ba chế độ hoạt động: chính (MR), năng lượng thấp
25


×