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

báo cáo thực tập kỹ thuật công ty tnhh deviot

40 0 0
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 40
Dung lượng 8,26 MB

Cấu trúc

  • PHẦN 1. THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT NHIỆT ĐỘ, ĐỘ ẨM, KHÍ GAS (9)
    • 1.1. Mục đích hoàn cảnh sử dụng (9)
    • 1.2. Nội dung nghiên cứu (9)
    • 1.3. Xác định yêu cầu (9)
      • 1.3.1. Yêu cầu chức năng (9)
      • 1.3.2. Yêu cầu phi chức năng (9)
    • 1.4. Cơ sở lý thuyết (10)
      • 1.4.1. Tổng quan về vi điều khiển ESP8266 (10)
      • 1.4.2. Tổng quan về module cảm biến nhiệt độ và độ ẩm DHT11 (11)
      • 1.4.3. Tổng quan về module cảm biến khí GAS MQ2 (14)
      • 1.4.4. Tổng quan về màn hình LCD 16x2 (14)
      • 1.4.5. Tổng quan về module hạ áp LM2596 (0)
    • 1.5. Tổng qua về chuẩn giao tiếp I2C (0)
      • 1.5.1. Giới thiệu giao tiếp I2C (0)
      • 1.5.2. Cách thức hoạt động (0)
    • 1.6. Thiết kế sơ đồ khối (0)
    • 1.7. Sơ đồ chi tiết từng khối (0)
      • 1.7.1. Khối điều khiển (0)
      • 1.7.2. Khối cảm biến và chuyển đổi tín hiệu (0)
      • 1.7.3. Khối hiển thị (17)
      • 1.7.4. Khối cảnh báo cháy (20)
      • 1.7.5. Khối nguồn (21)
      • 1.7.6. Sơ đồ mạch nguyên lý (22)
    • 1.8. Kết quả mô phỏng (23)
      • 1.8.1. Mô phỏng mạch trên Altium (23)
      • 1.8.2. Kết quả mô phỏng bằng Arduino (24)
    • 1.9. Kết luận (24)
      • 1.9.1. Sản phẩm (24)
      • 1.9.2. Đánh giá (27)
      • 1.9.3. Kết luận (28)
  • PHẦN 2. TÌM HIỂU, NGHIÊN CỨU, THỰC HÀNH LẬP TRÌNH VI ĐIỀU KHIỂN STM32F10318T6 (29)
    • 2.1. Tổng quan về vi điều khiển STM32F103C8 Blue Pill (29)
      • 2.1.1. Giới thiệu sơ lược về dòng Vi điều khiển STM32 (29)
      • 2.1.2. Thông số kĩ thuật (30)
      • 2.1.3. Nguồn cấp cho STM32F103C8T6 (30)
      • 2.1.4. Bộ nhớ (30)
      • 2.1.5. Các ngõ vào/ra (I/O pins) của vi điều khiển STM32F103C8 Blue Pill (31)
      • 2.1.6. Lập trình cho STM32F103C8 (31)
    • 2.2. Công cụ sử dụng để lập trình (32)
      • 2.2.1. KeilC uvision 5 (32)
    • 2.3. STM32Cube (32)
      • 2.3.1. STM32Cube là gì? (32)
      • 2.3.2. Có những gì trong hệ sinh thái STM32Cube (33)
    • 2.4. Kiến thức đã đạt được về lập trình STM32F103 (35)
  • PHẦN 3. KẾT LUẬN (38)

Nội dung

Qua lầnthực tập này, Em không chỉ có thêm nhiều kiến thức về chuyên môn mà còn nâng caohơn được kỹ năng giao tiếp, làm quen với môi trường làm việc chuyên nghiệp.Em cũng xin gửi lời cảm

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT NHIỆT ĐỘ, ĐỘ ẨM, KHÍ GAS

Mục đích hoàn cảnh sử dụng

Mục đích sản phẩm của nhóm có chức năng đo nhiệt độ, độ ẩm hoạt động ở điều kiện thường từ 0 đến 50 Khi có rò rỉ khi GAS sẽ lập tức sáng LED cảnh báo và còi báo động.

