Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt, Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà Việt
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬT MÁY TÍNH
ĐỒ ÁN MÔN HỌC THIẾT KẾ MẠCH
TÌM HIỂU VÀ THIẾT KẾ MẠCH QUẢN LÝ NĂNG LƯỢNG TRONG NGÔI NHÀ VIỆT
Giảng viên hướng dẫn: TS.NGUYỄN MINH SƠN
Sinh viên thực hiện:
NGUYỄN THÀNH HƯNG - 10520420
VŨ VƯƠNG HIỆP - 10520369 PHAN VÕ LONG THIÊN - 10520321
Lớp: KTMT05
Khóa: 05
TP Hồ Chí Minh, tháng 1 năm 2014
Trang 2GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
MỞ ĐẦU
Ngày nay với sự tiến bộ của khoa học kỹ thuật, thì việc ứng dụng của nó vào các lĩnh vực sản xuất, dân sinh… cũng phát triển theo Các thiết bị gia đình cũng từ đó
mà phát triển theo, làm cho cuộc sống càng trở nên hiện đại Nhưng để cho các thiết bị
có thể hoạt động ổn định, đảm bảo công suất cũng như bảo vệ nó tránh khỏi hư hỏng là yêu cầu được đặt lên hàng đầu Do đó mà đề tài đo cường đồ dòng điện thiết bị gia đình của nhóm chúng em ra đời Nó có chức năng đo dòng điện của các thiết bị, cũng như là điện năng mà gia đình tiêu thụ, từ đó để điều chỉnh công suất, ngắt dòng các thiết bị khi quá tải để nó được an toàn
Đồ án “Tìm hiểu và thiết kế mạch quản lý năng lượng trong ngôi nhà
Việt” bao gồm tất cả 4 chương:
Chương 1: Giới thiệu – giới thiệu khái quát về đề tài và mục đích của đề tài Chương 2: Nền tảng, công nghệ và các thiết bị sử dụng – giới thiệu về vi
điều khiển PIC18F, mà cụ thể là PIC18F97J60, bao gồm kiến trúc vi điều khiển, các thành phần ngoại vi, trình biên dịch C18 trên MPLAB Giới thiệu về cảm biến đo dòng ACS712, cách sử dụng và ứng dụng của nó
Chương 3: Thực hiện đề tài – từ ý tưởng đến thực tiễn, thiết kế mạch chọn
thiết bị, linh kiện, lập trình cho vi điều khiển, để từ đó hoàn thành sản phẩm để kiểm tra
và ứng dụng
Chương 4: Đánh giá và kết luận – tồng kết những gì đã đạt được, những
kinh nghiệm trong quá trình thực tiễn cũng như hướng phát triển để áp dụng cho đồ án môn học và khóa luận tốt nghiệp sau này
Trang 3LỜI CÁM ƠN
Trong suốt quá trình làm đồ án, nhóm chúng em đã được sự hướng dẫn, tận
tình của các thầy cô giảng viên trường ĐHCNTT TPHCM Mà đặc biệt là thầy-Người
đã truyền cảm hứng và chỉ dạy tận tình cho nhóm chúng em đề hoàn thành đồ án đúng
thời hạn
Mặc dù đã cố gắng tìm hiểu và thực hiện đồ án, nhưng cũng không thể tránh
khỏi những thiếu sót, nhóm chúng em rất mong sự đóng góp quý báu từ thầy, để chúng
em có thể hoàn thiện hơn trong các đồ án sau
Nhóm sinh viên thực hiện
Nguyễn Thành Hưng
Vũ Vương Hiệp Phan Võ Long Thiên
Thành phố Hồ Chí Minh, tháng 1 năm 2014
Trang 4GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
NHẬN XÉT (Của giảng viên hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5MỤC LỤC
Trang
MỞ ĐẦU 1
LỜI CÁM ƠN 2
NHẬN XÉT 3
MỤC LỤC 4
Chương 1 GIỚI THIỆU 1
1.1 Giới thiệu đề tài 1
1.2 Mục tiêu đề tài 2
Chương 2 Nền tảng, công nghệ và các thiết bị sử dụng 2
2.1 Giới thiệu về PIC18F97J60 3
2.1.1 Vi điều khiển nổi bật trong việc tích hợp module Ethernet 3
2.1.2 Cấu tạo bộ dao động linh hoạt 4
2.1.3 Đường truyền dữ liệu bộ nhớ bên ngoài 4
2.1.4 Điểm nổi bật ở thiết bị ngoại vi 4
2.1.5 Những điểm đặ biệt của vi điều khiển 5
2.1.6 Mạch nạp cho PIC 6
2.2 Phần mềm MPLAB và trình biên dich C18 6
2.2.1 Phần mềm MPLAB 6
2.2.2 Trình biên dịch Mirochip C18 7
2.3 Cảm biến đo dòng ACS712 8
2.4 LCD 16x2 để hiển thị dòng điện 9
2.5 Phần mềm thiết kế mạch Altium 2013 10
Chương 3 Thực hiện đề tài 11
3.1 Thiết kế sơ đồ nguyên lý 11
Trang 6GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
3.1.1 Bộ xử lý trung tâm – PIC18F97J60 12
3.1.2 Giao tiếp với thiết vị ngoại vi 14
3.1.3 Mạch cảm biến đo dòng 17
3.2 Thiết kế mạch in 17
3.3 Lập trình cho vi điều khiển 19
Chương 4 Đánh giá và kết luận 21
4.1 Thuận lợi 21
4.2 Khó khăn 21
4.3 Kết luận 22
DANH MỤC TÀI LIỆU THAM KHẢO 22
Trang 7DANH MỤC HÌNH
Trang
Hình 1.1 Mô hình đo dòng điện thiết bị 1
Hình 2.1 PIC18F97J60 3
Hình 2.2 Pickit 2 6
Hình 2.3 Giao diện của phần mềm MPLAB 7
Hình 2.4 Lựa chọn trình biên dịch 7
Hình 2.5 Hình ảnh của ACS712 8
Hình 2.6 Sơ đồ chân ACS712 8
Hình 2.7 LCD 16x2 9
Hình 2.8 Altium Designer 2013 10
Hình 3.1 Bộ xử lý trung tâm - PIC18F97J60 12
Hình 3.2 Thạch anh 25MHz 13
Hình 3.3 Thạch anh 32kHz 13
Hình 3.4 Tụ 104 để chống nhiễu 13
Hình 3.5 Nút nhấn 14
Hình 3.6 LED 14
Hình 3.7 Chân Analog 14
Hình 3.8 Các chân nhận Analog 15
Hình 3.9 RJ45 giao tiếp Ethernet 15
Hình 3.10 COM sang USB 16
Hình 3.11 Nguồn cung cấp 17
Hình 3.12 Mạch in lớp TOP 18
Hình 3.13 Mạch in lớp BOTTOM 19
Trang 8GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
Chương 1 GIỚI THIỆU
Chương này gồm các vần đề sau:
1.1 Giới thiệu đề tài
1.2 Mục tiêu của đề tài
1.1 Giới thiệu đề tài
Ngày nay với sự phát triển nhanh chóng của công nghệ, các thiết bị gia đình ngày càng phong phú, cũng từ đó mà vấn đề tiêu thụ điện năng cũng như quá tải trong việc sử dụng điện trong gia đình đòi hỏi phải được giải quyết Do tình hình nước ta hiện nay vẫn trong tình trạng thiếu điện, nên những giờ cao điểm thường hay xảy ra mất điện
ở một số khu vực, cũng như là thiết bị hoạt động không đảm bảo được công suất dẫn đến tình trạng hư hỏng Do đó phải có một thiết bị để đo dòng điện sử dụng trên thiết
bị, nếu dòng điện không đủ cung cấp, sẽ ngắt điện ở những thiết bị khác đang hoạt động
mà có độ ưu tiên thấp hơn, những thiết bị ít sử dụng trong gia đình hoặc trường hợp xấu nhất là ngắt điện toàn cục để bảo vệ thiết bị và an toàn điện trong gia đình Bên cạnh
đó, thiết bị này còn có thể đo điện năng sử dụng, qua đó có thể thu thập những số liệu
sử dụng của một gia đình, mà từ đó có phương án sử dụng hợp lý hơn, tiết kiệm hơn
Hình 1.1 Mô hình đo dòng điện thiết bị
Trang 92 | T r a n g
Để thực hiện đề tài này, nhóm chúng em sử dụng vi điều khiển họ PIC18F,
cụ thể là PIC18F97J60, và cảm biến đo dòng điện ACS712 Đây là hai linh kiện khả phổ biến ở Việt Nam, dễ dàng triển khai khi đi vào thực tế
1.2 Mục tiêu đề tài
Thiết bị này khi sử dụng phải hoạt động chính xác, không cho phép sai số lớn Đặc biệt phải đảm bảo an toàn về điện, tránh các sự cố về điện, cũng như gây ra hư hỏng cho thiết bị đo dòng và các thiết bị sử dụng điện
Các thao tác của người sử dụng thiết bị đo dòng phải được đặt lên hàng đầu,
dễ thao tác và cũng như chỉnh sửa
Về nhóm chúng em, khi thực hiện xong đề tài này sẽ hiểu rõ hơn về các sử dụng vi điều khiển và cách lập trình nó, ứng dụng bộ chuyển tương tự sang số để đo dòng, tạo tiền đề phát triển cho những đồ án sau này
Chương 2 Nền tảng, công nghệ và các thiết bị sử dụng
Chương này gồm các vấn đề sau:
2.1 Giới thiệu về PIC18F97J60
2.2 Phần mềm MPLAB và trình biên dich C18
2.3 Cảm biến đo dòng ACS712
2.4 LCD 16x2 để hiển thị dòng điện
2.5 Một số linh kiện khác
2.6 Phần mềm thiết kế mạch Altium 2013
Trang 10GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
2.1 Giới thiệu về PIC18F97J60
Hình 2.1 PIC18F97J60
2.1.1 Vi điều khiển nổi bật trong việc tích hợp module Ethernet
- Bộ điều khiển Ethernet tương thích với chuẩn IEEE 802.3
- Được tích hợp MAC và 10Base_T PHY (Chuẩn Ethernet cho mạng cục bộ (LAN) sử dụng cáp xoắn đôi để truyền dữ liệu với tốc độ 10MBps trên kiến trúc mạng hình sao Mỗi máy tính nối tới một hub trung tâm)
- SRAM với 8 -Kbyte để truyền / nhận gói đệm
- Cung cấp 1 cổng 10Base_T với chức năng tự động phân cực phát hiện và chỉnh sửa
- Lập trình tự động truyền lại khi xung đột
- Lập trình cho việc tạo ra đệm và mã phát hiện lỗi(CRC)
- Lập trình cho việc tự động loại bỏ các gói lỗi
- Sự hoạt động của đầu ra được hiển thị bằng 2 Led
- Bộ đệm:
o Tùy chỉnh kích thước bộ đệm cho việc truyền/nhận
o Mạch quản lý phần cứng nhận dữ liệu theo kiểu FIFO
Trang 114 | T r a n g
o Bộ DMA (Direct Memory Access) nội cho bộ nhớ copy nhanh
o Phần cứng tính toán kiểm tra hỗ trợ cho các giao thức khác nhau
- MAC (Media Access Control):
o Hỗ trợ cho các gói giao thức Unicast, Multicast và Broadcast
o Lập trình so sánh mẫu lên đến 64 bytes trong phạm vi gói của kiến trúc người dùng tự định nghĩa
o Lập trình wake-up trên nhiều gói định dạng
- PHY:
o Bộ lọc sóng hình đầu ra
o Chế độ vòng lặp lại
2.1.2 Cấu tạo bộ dao động linh hoạt
- Lựa chọn hệ thống xung xuất phát từ nguồn đơn 25 MHz bên ngoài : 2.78 đến 41.67 MHz
- Bộ dao động nội 31 kHz
- Bộ dao động thứ hai sử dụng Timer1 32kHz
- Fail-Safe Clock Monitor (bộ điều chỉnh xung an toàn): Cho phép tắt máy an toàn nếu dao động dừng
- Two-Speed Oscillator Start-up (bộ dao động 2 tốc độ khi khởi động)
2.1.3 Đường truyền dữ liệu bộ nhớ bên ngoài
- Dung lượng địa chỉ lên đến 2Mbytes
- Giao tiếp 8-bit hoặc 16-bit
- Chế độ địa chỉ 12-bit, 16-bit hoặc 20-bit
2.1.4 Điểm nổi bật ở thiết bị ngoại vi
- Bộ góp/nguồn với dòng cao: 25 mA/25 mA ở PORTB và PORTC
- 5 bộ định thời từ Timer0 đến Timer5
Trang 12GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
- Có đến 2 modules Master Synchronous Serial Port (MSSP) được trang bị
SPI-Serial Peripheral Interface (bao gồm cả 4 chế độ) và I2C-Inter Intergrated Circuit Master And Slave
Có đến 2 modules EUSART-Enhanced Universial Synchronous Asynchronous
Receiver Transmitter:
o Hỗ trợ RS-485, RS-232 và LIN 1.2
o Auto-wake-up on Start bit
o Auto-Baud Detect
- Module ADC 10-bit có đến 16 channels:
o Khả năng tự động thu thập dữ liệu
o Việc chuyển đổi có thể sử dụng trong khi Sleep
- 2 bộ so sánh tương tự với đầu vào đa hợp
- Module PSP-Parallel Serial Port
2.1.5 Những điểm đặ biệt của vi điều khiển
- Đầu vào tối đa là 5.5V (chỉ có ở chân kĩ thuật số)
- Công suất thấp, công nghệ High-Speed CMOS Flash:
o Tự lập trình lại dưới sự kiểm soát phần mềm
- Trình biên dịch C được tối ưu hóa cho việc tái lập mã
- Tính năng quản lý năng lượng:
o Run: CPU on, Peripheral on
o Idle: CPU off, Peripheral on
o Sleep: CPU off, Peripheral off
- Những chế độ ưu tiên cho ngắt
- Bộ nhân phần cứng với 8x8 chu kì đơn
- Mở rộng Watchdog Timer (WDT):
o Thời gian lập trình từ 4 ms để 134s
- Mạch nạp chương trình nối tiếp - In-Circuit Serial Programming™ (ICSP™) bằng nguồn đơn 3.3 V thông qua 2 chân
- Debug mạch thật với 3 breakpoints thông qua 2 chân
- Điện thế hoạt động trong phạm vi từ 2.35V đến 3.6V (3.14V đến 3.45V nếu sử dụng module Ethernet)
Trang 133 Có thể dùng các sản phẩm này để nạp cho vi điều khiển khác thông qua chương trình MPLAB Dòng sản phẩm chính thống này có ưu thế là nạp được cho tất cả các vi điều khiển PIC, tuy nhiên giá thành cao và thường gặp rất nhiều khó khăn trong quá trình mua sản phẩm Nhóm chúng em sử dụng Pickit 2 vì nó hỗ trợ nhiều, phù hợp với giá tiền sinh viên
Trang 14GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
Hình 2.3 Giao diện của phần mềm MPLAB
2.2.2 Trình biên dịch Mirochip C18
Khi cài đặt xong MPLAB IDE, compiler mặc định cho nó là MPASM, dùng
để dịch project viết bằng ASM sang file HEX Muốn viết chương trình bằngC, ta cần phải cài đặt thêm 1 compiler khác có hỗ trợ cho chip PIC đang dùng Và trong đề tài nhóm chúng em sử dụng trình biên dịch C18, bản miễn phí dùng cho sinh viên
Hình 2.4 Lựa chọn trình biên dịch
Trang 15Hình 2.6 Sơ đồ chân ACS712
Trang 16GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
- Đường tín hiệu analog có độ nhiễu thấp
- Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5µs
- Điện trở dây dẫn trong là 1.2mΩ
- Nguồn vận hành đơn là 5V
- Độ nhạy đầu ra từ 63-190mV/A
- Điện áp ra rất ổn định
Các ứng dụng của cảm biến đo dòng ACS712:
- Điều khiển động cơ
- Kiểm tra và quản lý tải
- Chuyển đổi chế độ cung cấp điện năng
- Bảo vệ dòng khi lỗi
- Chân chọn thanh ghi RS (Register Select): Có hai thanh ghi trong LCD, chân RS(Register Select) được dùng để chọn thanh ghi, như sau:
o Nếu RS = 0 ở chế độ ghi lệnh như xóa màn hình , bật tắt con trỏ…
Trang 17- Chân cho phép E (Enable): Chân cho phép E được sử dụng bởi LCD
để chốt dữ liệu của nó Khi dữ liệu được đến chân dữ liệu thì cần có 1 xung từ mức cao xuống mức thấp ở chân này để LCD chốt dữ liệu , xung này phải có độ rộng tối thiểu 450ns
- Chân D0 – D7: Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD Để hiển thị các chữ cái và các con số chúng ta gửi các mã ASCII của các chữ cái và các con số tương ứng đến các chân này khi bật
Trang 18GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
- Quản lý thư viện thành phần
- Chỉnh sửa sơ đồ (vị trí linh kiện, chỉnh sửa kết nối và quy tắc thiết kế định nghĩa)
- Tích hợp với một số nhà phân phối thành phần cho phép tìm kiếm các thành phần và truy cập dữ liệu của nhà sản xuất
- Spice hỗn hợp tín hiệu mô phỏng mạch
- Và mộ số chức năng khác
PCB design: Tính năng này cho phép người thiết kế có thể quan sát, kiểm
tra một phần nhỏ PCB của mình theo một hình chữ nhật được đặt kích thước sẵn Nó giống như một chiếc kính lúp, giúp các bạn quản lý tốt hơn thiết kế của mình
Chương 3 Thực hiện đề tài
Chương này gồm các phần sau:
3.1 Thiết kế sơ đồ nguyên lý
3.2 Thiết kế mạch in
3.3 Lập trình cho vi điều khiển
3.1 Thiết kế sơ đồ nguyên lý
Để tiện cho việc phát triển và thực hiện những đề tài cho đồ án 2 cũng như luận án sau này, nhóm chúng em đã thiết kế những module mà vi điều khiển hỗ trợ
Trang 1912 | T r a n g
3.1.1 Bộ xử lý trung tâm – PIC18F97J60
Hình 3.1 Bộ xử lý trung tâm - PIC18F97J60
Để cung cấp nguồn dao động, ta sử dụng thạch anh 25MHz cho dao động 1
và thạch anh 32kHz cho nguồn xung thứ 2
Trang 20GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
Trang 2114 | T r a n g
3.1.2 Giao tiếp với thiết vị ngoại vi
3.1.2.1 Nút nhấn
Ta sử dụng phương pháp kéo điện trở, để vi điều khiển chỉ nhận được
3V3(tương ứng mức 1) và 0V(tương đương mức 0)
Hình 3.5 Nút nhấn
3.1.2.2 Led
Hình 3.6 LED
Để đảm bảo cho hoạt động, dùng điện trở 100 ohm đển hạn dòng
3.1.2.3 Các chân nhận tín hiệu Analog
Hình 3.7 Chân Analog
Trang 22GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
Hình 3.8 Các chân nhận Analog
3.1.2.4 LCD hiển thị giá trị
Dùng để hiển thị các giá trị mà chúng ta muốn sử dụng từ vi điều khiển lên LCD
3.1.2.5 RJ45 để giao tiếp Ethernet của vi điều khiển
Hình 3.9 RJ45 giao tiếp Ethernet
Trang 2316 | T r a n g
3.1.2.6 Giao tiếp vi điều khiển với máy tính
Ngày nay, do cổng RS232 đã không còn phổ biến trên máy tính, nên để giao tiếp qua cổng COM, ta sử dụng IC FT232Rl để giao tiếp
Hình 3.10 COM sang USB
Trang 24GVHD: TS Nguyễn Minh Sơn SVTH: Nguyễn Thành Hưng
Hình 3.11 Nguồn cung cấp
3.1.3 Mạch cảm biến đo dòng
Vì giá trị đầu vào tối đa chân analog của vi điều khiển chỉ là 3v3 nên ta thiết
kế thêm cầu phân ap như sơ đồ Giá trị đầu ra của cảm biến này tối đa là 5v nên qua cầu phân áp chỉ còn tối đa 3v
3.2 Thiết kế mạch in
Từ các sơ đồ nguyên lý trên, ta thiết kế mạch in 2 lớp như sau:
Trang 2518 | T r a n g
Hình 3.12 Mạch in lớp TOP
2 1
2 1
2 1 2 1
2 1
2 1
2 1
2
1 2
1
2 1
2
1 1
1
2 1
2
2 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1
2 1
3 4
5 6
1 2 3 8
1 2
1 2
1 2
2 1
1 2
1 2
1 2
1 2
1 2
2 1
1
3 2 1
2 1
1
0