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

mạch đếm sản phẩm từ 000 đến 999 sử dụng arduino

51 3K 29

Đ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 51
Dung lượng 1,64 MB

Nội dung

TRƯỜNG ĐẠI HỌC KINH BẮC KHOA CÔNG NGHỆ THÔNG TIN BÀI BÁO CÁO Môn Học Mô Phỏng Ứng Dụng ĐỀ TÀI: THIẾT KẾ MẠCH ĐẾM SẢN PHẨM TỪ 000 – 999 SỬ DỤNG ARDUINO Nhóm 4: - Nguyễn Đức Huy - Nguyễn Quang Ngọc - Vũ Trường Sơn - Viêm Quốc Trượng - Lương Mê Thế Luân - Trương Viết Văn GVHD: ThS Nguyễn Văn Doanh Bắc Ninh, tháng 12, 2017 MỤC LỤC PHẦN 1:LÝ THUYẾT Nội dung Trang Chương 1: Tổng quan đề tài nguyên cứu Tổng quan Phương án thiết kế Mục tiêu đề tài Lợi ích đề tài Xây dựng sơ đồ khối tổng quan Chương 2: Thiết kế ARDUINO UNO R3 Điện trở quang 15 LED số đoạn 18 Đầu phát laser 24 IC 74HC595 26 Còi chíp 30 PHẦN 2:MƠ PHỎNG Chương 3: Chương trình điều khiểu 32 Giới thiệu proteus 32 Thuật tốn code 37 Kết mơ 45 Hướng phát triển đề tài kết luận 48 Lời kết 49 PHẦN LÝ THUYẾT CHƯƠNG :TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 1.1 Tổng quan Ngày với phát triển ngành khoa học kỹ thuật, kỹ thuật điện tử màtrong kỹ thuật số đóng vai trò quan trọng lĩnh vực khoa học kỹ thuật, quản lí, cơng nghiệp tự động hóa, cung cấp thơng tin… phải nắm bắt vận dụng cách có hiệu nhằm góp phần vào phát triển khoa học kỹ thuật giới nói chung phát triển kỹ thuật điện tử nói riêng Xuất phát từ đợt thực tập tốt nghiệp nhà máy tham quan doanh nghiệp sản xuất, chúng em thấy nhiều khâu tự động hóa q trình sản xuất Một khâu đơn giản dây chuyền sản xuất tự động hóa số lượng sản phẩm làm đếm cách tự động Tuy nhiên doanh nghiệp vừa nhỏ việc tự động hóa hồn tồn chưa áp dụng khâu đếm sản phẩm, đóng bao bì mà sử dụng nhân công Từ điều thấy khả chúng em, chúng em muốn làm điều nhỏ để góp phần vào giúp người lao động bớt phần mệt nhọc chân tay mà cho phép tăng hiệu suất lao động lên gấp nhiều lần, đồng thời đảm bảo độ xác cao Nên chúng em định thiết kế mạch đếm sản phẩm gần gũi với thực tế thật có ý nghĩa chúng em làm phần nhỏ đóng góp cho xã hội Để làm mạch cần thiết kế hai phần là: phận cảm biến phận đếm Bộ phận cảm biến: gồm phần phát phần thu Thông thường người ta sử dụng phần phát led hồng ngoại để phát ánh sáng hồng ngoại mục đích để chống nhiễu so với loại ánh sáng khác, phần thu transistor quang để thu ánh sáng hồng ngoại 1.2 Chọn phương án thiết kế Sử dụng arduino để điều khiển mạch 1.3 Mục tiêu đề tài Trong đồ án chúng em thực mạch đếm sản phẩm phương pháp đếm xung Như sản phẩm qua băng chuyền phải có thiết bị để cảm nhận sản phẩm, thiết bị gọi cảm biến Khi sản phẩm qua cảm biến nhận tạo xung điện đưa khối xử lí để tăng dần số đếm Tại thời điểm tức thời, để xác định số đếm cần phải có phận hiển thị: - Số đếm phải xác - Bộ phận hiển thị phải rõ ràng - Mạch điện không phức tạp, bảo đảm an tồn,dễ sử dụng - Giá thành khơng q mắc 1.4 Lợi ích đề tài – Quản lý đơn giản, tiết giảm nhân lực quản lý, thời gian thực hiện: Thơng qua hệ thống máy tính kết nối tới bảng thông tin sản xuất LED, người giám sát cần ngồi máy tính mình, đặt mục tiêu tới chuyền, setup thông số cần thiết, sau theo dõi sản lượng trực quan thơng qua hình máy tính Bảng thơng tin sản xuất cập nhật thông tin đầy đủ, liên tục tự động Như vậy, thay phải truyền đạt mục tiêu qua phận, nhân lực, ghi chép lên bảng Chỉ cần người quản lý ngồi văn phòng truyền thơng số tới bảng thơng tin sản xuất Dữ liệu sản lượng thực tế cập nhật cách khách quan lên hình máy tính – Tạo động lực sản xuất: Phản ánh kết sản lượng liên tục, trực quan, quan sát thấy kết lao động Mỗi cơng nhân, chuyền biết làm sản phẩm, lại so với mục tiêu đề ra, tạo động lực sản xuất người lao động Khơng thế, cài đặt thời gian sản lượng cho việc tăng ca, chấm công Nên từ người quản lý đến người lao động nắm kết hoạt động rõ ràng Tạo công khách quan, ổn định tâm lý người lao động – Thống kê sản lượng xác thời điểm Đơn giản hóa việc thu nhận liệu báo cáo, tiết thời gian nhận lực cho việc báo cáo sản lượng Người quản lý cần vài thao tác máy tính, liệu cần thống kê báo cáo kết xuất file dạng execl lập tức, xác thời điểm Hoàn toàn khách quan trung thực – Hiện đại hóa nhà xưởng, rút chi phí cho bảng viết, giấy mực, văn phòng phẩm, Tiến tới tự động hóa nhà xưởng Việc đưa bảng thông tin sản xuất LED vào sử dụng nâng cao chất lương, hình ảnh nhà xưởng Khơng tiết giảm chi phí khâu báo cáo, kế hoạch sản xuất, bảng viết, … Hình ảnh đơn vị nâng cao mắt đối tác 1.5 Xây dựng sơ đồ khối tổng quát CHƯƠNG 2: LÝ THUYẾT THIẾT KẾ 2.1 ARDUINO UNO R3 2.1.1 Arduino UNO R3 gì? Nhắc tới dòng mạch Arduino dùng để lập trình, mà người ta thường nói tới dòng Arduino UNO Hiện dòng mạch phát triển tới hệ thứ (R3) Bạn bắt đầu đến với Arduino qua thứ - Arduino board mạch vi xử lý Nhằm xây dựng ứng dụng tương tác với với môi trường thuận lợi - Phần cứng bao gồm board mạch nguồn mở thiết kế tảng vi xử lý AVR Atmel 32-bit Những Model trang bị gồm cổng giao tiếp USB, chân đầu vào Analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác 2.1.2 Một vài thông số ARDUINO R3: Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog (độ phân giải 10bit) Dòng tối đa chân I/O 30 mA Dòng tối đa (5V) 500 mA Dòng tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bootloader SRAM KB (ATmega328) EEPROM KB (ATmega328) 2.1.3 Vi điều khiển Arduino UNO sử dụng vi điều khiển họ 8bit AVR ATmega8, ATmega168, ATmega328 Bộ não xử lí tác vụ đơn giản điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm trạm đo nhiệt độ - độ ẩm hiển thị lên hình LCD,… Ngồi việc dùng cho board Arduino UNO, bạn sử dụng IC điều khiển cho mạch tự chế Vì ? Vì bạn cần board Arduino UNO để lập trình cho vi điều khiển Trên thực tế, bạn không cần phải dụng Arduino UNO sản phẩm mình, thay vào mạch tự chế để giảm chi phí hình đây: Chế tạo thủ công Sử dụng mạch in 2.1.4 Năng lượng Arduino UNO cấp nguồn 5V thơng qua cổng USB cấp nguồn ngồi với điện áp khuyên dùng 7-12V DC giới hạn 6-20V Thường cấp nguồn pin vng 9V hợp lí bạn khơng có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt ngưỡng giới hạn trên, bạn làm hỏng Arduino UNO 2.1.5 Các chân lượng GND (Ground): cực âm nguồn điện cấp cho Arduino UNO Khi bạn dùng thiết bị sử dụng nguồn điện riêng biệt chân phải nối với 5V: cấp điện áp 5V đầu Dòng tối đa cho phép chân 500mA 3.3V: cấp điện áp 3.3V đầu Dòng tối đa cho phép chân 50mA Vin (Voltage Input): để cấp nguồn cho Arduino UNO, bạn nối cực dương nguồn với chân cực âm nguồn với chân GND IOREF: điện áp hoạt động vi điều khiển Arduino UNO đo chân Và dĩ nhiên ln 5V Mặc dù bạn khơng lấy nguồn 5V từ chân để sử dụng chức khơng phải cấp nguồn RESET: việc nhấn nút Reset board để reset vi điều khiển tương đương với việc chân RESET nối với GND qua điện trở 10KΩ Lưu ý: Arduino UNO khơng có bảo vệ cắm ngược nguồn vào Do bạn phải cẩn thận, kiểm tra cực âm – dương nguồn trước cấp cho Arduino UNO 10 3.2 Thiết kế thuật toán code 3.2.1 Thuật toán 37 38 3.2.2 Code Chúng ta sử dụng phần mềm arduino để viết code cho ARDUINO #define DELAY_FACTOR (200) #define NUM_OF_DIGITS (4) const int control_pins[NUM_OF_DIGITS] = {6, 5, 4, 3}; const int bit_clock_pin = 8; const int digit_clock_pin = 9; 39 const int data_pin = 10; const byte digit_pattern[16] = { B00111111, // B00000110, // B01011011, // B01001111, // B01100110, // B01101101, // B01111101, // B00000111, // B01111111, // B01101111, // B01110111, // A B01111100, // b B00111001, // C B01011110, // d B01111001, // E B01110001 // F }; 40 const int quang_tro=A5; const int speaker_pin=12; int maxSeconds = 1; volatile int qt_cu=1000; volatile int qt_moi=-1; volatile int seconds = 0; volatile boolean statusReport = false; volatile boolean changed=false; volatile boolean speaker_on=false; int digit_data[NUM_OF_DIGITS] = {0}; int scan_position = 0; unsigned int counter = 0; void setup() { Serial.begin(960); int i; 41 for (i = 0; i < NUM_OF_DIGITS; i++) { pinMode(control_pins[i], OUTPUT); } pinMode(data_pin, OUTPUT); pinMode(bit_clock_pin, OUTPUT); pinMode(digit_clock_pin, OUTPUT); pinMode(speaker_pin,OUTPUT); cli(); TCCR1A = 0; TCCR1B = 0; OCR1A = 1302; TCCR1B |= (1

Ngày đăng: 06/06/2018, 18:26

TỪ KHÓA LIÊN QUAN

w