Tải bản đầy đủ - 0 (trang)
3 Thiết kế, chế tạo bộ phận điều khiển của mô hình đo lực cắt cành cây

3 Thiết kế, chế tạo bộ phận điều khiển của mô hình đo lực cắt cành cây

Tải bản đầy đủ - 0trang

`



4.3.1 Sơ đồ điều khiển mơ hình đo lực cắt cành cây cỡ nhỏSơ đồ điều khiển mơ

hình đo lực cắt cành cây cỡ nhỏ được thể

hiện ở Hình 4.5.

Khi dao tì lên cành cây được đặt

vng góc với rãnh tấm kê của bàn cân,

lực sinh ra thông qua 4 load cell trở thành

tín hiệu điện. Nhờ module HX711 tín hiệu

được khuếch đại tới điện áp mà Arduino

đọc được.

Để động cơ hoạt động thì phải

thơng qua module cơng suất VNH2SP30.

Từ đó Arduino có thể điều khiển được

chiều quay, tốc độ của động cơ phục vụ

cho việc thực nghiệm.

Tín hiệu điện sau khi được khuếch đại được Arduino xử lý sau đó truyền qua

máy tính, trị số của lực đo được được thể hiện dưới dạng biểu đồ thông qua phần mềm

Matlab.

4.3.2







ngun

mạch



đồ



điều



khiển



Hình 4.5 Sơ đồ điều khiển mơ hình đo lực cắt cành cây cỡ nhỏ



37



`



Hình 4.6 Sơ đồ nguyên lý mạch điều khiển

Sơ đồ nguyên lý mạch nguyên lý điều khiển được thể hiện ở hình 4.6, trong đó:

Dây tín hiệu của 4 load cell nối vô các chân E+, E-, A-, A+ của module HX711.

Các chân DT (tín hiệu), SCK (clock) của HX711 lần lượt được nối với chân A2, A0

của Arduino. Để truyền tín hiệu analog từ các loadcell về Arduino.

Các chân D10; D8; D6 của Arduino lần lượt được kết nối với các chân INA,

INB, PWM của Module VN2SP30A .Để điều chỉnh tốc độ và thay đổi chiều quay của

động cơ. Động cơ được kết nối với chân OUTA, OUTB của Module VN2SP30A.

Sơ đồ mạch khuếch đại HX711



Hình 4.7 Sơ đồ mạch khuếch đại HX711

Mạch khếch đại HX711 có sơ đồ

như hình 4.7 trong đó 4 load cell được

nối với nhau thành 1 cầu điện trở Wheatstone. Chân red của mỗi load cell được đánh

kí hiệu E+, E-, A-, A+ được nối vô chip HX711. Cụ thể dây nguồn tín hiệu (E+) được

nối với chân AVDD, dây có kí hiệu E- được nối vơ chân AGND của HX711, các dây

A-, A+ lần lượt nối với chân INA-, INA+. Do điện áp ra của load cell rất nhỏ chỉ từ 13 mV nên thông qua HX711 điện áp được khếch đại lên để vi điều khiển có thể đọc

được. HX711 sử dụng chuẩn giao tiếp I2C nên kết nối với Arduino bằng 2 chân DOUT



38



`



(dữ liệu) và chân SCK (clock). Do chip HX711 điện áp hoạt động chỉ từ 2.7-5V nên

VCC của HX711 được nối với chân 5V của vi điều khiển.

Sơ đồ mạch cơng suất VNH2SP30



Hình

Hình 4.

4.88Sơ

Sơđồ

đồmạch

mạch công

côngsuất

suấtVNH2SP30

VNH2SP30

Để điều khiển chiều quay cũng như tốc độ động cơ ta dùng mạch công suất

VNH2SP30 được thể hiện như hình 4.8. Trong đó 2 chân OUTA, OUTB của mạch

VNH2SP30 là đầu ra dùng để điều khiển động cơ Các chân INA, INB được kết nối với

vi điều khiển thông qua đó ta có thể điều chỉnh chiều quay của động cơ, chân PWM

dùng để điều khiển xung, từ đó có thể tang giảm tốc dộ động cơ theo ý muốn.

VNH2SP30 sử dụng nguồn 12 VDC.



39



`



