TỔNG QUAN VỀ ĐỀ TÀI
Khái niệm về hệ thống tự động
Hệ thống điều khiển tự động là một tập hợp các thành phần tự động, có khả năng điều phối và quản lý các quá trình tự nhiên và hoạt động trong đời sống mà không cần sự can thiệp trực tiếp của con người.
Hệ thống điều khiển tự động là một tập hợp các thành phần vật lý có mối liên hệ chặt chẽ, tương tác với nhau nhằm chỉ huy, tự hiệu chỉnh hoặc điều khiển một hệ thống khác.
Hệ thống điều khiển tự động xuất hiện ngày nay rất phổ biến
- Hệ thống điều hoà không khí
- Hệ thống điều chỉnh độ ẩm
- Hệ thống tự động báo cháy v.v
Trong môi trường sản xuất:
- Các đường dây sản xuất, lắp ráp tự động
- Các máy điều khiển theo chương trình, Máy tính, Robot v.v
Vai trò của tự động hóa trong quá trình sản xuất
Lịch sử phát triển công cụ và phương tiện sản xuất đã trải qua quá trình cơ giới hóa và điện khí hóa Sự đột phá trong công nghệ vật liệu, điện tử và tin học đã tạo điều kiện cho công nghệ tự động phát triển mạnh mẽ, mang lại nhiều lợi ích thiết thực cho xã hội Điều này đóng vai trò quan trọng trong việc nâng cao năng suất, chất lượng và giảm giá thành sản phẩm.
Áp dụng tự động hóa trong sản xuất mang lại hiệu quả rõ rệt, giúp giảm giá thành và nâng cao năng suất lao động Điều này cải thiện điều kiện sản xuất, đáp ứng nhu cầu cao trong sản xuất hiện đại, đồng thời thực hiện chuyên môn hóa và hoán đổi sản xuất Kết quả là tăng cường khả năng cạnh tranh và đáp ứng tốt hơn yêu cầu sản xuất.
Trong tương lai gần, tự động hóa sẽ trở thành yếu tố thiết yếu trong cả sản xuất và đời sống con người Nó không chỉ thay thế con người trong những công việc nặng nhọc, nguy hiểm và độc hại trong sản xuất mà còn phục vụ nhu cầu sống hàng ngày Những công nghệ tự động hóa này sẽ là phương tiện không thể thiếu, nâng cao chất lượng cuộc sống của chúng ta.
Ứng dụng của tự động hóa trong tưới tiêu cho cây trồng
Hiện đại hóa nông nghiệp đang trở thành xu hướng toàn cầu, với quy trình sản xuất ngày càng được tự động hóa nhằm giảm sức lao động và tăng năng suất Mặc dù công nghệ tự động hóa đã được áp dụng từ lâu trong việc tưới tiêu, nhưng chỉ một số nước phát triển mới thực sự tận dụng được lợi ích này Trong khi đó, các nước chậm phát triển, mặc dù nông nghiệp chiếm tỷ lệ lớn trong nền kinh tế, vẫn chưa áp dụng tự động hóa vào tưới cây một cách hiệu quả Tuy nhiên, nhờ sự hỗ trợ từ nước ngoài, các quốc gia đang phát triển, đặc biệt là ở Đông Nam Á như Việt Nam, đang từng bước tích cực đưa công nghệ tự động hóa vào sản xuất nông nghiệp.
Việc thiết kế hệ thống tưới cây tự động không chỉ giúp tiết kiệm chi phí nhân công mà còn loại bỏ nhu cầu giám sát thời gian tưới Hệ thống này sẽ tự động điều chỉnh việc tưới dựa trên các yếu tố như nhiệt độ, độ ẩm và mùa trong năm, từ đó đưa ra thời gian bơm nước chính xác Nhờ vào sự tự động hóa, người lao động không cần lo lắng về việc tưới cây, giúp cây sinh trưởng và phát triển tốt hơn nhờ vào việc tưới hợp lý và chính xác.
Các nghiên cứu ở nước ngoài
Nhiều nghiên cứu về hệ thống tưới cây tự động đã được thực hiện ở nước ngoài, đặc biệt là vào đầu những năm 80 khi Liên Xô (cũ) phát triển một loại máy tự động cho nông nghiệp Máy này có khả năng quan sát độ ẩm của đất, nhiệt độ không khí và sức gió, từ đó xác định phương pháp tưới hợp lý và thực hiện tưới cho cây trồng thông qua một thiết bị tạo mưa nhân tạo.
Hãng robot Droplet đã ra mắt robot tưới cây tích hợp công nghệ tự động tiên tiến, điện toán đám mây và các dịch vụ kết nối, cho phép tự động điều chỉnh hướng vòi phun, lượng nước và tần suất tưới Robot này có khả năng tưới cây theo lịch trình được tính toán tự động dựa trên phân tích dữ liệu đầu vào.
Vòi phun tự động có khả năng điều chỉnh hướng nước phun đến cây trong bán kính 9,14 mét Người dùng chỉ cần khai báo tên các loại cây trong vườn qua điện thoại hoặc máy tính bảng để robot tự động vận hành Thiết bị được kết nối không dây với robot, mang lại sự tiện lợi và hiệu quả trong việc tưới cây.
Droplet tự động tra cứu thông tin về tên các loại cây để xác định lượng nước và tần suất tưới phù hợp Ngoài ra, Droplet cũng thu thập dữ liệu thời tiết tại địa điểm làm việc, giúp xác định tình hình mưa nắng và đề xuất lịch tưới cây hợp lý Bộ điều khiển tưới cây này mang lại sự tiện lợi và hiệu quả cho việc chăm sóc cây trồng.
Hệ thống tưới tự động Israel có khả năng lập trình linh hoạt theo nhu cầu của người dùng Chỉ với vài bước đơn giản, bạn có thể cung cấp nguồn nước đầu vào và dẫn các đầu tưới đến vị trí cần thiết, hoàn thành việc lắp đặt hệ thống tưới tiên tiến một cách dễ dàng.
Có 2 loại điều khiển: Điều khiển theo giờ tưới và điều khiển theo chu kỳ
Điều khiển theo giờ tưới: Hệ thống hoạt động đúng theo thời gian đồng hồ yêu cầu
Điều khiển theo chu kì tưới: Hệ thống hoạt động theo vòng lặp thời gian
Bộ điều khiển thời gian và van điện từ
Bộ điều khiển tự động là thiết bị quan trọng giúp cài đặt thời gian tưới tự động, bao gồm giờ hoạt động, thời gian tưới và thời gian dừng Nó còn cho phép chuyển đổi giữa các vị trí tưới khác nhau Đặc biệt, bộ cảm biến mưa sẽ tự động ngừng tưới khi phát hiện mưa hoặc độ ẩm cao, giúp tiết kiệm nước và bảo vệ cây trồng hiệu quả.
- Van điện từ: là thiết bị nhận và truyền tín hiệu từ bộ điều khiển đến các đầu tưới, để các đầu tưới hoạt động
Hệ thống tưới tự động hoạt động theo giờ đã được cài đặt sẵn, khi đến thời gian tưới, bộ điều khiển sẽ gửi tín hiệu đến các van điện từ Các van này sẽ tự động mở, cung cấp nước cho các đầu phun Thời gian tưới có thể được điều chỉnh theo nhu cầu của người sử dụng.
Các nghiên cứu trong nước
Hệ thống tưới phun tự động đa năng là một công trình khoa học của hai giảng viên trường Cao đẳng Công nghiệp Huế, tiến sĩ Lê Văn Luận và thạc sĩ Lê Đình Hiếu Hệ thống bao gồm cảm biến đo nhiệt độ và độ ẩm đất, được lắp đặt tại nhà màng trồng hoa, cùng với điều khiển PLC-S7-1200 Khi cảm biến phát hiện độ ẩm hoặc nhiệt độ không đạt yêu cầu, tín hiệu sẽ được gửi đến hộp điều khiển PLC, tự động kích hoạt tưới phun qua các vòi phun và ngừng sau 5 phút khi điều kiện đã đạt yêu cầu Sản phẩm này không chỉ thể hiện ý tưởng sáng tạo mà còn mang lại tính ứng dụng cao và đã được thử nghiệm hiệu quả thực tế.
Các vấn đề cần nghiên cứu bổ sung
Các hạn chế của các nghiên cứu hiện có
Mặc dù các nghiên cứu đã được ứng dụng từ lâu, nhưng các ứng dụng nước ngoài thường có giá thành cao và hệ thống phức tạp, yêu cầu người vận hành phải có kiến thức chuyên môn cao và cơ sở vật chất tiên tiến Điều này khiến cho việc áp dụng chúng trong các công trường canh tác quy mô lớn trở nên khó khăn Với tình hình khoa học công nghệ còn hạn chế và điều kiện kinh tế khó khăn, việc áp dụng các công nghệ này trong quy mô canh tác vừa và nhỏ trở nên không khả thi cho phần lớn các công ty và hộ gia đình tại Việt Nam.
Trong nước ta, nhiều nghiên cứu và ứng dụng hệ thống tự động đã được thực hiện, với việc người dân phát triển các hệ thống bán tự động để tiết kiệm sức lao động và nâng cao hiệu quả so với tưới thủ công Tuy nhiên, hệ thống này vẫn tồn tại nhiều nhược điểm cần cải thiện để đạt hiệu quả tối ưu Tại các trường đại học chuyên ngành kỹ thuật, sinh viên đã thực hiện nhiều đề tài liên quan đến hệ thống tưới nước tự động, nhưng vẫn còn nhiều hạn chế cần khắc phục Một số yếu điểm cần chú ý bao gồm:
- Hệ thống chỉ áp dụng cho một loại cây trồng nhất định do mỗi loại cây có nhu cầu tưới khác nhau
- Thiết bị điều khiển to chiếm nhiều diện tích
- Hệ thống đọc tín hiệu cảm biến và đóng mở thiết bị liên tục trong ngày dẫn đến giảm tuổi thọ sản phẩm
- Người sử dụng bị động trong việc giám sát và điều khiển các thiết bị ngoại vi như máy bơm, van tưới
Trong những năm gần đây, công nghệ di động đã phát triển mạnh mẽ, không chỉ phục vụ cho việc liên lạc mà còn được ứng dụng rộng rãi trong nhiều lĩnh vực như an ninh, giải trí và giao thông vận tải Nhờ vào những ưu điểm vượt trội của điện thoại di động, nhiều hãng sản xuất thiết bị đã tích hợp các hệ thống điều khiển qua điện thoại vào sản phẩm của họ Các hệ thống này nổi bật với sự kết hợp chặt chẽ giữa thiết bị xử lý viễn thông và các hệ thống vi xử lý.
Kỹ thuật GSM cho phép truyền tin wireless với phạm vi rộng và độ tin cậy cao, giúp người dùng gửi tin nhắn SMS để điều khiển thiết bị từ xa hiệu quả Bằng cách sử dụng điện thoại di động, người dùng có thể dễ dàng theo dõi và kiểm soát các ứng dụng trong ngành công nghiệp và nông nghiệp.
Hệ thống xử lý nước thải
Lò sưởi, ướp lạnh, máy điều hòa
Các thiết bị dân dụng khác: đèn, quạt…
Hình 1 1 : Mô hình điều khiển thiết bị qua SMS
Trong ngành công nghiệp, trung tâm SMS đã tạo điều kiện cho người dùng truy cập nhanh chóng vào các hệ thống thông tin qua mạng nhắn tin GSM-SMS Hệ thống GSM không dây mang lại lợi ích lớn, cho phép dữ liệu được truy cập mọi lúc, mọi nơi mà không cần có mặt tại chỗ SMS công nghiệp phát triển linh hoạt, kết nối với các dữ liệu chuẩn của Yokogawa Exaquanium, bao gồm Wonderware insql, Oracle, SQL và các cơ sở dữ liệu hỗ trợ DDE Ngoài ra, còn có các hệ thống điều khiển sử dụng tin nhắn SMS, cùng với các giao thức truyền dữ liệu như GPRS (General Packet Radio Service) hoặc MMS.
Tại Việt Nam, mạng điện thoại di động đang phát triển nhanh chóng, không chỉ phục vụ cho việc liên lạc mà còn được sử dụng cho nhiều mục đích khác nhau.
+ Dịch vụ truy cập internet trên điện thoại di động qua WAP hoặc GPRS;
+ Dịch vụ giải trí dự đoán kết quả trên truyền hình và các dịch vụ dựa trên tin nhắn SMS khác;
+ Ứng dụng công nghệ GSM vào quản lý vận hành giao thông;
+ Ứng dụng điện thoại di động trong điều khiển các thiết bị điện trong nhà
Hệ thống điều khiển giám sát qua điện thoại di động đã được giới thiệu tại Việt Nam từ năm 2006 bởi Siemens và một số hãng khác, với khả năng tích hợp đồng bộ với các thiết bị điều khiển của Siemens Mặc dù chủ yếu được sử dụng trong công nghiệp và có chi phí cao, nghiên cứu trong lĩnh vực này vẫn tiếp tục phát triển Tập đoàn điện lực EVN đã áp dụng công nghệ nhắn tin SMS để điều khiển máy cắt qua Modem điện thoại, tận dụng sự phổ biến của công nghệ GSM, mà hơn 95% dân số Việt Nam đã sử dụng Điều này mở ra cơ hội lớn cho việc phát triển các ứng dụng trong điều khiển tự động hóa.
Sự phát triển nhanh chóng của công nghệ và cải tiến từ các nhà thiết kế đã dẫn đến việc giảm giá liên tục từ đầu năm 2009, tạo ra những tiến bộ rõ rệt trong lĩnh vực năng lượng sạch Trước năm 2007, việc ứng dụng năng lượng mặt trời được coi là không thực tế, nhưng ngày nay, nó đã trở nên khả thi và hiệu quả về cả kinh tế lẫn công nghệ Các tấm pin năng lượng mặt trời ngày càng nhỏ gọn, đa dạng về công suất và chi phí ngày càng thấp Hiện nay, năng lượng mặt trời đang trở thành phương pháp cung cấp điện năng có hiệu quả kinh tế cao hơn so với nhiều phương pháp khác.
Với sự phát triển nhanh chóng của ngành công nghệ điện, dự đoán đến năm 2020, năng lượng mặt trời sẽ trở thành nguồn điện rẻ nhất, vượt trội hơn cả năng lượng từ nhiệt và thủy điện Chúng ta sẽ thấy năng lượng mặt trời được tích hợp vào nhiều thiết bị và máy móc hàng ngày Năng lượng mặt trời không chỉ dễ sử dụng mà còn có lượng khí thải carbon thấp, giúp cung cấp điện cho những khu vực khó khăn như sa mạc và vùng sâu vùng xa Điều này cho thấy năng lượng mặt trời sẽ dần thay thế các nguồn điện khác và trở thành nguồn cung cấp điện chính trong tương lai.
Nhóm chúng em đã nghiên cứu hệ thống tưới cây thông minh sử dụng cảm biến độ ẩm đất, giúp xác định thời gian tưới hợp lý Hệ thống này tích hợp mạng di động của các nhà cung cấp như Viettel, Mobiphone, Vinaphone để gửi tin nhắn SMS điều khiển thiết bị và nhận dữ liệu trạng thái hoạt động ON/OFF Người dùng có thể dễ dàng kiểm soát và quản lý tất cả các thiết bị chỉ với một tin nhắn Đặc biệt, hệ thống còn sử dụng năng lượng mặt trời làm nguồn năng lượng chính, góp phần tiết kiệm và bảo vệ môi trường.
Hệ thống được thiết kế:
- Hệ thống an toàn, thân thiện với môi trường do sử dụng nguồn cung cấp từ năng lượng mặt trời
- Cấu trúc đơn giản, chi phí thấp dễ sửa chữa, dễ dàng nâng cấp, phát triển
Người dùng có thể dễ dàng điều khiển các thiết bị ngoại vi qua tin nhắn, giúp các hộ gia đình ở vùng sâu, vùng xa có thể quản lý hệ thống của mình hiệu quả Hệ thống này hoạt động tốt ngay cả ở những khu vực không có đường dây điện thoại, miễn là có sóng mạng di động.
Tăng tuổi thọ của sản phẩm bằng cách đọc tín hiệu từ cảm biến theo thời gian thực trong ngày, giúp các thiết bị hoạt động hiệu quả hơn tại những thời điểm nhất định.
Việc sử dụng vi điều khiển với ngõ ra từ vài chục đến vài trăm, kết hợp với các IC mở rộng, giúp hệ thống trở nên lý tưởng cho canh tác vừa và nhỏ.
Phương án thiết kế
Đáp ứng đủ các yêu cầu của hệ thống
Người lập trình có thể tận dụng các thư viện cơ bản khi lập trình và tự tạo các thư viện theo nhu cầu riêng Khác với Kit Arduino, nơi nhà sản xuất đã cung cấp đầy đủ chức năng nhưng lại cồng kềnh, việc sử dụng thư viện mạnh mẽ yêu cầu người dùng phải can thiệp vào hệ thống thư viện Điều này khiến nhiều người ngần ngại, dẫn đến việc Arduino thường chỉ được sử dụng cho mục đích học tập thay vì ứng dụng thực tế.
Chip ARM rất dễ sử dụng và được ưa chuộng bởi những chuyên gia trong lĩnh vực vi điều khiển Đây là lựa chọn lý tưởng cho những ai xây dựng ứng dụng mạnh mẽ với yêu cầu tốc độ cao và thư viện phong phú Tuy nhiên, việc tìm kiếm tài liệu về ARM thường gặp khó khăn, chủ yếu bằng tiếng Anh, và phù hợp hơn với các hệ thống phức tạp có yêu cầu cao về tốc độ đáp ứng.
- Gồm 2 phương án thiết kế như sau:
Phương án 1 sử dụng bộ GSM MODULE SIM900 để kết nối với vi điều khiển PIC18F4550, mang lại chi phí thấp và giá thành hợp lý, phù hợp cho việc lập trình lệnh.
AT dễ dàng và đầy đủ tính năng cho lập trình AT Ngoài ra còn có thể phát triển ứng dụng sâu thêm với GPRS, GPS…
Phương án 2 đề xuất sử dụng điện thoại di động có chức năng tương tự như GSM MODULE SIM900 để kết nối với PIC18F4550 Việc lập trình cho điện thoại di động tương tự như GSM MODULE, tuy nhiên có những hạn chế do một số loại điện thoại chỉ hỗ trợ lệnh AT ở dạng MODULE PDU, dẫn đến việc lập trình trở nên phức tạp hơn Hơn nữa, kết nối giữa điện thoại di động và khối vi điều khiển cũng gặp nhiều khó khăn.
Chúng tôi đã chọn phương án 1 vì MODULE SIM900 hỗ trợ lập trình lệnh AT ở cả hai chế độ Mode Text và Mode PDU, giúp việc lập trình trở nên đơn giản hơn so với điện thoại di động Bên cạnh đó, MODULE SIM900 còn cho phép phát triển các ứng dụng khác sử dụng GPRS và GPS.
CƠ SỞ LÝ THUYẾT
Vi điều khiển PIC 18F4550
2.1.1 Sơ đồ chân, chức năng các chân
Hình 2 1 : Sơ đồ chân PIC18F4550
Chân OSC1/CLKI/RA7 (13) : ngõ vào dao động thạch anh hoặc xung clock
- OSC1 : ngõ vào dao động thạch anh hoặc xung clock bên ngoài Ngõ vào Schmit trigger khi được cấu tạo ở chế độ RC ; một cách khác của CMOS
- CLKI : ngõ vào nguồn xung bên ngoài Luôn được kết hợp với chức năng OSC1
Chân OSC2/CLKO/RA6 (13) : ngõ vào dao động thạch anh hoặc xung clock
- OSC2 : Ngõ ra dao động thạch anh Kết nối đến thạch anh hoặc bộ cộng hưởng
- CLKO : ở chế độ RC, ngõ ra của OSC2, bằng tần số của OSC1 và chỉ ra tốc độ của chu kỳ lệnh
- MCLR : Hoạt động Reset ở mức thấp
- VPP : ngõ vào áp lập trình
- AN0 : ngõ vào tương tự 0
- AN1 : ngõ vào tương tự 1
Chân RA2/AN2/VREF-/CVREF (4) :
- AN2 : ngõ vào tương tự 2
- VREF -: ngõ vào điện áp chuẩn (thấp) của bộ A/D
- CVREF: điện áp tham chiếu VREF ngõ ra bộ so sánh
- AN3 : ngõ vào tương tự 3
- VREF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D
- RA4 : xuất/nhập số - mở khi được cấu tạo như ngõ ra
- TOCKI : ngõ vào xung clock bên ngoài cho Timer 0
- C1 OUT : Ngõ ra bộ so sánh 1
Chân RA5/AN4/SS/LVDIN/C2OUT (7) :
- AN4 : ngõ vào tương tự 4
- SS : ngõ vào chọn lựa SPI phụ
- LVDIN: cổng vào phát hiện sụt thế
- C2 OUT : ngõ ra bộ so sánh 2
RB0/AN12/INT0/SDI/SDA (33) :
- AN12: ngõ vào tương tự 12
- SDI : lối vào dữ liệu của khối SPI
- SDA: lối vào ra Data nối tiếp đồng bộ của I2C
RB1/AN10/INT1/SCK/SCL (34) :
- AN10 : ngõ vào tương tự 10
- SCK : ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI
- SCL : ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ I2C
- AN8 : ngõ vào tương tự 8
- AN9 : ngõ vào tương tự 9
- CCP2 : CCP2 : ngõ vào Capture 2, ngõ ra compare 2, ngõ ra PWM2
- AN11 : ngõ vào tương tự 11
RB5/KBI1/PGM (38) : xuất/nhập số
- AN9 : ngõ vào tương tự 9
- PGC : ngõ vào xung clock lập trình ICSP
- PGD : ngõ vào dữ liệu lập trình ICSP
- T1 OCO : ngõ vào bộ dao động Timer 1
- T1 CKI : ngõ vào xung clock bên ngoài Timer 1
Chân RC1/T1 OSI/CCP2/UOE (16) :
- T1 OSI : ngõ vào bộ dao động Timer 1
- CCP2 : ngõ vào Capture 2, ngõ ra compare 2, ngõ ra PWM2
- CCP1 : ngõ vào Capture 1, ngõ ra compare 1, ngõ ra PWM1
- TX : truyền bất đồng bộ USART
- CK : xung đồng bộ USART
Chân RC7/RX/DT/SDO (26) :
- RX : nhận bất đồng USART
- DT : dữ liệu đồng bộ USART
- SDO : dữ liệu ra SPI
- SPP0 : dữ liệu port nhánh song song
- SPP1 : dữ liệu port nhánh song song
Các chân : RD2/SPP2 (21), RD3/SPP3 (22), RD4/SPP (27), RD5/SPP5/P1B
(28), RD6/SPP6/P1C (29), RD7/SPP7/P1D (30) tương tự chân 19,20
Chân RE0/CK1SPP/AN5 (8) :
- CK1SPP : điều khiển việc đọc ở port nhánh song song
- AN5 : ngõ vào tương tự 5
Chân RE1/CK2SPP/AN6 (9) :
- CK2SPP : điều khiển việc ghi ở port nhánh song song
- AN6 : ngõ vào tương tự 6
- OESPP : lựa chọn sự điều khiển ở port nhánh song song
- AN7 : ngõ vào tương tự 7
Chân VDD(11,32), và VSS(12,31) : là các chân nguồn của PIC
2.1.2 Cấu trúc bên trong của PIC18F4550
- Tổng quát cơ bản PIC18F4550 :
PWM độ phân giải 10 bit
2 bộ so sánh tương tự
Hình 2 2 : Sơ đồ tổng quát của PIC 18F4550
Hình 2 3 : là sơ đồ khối cấu trúc bên trong PIC18F4550 bao gồm :
- Khối ALU - Arithmetic Logic Unit
- Khối bộ nhớ chứa chương trình - Flash Program Memory
- Khối bộ nhớ chứa dữ liệu EPROM - Data EPROM
- Khối bộ nhớ file thanh ghi RAM - RAM file Register
- Khối giải mã lệnh và điều khiển - Instruction Decode Control
- Khối thanh ghi đặc biệt
- Khối giao tiếp nổi tiếp
- Khối chuyển đổi tín hiệu tương tự sang số - ADC
- Khối các port xuất nhập
Cổng xuất nhập (I/O port) là công cụ quan trọng giúp vi điều khiển giao tiếp với môi trường xung quanh Qua các tương tác đa dạng này, chức năng của vi điều khiển được thể hiện một cách rõ ràng và hiệu quả.
Cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), với số lượng cổng và chân có thể khác nhau tùy thuộc vào cách bố trí và chức năng của vi điều khiển Ngoài chức năng xuất nhập thông thường, một số chân còn tích hợp các đặc tính giao tiếp ngoại vi, cho phép chúng tương tác với thế giới bên ngoài Chức năng của từng chân xuất nhập có thể được xác lập và điều khiển thông qua các thanh ghi SFR liên quan.
Vi điều khiển PIC18F4550 có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE
PORTA (RPA) có 6 chân I/O hai chiều, cho phép xuất và nhập dữ liệu Chức năng của các chân này được điều khiển thông qua thanh ghi TRIS A tại địa chỉ 85h Để thiết lập một chân trong PORTA thành chế độ đầu vào, cần thực hiện các thao tác điều chỉnh tương ứng.
Để xác định chức năng của một chân trong PORTA là output, cần "clear" bit điều khiển tương ứng trong thanh ghi TRISA Ngược lại, để thiết lập chân đó là input, ta phải "set" bit điều khiển trong TRISA Quy trình này tương tự cho các PORT khác và các thanh ghi điều khiển tương ứng: TRISB cho PORTB, TRISC cho PORTC, TRISD cho PORTD, và TRISE cho PORTE.
In addition, PORTA serves as the output for the ADC module, the comparator, the analog input, the clock input for the timer, and the input for the MSSP (Master Synchronous Serial Port) communication module.
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
TRIS A (địa chỉ 85h): chứa giá trị các pin trong PORTA
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 (RPB) có 8 chân I/O, với thanh ghi điều khiển xuất nhập tương ứng là TRISB Một số chân của PORTB đượ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 Ngoài ra, PORTB còn liên quan đến ngắt ngoại vi và bộ timer Đặc biệt, PORTB được tích hợp chức năng điện trở kéo lên có thể đượ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ỉ 81 h, 181 h) : điều khiển ngắt ngoại vi và bộ timero
PORTC (RPC) có 8 chân I/O, với thanh ghi điều khiển xuất nhập tương ứng là TRISC Ngoài ra, PORTC còn tích hợp các chân chức năng cho bộ so sánh, bộ Timer1, bộ PWM, cùng với các chuẩn giao tiếp nối tiếp như I2C, SPI, SSP và 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 (RPD) có 8 chân I/O và sử dụng thanh ghi điều khiển TRISD để quản lý xuất nhập Ngoài ra, PORTD cũng đóng vai trò là cổng xuất dữ liệu cho giao tiếp PSP (Parallel Slave Port) Các thanh ghi liên quan đến PORTD rất quan trọng trong việc điều khiển và quản lý dữ liệu.
Thanh ghi PORTD : chứa giá trị các pin trong PORTD
Thanh ghi TRISD : điều khiển xuất nhập
PORTE (RPE) bao gồm 4 chân I/O, với thanh ghi điều khiển xuất nhập tương ứng là TRISE Các chân của PORTE hỗ trợ ngõ vào analog và đồng thời cũng là các chân điều khiển cho chuẩn giao tiếp PSP.
Các thanh ghi liên quan đến PORTE bao gồm :
PORTE : chứa giá trị các chân trong PORTE
TRISE : điều khiên xuất nhập và xác lập các thông số cho chuẩn giao tiếp PSP
ADCON1 : thanh ghi điều khiển khối ADC
2.1.4 Khối chức năng ngoại vi
Timer0: bộ đếm 8/16 bit với bộ chia tần số 8 bit
Timer1 là một bộ đếm 16 bit tích hợp bộ chia tần số, cho phép thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay cả khi vi điều khiển đang ở chế độ sleep.
Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler phục vụ cho các ứng dụng đặc biệt
Timer3 là một bộ đếm 16 bit tích hợp bộ chia tần số, cho phép thực hiện chức năng đếm dựa vào xung clock ngoại vi, ngay cả khi vi điều khiển đang hoạt động ở chế độ sleep.
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
- 13 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
- Có thể hoạt động với nhiều dạng Oscillator khác nhau
Cấu trúc bộ nhớ của vi điều khiển PIC18F4550 bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu (Data Memory)
Vi điều khiển PIC18F4550 sở hữu bộ nhớ chương trình flash với dung lượng 16K word (1 word = 16 bit), được chia thành các trang từ page0 đến page3 Bộ nhớ này có khả năng lưu trữ 16*1024 = 16384 lệnh, mỗi lệnh sau khi mã hóa chiếm 1 word (16 bit) Để mã hóa địa chỉ cho 16K word, bộ đếm chương trình có kích thước 13 bit (PC) Khi vi điều khiển được reset, bộ đếm chương trình sẽ trỏ đến địa chỉ 0000h (Reset vector), trong khi khi có ngắt xảy ra, nó sẽ chỉ đến địa chỉ 0004h (Interrupt vector).
Bộ nhớ dữ liệu của PIC, cụ thể là EEPROM, được phân chia thành nhiều bank Đối với PIC18F4550, bộ nhớ dữ liệu được chia thành 4 bank, mỗi bank có dung lượng riêng biệt.
Bộ nhớ dữ liệu gồm 128 byte, bao gồm các thanh ghi chức năng đặc biệt SFR (Special Function Register) ở vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) ở vùng địa chỉ còn lại Các thanh ghi SFR thường xuyên sử dụng, như thanh ghi STATUS, được đặt ở tất cả các bank của bộ nhớ, giúp thuận tiện trong việc truy xuất và giảm bớt lệnh trong chương trình.
Thanh ghi chức năng đặc biệt SFR là các thanh ghi quan trọng được CPU sử dụng để thiết lập và điều khiển các khối chức năng tích hợp trong vi điều khiển Chúng được chia thành hai loại: thanh ghi SFR liên quan đến các chức năng bên trong của CPU và thanh ghi SFR dùng để quản lý các khối chức năng bên ngoài như ADC, PWM, và nhiều hơn nữa.
Giới thiệu Module SIM900
2.2.1 Tổng quan về Module SIM900
Modem GSM là một loại modem không dây hoạt động trên mạng GSM, tương tự như modem quay số Sự khác biệt chính giữa hai loại modem này là modem quay số truyền và nhận dữ liệu qua đường dây điện thoại cố định, trong khi modem không dây sử dụng sóng để gửi và nhận dữ liệu.
Giống như điện thoại di động GSM, modem GSM cũng cần một thẻ SIM và kết nối mạng không dây để hoạt động Trong số các loại modem GSM, Module SIM 900 nổi bật với tốc độ truyền dữ liệu nhanh hơn, mang lại hiệu suất tốt hơn cho các ứng dụng kết nối.
Nó sử dụng công nghệ GSM/GPRS hoạt động ở băng tầng GSM 850Mhz, EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz, có tính năng GPRS của Sim 900
2.2.2 Đặc điểm của module SIM900
- Băng tần: GSM 850Mhz EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz SIM900 có thể tự động tìm kiếm các băng tần
- Phù hợp với GSM Pha 2/2+
Loại GSM là loại MS nhỏ
Hạn chế : - 400C tới -300C và +800C tới +850C
Nhiệt độ bảo quản: -450C tới 900C
GPRS dữ liệu tải xuống: Max 85.6 kbps
GPRS dữ liệu úp lên: Max 42.8 kbps
MT, MO, CB, Text and PDU mode
Bộ nhớ SMS: Sim card
- Sim card : Hỗ trợ sim card: 1,8v ; 3v
- Anten ngoài : Kết nối thông qua anten ngoài 500km hoặc đế anten
- Giao tiếp nối tiếp và sự ghép nối :
Cổng nối tiếp : 8 Cổng nối tiếp (ghép nối)
Cổng kết nối có thể Sd với CSD Fax, GPRS và gửi lệnh atcommand tới module điều khiển
Cổng nối tiếp có thể Sd chức năng giao tiếp
Hỗ trợ tốc độ truyền 1200 BPS tới 115200 BPS
Cổng hiệu chỉnh lỗi: 2 cổng nối tiếp TXD và RXD
Cổng hiệu chỉnh lỗi chỉ sử dụng sữa lỗi
- Quản lý danh sách : Hỗ trợ mẫu danh sách: SM, FD, LD, RC,ON, MC
- Đồng hồ thời gian thực : Người cài đặt
- Times function : Lập trình thông qua AT Command
- Đặc tính vật lý (đặc điểm) : Kích thước 24mmx24mmx24mm> Nặng 3.4g
2.2.3 Khảo sát sơ đồ chân và chức năng từng chân của Breakout SIM 900
Trong đồ án đã sử dụng Breakout SIM 900 tức là SIM 900 đã được thế kế thành module để tiện sử dụng cho đồ án
Để kích hoạt chân ON/OFF, cần gửi một xung tích cực dương khoảng 1 giây Khi đó, đèn trạng thái sẽ sáng lên và sau đó chớp nháy nhanh, cho biết SIM900 đang khởi động và tìm kiếm mạng.
Chân 3: đầu ra dùng để chỉ báo mạng kết nối được hệ thống
Chân 5:đầu vào pin dự phòng cho module
Chân 7:Chân vào của bộ chuyển đổi tín hiệu tương tự sang số
Chân 8: Ring chân ra loa báo hiệu có cuộc gọi đến
Chân 9, 11: chân loa nghe cuộc thoại
Chân 10: chân đầu cuối dữ liệu
Chân 12: chân truyền dữ liệu
Chân 14: chân nhận dữ liệu
Chân 17,19: chân nguồn cấp cho sim hoạt động
Hình 2 5 : Sơ đồ chân Breakout SIM900
Hình 2 6 : Breakout của Module SIM 900
Hình 2 7 : Sơ đồ thiết kế Breakout của Module SIM 900
Khảo sát tập lệnh AT Command của Module SIM 900
Các lệnh AT, viết tắt của "Attention", là các hướng dẫn dùng để điều khiển modem, bắt đầu bằng "AT" hoặc "at" Chúng chủ yếu được sử dụng cho các modem quay số qua dây, như ATD (Gọi), ATA (Trả lời), ATH (Kiểm soát treo máy) và ATO (trở lại trạng thái dữ liệu trực tuyến) Ngoài ra, các lệnh này cũng được hỗ trợ bởi modem GSM/GPRS và điện thoại di động.
Các modem GSM/GPRS và điện thoại di động được trang bị bộ lệnh AT đặc biệt cho công nghệ GSM, bao gồm nhiều lệnh quan trọng liên quan đến SMS Các lệnh này bao gồm AT+CMGS để gửi tin nhắn SMS, AT+CMSS để gửi tin nhắn từ vùng lưu trữ, AT+CMGL để liệt kê các tin nhắn SMS, và AT+CMGR để đọc tin nhắn SMS.
Lệnh AT mở rộng được định nghĩa trong các chuẩn của GSM, cho phép người dùng thực hiện nhiều chức năng khác nhau Những lệnh này mở rộng khả năng của thiết bị, giúp quản lý và tương tác hiệu quả hơn với mạng di động.
Đọc,viết, xóa tin nhắn
Kiểm tra chiều dài tín hiệu
Đọc, viết và tìm kiếm về các mục danh bạ
Số lượng tin nhắn SMS mà một modem SMS có thể gửi trong một phút rất hạn chế, chỉ khoảng 6 đến 10 tin nhắn Trong khuôn khổ đồ án, tôi sẽ tìm hiểu một số lệnh cơ bản phục vụ cho công việc của mình Dưới đây là một số lệnh cơ bản cần thiết để thao tác với dịch vụ SMS.
Gửi tin nhắn Các thuật ngữ em dùng:
MT : Mobile Terminal :Thiết bị đầu cuối mạng (chính là module)
TE : Terminal Equipment: Thiết bị đầu cuối(chính là vi điều khiển)
2.3.1 Khởi tạo cấu hình mặc định cho modem
(1) ATZ reset modem, kiểm tra modem đã hoạt động bình thường chưa Gửi cho đến khi nhận được chuỗi:
ATZOK
(2) ATE0 tắt chế độ echo lệnh Chuỗi trả về có dạng:
ATE0OK
Hình 2 8 : Cấu hình mặc định cho SIM900
(3) AT+CLIP=1 định dạng chuỗi trả về khi nhận cuộc gọi Thông thường, ở chế độ mặc định, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng:
RING Sau khi lệnh AT+CLIP=1 đã được thực thi, chuỗi trả về sẽ có dạng:
RING
+CLIP:”0988600524”,129,””,,””,0,
Chuỗi trả về chứa thông tin về số điện thoại gọi đến, giúp xác định xem có nên nhận hay từ chối cuộc gọi Sau khi hoàn tất các thao tác khởi tạo cho việc nhận cuộc gọi, các bước tiếp theo sẽ liên quan đến việc truyền nhận tin nhắn.
(4) AT&WLưu cấu hình cài đặt được thiết bị bởi các tập lệnh AET0 và AT+CLIP vào bộ nhớ
(5) AT+CMGF=1 Thiết lập quá trình truyền nhận tin nhắn được thực hiện ở chế độ text (mặc định là ở chế độ PDU) Chuỗi trả về sẽ có dạng:
OK
Lệnh AT+CNMI=2,0,0,0,0 thiết lập chế độ thông báo cho thiết bị đầu cuối (TE) khi máy thu (MT) nhận được tin nhắn mới Sau khi lệnh này được thực hiện, tin nhắn mới sẽ được lưu trữ trong SIM mà không có thông báo nào được gửi đến TE TE có thể truy cập và đọc tin nhắn đã lưu trong SIM khi cần thiết Chuỗi trả về cho lệnh này sẽ là: OK.
(7) AT+CSAS Lưu cấu hình cài đặt được thiết lập bởi các lệnh AT+CMGF và AT+CNMI
2.3.2 Delete tin nhắn trong SIM
(1) AT+CMGD=1 Xóa tin nhắn ở vùng nhớ 1 trong SIM Chuỗi trả về sẽ có dạng:
OK
(2) AT+CMGD=2 Lệnh này được dùng để xóa tin nhắn được lưu trong ngăn số 2
Hình 2 9 : Cấu hình xóa tin nhắn SIM900
Bộ nhớ lưu tin nhắn trong SIM được tổ chức thành nhiều ngăn, mỗi ngăn được đánh số thứ tự Khi có tin nhắn mới, nội dung sẽ được lưu vào ngăn trống có số thứ tự nhỏ nhất Việc xóa tin nhắn ở hai ngăn đầu tiên giúp tin nhắn mới luôn được lưu ở những vị trí dễ xác định, từ đó đơn giản hóa quá trình thao tác và giảm thiểu nguy cơ mất mát tin nhắn trong bộ nhớ.
Khi bộ nhớ tin nhắn của MT đầy, nó sẽ không nhận thêm tin nhắn mới Các tin nhắn gửi đến sẽ được lưu trữ trên tổng đài và sẽ được gửi lại khi có không gian trống trong bộ nhớ Để tiếp tục nhận tin nhắn mới, người dùng cần xóa nội dung trong các ngăn 1 và 2 của bộ nhớ.
(1) atdxxxxxxxxxx;Quay số cần gọi
(2) Chuỗi trả về sẽ có dạng:OK Chuỗi này thông báo lệnh trên đã được nhận và đang được thực thi
Sau đó là những chuỗi thông báo kết quả quá trình kết nối ( nếu như kết nối không được thực hiện thành công)
Hình 2 10 : Cấu hình gọi điện cho SIM900
(2A) Nếu MT không thực hiện được kết nối do sóng yếu, hoặc không có sóng ( thử bằng cách tháo antenna của modem GSM), chuỗi trả về sẽ có dạng:
NO DIAL TONE
Nếu cuộc gọi bị từ chối bởi người nhận hoặc số máy đang gọi không hoạt động (ví dụ như tắt máy), chuỗi trả về sẽ có dạng cụ thể.
NO CARRIER
Nếu cuộc gọi không thể thiết lập do máy nhận cuộc gọi đang bận, chẳng hạn như đang thông thoại với một thuê bao khác, chuỗi trả về sẽ có dạng cụ thể.
CR>BUSY (4s) Tổng thời gian từ lúc modem nhận lệnh cho đến lúc nhận được chuỗi trên thông thường là 4 giây
(2D) Nếu sau 1 phút mà thuê bao nhận cuộc gọi không bắt máy, chuỗi trả về sẽ có dạng:
NO ANSWER (60s)
Trong trường hợp thiết lập cuộc gọi diễn ra bình thường mà không nhận được chuỗi thông báo nào (2A, 2B, 2C hay 2D), cuộc gọi sẽ chuyển sang giai đoạn thông thoại Quá trình kết thúc cuộc gọi có thể xảy ra trong hai trường hợp.
(4A) Đầu nhận cuộc gọi gác máy trước, chuỗi trả về sẽ có dạng:
NO CARRIER
(4B) Đầu thiết lập cuộc gọi gác máy trước: phải tiến hành gửi lệnh ATH, và chuỗi trả về sẽ có dạng:
OK
(1) Sau khi được khởi tạo bằng lệnh AT+CLIP=1, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng:
Nếu số điện thoại gọi đến không hợp lệ, hãy từ chối nhận cuộc gọi bằng lệnh ATH, và chuỗi trả về sẽ có dạng: OK Cuộc gọi sẽ kết thúc.
Nếu số điện thoại gọi đến hợp lệ, hãy nhận cuộc gọi bằng cách gửi lệnh ATA Chuỗi trả về sẽ có định dạng: OK Giai đoạn tiếp theo là giai đoạn thông thoại.
(4A) Kết thúc cuộc gọi.Đầu còn lại gác máy trước
(4B) Kết thúc cuộc gọi, chủ động gác máy bằng cách gửi lệnh ATH
Hình 2 11 : Cấu hình nhận cuộc gọi
Mọi thao tác liên quan đến quá trình nhận tin nhắn đều được thực hiện trên hai ngăn 1 và 2 của bộ nhớ nằm trong SIM
(1) Đọc tin nhắn trong ngăn 1 bằng lệnh AT+CMGR=1
(2A) Nếu ngăn 1 không chứa tin nhắn, nội dung tin nhắn sẽ được gửi trả về TE với định dạng như sau:
Các tham số trong chuỗi trả về của module SIM508 bao gồm trạng thái tin nhắn (REC UNREAD), số điện thoại gửi tin nhắn (+84929047589), thời gian gửi tin nhắn (07/05/15, 09:32:05+28) và nội dung tin nhắn Đây là dạng mặc định khi module khởi động, và có thể thiết lập dạng mở rộng bằng lệnh AT+CSDH=1 trước khi đọc tin nhắn.
(3) Sau khi đọc, tin nhắn được xóa đi bằng lệnh AT+CMGD=1 Thao tác tương tự đới với tin nhắn chứa trong ngăn thứ 2 trong các bước (4), (5A) (5B) và (6)
Hình 2 12 : Cấu hình đọc tin nhắn
(1) Gửi tin nhắn đến thuê bao bằng cách sử dụng lệnh AT+CMGS=”số điện thoại”
(2) Nếu lệnh (1) được thực hiện thành công, chuỗi trả về sẽ có dạng:
> (kí tự “>” và 1 khoảng trắng)
(3) Gửi nội dung tin nhắn và kết thúc bằng kí tự có mã ASCII 0x1a
(3A) Gửi kí tự ESC ( mã ASCII là 27) nếu không muốn tiếp tục gửi tin nhắn nữa Khi đó TE sẽ gửi trả về chuỗi:
OK
(4) Chuỗi trả về thông báo quá trình gửi tin nhắn Chuỗi trả về có định dạng như sau:
+CMGS :62OK
Số tham chiếu tin nhắn bắt đầu từ 62 và tăng lên 1 sau mỗi tin nhắn được gửi Giá trị của tham chiếu này nằm trong khoảng từ 0 đến 255 Thời gian gửi một tin nhắn dao động từ 3 đến 4 giây khi sử dụng mạng Mobi phone.
Hình 2 13 : Cấu hình gửi tin nhắn
Giao tiếp giữa PIC18F4550 và module SIM900
Vi điều khiển PIC18F4550 giao tiếp với module SIM900 thông qua chuẩn truyền nhận không đồng bộ USART/UART Kết nối được thực hiện qua hai chân RXD(9) và TXD(10) của SIM900, cùng với hai chân RC6/TX/CK(25) và RC7/RX/DT(26) của PIC18F4550A.
Chân RXD(9) được nối với chân RC7/RX/DT(26)
Chân TXD(10) được nối với chân RC6/RX/CK(25)
Tìm hiểu giao tiếp nối tiếp UART:
UART, or Universal Asynchronous Receiver Transmitter, is one of the two standards for serial communication, also known as the Serial Communication Interface (SCI) This interface is commonly used for communication with peripheral devices, microcontrollers, and computers Various forms of external UART interfaces are available for these applications.
Giao diện UART sử dụng hai chân pin là RC6/TX/CK để truyền xung clock (baud rate) và RC7/RX/DT để truyền dữ liệu Để kích hoạt giao diện này, cần thiết lập bit TRISC và SPEN (RCSTA).
PIC18F4550 được trang bị bộ tạo tốc độ baud BRG 8 bit cho giao diện UART, hoạt động như một bộ đếm cho cả hai chế độ đồng bộ và bất đồng bộ BRG được điều khiển bởi thanh ghi PSBRG, và trong chế độ bất đồng bộ, nó còn phụ thuộc vào bit BRGH (TXSTA) Tuy nhiên, trong chế độ đồng bộ, tác động của bit BRGH không được xem xét Tốc độ baud mà BRG tạo ra được tính theo một công thức cụ thể.
Bảng 2 1 : Công thức tính tốc độ baud
SYNC BRGH * 0 (Low Speed) BRGH ■ 1 (High Speed)
Trong đó X là giá trị của thanh ghi RSBRG ( X là số nguyên và 0