Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúngLỜI CÁM ƠN Lời đầu tiên em xin được gửi lời cảm ơn sâu sắc nhất đến các thầy cô giáo trong Khoa điện tử nói riêng cũng như trong toàn trườ
Trang 1Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
Nhận xét của giáo viên hướng dẫn
Thái Nguyên, ngày tháng 5 năm 2012 Giáo viên hướng dẫn (Ký ghi rõ họ tên) Nhận xét của giáo viên chấm
Thái Nguyên, ngày tháng 5 năm 2012
Giáo viên hướng dẫn
(Ký ghi rõ họ tên)
Trang 2Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
LỜI CÁM ƠN
Lời đầu tiên em xin được gửi lời cảm ơn sâu sắc nhất đến các thầy cô giáo trong
Khoa điện tử nói riêng cũng như trong toàn trường nói chung, những người đã nhiệt tình
dạy dỗ em trong thời gian qua.
Em cũng xin gửi những lời cảm ơn chân thành đến cô giáo Tăng Cẩm Nhung người
đã tận tình hướng dẫn, giúp đỡ và tạo cho em những điều kiện tốt nhất từ khi bắt đầu đến
khi hoàn thành đồ án” Thiết kế cân điện tử hiển thị từ 0 – 1 kg”
Trong khi thực hiện đồ án do kiến thức còn hạn chế cũng như chúng em chưa có nhiều
điều kiện để đi khảo sát thực tế, với một khoảng thời gian ngắn thực hiện, do vậy mà đồ
án của chúng em còn nhiều thiếu sót mong các thầy cô đóng góp và bổ xung ý kiến đề đồ
án của chúng em đươc hoàn thiện hơn !
Chúng em xin chân thành cảm ơn!
Ngày 25 tháng 5 năm 2012
Nhóm sinh viên thưc hiện:
Nguyễn Văn Hiếu.
Phạm Văn Định.
Nguyễn Hữu Mạnh.
Trang 3Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
LỜI CÁM ƠN 2
Chương 1: TỔNG QUAN HỆ THỐNG CÂN ĐIỆN TỬ 4
1.1 Giới thiệu về hệ thống cân điện tử 4
1.2 Cơ chế hoạt động của hệ thống cân điện tử 5
1.2.1 Cấu trúc chung 5
1.2.2 Nguyên lý hoạt động 5
1.3 Giới thiệu về đề tài 5
1.3.1 Cơ sở lựa chọn đề tài 5
1.3.2 Mục đích và yêu cầu bài toán 6
1.3.3 Yêu cầu và giới hạn của hệ thống 6
1.3.4 Lựa chọn giải pháp công nghệ 7
Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9
2.1 Sơ đồ tổng quan hệ thống 9
2.1.1 Chi tiết từng khối 9
2.1.2 Nguyên lý hoạt động của sơ đồ 9
2.2 Thiết kế hệ thống 10
2.2.1 Sơ đồ nguyên lý 10
2.2.2 Giải thích các khối 10
2.3 Thiết kế kỹ thuật 13
2.3.1 Sơ đồ callgraph 13
2.3.2 Sơ đồ đặc tả hệ thống 13
2.3.3 Linh kiện sử dụng trong hệ thống 14
Chương 3: XÂY DỰNG HỆ THỐNG 26
3.1 Sơ đồ giải thuật 26
3.1.1 Hiển thị Led 26
3.1.2 Sơ đồ giải thuật 26
3.2 Mã nguồn 27
Kết luận 28
Tài liệu tham khảo 29
Trang 4Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
Chương 1: TỔNG QUAN HỆ THỐNG CÂN ĐIỆN TỬ
1.1 Giới thiệu về hệ thống cân điện tử.
Nhu cầu cân đo cần thiết hằng ngày.Ngày nay, ciệc cân không chỉ dừng lại ở cân vài
kg hay vài tạ mà đã mở rộng vài tấn, vài chục tấn hoặc cân cần độ chính xác cao như
trong cân vàng, kim loại quý
Cân bình thường không thể đáp ứng được yêu cầu đó.Do đó cân điện tử ra đời
Ngày nay cân điện tử được sử dụng rất rộng rãi trong nhiều lĩnh vực : cân bàn, cân
sàn,cân ôtô, cân treo,cân phân tích, cân bỏ túi, cân vàng, cân đếm,cân thủy sản,cân phễu,
cân đóng bao, cân đóng phuy, cân công nghệ trong dây chuyền sản xuất, cân trạm trộn
bê tông từ 20kg đến 100 tấn
Khối lượng cân được: cân phân tích có khả năng cân từ 52g đến 210g với mức độ
chính xác từ 0.0001g đến 0.00001g, cân kỹ thuật từ 100g đến 20kg; cân công nghiệp từ
30kg đến 120tấn; cân xác định trọng lượng ô tô
+ Cân công nghiệp
+ Cân treo, cân móc cẩu
+ Cân siêu thị, cân tính tiền
+ Cân vàng, cân thử tuổi vàng
+ Cân đếm mẫu
+ Cân mũ cao su, cân mini
Trang 5Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
Một hệ thống cân dùng load cell tương tự gồm một hoặc một vài load cell nối song
song với nhau qua một hộp nối
Mỗi load cell tải một đầu ra độc lập, thường 1 đến 3 mV/V Đầu ra kết hợp được tổng
hợp dựa trên kết quả của đầu ra từng load cell Các thiết bị đo lường hoặc bộ hiển thị
khuyếch đại tín hiệu điện đưa về, qua chuyển đổi ADC, vi xử lý với phần mềm tích hợp
sẵn thực hiện tính toán chỉnh định và đưa kết quả đọc được lên màn hình hiển thị hiện đại
đều cho phép giao tiếp với các thiết bị ngoài khác như máy tính hoặc máy in
1.2 Cơ chế hoạt động của hệ thống cân điện tử.
1.2.1 Cấu trúc chung.
Hình 1.2.1.1 Cấu tạo chung của cân điện tử.
- Cảm biến trọng lượng (trọng lực) hay còn gọi là Loadcell: là thiết bị biến đối từ đại
lượng vật lý (khối lượng, lực…) thành đại lượng điện
- Bộ khuếch đại: Có nhiệm vụ nhận tín hiệu từ Loadcell khuếch đại tín hiệu lên để
Khi cho khối lượng hoặc lực tác dụng thì cảm biến thì cảm biến trọng lượng sẽ biến
đổi đại lượng đó thành đại lượng điện Đại lượng điện được khuếch đại lớn hơn sau khi đi
qua bộ phận khuếch đai và được đưa tới đầu vào của Vi Xử Lý Bộ phận Vi Xử Lý sẽ xử
lý thông tin đưa vào sau đó sẽ cho kết quả đưa tới bộ phận hiển thị
1.3 Giới thiệu về đề tài.
1.3.1 Cơ sở lựa chọn đề tài.
Cùng với sự phát triển của công nghiệp điện tử, kỹ thuật thì một số các hệ thống điều
khiển đã dần dần được tự động hóa Với những kỹ thuật tiên tiến như vi điều khiển, PLC
… được ứng dụng vào lĩnh vực điều khiển thì các hệ thống điều khiển cơ khí thô sơ, với
Trang 6Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúngtốc độ xử lý chậm chạp, ít chính xác đã được thay thế bằng các hệ thống điều khiển tự
động với các lệnh chương trình đã được thiết lập trước
Trong những điều kiện cần đòi hỏi độ chính xác rất cao Thì cân cơ khí không thể đáp
ứng được nhu cầu đặt ra Cân điện tử sẽ là phương án tốt để thay thế
Hình 2.1.1.1 Một số loại cân cơ khí.
Với những yêu cầu như vậy nhóm chúng em xin lựa chọn đề tài:”Thiết kế cân điện tử
hiển thị từ 0 – 1 kg “.
1.3.2 Mục đích và yêu cầu bài toán.
- Đầu vào là khối lượng thông qua bộ cảm biến và bộ vi xử lý để hiển thị qua LED 7
thanh Từ đó ta có yêu cầu bài toán như sau :
- Hiển thị chính xác khối lượng cần đo
- Hiển thị qua LED 7 thanh
- Hiển thị làm việc ổn định, tốc độ đáp ứng nhanh
1.3.3 Yêu cầu và giới hạn của hệ thống.
a) Các yêu cầu
- Đo và hiển thị khối lượng từ 0 đến 1kg
- Độ chính xác ±1g
- Chịu được nhiệt độ thay đổi
- Cảm biến và công nghệ tùy chọn
- Hiển thị màn hình rõ nét, công nghệ tùy chon
- Chi phí cho hệ thống với giá không quá 300 ngàn
- Có nút bấm khởi động
b) Giới hạn cho hệ thống
- Sử dụng nguồn điện 5V
- Kích thước phù hợp với người sủ dụng
- Hệ thống bê được bằng tay
Trang 7Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
- Hệ thống có cảnh báo khi khối lượng đo quá tải
- Chịu được quá tải
1.3.4 Lựa chọn giải pháp công nghệ.
Giải pháp công nghệ.
Dựa vào yêu cầu bài toán ‘‘ Thiết kế thiết hệ thống cân điện tử hiển thị từ 0-1 kg” và
các kiến thức đã học trong chương trình
Khối xử lý:
Để đáp ứng được yêu cầu của hệ thống đặt ra thì chúng ta có thể sử dụng các dòng vi
điều khiển như: 8051,AVR,PIC…
Để đáp ứng được theo yêu cầu thì có rất nhiều phương pháp để thực hiện, qua quá
trình học và nghiên cứu khảo sát vi điều khiển PIC thì thấy rằng vi điều khiển có ứng
dụng rất tốt như yêu cầu của đề tài và muốn hệ thống chính xác đạt được hiệu quả nhanh
nhất thì cần phải có bộ sử lý tín hiệu tốt
Ưu điểm :
- Vi điều khiển có khả năng điều khiển linh hoạt theo mong muốn của người sử dụng
dựa vào phần mềm được viết
- Khả năng thay đổi mã có thể thực hiện được
- Hệ thống đơn giản hơn nhiều,kích thước nhỏ,hơn nữa sẽ giảm được độ kém ổn định
do nhiều linh kiện gây ra
- Có thể thay đổi thêm chức năng bằng cách thay đổi mềm
Nhược điểm :
- Chất lượng của hệ thống phụ thuộc vào chất lượng được nạp cho vi điều khiển
Trên thị trường hiện nay thì có các phương pháp để đo được khối lượng như dùng cảm
biến khối lượng Loadcell , dùng điện trở Qua khảo sát chúng em thấy rằng dùng biến trở
trong hệ thống vì tính rẻ tiền, dễ kiếm xong vẫn đáp ứng được các yêu cầu của công
- Không chỉ dẫn cụ thể, giới hạn ký tự hiện ra Nếu muốn hiển thị dài cần nhiều LED
và đi kèm nó là bộ giải mã Điều này làm cho hệ thống trở nên cồng kềnh, phức tạp
Việc lập trình quét hàng quét cột để hiển thị phức tạp
Trang 8Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúngPhương án 2 : Dùng LCD.
Kết luận: Sau khi cân nhắc các phương án đưa ra và khả năng phối hợp giữa các khối,
phù hợp với đề tài, chúng em lựa chọn giải pháp :
- Sử dụng PIC16F877A
- Sử dụng Led 7 thanh
- Sử dụng cảm biến điện trở cuốn dây
Giải pháp thiết kế.
- Thiết kế mạch mô phỏng trên phần mềm Proteus 7
- Công cụ lập trình: phần mềm PIC C Compiler (CCS)
Trang 9Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Sơ đồ tổng quan hệ thống.
Hình 2.2.1.1 Sơ đồ tổng quan hệ thống.
2.1.1 Chi tiết từng khối.
- Khối cảm biến trọng lượng
+ Khối có chức năng thu nhận tín hiệu dưới dạng tương tự khi mà có khối lượng
đặt vào hệ thống cân rồi chuyển tới ADC theo dạng tín hiệu điện
- Khối vi điều khiển
+ Khối xử lý có chức năng tiếp nhận tín hiệu gửi đến sau đó xử lý để đưa ra khối
hiển thị
- Khối hiển thị
+ Khối hiển thị có chức năng hiển thị kết quả đo Có thể hiển qua màn hình LCD,
LED 7 đoạn hoặc LED đơn
- Khối Reset
+ Khối có chức năng reset lại hệ thống, giúp hệ thống làm việc từ đầu
- Khối nguồn
+ Cung cấp điện cho các khối trong sơ đồ
2.1.2 Nguyên lý hoạt động của sơ đồ.
Khi có khối lượng tác động vào hệ thống thì khối cảm biến có nhiệm vụ phát hiện và
gửi tín hiệu về ADC để ADC làm nhiệm vụ chuyển đổi tín hiệu tương tự về tín hiệu số
sau đó chuyển cho khối Vi Điều Khiển xử lý Khi khối Vi Điều Khiển xử lý xong thì nó
đưa kết quả xử lý ra ngoài khối hiển thị
Trang 10Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
2.2 Thiết kế hệ thống
2.2.1 Sơ đồ nguyên lý.
Hình 2.2.1 Sơ đồ nguyên lý
2.2.2 Giải thích các khối.
Module khối điều khiển
Hình 2.2.2 Module điều khiển
Trang 11Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
- Nhận tín hiệu từ cảm biến qua bộ biến đổi ADC của VDK có chức năng chuyển
đổi từ tín hiệu analog sang digital.Điều khiển,xử lý rồi đưa tới khối hiển thị
- Nút ấn và điện trở để tạo ra RESET cho PIC
- Thạch anh tạo dao dộng và các tụ lọc nhiễu
Module cảm biến
Hình 2.2.3 Cảm biến điện trở thanh.
- Truyền tín hiệu đo được cho pic dưới dạng điện áp
Module hiển thị
Hình 2.2.3 Module hiển thị.
- Các LED đều là ANOT chung, chân A, B, C, D, E, F, G là các chân dữ liệu của
LED, từng LED hoạt động độc lập, chân ANOT chung được nối qua TRASISTOR
và nối với VCC của khối nguồn
Trang 12Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
- Khi tín hiệu ở các transistor là mức logic cao thì các led được kích hoạt và nhận tín
hiệu số từ bộ vi xử lý để hiển thị nhiệt độ lên Led 7 thanh
Module nguồn
Hình 2.2.5 Module nguồn.
- Mạch nguồn cung cấp điện áp cho hệ thông hoạt động,trong đó gồm có
- Biến áp để biến đổi điện áp xoay chiều thành xoay chiều điện áp thấp, cấp cho
mạch chỉnh lưu
- Chỉnh lưu cầu nhiệm vụ biến đổi điện áp xoay chiều thành một chiều
- Các tụ có vai trò lọc các thành phần nhiễu và bậc cao
7805 có vai trò tạo ra điện áp 5v chuẩn
2.3 Thiết kế kỹ thuật.
2.3.1 Sơ đồ callgraph.
Hình 2.4.1 Sơ đồ callgraph.
Trang 13Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
2.3.2 Sơ đồ đặc tả hệ thống.
Hình 2.4.2 Sơ đồ đặc tả hệ thống.
2.3.3 Linh kiện sử dụng trong hệ thống.
Biến trở cuốn dây.
Hình 2.4.3.0 Cảm biến điện trở dây quấn.
- hx là chiều cao khung tại vị trí x
- l:chiều dài làm việc của cảm biến
- W: số vòng dây
- R0 là điện trở toàn bộ của cảm biến
- S là tiết diện dây quấn
Trang 14Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
Hình 2.4.3.2 Sơ đồ chân của Pic 16F877A.
Các thông số Pic 16F877A.
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit
- Mỗi lệnh đều được thực thi trong một chu kì xung clock
- Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns
- Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ
liệu EEPROM với dung lượng 256x8 byte
- Số PORT I/O là 5 với 33 pin I/O
- Các đặc tính ngoại vi bao gồmcác khối chức năng sau:
+ Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit
Trang 15Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
+ Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm
dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
+ Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler
- Hai bộ Capture/so sánh/điều chế độ rộng xung
- Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C
+ Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
+ Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển
RD, WR, CS ở bên ngoài
- Các đặc tính Analog: 8 kênh chuyển đổi ADC 10 bit
- Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
+ Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
+ Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần
+ Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm
- Khả năng tự nạp chương trình với sự điều khiển của phần mềm Nạp được
chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2
chân
- Watchdog Timer với bộ dao động trong
- Chức năng bảo mật mã chương trình
- Chế độ Sleep
Có thể hoạt động với nhiều dạng Oscillator khác nhau
Cổng xuất nhập (I/O port).
- Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương
tác với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quá trình
tương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng
- Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theo
cách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và số lượng
chân trong mỗi cổng có thể khác nhau
- Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trong các đặc tính giao tiếp
ngoại vi nên bên cạnh chức năng là cổng xuất nhập thông thường, một số chân xuất
nhập còn có thêm các chức năng khác để thể hiện sự tác động của các đặc tính ngoại
vi nêu trên đối với thế giới bên ngoài Chức năng của từng chân xuất nhập trong mỗi
cổng hoàn toàn có thể được xác lập và điều khiển được thông qua các thanh ghi SFR
liên quan đến chân xuất nhập đó
- Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,
PORTC, PORTD và PORTE
- Cấu trúc và chức năng của từng cổng xuất nhập sẽ được đề cập cụ thể trong phần
sau
Trang 16Bộ môn Tin Học Công Nghiệp Đồ án hệ thống nhúng
* PORTA :
- PORTA(RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều” (bidirectional pin),
nghĩa là có thể xuất và nhập được
- Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác
lập chức năng của một chân trong PORTA là input, ta “set” bit điều khiển tương ứng
với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năng của một
chân trong PORTA là output, ta “clear” bit điều khiển tương ứng với chân đó trong
thanh ghi TRISA
- Thao tác này hoàn toàn tương tự đối với các PORT và các thanh ghi điều khiển
tương ứng TRIS (đối với PORTA là TRISA, đối với
- PORTB là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD vàđối
với PORTE là TRISE)
- Các thanh ghi SFR liên quan đến PORTA bao gồm: PORTA (địa chỉ 05h) :
chứa giá trị các pin trong PORTA TRISA (địa chỉ 85h): điều khiển xuất nhập
CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh CVRCON (địa chỉ 9Dh) :
thanh ghi điều khiển bộ so sánh điện áp ADCON1 (địa chỉ 9Fh) : thanh ghi điều
khiển bộ ADC
* PORTB
- PORTB (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng là
TRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp
chương trình cho vi điều khiển với các chế độ nạp khác nhau
- PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0 PORTB còn được tích hợp
chức năng điện trở kéo lên được điều khiển bởi chương trình Các thanh ghi SFR liên
quan đến PORTB bao gồm: PORTB (địa chỉ 06h,106h) : chứa giá trị các pin trong
PORTB TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập OPTION_REG (địa chỉ
81h,181h) : điều khiển ngắt ngoại vi và bộ Timer0
*PORTC
- PORTC (RPC) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng là
TRISC Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ
Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART
- Các thanh ghi điều khiển liên quan đến PORTC: PORTC (địa chỉ 07h): chứa giá
trị các pin trong PORTC TRISC (địa chỉ 87h): điều khiển xuất nhập
* PORTD
- PORTD (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là
TRISD PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave
Port)