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

kĩ thuật lập trình cơ điện tử

20 0 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

Tiêu đề Kĩ Thuật Lập Trình Cơ Điện Tử
Trường học Học Viện Kỹ Thuật Mật Mã
Chuyên ngành Cơ Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 1,68 MB
File đính kèm Giao_dien hệ thống.rar (15 MB)

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

Nội dung

Dưới sức ép mạnh mẽ về nhu cầu sử dụng của người tiêu dùng, cùng với sự phát triển của các ngành khoa học công nghệ, các dây truyền sản xuất và các thiết bị tự động lần lượt được ra đời để thay thế cho lao động con người, góp phần nâng cao năng suất và hiệu quả. Ngày nay không khó để có thể bắt gặp một thiết bị hay một hệ thống tự động nào đó. Lấy ý tưởng từ máy bán nước tự động và dây truyền triết giọt tự động chúng em đã làm ra sản phẩm mang tên “Máy lấy nước tự động”.

Trang 1

Mục lục

TỔNG QUAN VỀ MÁY LẤY NƯỚC TỰ ĐỘNG 2

I ĐẶT VẤN ĐỀ 3

II TÍNH TOÁN THIẾT KẾ HỆ THỐNG 3

2.1 Các thành phần cơ bản của hệ thống 3

2.1.1 Phần cứng 3

2.1.2 Phần mềm 7

2.2 Mô hình đề xuất 9

III THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN 9

3.1 Lập trình giao diện 9

3.2 Lập trình Arduino 10

3.2.1 Sơ đồ đấu nối 10

3.2.2 Lưu đồ thuật toán 10

IV THỰC NGHIỆM VÀ ĐÁNH GIÁ 12

V KẾT LUẬN 13

1 Kết quả đạt được: 13

2 Hạn chế: 13

TÀI LIỆU THAM KHẢO 13

PHỤ LỤC 14

Trang 2

TỔNG QUAN VỀ MÁY LẤY NƯỚC TỰ ĐỘNG

Lấy ý tưởng từ máy bán nước tự động và dây truyền triết giọt tự động để hình thành ý tưởng “Máy lấy nước tự động” Cấu tạo của máy gồm băng tải, động cơ, cảm biến, mạch điều khiển,…

Nguyên lý hoạt động của hệ thống thực hiện theo các bước sau:

1 Người dùng chọn loại đồ uống và lượng nước trên giao diện hệ thống sau đó đặt cốc lên đầu vào băng tải

2 Băng tải chuyển động mang cốc đến vị trí có vòi bơm

3 Ở vị trí có vòi bơm được lắp đặt cảm biến hồng ngoại để phát hiện vật thể và gửi tín hiệu cho bộ điều khiển dừng băng tải

4 Sau khi băng tải dừng máy bơm nước được kích hoạt và bơm lượng nước cùng loại nước đã được chọn

5 Khi đã bơm xong, bộ điều khiển sẽ truyền tín hiệu để băng tải tiếp tục hoạt động và đưa cốc đã được bơm nước ra ngoài

Tính năng của sản phẩm:

- Có thể chọn được loại nước

- Có thể chọn được lượng nước

- Có thể ghi lại số lượng và loại nước đã được chọn

Trang 3

I ĐẶT VẤN ĐỀ

Dưới sức ép mạnh mẽ về nhu cầu sử dụng của người tiêu dùng, cùng với

sự phát triển của các ngành khoa học công nghệ, các dây truyền sản xuất và các thiết bị tự động lần lượt được ra đời để thay thế cho lao động con người, góp phần nâng cao năng suất và hiệu quả Ngày nay không khó để có thể bắt gặp một thiết bị hay một hệ thống tự động nào đó Lấy ý tưởng từ máy bán nước tự động và dây truyền triết giọt tự động chúng em đã làm ra sản phẩm mang tên “Máy lấy nước tự động”

II TÍNH TOÁN THIẾT KẾ HỆ THỐNG

2.1 Các thành phần cơ bản của hệ thống

2.1.1 Phần cứng

 Băng tải: hay còn gọi băng chuyền là một thiết bị dùng vận chuyển,

chuyền tải vật liệu, hàng hóa từ vị trí này đến vị trí kia

Cấu tạo: Nguồn động lực chính của băng tải, tạo ra chuyển động chính là