4.4 Lưu đồ giải thuật mơ hình đo lực cắt cây cảnh sử dụng Loadcell



40



`



Giải



Hình 4.9 Lưu đồ giải thuật điều khiển mơ hình đo lực

cắt cành cây cảnh



thuật điều khiển



mơ hình đo lực cắt cành cây được thể hiện trên hình 4.9. Sau khi khởi động và cấp

nguồn ta nhập số lần đo t là bao nhiêu rồi khởi tạo thư viện. Nếu nút nhấn bật thì động

cơ chạy còn khơng thì tắt. Sau đó vi điều khiển Arduino sẽ chạy một vòng lặp với biến

điếm i còn S là tổng giá trị đo được. Ban đầu i=0 vi điều khiển sẽ đọc giá trị lần đầu

tiên qua lệnh read() rồi cộng vào biến S, cùng lúc biến đếm i tăng thêm 1. Sau đó so

sánh biến i với t, nếu i>=t ta gán trị số trung bình của S qua t lần đo cho X bằng cơng

thức X=S/t, nếu i
đếm i thêm tới khi nào thỏa điều kiện i>=t. Sau khi đã có giá trị trung bình X, máy tính

sẽ hiển thị trị số đo được thơng qua lệnh Serial.println(X) trong khoảng thời gian

20mS. Tiếp tục thực hiện thuật tốn nếu nút nhấn còn bật, còn khơng kết thúc thuật

toán.

4.5 Thiết kế giao diện hiển thị biểu đồ đo lực cắt cành cây dùng Matlab

Để quan sát diễn

biến quá trình lực cắt

diễn ra trong quá trình

thực nghiệm ta cần phải

thiết kế một giao diện

với đồ thị thể hiện được

giá trị của lực trong

thời gian thực hiện

cùng với khả năng kết

nối với vi điều khiển

arduino để nhận dữ liệu

từ vi điều khiển gửi lên. Giao diện điều khiển được thiết kế như Hình 4.10

Trong đó khối (Serial Port Setting) có nhiệm vụ mở cổng COM kết nối với

Arduino thông qua cáp USB cụ thể sau khi dùng cáp USB cắm từ Arduino tới cổng

Hình 4.10 Giao diện Matlab hiển thị lực và biểu đồ

41



`



USB của máy tính ta vào (Device Manager) của máy tính trong mục Ports (COM &

LPT) ta nháy đúp vào, tên của cổng COM kết nối với máy tính sẽ hiện ra (ví dụ

COM1). Sau đó trở lại giao diện như Hình 4.10 chọn đúng cổng COM cần kết nối

trong khối (Serial Port Setting), như trong hình cổng kết nối là COM1. Nhấn nút

(Open)

cổng sẽ được mở, Arduino sẽ được kết nối với máy tính. Nút (Close) có nhiệm

vụ tắt cổng COM đang mở.

Khối (Controls Panel) có nhiệm vụ nhận tính hiệu lực cắt được gửi từ Arduino

và thể hiện trong ô lực cắt đồng thời lực cắt sẽ hiển thị thông qua biểu đồ phía bên phải

giao diện theo thời gian thực. Cụ thể để có thể bắt đầu nhận dữ liệu từ Arduino ta nhấn

nút (Input), lúc này khối (Controls Panel) đã sẵn sàng để nhận dữ liệu. Trong quá

trình lực cắt diễn ra dữ liệu lực đã được xử lí qua Arduino thơng qua cáp USB truyền

vơ máy tính được khối (Controls Panel) tiếp nhận và liện tục thể hiện giá trị lực đo

được thông qua ô (Lực cắt) và vẽ đồ thị tương ứng với các giá trị trong ô (Lực cắt)

nhận được theo thời gian thực. Nút (Reset) có nhiệm vụ xóa hết dữ liệu lực đã được

lưu trữ trước đó cũng như đồ thị được đặt lại trạng thái ban đầu.

Nút (Exit) có nhiệm vụ thốt giao diện tắt chương trình trở lại màn hình làm