Hoàn cảnh sử dụng chủ yếu trong các hộ gia đình, văn phòng,nhà máy,trường học…để thay thế cho nhiệt kế và cảnh báo rò rỉ khí Gas.

Nội dung nghiên cứu

Nội dung 1: Tìm hiểu về module ESP8266

Nội dung 2: Tìm hiểu về module cảm biến nhiệt độ và độ ẩm DHT11, module cảm biến khí gas MQ2

Nội dung 3: Thiết kế và tính toán thiết kế mạch phần cứng.

Nội dung 4: Thử nghiệm và hiệu chỉnh phần cứng.

Nội dung 5: Đánh giá kết quả thực hiện của mô hình.

Nội dung 6: Viết báo cáo thực hiện.

Xác định yêu cầu

1.3.1 Yêu cầu chức năng Đọc nhiệt độ, độ ẩm hiển thị lên LCD: đọc nhiệt độ, độ ẩm từ cảm biến DHT11 bằng bộ ADC của ESP8266 và hiển thị lên màn hình LCD 16x2.

Sử dụng MQ2 để kiểm tra lượng khí Gas trong không khí, khi vượt ngưỡng cho phép sẽ cảnh báo cháy bằng cách sáng LED và còi báo động kêu.

1.3.2 Yêu cầu phi chức năng

Kích thước: Demo board đồng ( khoảng 15×15cm), sau đó làm mạch tay (khoảng 12x12cm)

Sử dụng điện áp: ADC : 0-3.3V, LCD: 5V

Thời gian phản hồi: hiển thị gần như ngay lập tức lên LCD

Cơ sở lý thuyết

1.4.1 Tổng quan về vi điều khiển ESP8266

ESP8266 là một mạch vi điều khiển có thể giúp chúng ta điều khiển các thiết bị điện tử.Thêm vào đó nó được tích hợp wi-fi 2.4GHz có thể dùng cho lập trình.

ESP8266 là một hệ thống trên chip (SoC), do công ty Espressif của Trung Quốc sản xuất Nó bao gồm bộ vi điều khiển Tensilica L106 32-bit (MCU) và bộ thu phát Wi-Fi Nó có 11 chân GPIO (Chân đầu vào / đầu ra đa dụng) và một đầu vào analog Bản thân chip ESP8266 có 17 chân GPIO, nhưng 6 trong số các chân này (6-11) được sử dụng để giao tiếp với chip nhớ flash trên bo mạch Ngoài ra nó có kết nối Wi-Fi, vì vậy bạn có thể sử dụng nó để kết nối với mạng Wi-Fi, kết nối Internet, lưu trữ máy chủ web với các trang web thực, để điện thoại thông minh của bạn kết nối với nó.

Có nhiều module khác nhau của nó, các module độc lập như dòng ESP - ## của AI Thinker hoặc các bộ phát triển hoàn chỉnh như NodeMCU DevKit hoặc WeMos D1 Các bo mạch khác nhau có thể có các chân cắm khác nhau, có ăng-ten Wi-Fi khác nhau hoặc dung lượng bộ nhớ flash khác nhau trên bo mạch.

1.4.2 Tổng quan về module cảm biến nhiệt độ và độ ẩm DHT11.

Module cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp Digital 1 dây truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào.

Hình 1.4.2 Module DHT11 a Chức năng của các chân:

Chân DATA: chân tín hiệu. b Nguyên lý hoạt động. Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước: Gửi tín hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại.

Khi đã giao tiếp với DHT11, cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được.

Hình 1.4.3 Cách thức hoạt động của DHT11

Bước 1: gửi tín hiệu Start

MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian > 18ms Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm.

MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào.

Sau khoảng thời gian là 20 - 40 às, DHT11 sẽ kộo chõn DATA xuống thấp. Nếu > 40 às mà chõn DATA khụng được kộo xuống thấp nghĩa là khụng giao tiếp được với DHT11.

Chõn DATA sẽ ở mức thấp 80 às sau đú nú được DHT11 kộo lờn cao trong

80 às Bằng việc giỏm sỏt chõn DATA, MCU cú thể biết được cú giao tiếp được với DHT11 không Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT11.