động cơ, động cơ được kết nối với một trục quay gọi là tang (rulo) chủ động thông qua hộp số, dây curoa Cuối băng tải còn có một tang quay nữa gọi là tang bị động Hai tang chủ động và tang bị động bố trí ở hai đầu kéo căng bản băng tải (thường là bản cao su) Toàn bộ băng tải được đặt trên phần khung băng tải, nâng đỡ, cố định các thiết bị

Trang 4

 Step motor

Step Motor là loại động cơ chấp hành đặc

biệt, thường được sử dụng cho các hệ truyền

động rời rạc Step Motor thực chất là một động

cơ đồng bộ dùng để biến đổi các tín hiệu điều

khiển dưới dạng các xung điện rời rạc kế tiếp

nhau thành các chuyển động góc quay hoặc các

chuyển động của Rotor và có khả năng cố định

Rotor vào những vị trí cần thiết

Step Motor làm việc được là nhờ có bộ

chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo một thứ tự và một tần số nhất định Tổng số góc quay của roto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của roto, phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi Khi một xung điện áp đặt vào cuộn dây stato (phần ứng) của động cơ bước thì roto (phần cảm) của động cơ sẽ quay

đi một góc nhất định, góc ấy là một bước quay của động cơ Khi các xung điện áp đặt vào các cuộn dây phần ứng thay đổi liên tục thì roto sẽ quay liên tục (Nhưng thực chất chuyển động đó vẫn là theo các bước rời rạc)

Ưu điểm:

- Không chổi than

- Tạo được momen giữ

- Độc lập với tải

 Máy bơm mini

- Vật liệu: nhựa cứng cao cấp

- Màu sắc: trắng ngà

- Điện áp: 1.5VDC - 6VDC

 Kit Arduino Uno R3

Arduino  là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên nước Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thể thực

Trang 5

hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim900A,… để tăng khả ứng dụng của mạch

Cấu tạo Arduino

Thông số cơ bản của Arduino Uno R3

Trang 6

EEPROM 1KB

 Cảm biến hồng ngoại

Là một thiết bị điện tử có khả năng

đo và phát hiện được bức xạ hồng ngoại

trong môi trường xung quanh

Cấu tạo:

- Đèn led hồng ngoại: Nguồn phát

- Máy dò hồng ngoại: Nguồn nhận

tín hiệu và phát hiện ra bức xạ hồng

ngoại phản xạ trở lại

- Điện trở

- Dây điện

 Driver L293d

L293D về cơ bản là một IC trình điều khiển hay bộ điều khiển động cơ

Nó có hai mạch cầu H tích hợp có thể điều khiển đồng thời hai động cơ DC theo cả chiều kim đồng hồ và ngược chiều kim đồng hồ Nó hoạt động như một bộ khuếch đại dòng cao vì nó lấy tín hiệu dòng điện thấp ở đầu vào và cung cấp tín hiệu dòng điện cao hơn ở đầu ra để điều khiển các tải khác nhau,

ví dụ động cơ bước và động cơ DC Các tính năng của nó bao gồm phạm vi điện áp nguồn đầu vào lớn, tín hiệu đầu vào chống nhiễu cao dòng điện đầu

Trang 7

ra lớn, Các ứng dụng thực tế phổ biến của nó bao gồm trình điều khiển động cơ bước, trình điều khiển relay, trình điều khiển động cơ DC,

Thông số kĩ thuật:

- Có thể được sử dụng để chạy hai động cơ DC với cùng một IC

- Có thể kiểm soát tốc độ và hướng

- Điện áp động cơ Vcc2 (Vs): 4,5V đến 36

- Dòng động cơ cao nhất tối đa: 1.2A

- Dòng động cơ liên tục tối đa: 600mA

- Điện áp cung cấp cho Vcc1 (vss): 4,5V đến 7V

- Thời gian chuyển tiếp: 300ns (ở 5V và 24V)

- Tự động tắt nhiệt

2.1.2 Phần mềm

 Arduino IDE

Arduino IDE cung cấp đến môi trường lập trình tích hợp mã nguồn mở hỗ trợ người dùng viết code và tải nó lên bo mạch Arduino Đây là môi trường

đa nền tảng, hỗ trợ một loạt các bo mạch Arduino cùng rất nhiều tính năng độc đáo Ứng dụng lập trình này có giao diện được sắp xếp hợp lý, phù hợp với cả những người dùng chuyên nghiệp lẫn không chuyên

Trang 8