việc của Matlab

Các bước tạo Guide Matlab để hiển thị tín hiệu từ Arduino

Bước 1: Khởi động Guide Matlab và tạo các khối Open như Hình 4.10

Bước 2: Viết chương trình cho từng khối riêng biệt

Nút Close: Ngắt kết nối với cổng COM đã chọn

function Close_Callback(hObject, eventdata, handles)

% hObject handle to Close (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

global a;

fclose(a);

set(handles.Open,'Enable','on');

set(handles.Close,'Enable','off');

Khối INPUT: Nhận tín hiệu từ vi điều khiển và vẽ đồ thị trên Axes

function Send_Callback(hObject, eventdata, handles)

% hObject handle to Send (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

global a;

%b=get(handles.edit1,'string');



42



`



%t=str2double(t);

i= 0 ; while(i<1000)

Nút OPEN: Dùng để mở cổng COM

function Open_Callback(hObject,

eventdata, handles)

% hObject handle to Open (see

GCBO)

% eventdata reserved - to be defined in

a future version of MATLAB

% handles structure with handles and

user data (see GUIDATA)

COM= get(handles.COM,'value');

switch COM

case 1

global a;

a= serial('COM1');

fopen(a);

set(handles.Open,'Enable','off');

set(handles.Close,'Enable','on');

case 2

global a;

a= serial('COM2');

fopen(a);

set(handles.Open,'Enable','off');

set(handles.Close,'Enable','on');

case 3

global a;



43



`



a= serial('COM3');



set(handles.Open,'Enable','off');

set(handles.Close,'Enable','on');

case 5

global a;

a= serial('COM6');

fopen(a);

set(handles.Open,'Enable','off');

set(handles.Close,'Enable','on');

end;



fopen(a);

set(handles.Open,'Enable','off');

set(handles.Close,'Enable','on');

case 4

global a;

a= serial('COM4');

fopen(a);



44



Khối Pop-up Menu: Chứa danh sách các cổng COM

Bước 3: Khởi chạy Matlab và quan sát kết quả



Hình 4. 11 Mơ hình đo lực cắt chế tạo thử nghiệm



45



4.6 Hiệu chỉnh Loadcell

Phương pháp thực hiện: Chọn vật nặng có trọng lượng chuẩn bằng 1000g sau

đó đặt vật trên bàn cân của mơ hình. Sau đó dùng vi điều khiển để hiệu chỉnh loadcell,

tiếp tục thực hiện như vậy cho đến khi khối lượng khi đạt vật nặng trên bàn cân về gần

1000g, ta thu được số liệu như Bảng 4.1

Bảng 4.1 Hiệu chỉnh Loadcell về giá trị đúng (calibration)

Lần

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25



Khối lượng (g)

1089

1086

970

1005

1005

1003

1067

1056

990

954

1069

1009

1076

1006

1065

1036

1079

1076

1039

1008

1090

990

1047

1089

1057



Theo Bảng 4.1 sai số của bàn cân là ± 100 gram



46



4.7 Khảo nghiệm lực cắt một số giống cây thường trồng tạo viền cây xanh

4.7.1 Đo lực cắt của cành cây chuỗi ngọc

Phương pháp bố trí thí nhiệm

Chọn ngẫu nhiên 25 cành cây chuỗi ngọc từ buồn hoa có kích thước (đường

kính và chiều dài) tương đối bằng nhau để lấu mẫu. Sau đó đánh số từ 1 đến 25 cho

các cành cây được chọn. Chọn ngẫu nhiên 1 cây để cắt, vị trí cắt lần lượt của các cây

đã được đánh số cách ngọn là 50mm, 100mm, 150mm, 200mm ghi kết quả vào trong

bảng số liệu gồm 4 cột tương ứng với các mức độ dài đã cắt. Thực hiện đến khi nào đủ

hết 25 cây ta được bảng số liệu như bảng 4.2.



47



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

3 Thiết kế, chế tạo bộ phận điều khiển của mô hình đo lực cắt cành cây

Tải bản đầy đủ ngay(0 tr)

×