Professional Documents
Culture Documents
---------------o0o---------------
ĐỒ ÁN TỐT NGHIỆP
I
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
TÓM TẮT ĐỒ ÁN
3. Tính cấp thiết của đề tài
Ngày nay, ngày nay nhu cầu sử dụng ô tô ngày càng tăng cao, cơ sở hạ tầng, đường sá giao
thông phát triển tích cực, tốc độ của các loại xe được nâng cao rõ rệt. vì vậy sự ảnh hưởng của
gió càng lớn. đề tài này nhằm tạo ra một thiết bị có khả năng mô phỏng sự ảnh hưởng của gió lên
xe khi đang chạy nhằm phục vụ cho việc chế tạo hình dạng xe phù hợp đảm bảo về độ an toàn và
kinh tế.
Xây dựng thành công ống khí động, có thể thực hiện được các thử nghiệm khí động trên
mô hình.
Chế tạo thành công cân khí động 6 thành phần.
Với ống khí động chúng ta có thể thực hiện được các thí nghiệm khí động học, nhằm xác
định được các lực tác động lên mô hình. Giúp cho việc cho việc nghiên cứu trở nên hiệu quả
hơn, có thể so sánh với các tính toán bằng máy tính đề có những kết quả chính xác hơn trong
nghiên cứu. Đặc biệt ống khí động có thể bổ trợ cho những hạn chế của máy tính.
7. Phương pháp nghiên cứu
II
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
III
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
MỤC LỤC
1.6 Những nghiên cứu về cân khí động trong và ngoài nước ...................................1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT..........................................................................3
2.4 Một số phương án bố trí và thiết kế của ống khí động. .......................................9
IV
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
4.3 So sánh kết quả thực nghiệm và tính toán lý thuyết ..........................................50
V
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
1
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Tô Hoàng Tùng, Nguyễn Trọng Hoan (2015). Nghiên cứu mối quan hệ giữa hệ số cản khí
động với các thông số bán kính góc lượn phía đầu xe ô tô khách cỡ lớn sản xuất tại Việt Nam
bằng phần mềm ANSYS-FLUENT, Tạp chí Cơ khí Việt Nam, số 8 năm 2015, trang 102-106.
Hà Tiến Vinh, Bùi Đình Trí, Nguyễn Văn Thắng, Chu Ngọc Giao Viện Cơ học, Viện Hàn
lâm KH&CN Việt Nam: Thiết kế, chế tạo và thử nghiệm ống khí động tại Viện Cơ học.
2
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Các lực khí động học
Dòng khí chuyển động xung quanh xe tác dụng lực và mô men lên xe ảnh hưởng lớn đến
hiệu suất và tính ổn định khi chuyển động. Ngoài ra dòng khí này còn ảnh hưởng đến các vấn đề
khác như thông gió, tản nhiệt vv. Lực cản khí động học D, cũng như các thành phần lực và mô
men khí động lực học khác, tỉ lệ thuận với bình phương vận tốc xe V.
D CA A V 2 (2.1)
2
Trong đó CD là hệ số cản khí động học tùy theo hình dạng xe, A là diện tích mặt chính diện
của xe và ρ là khối lượng riêng của không khí.
Do đó lực cản khí động học D của một chiếc xe được quyết định bởi diện tích mặt chính
diện A, hình dạng và tính chất khí động học của nó được mô tả bằng hệ số cản CD. Nói chung
kích thước của xe và diện tích mặt chính diện được quyết định bởi các yêu cầu thiết kế, yếu tố
này ảnh hưởng đến không gian bên trong xe, nên việc giảm lực cản được tập trung vào giảm hệ
số CD.
Khi không có lực cản sóng và lực cản cảm ứng, thì lực cản toàn thể là lực cản hình dạng,
gồm có lực cản ma sát và lực cản áp suất.
Hình 2.1 Đường lưu tuyến của không khí dọc theo mặt cắt giữa của chiếc Mercedes-Benz CLA-
Class
3
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
V l
Rel (2.2)
V
Ma (2.3)
a
Trong đó:
4
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
L
Hệ số nâng: CL (2.4)
2
V A
2
D
Hệ số cản: CD (2.5)
2
V A
2
Y
Hệ số lực ngang: CY (2.6)
2
V A
2
M
Hệ số mô men dọc: CM (2.7)
2
V Al
2
N
Hệ số mô men hướng: CN (2.8)
2
V Al
2
R
Hệ số mô men ngang: CR (2.9)
2
V Al
2
Tất cả các hệ số này được dựa trên áp suất động lực dòng tự do 𝜌𝑉∞2 /2 và diện tích mặt
chính diện A của thân xe. Ngoài ra, một kích thước đặc trưng như tổng chiều dài l xe được sử
5
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
dụng trong hệ số mô men. Các hệ số khí động học chỉ phụ thuộc vào các tham số của dòng khí ví
dụ: số Reynolds hoặc góc lệch β. Dựa vào những hệ số này ta có thể xác định được các tính chất
khí động học của xe, cũng như tính ổn định của nó. (Các phương trình 2.1; 2.2 ; 2.3; 2.4 tham
khảo từ tài liệu “Aerodynamics of Road Vehicles From Fluid Mechanics to Vehicle Engineering
Edited by Wolf-Heinrich Hucho”)
2.3 Tổng quan về ống khí động
2.3.1 Ống khí động.
6
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
7
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 2.5: a) ống khí động hở; b) ống khí động kín
Kích thước, hiệu suất và chất lượng của một ống khí động chủ yếu được xác định bởi các
yếu tố sau:
- Khoang thử nghiệm
- Ống hội tụ và buồng ổn định dòng không khí
- Quạt và động cơ
Về đặc điểm hai loại ống khí động này đều có những ưu điểm riêng:
Vận tốc: Ống khí động hở cho phép đạt vận tốc cao hơn ống khí động kín khi
so sánh cùng một công suất quạt. Đó là do dòng khí trong ống khí động hở
được thổi hoặc hút trực tiếp tới buồng thí nghiệm.
8
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Độ ổn định và phân bố trường vận tốc: Ống khí động kín cho độ ổn định cao
hơn cũng như một trường phân bố vận tốc đều hơn cả ở hai vùng biên.
Giá thành và kích thước: Ống khí động kín có giá thành đắt hơn rất nhiều so
với ống khí động hở có cùng vận tốc. Hơn thế ống khí động kín đòi hỏi một
diện tích rất lớn.
9
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 2.7: Ống khí động PN20D và cân khí động 3 thành phần
Các nhà khí động học sử dụng các ống khí động để thử nghiệm đặc tính khí động học các mô
hình. Trong quá trình thử nghiệm, mô hình được đặt trong khoang thử nghiệm của đường ống và
không khí được tạo ra để chảy qua mô hình. Nhiều loại thiết bị được sử dụng để xác định các lực
và mô men do dòng không khí tác dụng mô hình. Loại dụng cụ cơ bản nhất là cân khí động.
Cân khí động được sử dụng để đo trực tiếp các lực và mô men tác dụng lên mô hình. Cân
khí động đơn giản nhất dùng để đo một thành phần lực. Loại cân khí động ba thành phần có thể
đo được lực cản, lực nâng và thêm một mô men. Loại cân khí động sáu thành phần có thể đo
được ba thành phần lực (lực cản, lực nâng, lực ngang) và ba thành phần mô men (mô men dọc,
mô men ngang, mô men hướng). Ngoài những yêu cầu về số thành phần lực cần đo thì giới hạn
độ lớn của lực cũng được quan tâm.
Bên cạnh phân loại cân khí động bằng số lượng thành phần lực và mô men có thể đo được,
ngoài ra còn có thể dựa vào vị trí đặt cân để phân loại. Nếu chúng được đặt ở trong mô hình khảo
sát gọi là cân khí động trong (Internal balance) và khi đặt bên ngoài mô hình hoặc ống khí động
gọi là cân khí động ngoài ( External balance). Cả hai loại cân đề có ưu và nhược điểm riêng tùy
thuộc vào mô hình và đặc tính của ống khí động.
10
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
11
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
ra các hiện tượng địa hình, thời tiết khắc nghiệt. Các công trình xây dựng phải được bố trí, thiết
kế sao cho kiến trúc của chúng có đặc tính khí động phù hợp với điều kiện tự nhiên, thời tiết
xung quanh. Từ đó nhà thiết kế sẽ đưa ra những phương án thiết kế thích hợp và hiệu quả.
2.6.1 Phân loại cân khí động.
Cân khí động có thể được phân biệt bởi số những thành phần lực, mô men nào được đo đồng
thời; với cách này thì cân khí động chia làm sáu loại. Hoặc sự định vị (vị trí) tại mà chúng được
đặt. Nếu chúng được đặt ở trong mô hình khảo sát gọi là Cân khí động trong (Internal balance)
và nếu chúng được định vị bên ngoài (của) mô hình hay ống khí động mà chúng được khảo sát
gọi là Cân khí động ngoài (External balance ).
a) Phân loại theo vị trí đặt cân
Cân khí động ngoài (External balance ).
Những loại cân này đã được sử dụng từ khi bắt đầu các thí nghiệm khí động lực học. Nó
được đặt ở ngoài mẫu thử và bên ngoài ống khí động.
Về cân khí động ngoài, chúng ta có thể chia làm bốn loại chính: loại dây, loại tấm phẳng,
loại đòn gánh, loại kim tự tháp. Loại cân khí động ngoài này cần nhiều không gian để lắp đặt,
thường là phía bên ngoài ống khí động.
12
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
a. Loại cân khí động dạng dây b. loại cân khí động dạng tấm phẳng
13
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Ba loại cân còn lại chúng cho phép lắp đặt mô hình thử nghiệm phía trên và các cấu trúc của
cân không gây ảnh hưởng đến dòng khí trong khoang thử nghiệm.
Cân khí động dạng tấm phẳng dể dàng chế tạo và lắp đặt, tuy nhiên nhược điểm là mô men
và lực có tương tác với nhau. Loại cân dạng kim tự tháp các thành phần lực và mô men tách rời
nhau, tuy nhiên khó chế tạo và cân chỉnh.
Cân khí động trong (Internal balance)
Loại cân khí động này cần không gian hạn chế bên trong mô hình, vì vậy nó thường có kích
thước nhỏ hơn cân khí động ngoài. Có hai nhóm cân khí động trong. Đầu tiên là nhóm cân dạng
hộp, nó có thể được cấu tạo từ một mảnh kim loại cứng hoặc tập hợp từ một vài thành phần.
Chúng thường có dạng hình lập phương, sao cho tải tác dụng được chuyền từ đỉnh đến chân của
cân; Nhóm thứ hai của cân khí động trong là dạng cần (sting balances). Chúng có dạng hình trụ,
sao cho tải tác dụng được chuyền từ đầu này đến một đầu khác theo chiều dọc hình trụ.
14
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
b) Theo số thành phần khí động được đo, cân khí động chia làm 6 loại:
Cân một thành phần (1D):
Cân khí động một thành phần thường được sử dụng để đo lực cản hoặc lực nâng
Hình 2.11: Cân khí động 2 thành phần lực nâng và lực cản
15
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 2.12: Cân khí động 3 thành phần lực nâng, lực cản và mô men dọc trục.
16
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
17
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Chiều cao buồng thử nghiệm H3=237 mm Góc khuếch tán 𝜃 = 3.50
Chiều cao buồng thoát H4=335 mm Tỉ lệ chiều dài và rộng của lưới tổ ong
L/D=6
18
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
19
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.3 các mối hàn giúp liên kết các tấm sắt lại với nhau
20
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Các mặt bên trong được chà nhám và làm phẳng sau đó được phủ một lớp sơn lót nhằm đảm
bảo cho dòng khí đi qua được đảm bảo chất lượng tốt nhất và không bị rối trong quá trình thử
nghiệm.
21
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
22
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.6: Các tấm mica được liên kết bằng silicone.
Hình 3.7: cửa buồng thử nghiệm được cố định bằng gá chữ L.
23
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
24
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Thông số mô tơ và quạt:
Công suất mô tơ: 1 Hp
Tốc độ quay: 1489 vòng/p
Khung vuông: 600x600 mm
Cánh quạt: đường kính 560 mm.
25
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
bản của cân gồm một mô hình đặt lên tấm phẳng, tấm phẳng này sẽ tác dụng lực lên 6 cảm biến.
Hai tấm phẳng của cân và cảm biến sẽ được đặt ngoài buồng thử nghiệm, chỉ có mô hình đặt bên
trong. Dựa vào kết quả lực đo được từ các cảm biến, vị trí đặt cảm biến để tính lực khí động học
tác dụng lên mô hình.
Hình 3.10 Sơ đồ cấu tạo cơ bản của cân khí động dạng tấm phẳng
Trong sơ đồ cấu tạo cân khí động dạng tấm phẳng gồm có 6 cảm biến ký hiệu từ A đến F.
Khoảng cách giữa các cảm biến được ký hiệu từ a đến d. Vị trí điểm H là nơi đặt các lực và mô
men. Lực khí động tác dụng vào mô hình, truyền đến tấm phẳng, các cảm biến sẽ bị tác động bởi
tấm phẳng. Kết hợp các lực thu được từ các cảm biến để tính ra lực và mô men khí động học tác
dụng lên mô hình. Cơ cấu cân thực tế sử dụng cũng có 6 cảm biến, đo 6 thành phần lực và mô
men.
Cấu tạo cân gồm có sáu cảm biến được đặt cố định trên một tấm phẳng phía dưới. Một tấm
phẳng còn lại để gá mô hình vào và tác dụng lực lên các cảm biến. Tấm phẳng này tựa lên các
26
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
cảm biến A, B và C thông qua ba trục chữ nhật kết nối với ba cảm biến trên, để giảm ma sát giữa
các trục đỡ và tấm phẳng, chúng được tác động với nhau thông qua một viên bi. Ba cảm biến A,
B và C dùng để xác định lực nâng, mô men dọc và mô men ngang. Ba cảm biến F, E và D chịu
tác động của tấm phẳng, dùng để xác định lực cản, lực ngang và mô men hướng.
Các lực và mô men do dòng khí tác dụng lên mô hình, sẽ được tính toán bằng các giá trị thu
được từ sáu cảm biến. Lấy điểm H làm mốc đặt các mô men và lực khí động học.
Ta có:
Lực cản (D) sẽ có giá trị bằng tổng lực tác động lên cảm biến E và D:
D=E+D
Lực nâng (L) có giá trị bằng tổng lực tác dụng lên ba cảm biến ABC trừ đi trọng lực (W) tác
dụng lên mô hình:
L=A+B+C–W
Lực ngang (Y) bằng giá trị lực tác dụng lên cảm biến F:
Y=F
Nếu không có mô men ngang (RM) thì giá trị cảm biến A = B
Mô men ngang (RM) được tính dựa vào chênh lệch lực của cảm biến A và B :
RM = (A - B) * a / 2
Trong đó a là khoảng cách giữa hai cảm biến A và B.
Mô men hướng (YM) phụ thuộc vào chênh lệch lực của cảm biến D và E:
YM = (D - E) * c / 2
Trong đó c là khoảng cách giữa hai cảm biến D và E.
Mô men dọc (PM) dựa và cảm biến C, A và B:
PM = C * b – (A + B)*d
Trong đó b là khoảng cách từ I đến cảm biến C, d là chiều dài cánh tay đòn từ I đến cảm
biến A, B.
Để xác định độ lớn cần có của các cảm biến loadcell, chúng em dựa vào công thức tính lực
cản khí động học lý thuyết, vì đây là lực lớn nhất tác dụng vào cảm biến trong quá trình thử
27
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
nghiệm thực tế đối với các mô hình có dạng gần giống xe hơi. Với mô hình là một khối lập
phương có diện tích mặt chính diện Am = 0.2 x0.2 = 0.04 m2, vận tốc dòng khí V = 27 m/s, hệ số
cản CD = 1.05, với khối lượng riêng không khí là ρ =1.29 kg/m3. Dựa vào công thức:
V 2
Dr C D A (3.1)
2
Lực cản khí động học của mô hình lập phương trên là D = 19.75 (N). Vì vậy với loadcell có giá
trị tối đa 5kg (49.5N) có thể đáp ứng được các yêu cầu của thử nghiệm.
28
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.11 Các cảm biến loadcell được cố định ở tấm phẳng dưới của cân
Tấm phẳng trên cũng có kích thước bằng với tấm phẳng dưới, chiều dày như nhau, được đặt
trên 3 trụ hình chữ nhật nối với loadcell ABC. Tấm phẳng trên còn có các vòng bi dùng để tác
dụng lực lên các cảm biến DEF. Mô hình cần thử nghiệm được gá vào tấm phẳng trên. Mô hình
có thể xoay các góc theo yêu cầu của thử nghiệm thông qua cơ cấu xoay. Cơ cấu này được vận
hành bằng mô tơ bước.
29
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.12 Các chi tiết của tấm phẳng phía trên
Tấm phẳng trên sẽ được đặt lên 3 cảm biến đo lực nâng, thông qua 1 viên bi ở mỗi trục
nhằm giảm ma sát lúc tấm phẳng dịch chuyển. Nơi đặt viên bị được chuẩn bị thật phẳng nhằm
giảm tối đa ma sát lăn, và chỉ di chuyển một khoảng rất nhỏ, bằng độ hở của các khoảng hở giữ
hai điểm tiếp xúc vòng bi của tấm phẳng trên với loadcell đo lực cản và lực ngang. Tại nơi tiếp
xúc của các loadcell DEF với tấm phẳng trên là vòng bi nhằm giảm ma sát khi lực tác dụng lớn.
Lúc này lực ngang và lực cản sẽ ít tác động với nhau.
30
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.13 chi tiết đỡ tấm phẳng trên và cơ cấu tiếp xúc với loadcell
Mô tơ bước dẫn động trụ gá mô hình với các góc quay được lập trình sẵn. Thông qua một bộ
truyền động đai, tỉ số truyền là 1:5. Góc quay thấp nhất mà mô tơ bước có thể thực hiện là 1.8
độ, và vẫn có thể chia nhỏ góc quay này nhưng gây nóng cho mạch điều khiển. Với tỉ số truyền
là 1:5 và góc quay thấp nhất của mô tơ là 1.8 độ, góc quay mà mô hình có thể quay là bội số của
0.36 độ.
31
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
32
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.15 Các linh kiện bên trong hộp điện tử của cân
33
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.16 Kết nối Arduino với loadcell và màn hình LCD 128x64
Hình 3.17 Kết nối arduino với cảm biến tốc độ dòng khí (Wind sensor rev.p)
34
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
hiệu số hoặc thay đổi tần số tùy thuộc vào loại loadcell và mạch sử dụng, phổ biến nhất là
loadcell thay đổi điện áp.
Các loadcell có thể sử dụng điện trở (strain gauge), điện dung, kỹ thuật bù lực điện từ. Phổ biến
nhất là các loadcell dựa trên nguyên tắc thay đổi điện trở để đáp ứng với một tải áp dụng.
Một loadcell thường bao gồm các strain gauges được dán vào bề mặt của thân loadcell.
Thân loadcell là một khối kim loại đàn hồi và tùy theo từng loại loadcell và mục đích sử dụng
loadcell, thân loadcell được thiết kế có hình dạng đặc biệt khác nhau và chế tạo bằng vật liệu kim
loại khác nhau (nhôm hợp kim, thép không gỉ, thép hợp kim).
35
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
36
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.20 Sự thay đổi điện áp của mạch cầu khi có tải tác động lên loadcell
Sự thay đổi điện áp này là rất nhỏ, do đó nó chỉ có thể được đo và chuyển thành tín hiệu số
sau khi đi qua bộ khuếch đại của các bộ chỉ thị cân điện tử (đầu cân).
Cơ cấu cân chúng em sử dụng loadcell 5kg đủ đáp ứng được với các yêu cầu của thử
nghiệm. Các lực không vượt quá giá trị này và với các yêu cầu cao hơn về tốc độ gió hay kích
thước mô hình lớn hơn cũng có thể đáp ứng được.
37
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
38
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.23 Kết nối mạch chuyển đổi HX711 với loadcell
Dụng cụ đo tốc độ không khí
Sử dụng mạch cảm biến tốc độ không khí Wind Sensor Rev. P kết hợp với Arduino để đo
tốc độ gió. Đây là một loại cảm biến tốc độ gió dạng dây nhiệt, vì kích thước nhỏ gọn phù hợp để
đặt trong các ống khí động có kích thước nhỏ mà ít ảnh hưởng đến chất lượng dòng khí. Các chi
tiết và các thông số khác về cảm biến được thể hiện ở trang web:
https://moderndevice.com/product/wind-sensor-rev-p/
39
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
40
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Code phương trình xác định tốc độ gió của cảm biến dựa trên điện áp thu được và tốc độ gió
tương ứng. Cần một dụng cụ chuẩn để có thể thu thập được các thông số tốc độ gió so với điện
áp. Từ các thông số này ta sử dụng phần mềm excel để hồi quy về phương trình tốc độ gió theo
điện áp cho cảm biến.
Code phương trình vận tốc gió so với điện áp thu được:
float windMPH = pow((((float)windADunits - 295.0) / 85.6814), 3.0);
Trong đó hàm pow là hàm số lũy thừa, windADunits là các giá trị điện áp mà Arduino thu
được từ cảm biến với các vận tốc gió khác nhau, 295 là điện áp thu được lúc vận tốc gió bằng 0,
295 là tín hiệu số do mạch chuyển đổi analog của điện áp sang tín hiệu số.
Arduino
Arduino là một board mạch vi xử lý được sinh ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các
ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một
board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel
32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, các chân đầu vào analog,
chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau.
Với các yêu cầu của đồ án chúng em sử dụng Arduino Mega 2560, là một vi điều khiển bằng
cách sử dụng ATmega2560. Với số lượng chân cắm lớn để có thể sử dụng với nhiều loadcell, các
nút bấm cũng như điều khiển mô tơ bước.
41
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Sau khi tiến hành kết nối các loadcell với arduino, từng loadcell sẽ được cân chỉnh để xuất
kết quả chính xác. Code dành cho arduino gồm các phần tính toán và xử lý tín hiệu loadcell, tính
toán kết quả các lực và mô men, điều chỉnh mô tơ bước và phần xuất kết quả ra màn hình LCD.
Các thông số lập trình các lực và mô men dựa trên vị trí đặt các cảm biến.
Quá trình cân chỉnh từng loadcell để cho ra kết quả chính xác, chúng em sử dụng thư viện
cân chỉnh loadcell. Đặt một mẫu vật có trọng lượng xác định trước, điều chỉnh để cho kết quả mà
loadcell đo được bằng với trọng lượng của vật mẫu.
Để đo lại hoặc cân chỉnh kết quả của cân, chúng em sử dụng các loadcell riêng lẻ khác, tác
dụng lực vào đầu trục gá mô hình.
Trong các dòng code tính lực, do kết quả thu được từ các loadcell lúc đầu là grams nên cần
nhân với gia tốc trọng trường g = 9.8066 và chia cho 1000 để đổi sang đơn vị newton.
42
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Các kết quả mà Arduino thu được từ loadcell tương ứng với sơ đồ cân hình 3.10 như sau:
Units1 – loadcel E
Units2 – loadcel D
Units3 – loadcel F
Units4 – loadcel A
Units5 – loadcel B
Units6 – loadcel C
Code tính lực cản:
D = (units1 + units2) * 9.8066 / 1000 ; // lực cản (N)
Trong đó units1, units2 là kết quả thu được ở loadcell đo lực cản và mô men hướng E và D
với giá trị là grams, nhân với gia tốc trọng trường g = 9.8066 và chia cho 1000 để đổi đơn vị
sang newton.
Code tính lực nâng:
L = (units4 + units5 + units6) * 9.8066 / 1000; //lực nâng (N)
Trong đó units4, units5, units6 là kết quả thu được từ các loadcell A,B và C. Sau khi đặt mô
hình lên cân ta cần nhấn nút chức năng để cân trừ đi trọng lượng của mô hình tác dụng lên
loadcell, lúc này màn hình kết quả sẽ cho ra kết quả là 0.
Code tính lực ngang:
S = units3 * 9.8066 / 1000 ; // lực ngang (N)
Trong đó units3 là kết quả thu được từ loadcell F.
Code tính mô men hướng:
YM = units2 * 9.8066 / 1000 * 8.2 - units1 * 9.8066 / 1000 * 8.2 ; // mô men hướng (N.cm)
Trong đó 8.2 là chiều dài cánh tay đòn, tính từ điểm tiếp xúc của loadcell C, D đến tâm trục
gá mô hình
43
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.27 Điều chỉnh tắm phẳng dưới của cân song song với mặt sàn buồng thử
44
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 3.28 Điều chỉnh để trục đo các lực của cân song song với trục buồng thử
Hình 3.29 cân được lắp đặt vào ống khí động.
45
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Am
Br 0.1
A0
Mẫu thử nghiệm dạng tấm phẳng vuông với chiều dài cạnh = 7cm. Ống khí động với diện
tích tiết diện cửa thổi ra A0 = 0.237 x 0.237 = 5.6169 (m2). Thử nghiệm với vận tốc dòng khí
trong buồng thử của ống khí động V = 10 (m/s).
4.2 Các bước thực hiện thử nghiệm
Chuẩn bị trang thiết bị thử nghiệm gồm có ống khí động, các thiết bị đo vận tốc và lực khí
động học tác động lên mẫu vật, mẫu vật cần để thử nghiệm khí động học. Cần điều chỉnh lại vị
trí gá đặt cân khí động để đảm bảo độ chính xác của cân. Mặt phẳng phía dưới của buồng thử cần
46
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
song song với mặt đất. Điều chỉnh các đai ốc ở chân cân khí động để tấm phẳng trên của cân
song song với mặt đất.
47
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 4.2 Lắp đặt mẫu vật vào trục đo của cân.
Cấp nguồn cho cân khí động và các cảm biến. Cần cấp nguồn 12V cho jack cắm 1, là nguồn
cung cấp cho mô tơ bước, điều chỉnh góc quay của mẫu vật. Cấp nguồn 9V cho jack cắm 2, là
nguồn cho Arduino và các cảm biến. Trước khi cấp nguồn cần kiểm tra công tắc mô tơ bước,
bấm công tắc ở vị trí On để mô tơ không quay tự do khi Arduino đang khởi động. Khi mô tơ
bước đang hoạt động không nên tắt nguồn jack cấm 1 có thể làm hỏng driver A4988 của mô tơ.
Khi tắt các thiết bị bật công tắc mô tơ ở vị trí On sau đó mới rút nguồn jack cắm 2 rồi đến jack
cắm 1.
Điều chỉnh các giá trị của cân khí động về 0 nếu cần thiết. Khi đã gá mẫu vật vào cân và cấp
nguồn cho hệ thống. Tiến hành đặt các giá trị đo về 0 bằng cách nhấn nút bấm 2.
48
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 4.3 Các nút điều khiển và màn hình hiển thị kết quả của cân khí động
Sau khi đã điều chỉnh các thông số các cảm biến và mẫu vật, cấp nguồn cho quạt của ống
khí động.
Đọc các dữ liệu và lưu lại. Các kết quả lực và mô men được hiển thị trên màn hình LCD
128x64. Kết quả vận tốc dòng khí trong ống khí động hiển thị riêng ở màn hình LCD 16x2. Các
kết quả lực và mô men đo được từ cân khí động có thể được lưu sang file excel bằng cách chạy
một add in tên file là PLX-DAQ-v2.11.xlsm và cần có máy tính kết nối với Arduino.
49
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Hình 4.4 Dữ liệu được hiển thị trực tiếp trên excel.
D C D Am V 2 = (1.28 x 49 x 10-4 x 1.25 x 102)/2 = 0.392 (N)
2
Sai số lực cản lý thuyết và thực nghiệm trong ống khí động hở của tấm phẳng vuông là 0.02
(N) tương đương với 5%.
50
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
51
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
52
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
LỜI CẢM ƠN
Trước tiên, nhóm em xin được gửi lời cảm ơn đến tất cả quý thầy cô đã giảng dạy
trong thời gian vừa qua – Trường Đại Học Công Nghiệp Thành Phố Hồ Chí Minh, người
đã truyền đạt cho chúng em những kiến thức và kinh nghiệm hữu ích.
Nhóm em xin chân thành cảm ơn thầy TS Đặng Tiến Phúc đã tận tình hướng dẫn cho
nhóm trong thời gian thực hiện đồ án. Mặc dù trong quá trình thực hiện đồ án có những
giai đoạn khó khăn nhưng những kiến thức chuyên môn và kinh nghiệm của Thầy đã
giúp chúng em biết cách tiến hành thực hiện đề tài một cách hợp lý, đáp ứng được trong
phạm vi nghiên cứu mà thầy đảm nhiệm hướng dẫn.
Mặc dù đã cố gắng tiếp thu nhiều kiến thức từ các thầy cô và cập nhật thêm nhiều tài
liệu liên quan, nhưng do trình độ hạn chế và thời gian thực hiện ngắn nên báo cáo không
thể nào tránh được những sai sót. Rất mong nhận được sự góp ý của quý Thầy Cô và các
bạn để đề tài được hoàn thiện hơn.
53
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
PHỤ LỤC
Kết nối các cảm biến Loadcell với mạch HX711. Mỗi loadcell kết nối với một mạch HX711.
Loacell HX711
Dây đỏ E+
Dây đen E-
Dây trắng A-
54
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
HX711 Arduino
VCC 5v
GND GND
Kết nối LCD128x64 với Arduino Mega 2560. Chân Vo được nối với chân của biến trở như
hình dùng để điều chỉnh độ tương phản cho LCD.
55
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
VSS GND
VDD 5V
D/I 17
R/W 16
E 18
PSB GND
A(+) 3.3V
K(-) GND
3. Kết nối Arduino Uno và cảm biến tốc độ gió Wind Sensor Rev. P
GND GND
56
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
+10-12V Vin
OUT A0
TMP A2
GND GND
VCC 5V
57
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
DIR 8
STEP 9
VDD 5V
GND GND
58
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Chân RESET VÀ SLEEP trên driver A4988 nối với nhau. Cấp nguồn 8 – 35 V vào chân
Vmot và GND trên Driver A4988. Chân MS1, MS2, MS3 dùng để chia bước mô tơ. Chân 2A,
2B, 1A, 1B nối với chân tương ứng trên mô tơ bước.
Chân ENA trên A4988 được nối với công tắc dẫn đến chân 5V của Arduino Mega 2560
cùng với điện trở 10k để hạn dòng. Chân ENA dùng để tắt mở mô tơ. Khi công tắc trên đóng thì
mô tơ ngừng hoạt động.
6. Kết nối Arduino Mega 2560 với các nút điều khiển cân khí động và mô tơ bước
Nút Bấm Arduino mega
Quay mô hình + 30 độ 32
Quay mô hình - 30 độ 33
Nút bấm gồm có hai chân, một chân nối với chân tương ứng trên Arduino mega 2560, chân
còn lại nối với điện trở 10k về GND. Khi bấm nút thì chức năng hoạt động.
59
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
Bước 3: Sau khi tìm được phương trình tối ưu vận tốc theo điện áp của cảm biến tiến hành điều
chỉnh lại code, và nạp cho Arduino Uno.
Tham khảo thêm ở video cân chỉnh Wind Sensor Rev. P.
9. Code
#include "HX711.h"
void setup() {
Serial.begin(9600);
Serial.println("HX711 calibration sketch");
Serial.println("Remove all weight from scale");
Serial.println("After readings begin, place known weight on scale");
Serial.println("Press + or a to increase calibration factor");
Serial.println("Press - or z to decrease calibration factor");
scale.set_scale();
scale.tare(); //Reset the scale to 0
void loop() {
Serial.print("Reading: ");
units = scale.get_units(), 10;
60
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
if (units < 0)
{
units = 0.00;
}
ounces = units * 0.035274;
Serial.print(units);
Serial.print(" grams");
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
calibration_factor += 1;
else if(temp == '-' || temp == 'z')
calibration_factor -= 1;
}
}
Hardware hookup
Sensor Arduino Pin
Ground Ground
+10-12V Vin
Out A0
TMP A2
const int OutPin = A0; // wind sensor analog pin hooked up to Wind
P sensor "OUT" pin
const int TempPin = A2; // temp sesnsor analog pin hooked up to Wind
P sensor "TMP" pin
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x20 for
a 16 chars and 2 line display
61
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
void setup() {
Serial.begin(9600);
lcd.init(); // initialize the lcd
void loop() {
// read wind
int windADunits = analogRead(OutPin);
Serial.print("RW "); // print raw A/D for debug
Serial.print(windADunits);
Serial.print("\t");
// wind formula derived from a wind tunnel data, annemometer and some
fancy Excel regressions
// this scalin doesn't have any temperature correction in it yet
float windMPH = pow((((float)windADunits - 288.0) / 73.4451),
3.03494);
Serial.print(windMPH);
Serial.print(" MPH\t");
62
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
//const int OutPin = A13; // wind sensor analog pin hooked up to Wind P
sensor "OUT" pin
//const int TempPin = A14; // temp sesnsor analog pin hooked up to
Wind P sensor "TMP" pin
//#include <Wire.h>
//#include <LiquidCrystal_I2C.h>
// Motor steps per revolution. Most steppers are 200 steps or 1.8
degrees/step
#define MOTOR_STEPS 200
#define RPM 120
#define MICROSTEPS 1
#define DIR 8
#define STEP 9
#define ENABLE 13 // optional (just delete ENABLE from everywhere if
not used)
#include "A4988.h"
#define MS1 10
#define MS2 11
#define MS3 12
A4988 stepper(MOTOR_STEPS, DIR, STEP, ENABLE, MS1, MS2, MS3);
float x = 0;
float y = 0;
float z = 0;
char xst[5];
char yst[5];
char zst[10];
63
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
float units1; // các giá trị thu được từ các load cell (gram)
float units2;
float units3;
float units4;
float units5;
float units6;
char units1_string[10];
char units2_string[10];
char units3_string[10];
char units4_string[10];
char units5_string[10];
char units6_string[10];
float D; // lực cản
float L; // lực nâng
float S; // lực bên
float PM; // mô men dọc
float YM; // mô men hướng
float RM; // mô men lật
char Dst[10];
char Lst[10];
char Sstr[10];
char PMst[10];
char YMst[10];
char RMst[10];
//const int OutPin = A13; // wind sensor analog pin hooked up to
Wind P sensor "OUT" pin
//const int TempPin = A14; // temp sesnsor analog pin hooked up to
Wind P sensor "TMP" pin
void MOMENTANDFORCE() {
// chuyển đổi giá trị của load cell để hiển thị ra GLCD , hiển thị
lực và mô men.
u8g.setFont(u8g_font_helvR08); // chọn font chữ cho GLCD
u8g.drawStr( 0, 10, "DRAG "); // lệnh in ra màn hình (0,10,"LC1")
trong đó 0 là vị trí cột, 10 là dòng LC1 là nội dung hiển thị
dtostrf(D, 8, 3, Dst); // lệnh chuyển đổi giá trị của loadcell sang
chuổi để GLCD có thể hiển thị
u8g.drawStr(50, 10, Dst);
u8g.drawStr( 120, 10, "N");
64
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
void LOADCELL() {
// chuyển đổi giá trị của load cell để hiển thị ra GLCD
u8g.setFont(u8g_font_helvR08); // chọn font chữ cho GLCD
u8g.drawStr( 0, 10, "LC1"); // lệnh in ra màn hình (0,10,"LC1") trong
đó 0 là vị trí cột, 10 là dòng LC1 là nội dung hiển thị
dtostrf(units1, 8, 3, units1_string); // lệnh chuyển đổi giá trị của
loadcell sang chuổi để GLCD có thể hiển thị
u8g.drawStr(50, 10, units1_string);
u8g.drawStr( 120, 10, "g");
u8g.drawStr( 0, 20, "LC2");
dtostrf(units2, 8, 3, units2_string);
u8g.drawStr(50, 20, units2_string);
u8g.drawStr( 120, 20, "g");
u8g.drawStr( 0, 30, "LC3");
dtostrf(units3, 8, 3, units3_string);
u8g.drawStr(50, 30, units3_string);
u8g.drawStr( 120, 30, "g");
u8g.drawStr( 0, 40, "LC4");
dtostrf(units4, 8, 3, units4_string);
u8g.drawStr(50, 40, units4_string);
u8g.drawStr( 120, 40, "g");
u8g.drawStr( 0, 50, "LC5");
dtostrf(units5, 8, 3, units5_string);
u8g.drawStr(50, 50, units5_string);
u8g.drawStr( 120, 50, "g");
u8g.drawStr( 0, 60, "LC6");
dtostrf(units6, 8, 3, units6_string);
u8g.drawStr(50, 60, units6_string);
u8g.drawStr( 120, 60, "g");
}
void HELLO (void) {
// giới thiệu
65
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
u8g.setFont(u8g_font_unifont);
//u8g.setFont(u8g_font_osb18);
u8g.drawStr( 07, 15, "STEPPER MOTOR");
u8g.drawStr( 07, 30, "LOAD CELL + LCD");
u8g.drawStr( 07, 45, "ARDUINO TEST");
}
void clearLCD() {
// xóa màn hình
u8g.firstPage();
do {
} while ( u8g.nextPage() );
}
void STEPPERMOTOR() {
// chuyển đổi giá trị của góc mô tơ để hiển thị ra GLCD
u8g.setFont(u8g_font_unifont); // chọn font chữ cho GLCD
u8g.drawStr( 07, 15, "ANGLE"); // lệnh in ra màn hình (0,10,"LC1")
trong đó 0 là vị trí cột, 10 là dòng LC1 là nội dung hiển thị
dtostrf(z, 7, 3, zst); // lệnh chuyển đổi giá trị của loadcell sang
chuổi để GLCD có thể hiển thị
u8g.drawStr(07, 30, zst);
u8g.drawStr( 07, 45 , "degree");
void setup() {
if (!SD.begin(chipSelect)) {
Serial.println("lỗi thẻ nhớ hoặc chưa được cắm!");
//while (1) ;//dung chuong trinh
}
Serial.println("Thẻ nhớ hoạt động");
//tạo ra các file từ logger00 -> logger99.csv theo mỗi lẩn reset
board
char filename[] = "LOGGER00.CSV";
for (uint8_t i = 0; i < 100; i++) {
66
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
filename[6] = i / 10 + 0;
filename[7] = i % 10 + 0;
if (! SD.exists(filename)) {//nếu fle này chưa được tạo => tạo ra
rồi ghi
u8g.firstPage();
do {
HELLO();
} while ( u8g.nextPage() );
// void setup chỉ chạy 1 lần
// flip screen, if required
// u8g.setRot180();
// set SPI backup if required
//u8g.setHardwareBackup(u8g_backup_avr_spi);
// assign default color value
if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
u8g.setColorIndex(255); // white
}
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
u8g.setColorIndex(3); // max intensity
}
else if ( u8g.getMode() == U8G_MODE_BW ) {
u8g.setColorIndex(1); // pixel on
}
else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
u8g.setHiColorByRGB(255, 255, 255);
}
Serial.println("HX711 Loadcell");
scale1.set_scale(calibration_factor1); // gán giá trị chuyển đổi cho
các loadcell
scale2.set_scale(calibration_factor2);
scale3.set_scale(calibration_factor3);
scale4.set_scale(calibration_factor4);
scale5.set_scale(calibration_factor5);
67
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
scale6.set_scale(calibration_factor6);
scale1.tare(); // chỉnh giá trị loadcell về 0
scale2.tare();
scale3.tare();
scale4.tare();
scale5.tare();
scale6.tare();
stepper.begin(RPM, MICROSTEPS);
//Serial.println("CLEARDATA"); // clears sheet starting at row 2
Serial.println("CLEARDATA"); // Hiển thị dữ liệu bằng excel
Serial.println("LABEL,Date,Time,LC1(g),LC2(g),LC3(g),LC4(g),LC5(g),LC6(g),Dr
ag(N),Lift(N),Side(N),YM(N.cm),RM(N.cm),PM(N.cm),x,y,z"); //,MPH,Temp");
void loop() {
// read wind
/* int windADunits = analogRead(A13);
float windMPH = pow((((float)windADunits - 288.0) / 78), 3.36814);
// temp routine and print raw and temp C
int tempRawAD = analogRead(A14);
float tempC = ((((float)tempRawAD * 5.0) / 1024.0) - 0.400) / .0195;
lcd.setCursor(0, 0); // set cursor to first row
lcd.print("MPH"); // print out to LCD ;
lcd.setCursor(0, 1);
lcd.print(windMPH);
lcd.print(" ");
*/
// tính lực ra Niuton, mô men N.cm, chọn gia tốc trọng trường g =
9.8066m/s2
D = (units1 + units2) * 9.8066 / 1000 ; // lực cản (N)
L = (units4 + units5 + units6) * 9.8066 / 1000 ; //lực nâng (N)
S = units3 * 9.8066 / 1000 ; // lực ngang (N)
YM = units2 * 9.8066 / 1000 * 8.2 - units1 * 9.8066 / 1000 * 8.2 ;
// mô men hướng (N.cm) / 8.2 cánh tay đòn mô men hướng (cm)
RM = units4 * 9.8066 / 1000 * 10 - units5 * 9.8066 / 1000 * 10 ; //
mô men lật (N.cm) / 8.2 cánh tay đòn mô men lật (cm)
PM = (units4 + units5) * 9.8066 / 1000 * 8.5 - units6 * 9.8066 /
1000 * 16.5 - D * 5.8 ; // mô men dọc (N.cm)/ 8.5 và 16.5 cánh tay đòn mô
men dọc (cm) trừ đi mô men ảnh hưởng bởi lực cản
68
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
if (count == 0) {
// hiển thị kết quả lực và mô men ra GLCD
u8g.firstPage();
do {
MOMENTANDFORCE();
} while ( u8g.nextPage() );
}
if (count == 1) {
// hiển thị kết quả loadcell
u8g.firstPage();
do {
LOADCELL();
} while ( u8g.nextPage() );
}
if (count == 2) {
// hiển thị góc quay mô tơ
u8g.firstPage();
do {
STEPPERMOTOR();
} while ( u8g.nextPage() );
}
69
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
if (Serial.available() > 0) {
char inByte = Serial.read();
if (inByte == 't')
scale1.tare();
scale2.tare();
scale3.tare();
scale4.tare();
scale5.tare();
scale6.tare();
}
button1 = digitalRead(30);
button2 = digitalRead(31);
if (button1 == LOW) {
delay(500);
}
if (button1 == LOW) {
count++;
}
if (count > 2) {
count = 0;
}
if (button2 == LOW) {
delay(300);
}
if (button2 == LOW) {
// điều chỉnh giá trị loadcell về 0
scale1.tare();
scale2.tare();
scale3.tare();
scale4.tare();
scale5.tare();
scale6.tare();
}
count1++;
if (count1 >= 3000) { // giới hạn số bộ dữ liệu trong 3000 lần
gửi, sau đó lặp lại & lưu chồng lên dữ liệu cũ
count1 = 0;
Serial.println("ROW,SET,2"); // Bắt đầu từ Row 2 của sheet Excel
}
70
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
y = y - 90;
stepper.rotate(-90);
}
if (nut2 == LOW) {
delay(500);
stepper.rotate(-z);
x = 0;
y = 0;
}
if (x + y == 360) {
x = 0;
y = 0;
}
if (x + y == -360) {
x = 0;
y = 0;
}
z = (x + y) ;
// Serial.println("x= ");
Serial.print(x);
Serial.print(",");
// Serial.println("y= ");
Serial.print(y);
Serial.print(",");
//Serial.println("z= ");
Serial.println(z);
/* Serial.print(",");
//Serial.println("z= ");
Serial.print(windMPH);
Serial.print(",");
Serial.println(tempC);*/
//logfile.println();
DateTime now = RTC.now();
logfile.print(now.year(), DEC);
logfile.print('/');
logfile.print(now.month(), DEC);
logfile.print('/');
logfile.print(now.day(), DEC);
logfile.print(",");
logfile.print(now.hour(), DEC);
logfile.print(':');
logfile.print(now.minute(), DEC);
logfile.print(':');
logfile.print(now.second(), DEC);
logfile.print(",");
//
logfile.print(units1);
logfile.print(",");
logfile.print(units2);
logfile.print(",");
logfile.print(units3);
71
ĐỒ ÁN TỐT NGHIỆP – 05/2019 GVHD: TS.ĐẶNG TIẾN PHÚC
logfile.print(",");
logfile.print(units4);
logfile.print(",");
logfile.print(units5);
logfile.print(",");
logfile.print(units6);
logfile.print(",");
logfile.print(x);
logfile.print(",");
logfile.print(y);
logfile.print(",");
logfile.println(z);
logfile.flush();
delay(500);
}
72