Arduino IDE là môi trường phát triển tích hợp đa nền tảng, hỗ trợ cho một loạt các bo mạch Arduino như Arduino Uno, Nano, Mega, Esplora, Ethernet, Fio, Pro hay Pro Mini cũng như LilyPad Arduino

Các tính năng chính của Arduino IDE:

- Viết code cho bo mạch Arduino

- Hỗ trợ nhiều loại bo mạch Arduino

- Giao diện được sắp xếp hợp lý

- Bộ sưu tập các ví dụ mẫu

- Mảng thư viện hỗ trợ phong phú

 Visual studio winform

Winform là thuật ngữ mô tả một ứng dụng được viết dùng .NET FrameWorrk và có giao diện người dùng Windows Forms

Mỗi màn hình windows cung cấp một giao diện giúp người dùng giao

tiếp với ứng dụng Giao diện này được gọi là giao diện đồ họa (GUI) của ứng

dụng

Trang 9

Là các ứng dụng windows chạy trên máy tính – mã lệnh thực thi ngay trên máy tính: Microsoft, Word, Excel, Access, Calculator, Yahoo, Mail…  là các ứng dụng Windows Form

Vì dễ code, chỉ cần kéo thả, lại có nhiều component có sẵn, WinForm rất phù hợp để làm các phần mềm quản lý, tính tiền, thống kê… Đây cũng là loại ứng dụng mà các công ty/doanh nghiệp vừa và nhỏ cần Ngoài ra, chỉ cần sử dụng component như TelerikUI hoặc DevExpress (Ở Việt Nam, hầu như chúng ta đều dùng crack nên các component này hoàn toàn miễn phí), WinForm có thể tạo ra các giao diện hiện đại, đẹp

- Tốc độ xử lý dữ liệu nhanh chóng

- Đảm bảo an toàn, bảo mật thông tin

- Có thể chạy trên các phiên bản Windows khác nhau

- Thao tác trên nhiều giao diện

2.2 Mô hình đề xuất

Trang 10

III THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN

3.1 Lập trình giao diện

Giao diện hệ thống

- Vùng điều khiển: chứa các nút điều khiển, tùy chọn loại nước và lượng

nước và nút để dừng toàn bộ hệ thống

- Vùng đếm số lượng các loại nước: Đếm số lượng cốc nước mỗi loại.

Trang 11

3.2 Lập trình Arduino

3.2.1 Sơ đồ đấu nối

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

Vi xử lí nhận tín hiệu từ giao diện điều khiển gửi xuống cho arduino điều khiển cơ cấu chấp hành

Nguyên lý:

- Sau khi khởi tạo đối tượng arduino nhận được tín hiệu bắt đầu cho chạy băng tải

- Cảm biến quang phát hiện vật thể, nếu có cho dừng băng tải và cho bơm nước hoạt động

- Bơm nước hoạt động xong, băng tải sẽ nhận được lệnh tiếp tục quay

Trang 13

IV THỰC NGHIỆM VÀ ĐÁNH GIÁ

Đánh giá:

- Mô hình có thể chạy đúng loại nước và lượng nước đã được chọn

- Băng tải vận hành mượt mà

Mô hình thực tế

Trang 14

- Cảm biến tiếp nhận chưa thực sự nhạy, vẫn còn hiện tượng delay

V KẾT LUẬN

1 Kết quả đạt được:

- Biết cách thiết kế một hệ thống cơ điện tử đơn giản

- Biết cách lập trình, thiết kế giao diện một hệ thống

- Kết nối được các phần cứng với nhau, cũng như các phần mềm, hiểu được các phương thức giao tiếp

- Biết các làm việc nhóm

2 Hạn chế:

- Phần cơ cấu chấp hành vẫn còn hạn chế, đơn giản

- Chỉ đếm được số loại nước được chọn, chưa đếm được riêng từng size khác nhau

- Vòi bơm chưa hoàn toàn chính xác, chỉ bơm được với các loại cốc có kích thước miệng lớn

TÀI LIỆU THAM KHẢO

1 Arduino Docs | Arduino Documentation | Arduino Documentation

2 Bài giảng Kĩ thuật lập trình trong cơ điện tư – ĐHBKHN ( slide)

3 Windows Forms Designer tutorial - Visual Studio (Windows) | Microsoft Learn

Trang 15

PHỤ LỤC

Full code arduino

#include <AFMotor.h>

AF_DCMotor waterpump ( 4 ) , cocapump ( 3 ) ;