Bước 2: Đọc giá trị trên DHT11.

DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 Byte Trong đó: Byte 1: giá trị phần nguyên của độ ẩm (RH%).

Byte 2: giá trị phần thập phân của độ ẩm (RH%).

Byte 3: giá trị phần nguyên của nhiệt độ (°C).

Byte 4: giá trị phần thập phân của nhiệt độ (°C).

Nếu Byte 5 = (Byte 1 + Byte 2 + Byte 3 + Byte 4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa.

Ví dụ như ta nhận được 40 bit (5 Byte) dữ liệu như sau:

8 Bit Checksum (Byte 5) = 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 0100 1101 Độ ẩm: 0011 0101 = 35H = 53% RH (ở đây phần thập phân có giá trị 0000

0000, nên ta bỏ qua không tính phần thập phân)

Nhiệt độ: 0001 1000 = 18H = 24°C (ở đây phần thập phân có giá trị 0000 0000, nên ta bỏ qua không tính phần thập phân) Đọc dữ liệu: Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của nhiệt độ và độ ẩm.

Hình 1.4.5 Bit 0, Bit1 của giao thức OneWire

Sau khi tiến hiệu được đưa về 0, ta đợi chân DATA của DHT11 được MCU kéo lên

1 Nếu chõn DATA là 1 trong khoảng 26 – 28 às thỡ là bit 0, cũn nếu tồn tại 70 às là bit

1 Do đú trong lập trỡnh ta bắt sườn của chõn DATA, sau đú delay 50 às Nếu giỏ trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì ta đọc được là bit 1 Cứ như thế ta đọc các bit tiếp theo.

1.4.3 Tổng quan về module cảm biến khí GAS MQ2

1.4.4 Tổng quan về màn hình LCD 16x2 c Giới thiệu sơ lược về LCD.

Màn hình LCD là kiểu màn hình tinh thể lỏng nhỏ dùng để hiển thị chữ hoặc số trong bảng mã ASCII Màn hình sử dụng là màn hình text LCD 16x2 xanh dương hoặc xa lá, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự, màn hình có độ bền cao, rất phổ biến, dễ sử dụng thích hợp cho những người mới học và làm dự án. d Thông số kỹ thuật. Điện áp hoạt động: 5V.

Chữ trắng, nền xanh dương.

Khoảng cách giửa hai chân 0.1 inch.

Nhiệt độ hoạt động: -20 đến +70°C.

Hiển thị: 16 ký tự x 2 dòng.

Hình 1.4.6 Hình ảnh thực tế LCD 16x2

Bảng 1.4.1 Chức năng các chân của LCD

Bảng 1.7.4 Bảng so sánh DHT11 và DHT 22

Tiêu chí DHT11 DHT22 Độ chính xác ± 5% RH và ±2 độ C ±2% RH và ±0.5 độ C.

Nhiệt độ: -40-80 độ C Điện áp hoạt động 3.3 - 5.5VDC 3.3 - 5.5VDC

Module DHT11 có 3 chân gồm: VCC, GND, DATA như hình:

Hình 1.7.20 Sơ đồ chân Module DHT11 k Khối cảm biến GAS

Hình 1.7.21 Sơ đồ khối cảm biến GAS

Em sử dụng Module cảm biến khí GAS MQ2

Hình 1.7.22 Module cảm biến khí GAS MQ2

Module bao gồm IC cảm biến MQ2, LED đỏ báo nguồn và LED xanh báo khí GAS Module cho đầu ra tín hiệu ở cả 2 dạng Analog và Digital giúp người dùng có thể sử dụng tuỳ ý Sử dụng ADC

Hình 1.7.23 Sơ đồ chân cảm biến MQ2

Hình 1.7.24 Sơ đồ khối hiện thị

Sử dụng LCD 16x02 kết hợp Modulec chuyển đổi I2C cho LCD Điều này giúp chúng ta tiết kiệm được chân của thiết bị điều khiển.

Hình 1.7.25 LCD 16x02 kết hợp Module chuyển đổi IC2 a LCD 16x02

Hình 1.7.26 Màn hình LCD 16x02 Nguyên lý hoạt động:

Hình 1.7.27 Sơ đồ chân LCD 16x02

- Chân VSS, V0 và VDD: VDD cấp dưong nguồn 5V, VSS là chân Ground, V0 được dùng để điều khiển độ tưong phản của LCD.

- Chân chọn thanh ghi RS (Register Select): Có hai thanh ghi trong LCD, chân

RS (Register Select) được dùng để chọn thanh ghi, như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để chophép người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu dòng v.v… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị trên LCD.

- Chân đọc/ ghi (R/W): Ðầu vào đọc/ ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0 hoặc đọc thông tin từ nó khi R/W = 1.

- Chân cho phép E (Enable): Chân cho phép E dược sử dụng bởi LCD để chốt dữ liệu của nó Khi dữ liệu được cấp dến chân dữ liệu thì một xung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu Xung này phải rộng tối thiểu là 450ns.

- Chân D0 - D7: Ðây là 8 chân dữ liệu 8 bit, được dùng dể gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD Ðể hiển thị các chữ cái và các con số, chúng ta gửi các mã ASCII của các chữ cái từ A đến Z, a đến f và các con số từ 0 – 9 đến các chân này khi bật RS = 1 Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ. l Module chuyển đổi I2C cho LCD 16x02

Module này giúp tiết kiệm chân Input/ Output cho Vi điều khiển ( từ 16 xuống 4 chân) và đơn giản hóa việc điều khiển màn hình LCD.

Hình 1.7.28 Module chuyển đổi I2C 1.7.4 Khối cảnh báo cháy

Hình 1.7.29 Sơ đồ khối cảnh báo cháy

Khối cảnh báo cháy có chức năng báo động cho con người khi phát hiện khí GAS vượt mức cho phép.

Khi phát hiện khí GAS vượt mức, còi báo động sẽ kêu, đồng thời LED báo động sẽ nhấp nháy liên tục.

Hình 1.7.30 Còi chip báo động

Kết quả mô phỏng

1.8.1 Mô phỏng mạch trên Altium

Hình 1.8.35 Mô phỏng mặt trước của mạch tay

Hình 1.8.36 Mô phỏng mặt sau của mạch tay

1.8.2 Kết quả mô phỏng bằng Arduino

Hình 1.8.37 Kết quả mô phỏng đo được bằng Serial Monitor

Kết luận

Sau quá trình nghiên cứu và thực hành, em đã hoàn thành được mạch làm tay.

Hình 1.9.2 Mạch sau khi gắn linh kiện

Em đã tiến hành đo thực tế và đã thu được kết quả:

Hình 1.9.3 Mạch chạy và đo được kết quả Đây là Code mà em đã sử dụng:

#define LED 13 unsigned long timer = 0; void delay_100ms()

{ if ( (unsigned long) (millis() - timer ) > 1000 )

DHT dht (DHTPIN, DHTTYPE ); void setup() {

Serial.begin(115200); pinMode(buzz OUTPUT , ); dht.begin(); lcd.begin(); lcd.backlight();

} void loop() { float t dht = readTemperature(); float h dht = readHumidity(); value analogRead int = (A0); //đọc giá trị điện áp ở chân A0 - chân cảm biến

//(value luôn nằm trong khoảng 0-1023)

// đọc cảm biến khí gas

Serial.println value ( ); value if( > 500)

} lcd.setCursor(0 0 , ); lcd.print("THUC TAP DEVIOT "); lcd.setCursor(0 1 , ); lcd.print("T:"); lcd.print t ( ); lcd.setCursor(9 1 , ); lcd.print("H:"); lcd.setCursor(11 1 , ); lcd.print h ( );

} void Canhbaogas(){ digitalWrite (buzz HIGH , ), delay_100ms (); digitalWrite (buzz LOW , ), delay_100ms (); digitalWrite (LED HIGH , ), delay_100ms (); digitalWrite (LED LOW , ), delay_100ms ();

Chức năng đo nhiệt độ, độ ẩm hoạt động tốt, đạt được yêu cầu kỹ thuật. Chức năng đo khí GAS hoạt động tốt, độ chính xác cao.

Khối cảnh báo hoạt động tốt và có độ phản hồi nhanh.

Mạch đã đảm bảo các yêu cầu về độ kích thước, chính xác, công suất, giá thành và thời gian. n Nhược điểm

Chức năng đo nhiệt độ, độ ẩm chưa đạt độ chính xác cao, sai số khá lớn.

Sản phẩm đã đạt được tất cả các yêu cầu chức năng và các yêu cầu phi chức năng. Qua công việc thiết kế sản phẩm lần này, em đã thu được những kinh nghiệm và kiến thức vô cùng hữu ích Project này giúp nâng cao khả năng lập trình, kĩ năng thiết kế và làm mạch Tổng quát hơn là kỹ năng thiết kế một sản phẩm điện tử theo quy trình thiết kế chuẩn.

Thông qua việc thực tập, em đã tính lũy rất nhiều kiến thức thực tế về chuyên ngành điện tử viễn thông Ngoài những kiến thức về bộ môn, em cũng học được từ các anh những kinh nghiệm, kỹ năng thiết thực giúp ích cho em thực hiện tốt hơn những nhiệm vụ, bài tập của mình như là kĩ năng mềm, kĩ năng làm việc nhóm…

Trong quá trình thực hiện đề tài này, dù rất cố gắng nhưng do vốn kiến thức hạn hẹp thêm vào đó là tình hình dịch COVID leo thang, khó khăn nên không thể tránh khỏi những thiếu sót Em rất mong nhận được những đóng góp, phê bình, chia sẻ của các Thầy Cô để các đề tài tiếp theo của nhóm sẽ hoàn thiện hơn.

Em xin chân thành cảm ơn!

TÌM HIỂU, NGHIÊN CỨU, THỰC HÀNH LẬP TRÌNH VI ĐIỀU KHIỂN STM32F10318T6

Tổng quan về vi điều khiển STM32F103C8 Blue Pill

2.1.1 Giới thiệu sơ lược về dòng Vi điều khiển STM32.

STM32 là một trong những dòng chip phổ biến của ST với nhiều họ thông dụng như F0,F1,F2,F3,F4… Stm32f103 thuộc họ F1 với lõi là ARM COTEX M3. STM32F103 là vi điều khiển 32 bit, tốc độ tối đa là 72Mhz Giá thành cũng khá rẻ so với các loại vi điều khiển có chức năng tương tự Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sử dụng.

Một số ứng dụng chính: dùng cho driver để điều khiển ứng dụng, điều khiển ứng dụng thông thường, thiết bị cầm tay và thuốc, máy tính và thiết bị ngoại vi chơi game, GPS cơ bản, các ứng dụng trong công nghiệp, thiết bị lập trình PLC, biến tần, máy in, máy quét, hệ thống cảnh báo, thiết bị liên lạc nội bộ…

Hình 2.1.39 KIT STM32F103C8T6 Blue Pill

Vi điều khiển chính: STM32F103C8T6. Điện áp hoạt động: 3.3VDC. Điện áp cấp 5VDC qua cổng Micro USB sẽ được chuyển đổi thành 3.3VDC qua IC nguồn và cấp cho Vi điều khiển chính.

Tích hợp sẵn thạch anh 8Mhz.

Tích hợp sẵn thạnh anh 32Khz cho các ứng dụng RTC.

Ra chân đầy đủ tất cả các GPIO và giao tiếp: CAN, I2C, SPI, UART, USB,

Tích hợp Led trạng thái nguồn, Led PC13, Nút Reset.

Mạch nạp: có khá nhiều loại mạch nạp như : ULINK, J-LINK , CMSIS- DAP, STLINK… ở đây mình sử dụng Stlink vì giá thành khá rả và debug lỗi cũng tốt.

2.1.3 Nguồn cấp cho STM32F103C8T6. Điện áp cấp 5VDC qua cổng Micro USB sẽ được chuyển đổi thành 3.3VDC qua

IC nguồn và cấp cho Vi điều khiển chính.

Bộ nhớ Flash nhúng, Có sẵn 64 hoặc 128 Kbyte Flash nhúng để lưu trữ các chương trình và dữ liệu.

Bộ nhớ RAM, 20 Kbyte SRAM nhúng được truy cập (đọc / ghi) ở tốc độ CPUClock với 0 trạng thái chờ.

2.1.5 Các ngõ vào/ra (I/O pins) của vi điều khiển STM32F103C8 Blue Pill.

Hình 2.1.40 Sơ đồ, chức năng của từng chân

Phần mềm lập trình: có khá nhiều trình biên dịch cho STM32 như IAR Embedded Workbench, Keil C… Ở đây mình sử dụng Keil C nên các bài viết sau mình chỉ đề cập đến Keil C.

Thư viện lập trình: có nhiều loại thư viện lập trình cho STM32 như:STM32snippets, STM32Cube LL, STM32Cube HAL, Standard PeripheralLibraries, Mbed core Mỗi thư viện đều có ưu và khuyết điểm riêng, ở đây mình xin phép sử dụng Standard Peripheral Libraries vì nó ra đời khá lâu và khá thông dụng, hỗ trợ nhiều ngoại vi và cũng dễ hiểu rõ bản chất của lập trình.

Công cụ sử dụng để lập trình

KeilC uvision 5 là một phần mềm hỗ trợ cho người dùng trong việc lập trình cho vi điều khiển các dòng khác nhau (Atmel, AVR, ) Keil C giúp người dùng soạn thảo và biên dịch chương trình C hay cả ASM thành ngôn ngữ máy để nạp vào vi điều khiển giúp chúng ta tương tác giữa vi điều khiển và người lập trình.

Hình 2.2.41 Giao diện KeilC uvision 5

STM32Cube

STM32Cube là sự kết hợp của các công cụ phần mềm và các thư viện phần mềm nhúng: Đầy đủ các công cụ phần mềm hỗ trợ chạy trên máy tính giúp giải quyết tất cả những nhu cầu trong một chu trình phát triển dự án hoàn chỉnh.Các phần mềm nhúng được thiết kế để chạy trên các dòng vi điều khiển STM32 và các vi xử lý tương ứng với nhiều chức năng khác nhau từ các driver cho từng ngoại vi của vi điều khiển đến những tính năng định hướng ứng dụng nâng cao.

2.3.2 Có những gì trong hệ sinh thái STM32Cube

Hình 2.3.42 Hệ sinh thái STM32Cube o Bộ công cụ phần mềm STM32Cube:

STM32CubeMX, một công cụ phần mềm được sử dụng để cấu hình cho bất kì thiết bị STM32 nào Giao diện người dùng đồ họa dễ sử dụng và có thể sinh code C từ việc cấu hình cho các thiết bị lõi ARM Cortex-M và tạo Linux device tree source cho các thiết bị lõi ARM Cortex-A.

STM32CubeIDE, một môi trường phát triển tích hợp Dựa trên các giải pháp nguồn mở như Eclipse, GNU C/C++ toolchain IDE này bao gồm các tính năng báo cáo biên dịch chương trình và các tính năng gỡ lỗi nâng cao.

Nó cũng được tích hợp thêm công cụ STM32CubeMX bên trong để tiện cho việc cấu hình và sinh code

STM32CubeProgrammer, một công cụ cung cấp một môi trường dễ sử dụng và hiệu quả cho việc đọc, ghi và xác minh các thiết bị và bộ nhớ ngoài thông qua nhiều chuẩn giao thức truyền thông có sẵn như JTAG, SWD, UART, USB DFU, I2C, SPI, CAN, …vv.

STM32CubeMonitor, cung cấp các công cụ giám sát mạnh mẽ giúp cho đội ngũ phát triển có thể tinh chỉnh các hoạt động và hiệu suất của ứng dụng mà họ đã xây dựng trong trong thời gian thực. p Các phần mềm nhúng trong hệ sinh thái STM32Cube:

STM32Cube MCU và MPU packages, dành riêng cho từng dòng vi điều khiển STM32 Các package này cung cấp cấp tất cả các thành phần phần mềm nhúng (thư viện) cần có để sử dụng các ngoại vi của dòng vi điều khiển STM32 tương ứng Chúng bao gồm các driver (HAL, low-layer,.v.v.), các middleware và các chương trình ví dụ mẫu được sử dụng trong nhiều trường hợp thực tế.

STM32Cube expansion packages, dành cho các giải pháp định hướng ứng dụng Đây là các package mở rộng của STM32Cube MCU nhằm cung cấp thêm các thành phần phần mềm nhúng, các package này có thể được thiết kế bởi hãng ST hoặc các đối tác của họ để tạo ra thêm các phần mềm nhúng cho dòng vi điều khiển STM32 để gia tăng sự tiện nghi khi lựa chọn sử dụng dòng vi điều điều STM32

STM32Cube, một giải pháp tiết kiệm thời gian toàn diện cho mọi người dùng STM32 STM32Cube mang tất cả các công cụ và các phần mềm nhúng tới cho người dùng STM32 một cách đơn giản, tích hợp Hãng ST đưa ra một giải pháp thân thiện hơn với các doanh nghiệp: Miễn phí bản quyền, các kỹ sư phát triển được hưởng lợi từ phần mềm miễn phí và nguồn mở và họ có thể chia sẻ các mã nguồn mà họ đã phát triển trên các thiết bị STM32. q Các phần mềm phát triển:

Bộ công cụ phát triền phần mềm STM32Cube dựa trên quy trình phát triển lặp 4 bước:

Hình 2.3.43 Quy trình phát triển

Mỗi công cụ trong hệ sinh thái STM32Cube ở trên được ST phát hành thành các bản độc lập Các công cụ phát triển khác dành cho STM32 từ các đối tác đủ điều kiện hoặc bên thứ 3 bao gồm IAR, EWARM hoặc Keil MDK-ARM IDE có thể nhận được các lợi ích từ việc khai thác các tính năng của các phần mềm trong hệ sinh tháiSTM32Cube.

Kiến thức đã đạt được về lập trình STM32F103

GPIO output, GPIO input, giao tiếp với nút nhấn.

- GPIO Output ở chế độ PUSHPULL, OPEN DRAIN.

- Tìm hiểu cách mắc led theo kiểu sink dòng và source dòng.

- GPIO Input Sử dụng điện trở Pullup và Pulldown.

- Hiện tượng nhiễu và chống nhiễu nút nhấn bằng phần cứng và phần mềm. Ngắt ngoài.

- Giới thiệu về ngắt, các mức ưu tiên ngắt

- Ứng dụng ngắt ngoài vào việc chuyển hiệu ứng của LED

- Tìm hiểu và thực hành bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC

- Đọc 1 kênh ADC, đọc nhiều kênh ADC.

- Đọc giá trị biến trở, điện áp.

- Sử dụng cảm biến ánh sáng, ứng dụng bật bóng đèn khi trời tối, tắt bóng đèn khi trời sáng.

- Tìm hiểu về hệ thống xung clock trên STM32F103

- Sử dụng Timer ở chế độ định thời Ngắt Timer.

- Tạo hàm delay bằng Timer.

- Đo khoảng cách sử dụng cảm biến siêu âm. Điều chế PWM

- Tìm hiểu về xung PWM

- Nguyên lí tạo xung PWM trong

- Điều khiển độ sáng bóng đèn bằng biến trở.

- Điều khiển góc quay của động cơ servo.

- Tìm hiểu chuẩn giao tiếp UART.

- Truyền UART lên máy tính.

- Nhận dữ liệu từ máy tính, xử lí dữ liệu khi nhận.

- Điều khiển thiết bị qua Bluetooth

- Tìm hiểu về giao tiếp I2C.

- Giao tiếp với module DS3231.

- DMA Peripheral to Memmory DMA với ADC.

- Truyền, nhận UART với DMA.

- Xử lí ngắt IDLE kết hợp DMA.

USB CDC: Giải pháp thay thế USB to UART.

- Tìm hiểu về giao thức USB.

- Lập trình truyền nhận USB CDC.

Giao tiếp bộ nhớ Flash

- Tìm hiểu bộ nhớ Flash trên STM32.

- Lập trình giao tiếp đọc, ghi, xóa bộ nhớ Flash.

- Thiết kế mạch phát hiện mất điện và lưu dữ liệu vào bộ nhớ flash.

Watchdog Timer - Chống treo thiết bị

- Tìm hiểu về Watchdog Timer

- Lập trình với WatchDog Timer. RTC STM32

- Đọc ghi thời gian với RTC.

Ngày đăng: 17/06/2024, 17:27

HÌNH ẢNH LIÊN QUAN

Hình 1.4.1 Bo mạch ESP8266 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.4.1 Bo mạch ESP8266 (Trang 10)
Hình 1.4.2 Module DHT11 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.4.2 Module DHT11 (Trang 11)
Hình 1.4.3 Cách thức hoạt động của DHT11 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.4.3 Cách thức hoạt động của DHT11 (Trang 11)
Hình 2.1.4.4 Tín hiệu start. - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 2.1.4.4 Tín hiệu start (Trang 12)
Hình 1.4.5 Bit 0, Bit1 của giao thức OneWire - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.4.5 Bit 0, Bit1 của giao thức OneWire (Trang 13)
Hình 1.4.6 Hình ảnh thực tế LCD 16x2 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.4.6 Hình ảnh thực tế LCD 16x2 (Trang 14)
Hình 1.7.21 Sơ đồ khối cảm biến GAS - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.21 Sơ đồ khối cảm biến GAS (Trang 15)
Hình 1.7.20 Sơ đồ chân Module DHT11 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.20 Sơ đồ chân Module DHT11 (Trang 15)
Bảng  1.7.4 Bảng so sánh DHT11 và DHT 22 - báo cáo thực tập kỹ thuật công ty tnhh deviot
ng 1.7.4 Bảng so sánh DHT11 và DHT 22 (Trang 15)
Hình 1.7.22 Module cảm biến khí GAS MQ2 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.22 Module cảm biến khí GAS MQ2 (Trang 16)
Sơ đồ chân: - báo cáo thực tập kỹ thuật công ty tnhh deviot
Sơ đồ ch ân: (Trang 16)
Hình 1.7.24 Sơ đồ khối hiện thị - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.24 Sơ đồ khối hiện thị (Trang 17)
Hình 1.7.25 LCD 16x02 kết hợp Module chuyển đổi IC2 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.25 LCD 16x02 kết hợp Module chuyển đổi IC2 (Trang 17)
Hình 1.7.26 Màn hình LCD 16x02 Nguyên lý hoạt động: - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.26 Màn hình LCD 16x02 Nguyên lý hoạt động: (Trang 18)
Hình 1.7.27 Sơ đồ chân LCD 16x02 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.27 Sơ đồ chân LCD 16x02 (Trang 18)
Hình 1.7.28 Module chuyển đổi I2C 1.7.4. Khối cảnh báo cháy - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.28 Module chuyển đổi I2C 1.7.4. Khối cảnh báo cháy (Trang 20)
Hình 1.7.29 Sơ đồ khối cảnh báo cháy - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.29 Sơ đồ khối cảnh báo cháy (Trang 20)
Hình 1.7.32 Cáp nạp Micro USB - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.32 Cáp nạp Micro USB (Trang 21)
Hình 1.7.31 Module hạ áp BUCK LM2596 - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.7.31 Module hạ áp BUCK LM2596 (Trang 21)
1.7.6. Sơ đồ mạch nguyên lý - báo cáo thực tập kỹ thuật công ty tnhh deviot
1.7.6. Sơ đồ mạch nguyên lý (Trang 22)
Sơ đồ mạch em thiết kế bằng Altium: - báo cáo thực tập kỹ thuật công ty tnhh deviot
Sơ đồ m ạch em thiết kế bằng Altium: (Trang 22)
Hình 1.8.35 Mô phỏng mặt trước của mạch tay - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.8.35 Mô phỏng mặt trước của mạch tay (Trang 23)
Hình 1.8.37 Kết quả mô phỏng đo được bằng Serial Monitor - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.8.37 Kết quả mô phỏng đo được bằng Serial Monitor (Trang 24)
Hình 1.9.38 Mạch tay - báo cáo thực tập kỹ thuật công ty tnhh deviot
Hình 1.9.38 Mạch tay (Trang 25)