89 MỤC LỤC I. TỔNG QUAN VỀ CÂN ĐIỆN TỬ 1.1. Cấu trúc một cân điện tử. a. Hình ảnh cấu trúc. b. Vai trò các thành phần. 1.2. Các loại cân điện tử. a. Cân xe tải (ô tô). Ứng dụng . Gía trị ứng dụng. b. Cân hàng hóa. Ứng dụng . Gía trị ứng dụng. c. Cân trong sản xuất công nghiệp. Cân bang tự động. Ứng dụng . Gía trị ứng dụng. Cân trong trạm trộn băng tải. Ứng dụng . Gía trị ứng dụng. d. Cân trong tiêu dung. Ứng dụng . Gía trị ứng dụng. e. Cân sức khỏe. Ứng dụng . Gía trị ứng dụng. f. Cân khối lƣợng nhỏ. Lƣu ý: cần độ chính xác cao : cân vàng, bạc , kim cƣơng…. Ứng dụng . Gía trị ứng dụng. 1.3. Nhận xét. a. Lựa chọn thiết kế cân sức khỏe: cân 200kg. b. Thiết kế mô hình cân sức khỏe. II. GIỚI THIỆU CÂN LOADCELL 200kg. 2.1. Cấu trúc của mô hình.2.2. Lựa chọn loadcell. 2.3. Tính toán loadcell. 2.4. Thuật toán xác định khối lƣợng. III.XÂY DỰNG MÔ HÌNH CÂN. 3.1. Xây dựng bàn cân. 3.2. Thiết bị điều khiển. 3.3. Thiết bị hiển thị. 3.4. Thuật toán chƣơng trình. 3.5. Chƣơng trình điều khiển. 3.6. Một số kết quả đo. IV. HƢỚNG PHÁT TRIỂN. V. KẾT LUẬN.
Trang 11
TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
KHOA CƠ ĐIỆN
BỘ MÔN TỰ ĐỘNG HÓA XÍ NGHIỆP MỎ VÀ DẦU KHÍ
-*** -
ĐỒ ÁN TỐT NGHIỆP
GIÁO VIÊN HƯỚNG DẪN
THẠC SĨ : ĐÀO HIẾU
SINH VIÊN THỰC TẬP HOÀNG VIẾT ĐẠI MSSV:1221011184 LỚP : K57 TỰ ĐỘNG HÓA
Hà Nội : 05/2017
Trang 22
TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
KHOA CƠ ĐIỆN
Họ và tên sinh viên : HOÀNG VIẾT ĐẠI
Nghành : Tự động hóa Khóa K57 Hệ đào tạo : Chính quy MSSV : 1221011184
Thời gian nhận đề tài : ngày 20 tháng 3 năm 2017 Thời gian hoàn thành : ngày 6 tháng 6 năm 2017
TÊN ĐÈ TÀI XÂY DỰNG MÔ HÌNH CÂN SỨC KHỎE
PHẦN CHUNG Tổng quan về các loại cân
PHẦN ĐỀ TÀI TẠO RA CÂN TỪ LOADCELL , MÀN HÌNH LCD VÀ PIC16F877A
Trang 33
LỜI NÓI ĐẦU
Cùng với sự phát triển của thế giới và xu hướng hội nhập kinh tế quốc tế, đất nước ta đang đổi mới và bước vào thời kì công nghiệp hóa, hiện đại hóa, vừa xây dựng cơ sở vật chất kĩ thuật, vừa phát triển nền kinh tế Trong đó, ngành cơ điện đóng một vai trò quan trọng trong qúa trình phát triển đất nước
Qua thời gian thực tập tại Viện đo lường VIỆT NAM – Phòng đo lường điện,
em đã rút ra được rất nhiều kinh nghiệm thực tế mà khi ngồi trên nghế nhà trường
em chưa được biết Để có kiến thức và kết quả thực tế ngày hôm nay, trước hết em xin chân thành cảm ơn thầy Hải và các thầy cô giáo trong khoa Cơ – Điện trường Đại Học Mỏ Địa Chất Hà Nội , đã giảng dạy và trang bị cho em những kiến thức
cơ bản, đồng thời tận tình hướng dẫn em trong quá trình học tập, cũng như thực tập Bên cạnh đó, em xin gửi lời cảm ơn chân thành đến ban lãnh đạo , các cán bộ nhân viên chức của Viện đo lường VIỆT NAM – Phòng đo lường điện , đã giúp đỡ
và tạo mọi điều kiện thuận lợi giúp em hoàn thành tốt mọi nhiệm vụ trong quá trình thực tập và làm đồ án tốt nghiệp
Trong thời gian làm đồ án tốt nghiệp , em đã học được rất nhiều kiến thức hay
và bổ ích Như cách tổ chức và trình bài một quá trình công nghệ , cách làm việc
và tác phong làm việc sau này khi đi làm , cách đo đạt dòng điện , máy móc cơ khí, điện tử Đây là những kiến thức bổ ích thiết thực cho công việc trong tương lai của
em
Trong quá trình nghiên cứu và làm đồ án tốt nghiệp , do còn nhiều sai sót Em mong thầy cô chỉ bảo thêm, giúp em hoàn thành và đạt kết quả tốt hơn Em xin chân thành cảm ơn!
Hà Nội , tháng 04 năm 2017 Sinh viên thực hiện
HOÀNG VIẾT ĐẠI
Trang 44
I TỔNG QUAN VỀ CÂN ĐIỆN TỬ
CÂN ĐIỆN TỬ TRONG CÔNG NGHIỆP
Loadcell Loadcell
Trang 55
Trang 66
Trang 77
gram
nhƣ OHAUS, CAS, VIbrashinko, A&D, DINI
Tunning Fork Uni block
Loadcell
Trang 88
Trang 99 –
–
Trang 1010 –
Trang 1111
Trang 1212
cao
Trang 1313
Trang 1414
Trang 1515
Trang 1616
Trang 1717
:
–
Trang 1818 –
Trang 1919
Trang 2020
n cân
–
Trang 2121 –
Trang 2222 –
Trang 23công n
Trang 2424
Trang 27-27 –
Trang 2929
Trang 3030
Trang 3131 –
–
Trang 33– Cân phân tích sấy ẩm CAS (MOISTURE ANALYSIS SCALE)
Trang 3434
Cân phân tích sấy ẩm CAS giống như chủng loại cân phân tích bình thường với những dòng cân có tải trọng nhỏ có độ chính xác cao nhưng kết hợp thêm chức năng sấy ẩm bằng công nghệ đèn halogen Cân có màn hình hiển thị VFD, bàn phím nhấn chịu được nước và hoá chất tác động vào Cân thường có độ chính xác cao lên đến 0.0001g, và độ chia độ ẩm lên đến 0.01% giúp ta tham khảo được từng mức đọ ẩm cần đo Cân có cổng RS232 kết nối với máy tính, máy in, sử dụng nguồn điện trực tiếp AC 220V Với tải trọng nhẹ nhàng, gọn, cân dễ dàng di
chuyển qua lại trong phòng, gia đình, nhà xưởng
Tính năng cân phân tích sấy ẩm CAS:
Trang 3535
-Cân phân tích sấy ẩm DINI ARGEO
Cân sấy ẩm DINI ARGEO xuất xứ ITALIA là dòng cân ứng dụng trực tiếp trong phòng thí nghiệm để phân tích, xử lý mẫu, đo độ ẩm của các vật mẫu
Nhiệt độ sấy: lên đến 160 ° C
Thời gian gia nhiệt (100 ° C): thời gian gần 3 phút
Thời gian khô: lên đến 10h
Nguồn cung cấp: AC 220V
Đầu vào để kết nối PS2 bàn phím máy tính bên ngoài
Trang 3636
RS232 port / c cho kết nối với máy tính hoặc máy in
Cổng USB để kết nối với PC
Nhiệt độ vận hành: từ + 18 ° C đến + 33 ° C
Cân sấy ẩm DINI ARGEO có chế độ sấy: kết thúc khi đạt đến thời gian thành lập, kết thúc tự động Phương pháp tính khi sấy:% trọng lượng khô,% độ ẩm trong mối quan hệ với ban đầu trọng lượng hoặc trọng lượng khô, bộ nhớ lưu trữ lên đến 10 chương trình tùy chỉnh (chế độ, nhiệt độ, thời gian, phương pháp tính toán) Với cổng RS 232 kết nối với máy tính, máy in để tính toán và in ấn của các đánh giá thống kê Hiển thị các đồ thị sấy khô trên màn hình vi tính và tính toán các báo cáo thông qua bàn phím máy tính bên ngoài Chế độ cài đặt ngày và thời gian, hiệu chuẩn cân bằng công nghệ digital kỹ thuật số
Cân sấy ẩm DINI ARGEO model ALGS60
Cân sấy ẩm DINI ARGEO model ALGM120
Trang 3737
-Cân phân tích sấy ẩm OHAUS Cân sấy ẩm OHAUS thường đượ hiển thị đa ngôn ngữ với các tiếng như: tiếng Anh, tiếng Tây Ban Nha, Pháp, Ý và Đức, đa dạng tải trọng như 23g, 25g, 35g và 45g, với một khả năng đọc 0.001g và lặp lại đến 0,015% (mẫu 10g) Cân còn có chức năng lưu trữ trên 50 dữ liệu cân, khi cần lấy dữ liệu nào chỉ thao tác trên bàn phím là có thể lấy được thông số của lần cân vừa rồi Sử dụng các chức năng thống
kê để theo dõi đơn giản và ghi âm của độ lệch chuẩn theo thời gian, các dòng cân sấy ẩm OHASU hiện tất cả các tính toán và cung cấp các kết quả cuối cùng
Cân sấy ẩm OHAUS sử dụng màn hình hiển thị Dot maxtrit (một dấu chấm ma trận hiển thị đồ họa cho thiết lập nhanh chóng và dễ sử dụng), hiển thị % độ ẩm, % chất rắn, % lấy lại, thời gian, nhiệt độ, trọng lượng, kiểm tra, đường cong sấy & thống kê
Đèn sưởi Halogen nóng và sấy nhanh với bốn lựa chọn nâng cao và một phạm vi nhiệt độ hoạt động từ 50º đến 200º C trong độ chia 1º
Bốn chương trình lựa chọn làm khô tự động cho phép dễ dàng làm khô một bước trong thời gian rất ngắn, chỉ đơn giản là cài đặt nhiệt độ và thời gian, và bắt đầu
Ứng dụng của cân sấy ẩm OHAUS
Trong phòng thí nghiệm
Trang 3838
Trong một nhà máy xử lý nước thải
Trong chế biến thực phẩm
Chuẩn bị đo đạc môi trường
Cân phân tích sấy ẩm OHAUS MB45
Cân phân tích sấy ẩm OHAUS MB35
Trang 3939
Cân phân tích sấy ẩm
OHAUS MB25
Cân phân tích sấy ẩm OHAUS MB23
II GIỚI THIỆU CÂN
Trang 4343
Khi có tải trọng hoặc lực tác động lên thân loadcell làm cho thân loadcell bị biến dạng (giãn hoặc nén), điều đó dẫn tới sự thay đổi chiều dài và tiết diện của các sợi kim loại của điện trở strain gauges dán trên thân loadcell dẫn đến một sự thay đổi
Trang 4646
Ví dụ 2)
Đối với các hệ thống cân công nghiệp như hệ thống cân bồn, hệ thống cân phễu, loadcell trụ đứng, module loadcell thường được sử dụng Một loadcell hoặc nhiều loadcell có thể được sử dụng, nhưng nếu sử dụng nhiều loadcell, tải trọng được
phân bố vào từng loadcell đều hơn nên độ chính xác sẽ cao hơn
Ví dụ 3)
Loadcell chữ “S” thường được sử dụng cho các máy đo lực
Trang 4747
III THIẾT KẾ HỆ THỐNG
1 Yêu cầu nội dung
Thiết kế hệ thu thập số liệu đo từ LOADCELL và hiển thị lên màn hình
Trang 4848
Trang 4949
2 PIC16F877A
Trang 5050
Trang 5151
Trang 5252
Trang 5353
Trang 5454
Trang 5555
Trang 5656
Trang 5757
3 Khối nguồn
Sơ đồ khối tạo nguồn -9v
Trang 5858
4 Khối khuyếch đại (sử dụng INA125)
Trang 5959
5 Khối hiển thị LCD
Trang 6060
Trang 6161
Trang 6262
Trang 6363
Trang 6464
Trang 6565
6 Thiết kế bàn cân
Tính toán khối lượng bàn cân cho phù hợp với nhu cầu sử dụng (sau đó tính toán lại hoặc hiệu chỉnh lại bài toán tính toán đúng, để trừ khối lượng bàn cân)
Lắp đặt sao cho tổng khối lượng dồn vào một điểm, trọng lực , lực hướng
tâm.(chiều dài, chiều rộng, bề dài và mặt tiếp xúc cần sần sùi để không bị trơn trượt)
Kết nối với loadcell phải chắc chắn và dễ dàng di chuyển ( bằng các mối hàn hoặc vít ốc)
Vật liệu làm bàn cân: bằng inok chống rĩ, vừa đẹp lại bền
Trang 6666
7 Sơ đồ thuật toán
Trang 6767
Trang 6868
8 Chương trình C
a MAIN.C
//CHUONG TRINH DOC VA HIEN THI LOADCELL LEN LCD(16x2)
//COPYRIGHT BY HOÀNG DAI
#include<16F877A.H>//cau hinh con pic su dung
#device *=16 adc=10//ta chon do phan giai adc mac dinh la 10 bit
#include<math.h>//chen thu vien chua cac ham se duoc su dung
#include<lcd.h>//thu vien chua cac ham de giao tiep va tuong tac voi lcd
//cau hinh dao dong thach anh 4M
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4M)
/****************************************************************/ //khai bao bien toan cuc
/****************************************************************/ //khai bao cac ham chuong trinh con se duoc su dung
void _Delay(char time);//ham tao thoi gian tre
void _Init_ADC(void);//ham khoi tao bo adc
void _Init_lcd(void);//ham khoi tao lcd
/****************************************************************/ /****************************************************************/ //chuong trinh chinh
void main(void)
Trang 6969
{
//khai bao bien cuc bo
unsigned int8 raw;
raw=READ_ADC();//doc gia tri adc va dua vao bien raw
value_adc=(float)raw*0.488;//day la gia tri chuyen doi tu adc sang gia tri loadcell
/*TH1: ta chon do phan giai cho adc la 8 bit
Trang 71void lcd_init(void); // Ham dung de khoi dong C.LCD
byte lcd_read_byte(void); // Ham xu ly doc thong tin (dang 8 bit) tu thong tin dang 4 bit tu C.LCD
byte lcd_read_nibble(void); // Ham doc thong tin (dang 4 bit / nibble) tu C.LCD
void lcd_send_byte(byte address, byte n); // Ham gui thong tin (byte) toi C.LCD tai dia chi (address)
Trang 7272
void lcd_send_nibble(byte n); // Ham gui thong tin (dang 4 bit / nibble) sang C.LCD
void lcd_gotoxy(byte x, byte y); // Ham thiet lap vi tri ghi tren C.LCD
char lcd_getc(byte x, byte y); // Ham tra ve ky tu tai vi tri (x,y) tren C.LCD void lcd_putc(char c); // Ham se hien thi ky tu c tai vi tri ke tiep tren
C.LCD
// Khai bao bien
// Dinh nghia cac thong so
#define LCD_RS_PIN PIN_D1 // Cach ket noi cac chan LCD voi cac chan
vi dieu khien
#define LCD_RW_PIN PIN_D2
#define LCD_ENABLE_PIN PIN_D3
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
/*
#define LCD_RS_PIN PIN_C5 // Cac ket noi C.LCD voi vi dieu khien
#define LCD_RW_PIN PIN_C6
#define LCD_ENABLE_PIN PIN_C7
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
Trang 7373
*/
/*
#define LCD_RS_PIN PIN_D1 // Cac ket noi C.LCD voi vi dieu khien
#define LCD_RW_PIN PIN_D2
#define LCD_ENABLE_PIN PIN_D3
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
*/
#define lcd_output_enable(x) output_bit(LCD_ENABLE_PIN, x) // Lenh dieu khien chan LCD_ENABLE_PIN
#define lcd_enable_tris() output_drive(LCD_ENABLE_PIN)
#define lcd_output_rs(x) output_bit(LCD_RS_PIN, x) // Lenh dieu khien chan LCD_RS_PIN
#define lcd_rs_tris() output_drive(LCD_RS_PIN)
#define lcd_output_rw(x) output_bit(LCD_RW_PIN, x) // Lenh dieu khien chan LCD_RW_PIN
#define lcd_rw_tris() output_drive(LCD_RW_PIN)
#define lcd_line_one 0x00 // Dia chi RAM C.LCD cho hang thu 1
#define lcd_line_two 0x40 // Dia chi RAM C.LCD cho hang thu 2
Trang 74// Dinh nghia cac hang so
byte const LCD_INIT_STRING[4] = {0x28 | (LCD_TYPE << 2), 0x0C, 0x01, 0x06};
// Cac byte nay can thiet de gui toi C.LCD, dung de khoi dong cau hinh hoat dong cho C.LCD
// Byte 1: 0x20 | (LCD_TYPE << 2) - So bit du lieu giao tiep (DL), so dong hien thi (N), kieu ky tu (F)
// 0 0 1 DL N F x x (DL: Data Length, N: Number Line, F: Font)
// Truong hop 1: 0x20 - 4 bit / 1 dong / 5 x 7
// Truong hop 2: 0x24 - 4 bit / 1 dong / 5 x 10
// Truong hop 3: 0x28 - 4 bit / 2 dong / 5 x 7
// Byte 2: 0x0C - Dieu khien hien thi (Bat hien thi, tat con tro, tat nhap nhay con tro)
// 0 0 0 0 1 D C B (D: Display, C: Cursor, B: Blink)
// Byte 3: 0x01 - Xoa hien thi va tra con tro ve dau dong
// Byte 4: 0x06 - Dat che do dau vao (Che do tang dia chi, tat dich chuyen hien thi)
// 0 0 0 0 0 1 I/D S (I/D: Increment/Decrement, S: Shift)
// Byte 5: - Doi con tro / hien thi
// 0 0 0 1 S/C R/L x x (S/C: Screen/Cursor, R/L: Right/Left)
Trang 75// Dinh nghia ham
output_drive(LCD_DATA4); // Thiet lap chan port (Data) o che do ngo ra
lcd_output_rs(0); // RS = 0 - Databus = Bus lenh
lcd_output_rw(0); // RW = 0 - Ghi thong tin vao C.LCD
lcd_output_enable(0); // EN = 0 - Cam truy xuat C.LCD
delay_ms(15); // Tao thoi gian tre 15ms (Thoi gian de LCD tu reset khi moi duoc cap nguon)
Trang 76lcd_send_nibble(0x03); // truong hop khi cung cap nguon cho C.LCD ma dien
ap nguon tang len cham)
delay_ms(5); // RS = 0, RW = 0, D7 - D4 = 0011 (0x03) -> DL = 1 (8 bit) } // Do co BF (Busy Flag) chua kiem tra duoc trong thoi diem nay, nen phai
// thuc hien 3 lan (xem luu do khoi dong C.LCD cua nha san xuat)
lcd_send_nibble(0x02); // Doan lenh khoi dong C.LCD o che do 4 bit Tu luc nay thi 4 bit cao duoc ghi
// ra truoc tien, sau do la 4 bit thap
Trang 77// Dinh nghia ham
output_float(LCD_DATA4); // Thiet lap chan port o che do ngo vao
output_float(LCD_DATA5);
output_float(LCD_DATA6);
output_float(LCD_DATA7);
lcd_output_rw(1); // RW = 1 - Doc thong tin tu C.LCD
// Tien hanh doc 4 bit cao cua thong tin tu C.LCD
delay_cycles(1); // Tao tre 1 chu ky (t=1us voi fosc=4MHz)
lcd_output_enable(1); // EN = 1 - Cho phep truy xuat C.LCD
delay_cycles(1); // Tao tre 1 chu ky (t=1us voi fosc=4MHz)
high = lcd_read_nibble(); // Cat tam 4 bit du lieu (4 bit cao)
lcd_output_enable(0); // EN = 0 - Cam truy xuat C.LCD
// Tien hanh doc 4 bit thap cua thong tin tu C.LCD
delay_cycles(1); // Tao tre 1 chu ky (t=1us voi fosc=4MHz)
lcd_output_enable(1); // EN = 1 - Cho phep truy xuat C.LCD
delay_cycles(1); // Tao tre 1 chu ky (t=1us voi fosc=4MHz)
low = lcd_read_nibble(); // Cat tam 4 bit du lieu (4 bit thap)
Trang 7878
lcd_output_enable(0); // EN = 0 - Cam truy xuat C.LCD
output_drive(LCD_DATA4); // Thiet lap chan port o che do ngo ra
// Khai bao bien
byte n = 0x00; // Mac dinh gia tri ban dau cho noi chua se thong tin
// Dinh nghia ham
n |= input(LCD_DATA4); // Doc lan luot cac bit tu bus du lieu
Trang 7979
// ***************************************************
void lcd_send_byte(byte address, byte n) // Ham gui thong tin (byte) toi C.LCD tai dia chi (address)
{ // address = 0: Lenh / 1: Du lieu
// byte = Thong tin can gui (8 bit)
// Khai bao bien
// Dinh nghia ham
lcd_output_rs(0); // RS = 0 - Databus = Bus lenh
while(bit_test(lcd_read_byte(),7)); // Cho Busy Flag = 0 (C.LCD da xu ly xong) lcd_output_rs(address); // RS = address - Databus = Bus lenh/du lieu
delay_cycles(1); // Tao tre 1 chu ky (t=1us voi fosc=4MHz)
lcd_output_rw(0); // RW = 0 - Ghi thong tin vao C.LCD
delay_cycles(1); // Tao tre 1 chu ky (t=1us voi fosc=4MHz)
lcd_output_enable(0); // EN = 0 - Cam truy xuat C.LCD
lcd_send_nibble(n >> 4); // Goi ham truyen 4 bit cao sang C.LCD
lcd_send_nibble(n & 0x0F); // Goi ham truyen 4 bit thap sang C.LCD
}
// ***************************************************
void lcd_send_nibble(byte n) // Ham gui thong tin (dang 4 bit / nibble) sang C.LCD