AF_Stepper belt ( 200 , 1 ) ;

int sensor= 2 ;

char sig;

int t;

int amountcoca= 0 ,amountwater= 0 ;

void setup () {

  Serial begin ( 9600 ) ;

  pinMode ( sensor,INPUT ) ;

 

}

void loop () {

     

      t = digitalRead ( sensor ) ;

      char readValue = Serial read () ;

       if ( readValue== 'L' || readValue == 'M' || readValue == 'H'|| readValue == 'l'||readValue

== 'm' ||readValue == 'h'||readValue == 'S' ){

       sig = readValue;

        }

        if ( sig=='L' )

      {

      if ( t==LOW )

      {

        stopbelt () ;

        pumpwater ( 6000 ) ;

        stopwater () ;

        delay ( 1000 ) ;    

        runbelt ( 1000 ) ;

Trang 16

       amountwater++;        

      }

       else if ( t==HIGH )

      {

      runbelt ( 100 ) ;

      }

      }

         else if ( sig=='M' )

      {

      if ( t==LOW )

      {

        stopbelt () ;

        pumpwater ( 10000 ) ;

        stopwater () ;  

        delay ( 1000 ) ;  

        runbelt ( 1000 ) ;

       amountwater++;

     

      }

       else if ( t==HIGH )

      {

       

        runbelt ( 100 ) ;

      }

      }

         else if ( sig=='H' )

      {

      if ( t==LOW )

      {

        stopbelt () ;

        pumpwater ( 15000 ) ;

        stopwater () ;

Trang 17

        delay ( 1000 ) ;    

        runbelt ( 1000 ) ;

       amountwater++;

      }

       else if ( t==HIGH )

      {

     

        runbelt ( 100 ) ;

      }

      }

         

         else if ( sig == 'S' )

      {

      stopwater () ;

      stopcoca () ;

      stopbelt () ;

     

      Serial print ( "Coca: " ) ;

      Serial print ( amountcoca ) ;

      Serial print ( "     " ) ;

      Serial print ( "Water: " ) ;

      Serial println ( amountwater ) ;       amountcoca= 0 ;

      amountwater= 0 ;

      }

       else if ( sig=='l' )

      {

      if ( t==LOW )

      {

        stopbelt () ;

        pumpcoca ( 4000 ) ;

        stopcoca () ;

Trang 18

        delay ( 1000 ) ;      

        runbelt ( 1000 ) ;

       amountcoca++;    

      }

       else if ( t==HIGH )

      {

        runbelt ( 100 ) ;

      }

      }

      else if ( sig=='m' )

      {

      if ( t==LOW )

      {

        stopbelt () ;

        pumpcoca ( 7000 ) ;

        stopcoca () ;  

        delay ( 1000 ) ;  

        runbelt ( 1000 ) ;

       amountcoca++;

     

      }

       else if ( t==HIGH )

      {

        runbelt ( 100 ) ;

      }

      }

       else if ( sig=='h' )

      {

      if ( t==LOW )

      {

        stopbelt () ;

        pumpcoca ( 10000 ) ;

        stopcoca () ;

Trang 19

        delay ( 1000 ) ;    

        runbelt ( 1000 ) ;

       amountcoca++;    

      }

       else if ( t==HIGH )

      {

        runbelt ( 100 ) ;

      }

      }

       

}

void pumpwater (int n)

{

    waterpump setSpeed ( 255 ) ;

    waterpump run ( FORWARD ) ;

    delay ( n ) ;

}

void pumpcoca (int n)

{

    cocapump setSpeed ( 255 ) ;

    cocapump run ( FORWARD ) ;

    delay ( n ) ;

}

void runbelt (int n)

{

    belt setSpeed ( 50 ) ;

    belt step ( n,BACKWARD,DOUBLE ) ;

}

void stopbelt ()

{

Trang 20

    belt setSpeed ( 100 ) ;

    belt step ( 0 ,FORWARD,DOUBLE ) ;

    delay ( 200 ) ;

}

void stopcoca ()

{

    cocapump setSpeed ( 255 ) ;

    cocapump run ( RELEASE ) ;

    delay ( 200 ) ;

}

void stopwater ()

{

    waterpump setSpeed ( 300 ) ;

    waterpump run ( RELEASE ) ;

    delay ( 200 ) ;

}

Ngày đăng: 12/04/2023, 22:21

w