Vì vậy em mong muốn được nghiên cứu thiết kế ra hệ thống ổn định nhiệt độ lò ấp trứng nhằm tự động đo và hiển thị nhiệt độ các thông số của môi trường, một thời điểm bất kỳ trong khoảng
Trang 1MỤC LỤC
MỤC LỤC 1
LỜI NÓI ĐẦU 3
Chương 1 ĐẶC TẢ YÊU CẦU 6
1.1Đặt vấn đề 6
1.1.1 Về lò ấp trứng 6
1.1.2 Hiện trạng 7
1.1.3 Thực trạng 8
1.2 Giới thiệu các mô hình lò ấp trứng 8
1.2.1 Lò ấp trứng thủ công 8
1.2.2 Lò ấp trứng bán thủ công 8
1.2.3 Lò ấp trứng công nghiệp: 9
1.3 Phân tích bài toán và các giải pháp 11
1.3.1 Chức năng của đề tài: 11
1.3.2.các yêu cầu cụ thể cho hệ thống sẽ thiết kế : 11
1.3.3 giải pháp lựa chọn đề tài: 11
1.4 Yêu cầu và điều kiện ràng buộc 12
Chương 2 PHÂN TÍCH LỰA CHỌN LINH KIỆN 13
2.1 Arduino 13
2.1.1 Cấu trúc chung Arduino 13
2.1.2 Sơ đồ chức năng khối xử lý trung tâm 15
2.1.3 Các chuẩn giao tiếp vào ra 17
1.2.4 Nguồn nuôi 18
2.1.5 Cấu trúc phần mềm cơ bản và ứng dụng 18
2.1.6 Aduino Nano 22
2.2 LCD16x2 25
2.2.1 Cơ sở lý thuyết 25
2.2.2 Bài toán 26
2.3 Biến trở 27
2.4 Giao tiếp với LED đơn 28
2.5 Giao tiếp với với Cảm biến nhiệt độ DS18B20 29
Trang 22.5.1 Cơ sở lý thuyết 29
2.5.2 Bài toán 30
2.5.3 Giải quyết bài toán 30
2.5.4 Các bước thực hiện: 35
2.6 Diode 35
2.7 Tụ điện 36
2.8 Điện trở 37
2.9 Rơ le 38
Chương 3 THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 39
3.1 CÁC MODULE TRONG HỆ THỐNG 39
3.1.1 Module điều khiển 39
3.1.2 Module hiển thị 39
3.1.3 Module cấp nhiệt 39
3.1.4 Module khối nguồn 39
3.1.5 Module cảm biến 39
3.2SƠ ĐỒ NGUYÊN LÝ VÀ HOẠT ĐỘNG CÁC KHỐI TRONG HỆ THỐNG 40
3.2.1 Khối hiện thị : 40
3.2.2 Khối cảm biến 40
3.2.3 Khối chấp hành 41
3.2.4 Khối xử lí trung tâm 41
3.2.5 Khối làm mát 42
3.2.6 Khối nguồn : 42
3.2.7 khối điều khiển 43
3.2.8 Sơ đồ tổng thế của hệ thống 43
3.3 SƠ ĐỒ THUẬT TOÁN CỦA HỆ THỐNG 44
3.4 XÂY DỰNG PHẦN CỨNG 44
3.5 XÂY DỰNG PHẦN MỀM 45
3.6 Sản phẩm khi hoàn thành 49
3.7 Hướng phát triển 49
KẾT LUẬN 50
TÀI LIỆU THAM KHẢO 51
Trang 4DANH MỤC HÌNH ẢNH
HÌNH 1 MÔ HÌNH MỘT LÒ ẤP TRỨNG LOẠI NHỎ 6
HÌNH 2 LÒ ẤP TRỨNG QUI MÔ LỚN 6
HÌNH 3 CÁC KHAY ĐỰNG TRỨNG ĐANG ĐƯỢC ẤP 7
HÌNH 4 MÔ HÌNH LÒ ẤP TRỨNG ĐƠN GIẢN 12
HÌNH 1BO MẠCH ARDUINO 14
HÌNH 1 SƠ ĐỒ CHÂN TRONG ATMEGA 328 15
HÌNH 2 SƠ ĐỒ KHỐI CẤU TRÚC BÊN TRONG ATMEGA 328 16
HÌNH 3 SƠ ĐỒ CẤU TRÚC CPU TRONG ATMEGA 328 17
HÌNH 1 GẬY THÔNG MINH DÀNH CHO NGƯỜI MÙ 19
HÌNH 2 MÁY BAY KHÔNG NGƯỜI LÁI UAV 20
HÌNH 3 MÁY IN 3D 20
HÌNH 4 ROBOT DI ĐỘNG TRÁNH VẬT CẢN DÙNG ARDUINO NANO VÀ CAMERA CMUCAM 21
HÌNH 5 AMBILIGHT VỚI ARDUINO 21
HÌNH 2.6: HÌNH ẢNH ARDUINO NANO 22
HÌNH 2.2.1 LCD 16X2 25
HÌNH 2.3.1 BIẾN TRỞ CÚC ÁO 27
HÌNH 2.3.2 KÝ HIỆU TRIẾT ÁP TRÊN SƠ ĐỒ NGUYÊN LÝ 27
HÌNH 2.3.3 HÌNH DẠNG CẤU TẠO TRIẾT ÁP 28
HÌNH 2.4 CẤU TẠO CỦA LED 28
HÌNH 2.5.1 HAI LOẠI CẢM BIẾN NHIỆT DS18B20 29
HÌNH 2.5.2 SƠ ĐỒ NGUYÊN LÝ KHỐI CẢM BIẾN NHIỆT ĐỘ DS18B20 30
HÌNH 2.6 HÌNH ẢNH DIODE THƯỜNG 35
HÌNH 2.7 HÌNH ẢNH TỤ HÓA 36
HÌNH 2.8 HÌNH ĐIỆN TRỞ 38
HÌNH 2.9 RƠ LE 38
HÌNH 2.3.1 HÌNH SƠ ĐỒ KHỐI HIỆN THỊ 40
HÌNH 2.3.2: SENSOR CẢM ỨNG NHIỆT 40
HÌNH 3.3.3 ĐỘNG CƠ 41
HÌNH 2.3.4 KHỐI XỬ LÝ TRUNG TÂM 41
Trang 5HÌNH 2.3.4 KHỐI LÀM MÁT 42
HÌNH 2.3.6 NGUYÊN LÝ MẠCH CHUYỂNN NGUỒN 5V 42
HÌNH 3.3.7 MODULE RƠ LE 43
HÌNH 3.3.8 SƠ ĐỒ KHỐI CỦA MẠCH 43
Hình 3.3Sơ đồ thuật toán của hệ thống 44
Trang 6LỜI NÓI ĐẦU
Ngày nay do sự phát triển của khoa học kỹ thuật đang tác động đến các lĩnhvực, đặc biệt là lĩnh vực điện tử đã tạo ra bước nhảy vọt vượt bậc trong nhiều lĩnh vựccủa đời sống xã hội hiện nay Ngay cả trong trồng trọt, chăn nuôi cũng đã áp dụngkhoa học công nghệ để đạt năng suất cao nhất Là một sinh viên thực tập chuyênnghành với những kiến thức đã được học em mong muốn tạo ra một hệ thống tự động
áp dụng trong chăn nuôi Đó là đề tài ổn định nhiệt độ trong lò ấp Người ta thườngcho trứng ấp ở nhiệt độ cố định cho phép Tuy nhiên nhiệt độ trong lò luôn thay đổi vàphụ thuộc vào nhiệt độ môi trường Vì vậy em mong muốn được nghiên cứu thiết kế ra
hệ thống ổn định nhiệt độ lò ấp trứng nhằm tự động đo và hiển thị nhiệt độ các thông
số của môi trường, một thời điểm bất kỳ trong khoảng từ 0 đến 100 độ C Ổn định khinhiệt độ của môi trường không nằm trong một khoảng nhiệt độ nào đó mà ta đã chọn
Trong suốt quá trình thực hiện đề tài thực tâp chuyên ngành với đề tài “Ổn
định nhiệt độ trong lò ấp”ngoài sự cố gắng của bản thân, còn có sự giúp đỡ tận tình và
chỉ bảo của thầy cô trong bộ môn và bạn bè
Em xin gửi lời cảm ơn chân thành đến thầy KS Nguyễn Văn Dươngđã giúp đỡhướng dẫn cho em hoàn thành bài thực tập chuyên ngành này
Em xin chân thành cảm ơn!
Thái nguyên ngày ,tháng năm 2016
Sinh viên thực hiện
Đặng Tòn Nhậy
Trang 7Chương 1 ĐẶC TẢ YÊU CẦU 1.1 Đặt vấn đề
1.1.1 Về lò ấp trứng
Lò ấp trứng về cơ bản là một tổ hợp các thiết bị dùng để thay thế chức năng củagia cầm mái trong việc ấp nở các quả trứng Các lò ấp trứng được chế tạo để giảm thờigian con mái phải “ nằm ổ “ , ấp trứng số lượng nhiều trong khoảng thời gian cố định,
tỉ lệ trứng nở cao, hiệu quả kinh tế cao
Về thông thường các lò ấp trứng được dùng để ấp trứng các loại gia cầm thôngdụng với số ngày nở khác nhau :gà khoảng 3 tuần(21 ngày), vịt khoảng 4 tuần (28ngày), ngan 5 tuần(35 ngày)
Hình 1 Mô hình một lò ấp trứng loại nhỏ
Hình 2 Lò ấp trứng qui mô lớn
Trang 8Hình 3 Các khay đựng trứng đang được ấp
1.1.2 Hiện trạng
Trong dân gian, để có kết quả ấp nở tốt người ta chọn gia cầm mái có khả năng
ấp trứng khéo làm mái ấp trứng đã mang lại hiệu quả cao trong kinh doanh nhỏ Ngoài
ra các phương pháp ấp trứng như: ấp trứng thủ công chủ yếu dùng thóc, trấu nóng làmnguyên liệu kết hợp phơi trứng rồi đưa vào ấp bằng trấu hoặc thóc nóng rồi dùng trứng
đã ấp ủ với trứng mới vào còn gọi là trứng ấp trứng Thập kỷ 60, 70 còn dùng tủ ấpbằng nước nóng để ấp trứng ngỗng, vịt Ấp trứng gia cầm nhân tạo đã tạo điều kiệncho việc tập trung ngành chăn nuôi gia cầm và cho phép ngành này trở thành ngànhsản xuất có năng suất cao, hạ giá thành, góp phần đưa ngành chăn nuôi trở thànhngành sản xuất chính trong nông nghiệp Những năm gần đây tiến bộ kỹ thuật củacông nghệ ấp trứng gia cầm đang ở mức đỉnh cao Các loại máy ấp tự động đã điềuchính các yếu tố để luôn thỏa mãn những yêu cầu bắt buộc:
Yêu cầu:
1 Nhiệt độ từ đến C
2 Trong giai đoạn ấp (1-18 ngày) độ ẩm thích hợp khoảng 55-65% Giai đoạn
nở (19-21 ngày) độ ẩm 80-85%
3 Đảo trứng từ 1-3 lần/ngày Từ ngày 18 ngày trở đi thì thôi
4 Luôn tạo được độ thoáng gió
Các loại máy ấp tự động đã điều chỉnh các yếu tố: nhiệt độ, độ ẩm, thôngthoáng, đảo trứng một cách hoàn hảo nên có thể ấp với công suất 19.200 quả, 38.400đến 57.800 quả/ mẻ ấp đã cho tỷ lệ ấp nở rất cao 82 – 85 % gia cầm loại 1/ tổng trứng
Trang 9ấp Nhờ vậy người ta có thể cho gia cần nở vào bất kì thời điểm nào trong năm màkhông bị phụ thuộc, đồng thời cơ sở chăn nuôi gia cầm có thể chỉ bổ sung đàn mới một lần.
Áp trứng gia cầm nhân tạo không những có tác dụng nâng cao mức sản xuất thịt và trứngđều trong năm và làm tăng năng rất nhiều sản lượng sản phẩm/ một đơn vị chuồng nuôi.Đồng thời nó có ý nghĩa rất lớn đến công tác giống vì nhờ có ấp trứng nở theo cá thể vànhóm mà người ta theo dõi được huyết thống của từng con gia cầm giống
1.1.3 Thực trạng
Hiện này các lò ấp trứng được ứng dụng trong trang trại qui mô lớn đều là các
lò ấp công nghiệp tự động quy mô lớn, giá thành cao Ngược lại trong một số cơ sởnhỏ thì dùng lò bán tự động công suất ấp trứng không nhiều, khá rườm rà trong khâu
xử dụng và tỉ lệ trứng nở không cao gây thiệt hại về mặt kinh tế Đây cũng là khuyếtđiểm của các lò thủ công trong hộ gia đình đang sử dụng bị mắc phải
1.2 Giới thiệu các mô hình lò ấp trứng
1.2.1 Lò ấp trứng thủ công
Thực chất là việc sắp các kệ trứng xen kẽ giữa các bóng đèn, trong một khônggian rộng
Ưu điểm: - Giá rẻ , dễ áp dụng Chi phí ban đầu thấp
- Có thể thay đổi quy mô tùy ý theo người sử dụng
- Làm việc được ở điện áp 220V ·
Nhược điểm:
- Hoàn toàn không có khả năng tự động
- Khả năng trứng nở phụ thuộc vào kinh nghiệm người làm việc
- Sử dụng nhiều nhân công khi ấp trứng
1.2.2 Lò ấp trứng bán thủ công.
Biên độ nhiệt: trong khoảng tăng 0,1 độ C - giảm 0,1 độ C Nhiệt độ được điềukhiển tự động, ổn định bằng vi xử lý, tạo độ ẩm tự động, đảo trứng tự động Có thể ấptheo chế độ đa kỳ (mỗi tuần vào trứng một lần) hoặc đơn kỳ (vào trứng một lần)
Trang 10- Làm việc được ở điện áp 220V
- Công suất tiêu thụ thấp, giảm được một lượng lớn nhân công
- Có khả năng tự động hóa 1 phần Người sử dụng có thể cài các chế độ tự độngsẵn
Nhược điểm:
- Không có khả năng báo lỗi và hoạt động khi mất điện
- Hoạt động trong một một quy mô nhỏ khoảng 1000 trứng
- Cần người giám sát khi hệ thống hoạt đông
Trang 11Tự động hoàn toàn 100% , công xuất tối đa 1000 trứng, đảo trứng tự động (chế
độ hẹn giờ), phun ẩm và nhiệt độ tùy chình tự động đóng khi quá con số quy định Điện áp : 220V AC
Công suất tiêu thụ: 10kw / 1 kỳ ấp
- Phun ẩm: Tuỳ chỉnh , tự động đóng ngắt khi quá % quy định
Hệ thống cung cấp nhiệt: bóng nhiệt halozen chuyên dùng cho ấp trứng Đảo Trứng: Tự chọn hẹn giờ từ 30 Phút - 120 Giờ
- Nhiệt độ được điều khiển tự động,ổn định bằng vi xử lý
- Tạo độ ấm tự động
- Đảo trứng tự động (có thể tuỳ chọn thời gian đảo từ 1 giờ - 120 giờ )
- Có thể ấp theo chế độ đa kỳ(mỗi tuần vào trứng một lần) hoặc đơn kỳ
Trang 121.3 Phân tích bài toán và các giải pháp
1.3.1 Chức năng của đề tài:
+ Đo và hiển thị nhiệt độ của môi trường một thời điểm bất kỳ trong khoảng từ
0 đến 100 độ C
+ Ổn định khi nhiệt độ môi trường không nằm trong một khoảng nhiệt độ nào
đó mà ta đã chọn
1.3.2.các yêu cầu cụ thể cho hệ thống sẽ thiết kế :
+ Đo nhiệt độ của lò ấp trứng
+ Đo nhiệt độ từ 0 đến 100 độ C
+ Có thể cài đặt nhiệt độ theo yêu cầu
+ Làm việc với điện áp 220V/ 50 HZ
+ Dùng sensor cảm ứng nhiệt
+ Senser gửi về tín hiệu điện áp
+ Khi nhiệt độ tăng cao quá một giới hạn nào đó thì tắt cấp nhiệt
+ Khi nhiệt độ giảm thấp quá một giới hạn nào đó thì bật cấp nhiệt
+ Hệ thống làm việc được khi mất điện lưới (có nguồn dự trữ)
1.3.3 giải pháp lựa chọn đề tài:
Các tiêu chuẩn lựa chọn bộ vi điều khiển
Tiêu chuẩn đầu tiên và trước hết trong lựa chọn một bộ vi điều khiển là nó phảiđáp ứng nhu cầu bài toán về mặt công suất tinh toán, giá thành và hiệu quả, chúng taphải biết trước hết là các bộ vi điều khiển nào là 8 bit, 16 bit, 32 bit có thể đáp ứng tốtnhất nhu cầu tính toán của bài toán một cách hiệuquả nhất * Những tiêu chuẩn đươcđưa ra để cân nhắc là:
+ Tốc độ: Tốc độ lớn nhất mà bộ vi điều khiển hỗ trợ là bao nhiêu?
+Kiểu đóng vỏ: Đây là điều quan trọng đối với yêu cầu về không gian, kiểu lắpgiáp và tạo mẫu thử cho sản phẩm cuối cùng Đó là kiểu 30 chân DIP hay QFP hay làkiểu đống vỏ khác
+ Công suất tiêu thụ: Điều này đặc biệt khắc khe với những sản phẩm dùng pin,
ác quy
+ Dung lượng bộ nhớ RAM và ROM trên chip
+ Khả năng nâng cấp cho hiệu suất cao hoặc giảm công suất tiêu thụ
Trang 13+ Giá thành cho một đơn vị: điều này quan trọng quyết định giá thành cuốicùng của sản phẩm mà một bộ vi điều khiển đươc sử dụng
Hình 4 Mô hình lò ấp trứng đơn giản
1.4 Yêu cầu và điều kiện ràng buộc
Từ những tiêu chí và thiết kế trên, em đã rút ra những yêu cầu và ràng buộc chothiết kế sản phẩm của mình
a Yêu cầu: mạch ổn định nhiệt độ cho lò ấp trứng như trong hình 4 phải đảm bảođược các yêu cầu bắt buộc về nhiệt độ, độ ẩm, khả năng thoáng khí Cụ thể như sau:
Nhiệt độ ổn định trong khoảng từ 3 C - 3 C với sai số cho phép khoảng 3%.Trong giai đoạn ấp (7 ngày đầu) độ ẩm thích hợp khoảng 70-75%, giai đoạn hai (từngày 8 đến 15) độ ẩm 50-55%, giai đoạn nở ( từ ngày 15 trở đi) độ ẩm khoảng 65-70% Đảo trứng từ 1-3 lần/ngày trong trường hợp cần thiết Từ ngày 18 trở đi thìkhông đảo mà chỉ cần tạo được độ thoáng gió
b Ràng buộc trong trường hợp bộ điều khiển nhiệt độ cho lò áp trứng có cấutạo như hình 4 sẽ có những ràng buộc cụ thể như trong trường hợp này lò có thể dùngnhiệt độ từ hơi ẩm được cung cấp qua các ống dẫn để tiền hành ấp trứng Để đảm bảocho bộ ổn định nhiệt độ hoạt động bình thường, nó phải được đặt trong một hộp kínbằng nhưa cững và kích thước có thể điều chỉnh tùy theo kích thước của lò Các thông
số về độ ẩm, nhiệt độ của lò được nhận qua các cảm biến nhiệt độ và độ ẩm đặt bênngoài hộp chứa bộ ổn định Do việc ấp trứng dùng nhiệt độ từ hơi nóng được cung cấpnên độ ẩm trong lò là rất cao, để đảm bảo ta bố trí hợp lí các lỗ thông hơi và các quạt
có kích thước phù hợp để đảm bảo lưu thông luồng không khí Khi nhiệt độ và độ ẩmvượt quá mức yêu cầu ban đầu mà không điều chỉnh kịp thì phải có một bộ phận cảnhbáo (vd:chuông) cho người xử lí đi kèm với việc ngắt ngay lập tức nguồn cung cấp hơi
Trang 14nóng Do lò không cần đảo trứng nên phải bố trí các quạt để lưu thông luồng khôngkhí trong lòng lò
Chương 2 PHÂN TÍCH LỰA CHỌN LINH KIỆN
Phải nói rằng chưa bao giờ chủng loại các loại vi điều khiển trên thị trường lạinhiều như hiện nay Ngày nay với sự ra đời nhiều loại vi điều khiển các bạn sinh viên
có thể tương đối thoải mãi lựa chọn các loại vi điều khiển và công cụ phát triển có sẵntrên thị trường với đủ chủng loại, xuất xư và giá cả Với một bài toán, bất kể đó là một
dự án của một công ty, một robot của nhóm sinh viên tham dự robotcon hay đơn giảnchỉ là một bài tập lớn của một môn học, người dùng đều có thể có hàng tá lựa chọn “bộnão” của sản phẩm hay chính là chip vi điều khiển(còn gọi là MCU, viết tắt củaMicrocotroller unit) Các loại vi điều khiển có thể kể đến như họ 8051, PIC, AVR,ARM và gần đây nhất là Arduino Với mỗi loại vi điều khiển đều sử dụng một nềntảng lập trình khác nhau Arduino là một loại vi điều khiển có thể nói là gần gũi vớingười lập trình và dễ sử dụng cũng như các câu lệnh ngắn gọn giúp người có ít kiếnthức vẫn có thể lập trình và sử dụng được Vậy cuối cùng Arduino chính là sự lựachọn dùng để làm chip điều khiển
2.1 Arduino
2.1.1 Cấu trúc chung Arduino
Arduino cơ bản là một mã nguồn mở về điện tử được tạo thành từ phần cứng vàphần mềm.Về mặt kĩ thuật có thể coi Arduino là một bộ điều khiển logic có thể lậptrình được
Đơn giản hơn, Arduino là thiết bị có thể tương tác với ngoại cảnh thông qua cáccảm biến và hành vi được lập trình sẵn Với thiết bị này việc lắp ráp và điều khiển cácthiết bị điện tử sẽ dễ dàng hơn bao giờ hết
Hiện tại, có rất nhiều loại vi điều khiển và đa số được lập trình bằng ngôn ngữC/C++ hoặc Assembly nên rất khó khăn cho những người có ít kiến thức sâu về điện
tử và lập trình Nó là trở ngại cho mọi người muốn tạo riêng cho mình một món đồmang tính công nghệ Song Arduino đã giải quyết được vấn đề này Arduino được pháttriển nhằm đơn giản hóa việc thiết kế, lắp ráp linh kiện điện tử cũng như lập trình trên
vi điều khiển và mọi người có thể tiếp cận dễ dàng hơn với thiết bị điện tử mà khôngcần nhiều về kiến thức điện tử và thời gian
Trang 15Những thế mạnh của Arduino so với các nền tảng vi điều khiển khác:
Chạy trên đa nền tảng: Việc lập trình Arduino có thể thực hiện trên các hệđiều hành khác nhau như Windows, Mac Os, Linux trên Desktop, Android trên diđộng
Ngôn ngữ lập trình đơn giản dễ hiểu
Mã nguồn mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm chạytrên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau
Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng modul nênviệc mở rộng phần cứng cũng dễ dàng hơn
Đơn giản và nhanh: Rất dễ dàng lắp ráp, lập trình và sử dụng thiết bị
Dễ dàng chia sẻ: Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lolắng về ngôn ngữ hay hệ điều hành mình đang sử dụng
Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến phứctạp Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội của Arduino
do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp
Hình 1Bo mạch ARDUINO
Thông số kỹ thuật của Uno:
Khối xử lý trung tâm là vi điều khiển Atmega328
Điện áp hoạt động 5V
Điện áp đầu vào khuyến nghị là 5-12V
Điện áp đầu vào giới hạn 6-20V
Trang 16Dòng điện một chiều trên các chân vào ra là 40mA.
Dòng điện một chiều cho chân 3.3V là 50mA
Clock Speed 16 MHz
Flash Memory 16 Kb (ATmega 168) hoặc 32 Kb (ATmega 328), SRAM 1 Kb(ATmega 168) hoặc 2 Kb (ATmega 328), EEPROM 512 bytes (ATmega 168) hoặc 1
Kb (AT mega 328)
2.1.2 Sơ đồ chức năng khối xử lý trung tâm
Trong bo mạch Arduino IC đóng vai trò xử lý trung tâm là Atmega328 cấu trúc
sơ đồ chân của nó như sau:
Hình 1 Sơ đồ chân trong ATmega 328
Chân VCC (chân số 7): Chân cung cấp điện áp dương nguồn 5V.
Chân GND (chân số 8): Chân đất chung
Chân AREF (chân 21): Là chân tham chiếu để chuyển đổi tín hiệu tương tự
Trang 17Cổng D (chân 2 – chân 6, chân 11 – chân 13): Bao gồm có 8 chân I/O từchân (PD0÷PD7).
Hình 2 Sơ đồ khối cấu trúc bên trong ATmega 328
Khối xử lý trung tâm trong IC ATmega 328 như sau:
Đây là kiến trúc chung trong lõi AVR nói chung Chức năng chính của lõi CPU
là để đảm bảo thực hiện chương trình chính xác CPU do đó phải có khả năng truy cậpnhanh, thực hiện các tính toán, thiết bị ngoại vi điều khiển và xử lý ngắt Để tối đa hóahiệu suất, AVR sử dụng một kiến trúc Harvard và đường bus riêng biệt cho chươngtrình và dữ liệu Hướng truyền dữ liệu trong bộ nhớ chương trình thực hiện với một tốc
độ nhất định
Trang 18Hình 3 Sơ đồ cấu trúc CPU trong ATmega 328
2.1.3 Các chuẩn giao tiếp vào ra
Trong số 14 chân tín hiêu số chúng ta có thể cấu hình để làm chân nhận dữ liệuvào từ các thiết bị ngoại vi hoặc làm chân để truyền tín hiêu ra các thiết bị ngoại vi.Bằng cách sử dụng các chức năng pinMode(), digitalWrite() và digitalRead() hoạtđộng ở điện áp 5V Mỗi chân có thể cung cấp hoặc nhận một dòng điện tối đa 50mA
và có một điện trở kéo lên nội bộ (ngắt kết nối theo mặc định) 20-50 kOhms Ngoài ra
có một số chân có chức năng khác:
Chân 0 (Rx) : Chân được dùng để nhận dữ liệu
Chân 1 (Tx) : Chân được dùng để truyền dữ liệu
Chân 2 và 3: Chân ngắt ngoài dùng để dừng một chương trình thực hiệnchương trình khác khi một ngắt bên ngoài xảy ra
Chân 3, 5, 6, 9, 10 và 11: Chân để điều chế độ rộng xung
Chuẩn giao tiếp SPI: Sử dụng chân 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
Chuẩn giao tiếp I2C: Sử dụng chân đầu vào tương tự A4 (SDA) và A5 (SCL)
Chân Aref: Tham chiếu điện áp đầu vào analog
Trang 191.2.4 Nguồn nuôi
Arduino có thể được hỗ trợ thông qua kết nối USB hoặc với một nguồn cungcấp điện bên ngoài Các nguồn năng lượng được lựa chọn tự động Hệ thống vi điềukhiển có thể hoạt động bằng một nguồn cung cấp bên ngoài từ 6V đến 20V Nên cungcấp với ít hơn 7V, tuy nhiên pin 5V có thể cung cấp ít hơn 5V và hệ thống vi điềukhiển có thể không ổn định Nếu sử dụng nhiều hơn 12V điều chỉnh điện áp có thể quánóng Phạm vi khuyến nghị là 7V đến 12V
Chân Vin: Điện áp đầu vào Arduino khi chúng ta dùng nguồn điện bên ngoài(khác với nguồn 5V lấy từ USB hoặc nguồn thông qua jack cắm nguồn riêng) Chúng
ta có thể cung cấp nguồn thông qua chân này
Chân 5V: Cung cấp nguồn vi điều khiển và các bộ phận khác trên bo mạch
và cung cấp nguồn cho các thiết bị ngoại vi khi kết nối tới bo mạch
Chân 3V3: Cung cấp nguồn cho các thiết bị cảm biến
Chân GND: Chân nối đất
Ví dụ cấu trúc một chương trình cơ bản của Arduino
int buttonPin = 3;
void setup()
{
Serial.begin(9600);//cấu hình cổng nối tiếp có tốc độ dữ liệu là 9600 bps
pinMode(buttonPin, INPUT); // Đặt chân 3 là chân input
}
void loop()
{
//
Trang 20Vòng lặp loop() sử dụng để lặp và những vòng lặp liên tiếp, chương trình có thểthay đổi và đáp ứng Sử dụng để điều khiển mạch Arduino
2.1.5.2 Một số ứng dụng nổi bật của Arduino:
- Dự án gậy thông minh
Việc đi lại của người mù là vô cùng khó khăn điều này chắc ai cũng rõ dù ởbất cứ nơi đâu chúng ta đều thấy có người mù Người mù bị thụ động trong việc đi lạiphải dựa vào vật thể khác để chỉ đường cho mình như cây gậy, ở một số nước pháttriển người ta áp dụng công nghệ vào việc đi lại của người mù cũng như tích hợp một
số ứng dụng thông minh như định vị khi người mù bị lạc
Hình 1 Gậy thông minh dành cho người mù
- Thiết bị bay không người lái UAV
UAV là một ứng dụng đặc biệt thích hợp với Arduino do chúng có khả năng xử
lý nhiều loại cảm biến như Gyro, acceleometer, GPS, điều khiển động cơ bước, động
cơ servo có khả năng truyền tín hiệu từ xa
Trang 21Hình 2 Máy bay không người lái UAV
- Máy in 3D: Một cuộc cách mạng khác cũng đang âm thầm định hình nhờ vàoArduino, đó là sự phát triển máy in 3D nguồn mở Reprap Máy in 3D là công cụ giúp tạo
ra các vật thể thực trực tiếp từ các file CAD 3D Công nghệ này hứa hẹn nhiều ứng dụngrất thú vị trong đó có cách mạng hóa việc sản xuất cá nhân
Hình 3 Máy in 3D
Trang 22- Robot: Do kích thước nhỏ gọn và khả năng xử lý mạnh mẽ, Arduino được chọnlàm bộ xử lý trung tâm của rất nhiều loại robot, đặc biệt là robot di động.
Hình 4 Robot di động tránh vật cản dùng Arduino nano và camera CMUCam
- Điều khiển ánh sáng: Các tác vụ điều khiển đơn giản như đóng ngắt đèn LEDhay phức tạp như điều khiển ánh sáng theo nhạc hoặc tương tác với ánh sáng laser đều
có thể thực hiện với Arduino
Hình 5 Ambilight với Arduino
Để xây dựng mạch cứng của “mạch ổn định nhiệt độ trong lò ấp” em có đưa ra mộtvài phương án lựa chọn các linh kiện sử dụng để làm mạch trong đó có 4 phần tử chính cầnlựa chọn đó là: vi điều khiển, khối cảm biến , khối hiển thị và khối đóng ngắt
- Trong bài thực tập này, em sử dụng Arduino một loại vi điều khiển mớinhưng hiện nay lại đang được sử dụng rất rộng rãi nhờ tính năng ưu việt của nó đặcbiệt trong lĩnh vực mạng cảm biến Cũng như những tính năng đã nói ở trên con vi
Trang 23điều khiển được dùng chính là Arduino nano Vì Arduino nano nhỏ gọn và cũng cóchức năng đầy đủ như các con Arduino khác.
2.1.6 Aduino Nano
Arduino Nano là một thiết kế nhỏ gọn với chức năng, sức mạnh, phần cứngcũng như cách sử dụng hoàn toàn tương đương với Arduino Uno, nếu bạn thích sự nhỏgọn trong thiết kế thì đâylà 1 sự lựa chọn hoàn toàn tối ưu dành cho bạn
- Arduino Nano sử dụng chip dán ATmega328 (Arduino Nano 3.x) hoặc nhưngkhác pakage(gói) Nó thiếu chỉ một jack cắm điện DC, và làm việc với một cáp USBMini-B Nano được thiết kế và được sản xuất rộng khắp
Hình 2.6: Hình ảnh Arduino Nano
Trang 24Điện áp vào khuyên dùng 7-12V – DC
Điện áp vào giới hạn 6-20V – DC
Số chân Digital I/O 14 (6 chân PWM)
Số chân Analog 8 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 40 mA
- Chip FTDI FT232RL trên Nano chỉ được hỗ trợ nếu board đang được cungcấp thông qua cổng USB Kết quả là, khi chạy nguồn điện ngoài (không USB), đầu ra3.3V (được cung cấp bởi chip FTDI) không có sẵn và các đèn LED RX và TX sẽ nhấpnháy nếu chân số 0 hoặc 1 là cao
Trang 25Bộ nhớ
- Các Atmega168 có 16 KB bộ nhớ flash để lưu trữ(trong đó có 2 KB được sửdụng cho bộ nạp khởi động); các ATmega328 có 32 KB, (cũng với 2 KB được sử dụngcho bộ nạp khởi động) Atmega168 có 1 KB của SRAM và 512 byte EEPROM (có thểđọc và ghi với thư viện EEPROM); các ATmega328 có 2 KB của SRAM và 1 KBEEPROM
Chân Input / Output
- Với mỗi chân trong số 14 chân (digital) trên Nano có thể được sử dụng nhưmột đầu vào hay đầu ra, qua việc sử dụng pinMode (), digitalWrite (), và digitalRead() Mỗi chân đó hoạt động ở mức 5 volts Mỗi pin có thể cung cấp hoặc nhận tối đa 40
mA và có một điện trở kéo lên bên trong (ngắt kết nối theo mặc định) 20-50 kohms.Ngoài ra, một số chân có chức năng khác như:
Serial: 0 (RX) và 1 (TX) Được sử dụng để nhận (RX) và truyền tải (TX) TTL
dữ liệu nối tiếp Các chân này được kết nối với các chân tương ứng của FTDI TTL và nối tiếp chip
USB-to-Ngắt ngoài(pin 2 và 3):Các chân có thể được code để kích hoạt một ngắt trênmột giá trị thấp, một xung lên và xuống, hoặc một sự thay đổi về giá trị DùngattachInterrupt () trong thư viện để biết chi tiết
PWM: 3, 5, 6, 9, 10, và 11 Cung cấp 8-bit đầu ra PWM với analogWrite ()chức năng.(http://arduino360.com/thu-vien/) để biết chi tiết
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)Những chân hỗ trợ SPI truyềnthông
LED: 13 Có một LED kết nối với pin số 13 Khi pin là giá trị cao, đèn LEDđược bật, khi pin là thấp, nó ra
Arduino Nano có 8 đầu vào tương tự, mỗi trong số đó cung cấp độ phân giải
10 bit (tức là năm 1024 giá trị khác nhau) Theo mặc định thì mức điện sẽ là 5 volts,tuy nhiên có thể thay đổi phạm vi của nó bằng cách sử dụng analogReference () chứcnăng Chân Analog 6 và 7 không thể được sử dụng như chân số (digital)
- Ngoài ra, một số chân có chức năng khác:
I2C: 4 (SDA) và 5 (SCL) Hỗ trợ I2C (TWI) giao tiếp bằng cách sử dụngWire library
Trang 26Aref: Điện áp tham chiếu cho các đầu vào tương tự Được sử dụng với
mà LCD có Ví dụ LCD 16x2 là loại có 2 dòng và mỗi dòng có thể hiển thị tối đa 16
ký tự Một số kích thước Text LCD thông thường gồm 16x2, 16x4, 20x2, 20x4…
Hình 2.2.1 LCD 16x2
LCD 16x2 có 2 cách giao tiếp là nối tiếp (như I2C) và song song LCD 16x2 có
2 dòng hiển thị và 2 mode giao tiếp là 4 bit và 8 bit Nó chứa sẵn 208 ký tự mẫu kíchthước font 5x8 và 32 ký tự mẫu font 5x10 (tổng cộng là 240 ký tự mẫu khác nhau)