BÁO CÁO MÔN VI ĐIỀU KHIỂN Đề tài MÔ HÌNH BĂNG TẢI ĐẾM SẢN PHẨM HIỂN THỊ BẰNG LED 7 ĐOẠN ,Trong công ty và bên ngoài, mạch đếm là một trong những mạch điện tử không thể thiếu, không chỉ ứng dụng trong các mạch chức năng, những ứng dụng cơ bản không cần tốc độ xử lý nhanh các chíp vi điều khiển có độ rộng dữ liệu 8 bit vẫn còn được sử dụng rộng rãi và ứng dụng rất nhiều trong thực tế nhưng hơn hết còn mang tính toán tham gia vào công việc kiểm tra quy trình sản xuất.Vì thế trong nôi dụng đề tài nghiên cứu này chúng em sẽ nghiên cứu về mô hình băng tải đếm sản phẩm hiển thị bằng led 7 đoạn trong công nghiệp.Mục tiêu của bộ sản phẩm : Sử dụng module VĐK STM32F407VET để điều khiển mô hình đếm sản phẩm .
CƠ SỞ LÝ THUYẾT
Sơ đồ khối hệ thống
Hình 2.1 Sơ đồ khối hệ thống
Hình 2.5 Khối xử lí trung tâm
Phần cứng
Phần cứng mà chúng em sử dụng trong đề tài gồm:
2.2.1 Vi xử lí: STM32F407VET
Kit phát triển STM32F407VET6 ARM Cortex-M4, sử dụng vi điều khiển STM32F407, đang được nhiều trường đại học áp dụng trong giảng dạy vi điều khiển ARM Kit này được thiết kế với đầy đủ chân kết nối và các ngoại vi cơ bản như USB, MicroSD, Flash, Pin RTC, cùng với cổng nạp chuẩn Jtag tích hợp.
Thông số kĩ thuật của STM32F407VET:
Điện áp hoạt động : 3V-5VDC từ cổng Mini USB hoặc chân GPIO
Kích thước lỗi nhớ: 32bit
Bộ vi điều khiển STM32F407 có bộ nhớ Flash 512 KB
ST-LINK / V2 được tích hợp trên bo mạch với công tắc chế độ lựa chọn, cho phép sử dụng như một ST-LINK / V2 độc lập Thiết bị này có đầu nối SWD để lập trình và gỡ lỗi hiệu quả.
2.2.2 LED 7 đoạn Anode chung 0.5 Inch 74HC595
Mạch hiển thị 2 LED 7 đoạn 0.5 inch 74HC595 cho phép điều khiển và hiển thị thông tin dễ dàng chỉ với 3 chân giao tiếp nhờ IC ghi dịch 74HC595 Mạch này còn có khả năng mở rộng thêm các LED qua cổng đầu ra nối tiếp và đi kèm bộ thư viện dễ sử dụng, phù hợp cho các ứng dụng như bộ đếm và đồng hồ.
Loại dương chung (Common Anode): nếu cực dương (anode) của tất cả 8 LED được nối với nhau và các cực âm (cathode) đứng riêng lẻ
Với yêu cầu đề tài thì chọn Led 7 đoạn để hiển thị sản phẩm đếm được
Thông số kĩ thuật Led 7 đoạn 0.5 Inch 74HC595:
Dò ng điện sử dụng: 50mA IC
chân giao tiếp: SCLK, RCLK, DIO
Hiển thị 2 led 7 đoạn cỡ 0.5'' Kích thước: 25 x 38mm
Hình 2.8 Led 7 đoạn 0.5 Inch 74HC595
Hình 2.9 Sơ đồ cấu tạo của led 7 đoạn
2.2.3 Cảm Biến Vật Cản Hồng Ngoại E3F-DS10C4
Cảm biến vật cản hồng ngoại E3F-DS10C4 là một sản phẩm chất lượng cao, nổi bật với độ bền và ổn định vượt trội Cảm biến này sử dụng ánh sáng hồng ngoại để phát hiện vật cản phía trước, với khả năng phát ra tia hồng ngoại ở dải tần số chuyên biệt, giúp chống nhiễu hiệu quả ngay cả trong điều kiện ánh sáng ngoài trời.
Cảm biến vật cản hồng ngoại E3F-DS10C4 cho phép điều chỉnh khoảng cách phát hiện thông qua biến trở tích hợp Với cấu trúc ngõ ra Transistor NPN (cảm biến sinking), cảm biến đã được kết nối với điện trở nội 10k lên VCC, giúp người dùng dễ dàng sử dụng mà không cần thêm điện trở kéo lên VCC.
Thông số kĩ thuật cảm biến vật cản hồng ngoại :
Bộ so sánh sử dụng LM393, làm việc ổn định
Điện áp làm việc: 3.3V – 5V DC
Khi bật nguồn, đèn báo nguồn màu đỏ sáng
Lỗ vít 3 mm, dễ dàng cố định, lắp đặt
Hình 2.10 Cảm Biến Vật Cản Hồng Ngoại
Hình 2.11 Sơ đồ chân của cảm biến
Điện áp sử dụng: 3.3~5VDC
Đèn led 5mm màu đỏ
Tích hợp biến trở chỉnh cườ ng độ sáng
Phần mềm hỗ trợ lập trình
STM32CubeMX là công cụ hỗ trợ hiệu quả cho việc cấu hình và tạo mã nguồn cho MCU STM32, với tất cả các thao tác được thực hiện qua giao diện đồ họa Điều này không chỉ giúp đơn giản hóa quá trình lập trình trên STM32 mà còn rút ngắn thời gian nghiên cứu và phát triển.
Hình 2.14: Phần mềm lập trình STM32CubeMX
Hiện nay, có nhiều trình biên dịch ngôn ngữ C cho vi điều khiển 8051 như Mikro C, IAR, SDCC, và Reads 51 Trong số đó, Keil C, hay còn gọi là Vision, là môi trường phát triển tích hợp (IDE) của công ty Keil Software, bao gồm trình soạn thảo ngôn ngữ C, trình biên dịch và công cụ gỡ lỗi.
Keil C là một môi trường phát triển mạnh mẽ, phổ biến trong việc lập trình cho các vi điều khiển lõi 8051 và ARM từ nhiều nhà sản xuất trên toàn cầu.
THIẾT KẾ
Bài toán đặt ra
Mô hình đếm sản phẩm sử dụng cảm biến hồng ngoại và hiển thị trên đèn LED 7 đoạn cho phép người dùng thiết lập số lượng cần đếm Khi chưa nhấn nút bắt đầu, động cơ sẽ không hoạt động Sau khi nhấn nút start, động cơ sẽ chạy và tiếp tục đếm cho đến khi đạt số lượng sản phẩm đã thiết lập, lúc này động cơ sẽ dừng lại và có đèn báo hiệu.
Vi điều khiển STM32 sẽ nhận tín hiệu số từ nút nhấn, hiển thị thông qua LED 7 đoạn Đồng thời, nó cũng nhận tín hiệu từ cảm biến hồng ngoại và hiển thị kết quả bằng LED 7 đoạn.
Dựa và số lượng thiết bị ta sẽ cấu hình số ngõ vào và ngõ ra để phù hợp với các thiết bị ngoại vi
Bảng 3.1: Cấu hình in-out cho vi điều khiển
Ta có sơ đồ đấu chân giữ vi điều khiển và các thiết bị ngoại vi sau:
GPIOD: Pin 8,9,10 – Các chân cấp tín hiệu lep 7 đoạn
GPIOD: Pin 15 – Chân tín hiệu đèn báo
GPIOD: Pin 11 – Chân tín hiệu của cảm biến hồng ngoại
Giải quyết bài toán
Hình 4.1-Sơ đồ giải thuật
Hình 4.2-Sơ đồ giải thuật chi tiết
3.2.2 Các bước thực hiện việc cấu hình code
- Đầu tiên ta mở STM32CubeMx lên, tạo Project mới, chọn chip STM32F407VETxx
- Tiếp theo ta cấu hình các cổng in-out,Rcc
- Sau đó đặt tên dự án, chọn thư mục, phiên bản KeilC và nơi lưu thư mục, cuối cùng nhấn Generate Code để tạo code
- Sau khi tạo code xong ta mở phần mềm KeilC và viết chương trình
#include "main.h" Khai báo thư viện
#define clockPinLow HAL_GPIO_WritePin(GPIOD,GPIO_PIN_8,0);
#define clockPinHight HAL_GPIO_WritePin(GPIOD,GPIO_PIN_8,1);
#define loadPinLow HAL_GPIO_WritePin(GPIOD,GPIO_PIN_9,0);
#define loadPinHight HAL_GPIO_WritePin(GPIOD,GPIO_PIN_9,1);
#define MOTOR_D HAL_GPIO_WritePin(GPIOC,GPIO_PIN_6,0);
#define MOTOR_C HAL_GPIO_WritePin(GPIOC,GPIO_PIN_6,1);
Để dễ dàng sử dụng, chúng ta định nghĩa lại các chân kết nối với thiếc bị ngoại vi thông qua hàm HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_5) Biến uint16_t được khởi tạo với giá trị set, setvalue và counter bằng 0 Đồng thời, mảng uint8_t array_led[] được khai báo với các giá trị {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}.
Khai báo các biến được sử dụng trong chương trình
The article discusses the configuration of a system, focusing on the mode value and the set value representing the number of settings It also mentions the counter, which indicates the number of sensors detecting objects Key functions include SystemClock_Config and MX_GPIO_Init, essential for initializing system settings and GPIO configurations.
Các hàm được tạo trong chương trình
24 void xuat_led(uint16_t Setvalue , uint16_t Counter)
{ loadPinLow; for(uint8_t j=0;j