ĐỒ ÁN TỐT NGHIỆP CƠ ĐIỆN TỬ XE LƯU KHO TỰ ĐỘNG TRONG NHÀ MÁY
Lời cảm ơn
Với kiến thức được thầy cô trang bị trong thời gian học tập tại trường cùng với khoảng thời gian miệt mài nghiên cứu thiết kế phát triển bài tập lớn chúng em đã hoàn thành theo đúng quy định.
Để làm được điều đó chúng em xin chân thành cảm ơn thầy ……….. người đã luôn theo dõi và chỉ bảo tận tình chúng em trong suốt thời gian làm đồ án. Thầy đã hướng dẫn tận tình và truyền đạt lại nhiều kiến thức cũng như kinh nghiệm quý báu giúp chúng em hoàn thành đề tài này. Bên cạnh đó chúng em cũng xin chân thành cảm ơn quý thầy cô trong bộ môn Cơ Điện Tử cũng như trong nhà trường đã hướng dẫn tận tình và dạy dỗ truyền đạt kiến thức cho chúng em trong suốt những năm học vừa qua. Và cuối cùng chúng em xin chân thành cảm ơn gia đình, bạn bè đã giúp chúng em hoàn thành đề tài.
Chúng em xin chân thành cảm ơn!
Lời giới thiệu
Ngày nay với sự phát triển mạnh mẽ của các ngành công nghiệp nên người ta càng muốn ứng dụng công nghệ tự động hoặc bán tự động vào lao động cũng như sản xuất để thay thế phần nào sức lao động của con người. Chính vì thế những cổ máy tự động và bán tự động đầu tiên đã ra đời và ngày càng phát triển. Vì thế nhóm chúng đã nghĩ đến đề tài xe lưu kho tự động trong nhà máy. Chúng có nhiệm vụ vận chuyển, lưu trữ hàng hóa giúp con người. Ngoài ra chúng có thể hoạt động trong môi trường nhiễm chất phóng xạ nơi mà con người gần như không thể tiếp cận được.
Bài báo cáo của chúng em gồm có những nội dung chính sau đây:
- Thiết kế và chế tạo cơ khí.
- Thiết kế và thi công mạch điện tử.
Lập trình cho xe chạy lưu kho tự động và dừng lại khi gặp vật cản.
.......................................
MỤC LỤC
CHƯƠNG 1 : ĐẶT VẤN ĐỀ.. 8
CHƯƠNG 2 : THIẾT KẾ VÀ THI CÔNG.. 9
2.1/ CƠ KHÍ. 9
2.1.1/ Ý tưởng ban đầu. 9
2.1.2/ Chi tiết và vật liệu. 10
2.1.3/ Thiết kế và thi công. 16
2.2/ ĐIỆN TỬ.. 21
2.2.1/ GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC 16F877A.. 21
2.2.2/ GIỚI THIỆU CÁC CẢM BIẾN. 24
2.2.3/ MẠCH ĐIỆN.. 39
2.3/ LẬP TRÌNH.. 47
2.3.1/ Lưu đồ giải thuật tổng thể. 47
2.3.2/ Lưu đồ giải thuật module doline. 49
2.3.3/ Lưu đồ giải thuật modul đọc cảm biến siêu âm : 51
2.3.4/ Lưu đồ giải thuật chương trình con chạy lưu kho : 52
2.3.5/ Lưu đồ giải thuật quay sử dụng cảm biến: 53
2.3.6/ Lưu đồ giải thuật quay sử dụng encoder: 54
CHƯƠNG III : KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN.. 55
3.1/ Kết quả. 55
3.2/ Hướng phát triển. 55
DANH MỤC TRONG HÌNH VẼ BÁO CÁO
Hình 1:Thiết kế trên SolidWorks. 9
Hình 2: Nhôm thanh. 10
Hình 3: Nhôm tấm. 11
Hình 4 : Nhôm trục 8 ly. 11
Hình 5 : Trục bánh xe. 11
Hình 6 : Phe trục. 12
Hình 7 : Bánh xe chủ động. 12
Hình 8 : Encoder. 12
Hình 9 : Nhôm tấm bắt ổ bi. 13
Hình 10 : Động cơ NF5475E. 13
Hình 11 : Buly. 14
Hình 12 : Dây đai PU. 14
Hình 13 : Acquy đặt trên nhôm L. 14
Hình 14: Cảm biến tiệm cận điện cảm. 14
Hình 15: Cảm biến siêu âm. 15
Hình 16 : Hệ thống tay nâng. 15
Hình17 : Chi tiết lắp ráp cố định. 16
Hình 18 : Khung nhôm. 16
Hình 19 : Khung nhôm trục bánh xe. 17
Hình 20 : Khung hoàn thành. 18
Hình 21 : Lắp ráp tay nâng. 19
Hình 22 : Bố trí cảm biến siêu âm. 19
Hình 21: Sơ đồ chân vi điều khiển pic 16f877a. 24
Hình 22: cảm biến siêu âm srf05. 26
Hình 23: Các chân giao tiếp. 26
Hình 24: Giản đồ điều khiển từ giản đồ ta nhận thấy: 27
Hình 25: Cấu tạo cảm biến tiệm cận điện cảm.. 28
Hình 26: Cấu tạo và bố trí cuộn dây ở đầu phát hiện. 28
Hình 27: Nguyên lý hoạt động của cảm biến tiệm cận điện cảm.. 29
Hình 28: cảm biến tiệm cận hình trụ. 30
Hình 29: cảm biến tiệm cận hình vuông. 30
Hình 30: Mạch dạng NPN cực thu để hở. 31
Hình 31: Mạch dạng PNP cực thu để hở. 31
Hình 32: cảm biến tiệm cận điện cảm đầu bằng hình trụ. 32
Hình 33: phương thức đấu dây của cảm biến. 33
Hình 34: Kí hiệu và hình dạng thực tế. 34
Hình 35: Mắt thu hồng ngoại 34
Hình 36: Module thu Hình 37: Module phát 35
Hình 38: Sơ đồ mạch phát dùng IC PT2262. 36
Hình 39 : Sơ đồ mạch thu dùng IC PT2272. 37
Hình 43: Sơ đồ khối nguồn12V, 24V.. 41
Hình 44 : Sơ đồ khối nguồn 5V.. 41
Hình 45: Module điều khiển trung tâm.. 42
Hình 46: Sơ đồ khối công suất của một động cơ. 44
Hình 47: Sơ đồ mạch phát hồng ngoại. 45
Hình 48: Sơ đồ mạch thu hồng ngoại. 46
CHƯƠNG 1 : ĐẶT VẤN ĐỀ
Ngày nay với sự phát triển mạnh mẽ của các ngành tự động nên con người càng muốn áp dụng công nghệ tự động vào lao động cũng như sản xuất. Chính vì thế chúng em chọn đề tài xe dò line tránh vật cản nhằm mục đích áp dụng công nghệ tự động, những chiếc xe này có thể giúp con người làm được rất nhiều việc như vận chuyển hàng hóa một cách tự động… lúc đó con người có nhiệm vụ là đứng một chỗ chờ nhận hàng từ những chiếc xe này. ở trong nhà máy thường có bụi bẩn và có người hoặc các thiết bị máy móc di chuyển qua lại chính vì thế xe chúng em hoạt động trên nguyên tắc dò line kim loại và tránh vật cản bằng cảm biến siêu âm.
Vì sao chúng em dùng line kim loại mà không dùng các line trắng dán trên nền thông thường. vì trong nhiều nhà máy rất bụi bẩn chính vì thế sử dụng line trắng xe sẽ hoạt động không ổn định. Trong các nhà máy thực tế ở một số nơi. Họ chôn line kim loại xuống đất để line được bảo vệ tốt hơn. Để dò được line kim loại chúng em dùng hai con cảm biến tiệm cận điện cảm. Và để tránh vật cản và người chúng em dùng cảm biến siêu âm.
Công việc của chúng em trong đề gồm có những bước sau:
- Thiết kế bản vẽ cơ khí trên máy tính bằng phần mền solidwork và chế tạo phần cơ khí của chiếc xe. Công việc này do bạn Phan Thành Đạt phụ trách.
- Tìm hiểu nguyên tắc hoạt động của cảm biến siêu âm, tìm hiểu nguyên tắc hoạt động của cảm biến tiệm cận điện cảm, thiết kế hệ mạch công suất dùng rơle, thiết kế mạch sử dụng VDK PIC, thiết kế mạch dò line sử dụng cảm biến tiệm cận điện cảm. công việc này do bạn Nguyễn Hữu Thịnh phụ trách.
- Làm quen với ngôn ngữ lập trình CCS, viết giải thuật dò line, giải thuật dùng cảm biến siêu âm tránh vật cản và giải thuật lập trình cho xe chạy lưu kho tự động.
CHƯƠNG 2 : THIẾT KẾ VÀ THI CÔNG
2.1/ CƠ KHÍ
2.1.1/ Ý tưởng ban đầu.
Hình 1:Thiết kế trên SolidWorks.
Sử dụng vật liệu chủ yếu cho xe là nhôm. Dùng nhôm thanh ghép thành bộ phận khung xe như hình trên, kết nối chúng với nhau bằng vít rive.
Dẫn động bằng bộ truyền buly-đai giữa động cơ và bánh xe. Hai bánh xe thiết kế đồng tâm và độc lập với nhau, gá đặt trên 4 miếng nhôm bắt dính với phần thân.
Sử dụng 1 bánh tự lựa phía trước để rẽ hướng.
Nguồn acquy được gá đặt phía trước, nằm trên những thanh nhôm L.
Hai cảm biến tiệm cận điện từ được đặt giữa phần thân xe và nằm dưới để phát hiện line từ bằng kim loại, một cảm biến tiệm cận điện từ khác được đặt bên phải bánh xe phát hiện ngã tư và lệch line.
Hệ thống tay nâng đặt phía sau, sử dụng 1 động cơ để nâng hạ hàng.
Phía trước xe được đặt cảm biến siêu âm để phát hiện vật cản.
Kho hàng và khối hàng được làm bằng nhôm ống và foam 3ly.
2.1.2/ Chi tiết và vật liệu.
Vật liệu cho toàn bộ xe chủ yếu là nhôm:
- Phần khung xe sử dụng nhôm thanh 25x50 và 50x50.
Hình 2: Nhôm thanh.
- Nhôm tấm 3 ly dùng để gá đặt động cơ.
Hình 3: Nhôm tấm.
- 4 miếng nhôm tấm 8 ly để bắt bạc đạn và 2 trục bánh xe.
Hình 4 : Nhôm trục 8 ly.
- Trục bánh xe vật liệu là nhôm đường kính Ø 12.
Hình 5 : Trục bánh xe.
- Phe trục Ø 12 bằng gang.
Hình 6 : Phe trục.
- 2 bánh xe chủ động bằng nhôm Ø 120.
Hình 7 : Bánh xe chủ động.
- Encoder 100 xung/vòng.
Hình 8 : Encoder.
- Nhom tấm 5ly 50x60 bắt ổ bi và trục động cơ Ø6.
Hình 9 : Nhôm tấm bắt ổ bi.
- 2 động cơ DC NF5475E.
Áp vào DC 24V.
Khối lượng 700g.
Có bạc đạn với encoder.
Nam châm 4 cực.
Thông số kỹ thuật (hiệu quả tối đa): moment xoắn 74,83 mN.m, tốc độ 4162 rpm, dòng 1.256 A, công suất đầu ra 32.62 W, hiệu suất 68.3 %.
Hình 10 : Động cơ NF5475E.
- Buly nhôm Ø22 gắn trực tiếp với động cơ.
Hình 11 : Buly.
- Truyền động bằng đai.
Hình 12 : Dây đai PU.
- Nguồn sử dụng acquy hoặc biến áp, gá trên thanh nhôm L.
Hình 13 : Acquy đặt trên nhôm L.
- Cảm biến tiệm cận điện từ của Omron.
Hình 14: Cảm biến tiệm cận điện cảm.
- Cảm biến siêu âm SRF05.
Hình 15: Cảm biến siêu âm.
Hình 16 : Hệ thống tay nâng.
- Kho hàng và khối hàng.
Hình 16 : Kho hàng và khối hàng.
- Lắp ráp và cố định chi tiết bằng thanh gá L, ốc vít, bulong đai ốc, rive.
Hình17 : Chi tiết lắp ráp cố định.
2.1.3/ Thiết kế và thi công.
Cơ khí gồm 4 bộ phận chính:
- Khung nhôm, trục và bánh xe.
- Nguồn, động cơ và bộ truyền động.
- Hệ thống tay nâng và cảm biến.
- Kho hàng và khối hàng.
A/ Khung nhôm:
Hình 18 : Khung nhôm.
Là bộ phận ban đầu của toàn bộ xe, khung xe được thiết kế bởi nhôm thanh 25x25, 25x50, có kích thước là 400x560 (mm). Trên khung gồm có:
- 4 miếng nhôm tấm 8 ly bắt bạc đạn Ø 12, để gắn 2 trục bánh xe.
- Tấm nhôm 3 ly 100x390 đặt phía dưới khung, nằm ở giữa của toàn bộ xe, để gá động cơ DC.
- Khay nhôm L phía trước có thể chứa tối đa 8 acquy.
- Ngoài ra trên khung còn đặt 1 miếng mica để chứa mạch điều khiển xe hoạt động.
Trục và bánh xe
Hình 19 : Khung nhôm trục bánh xe.
Hai trục bánh xe Ø 12 được thiết kế đồng tâm, mỗi trục được cố định bởi 4 phe gang để khi chuyển động không bị dịch chuyển và mỗi trục gắn thêm 1 encoder 100 xung/vòng.
Bánh xe dẫn hướng được đặt phía sau gắn thêm lốp cao su để di chuyển nhẹ nhàng hơn, cố định với trục bằng vít lục giác đầu chìm Ø4.
Bánh tự lựa phía trước để rẽ hướng, được đặt sao cho khung nhôm đứng thật phẳng.
B/ Nguồn, động cơ và bộ truyền động:
Nguồn có thể sử dụng acquy hoặc biến áp. Acquy được đặt trong khay nhôm L phía trước.
Động cơ DC NF5475E đặt trên tấm nhôm giữa, cố định bằng những thanh gá L và trục động cơ bắt qua ổ bi Ø6. Tốc độ tối đa của động cơ 4162 vòng/phút.
Bộ truyền đai:
- Buly đươc lắp trực tiếp với trục động cơ, cố định bằng vít lục giác đầu chìm 2ly và ống co nhiệt.
- Mỗi bánh xe được truyền động bằng 2 dây đai PU.
- Tỉ số truyền i = D1/D2 = 1/6.
Hình 20 : Khung hoàn thành.
C/ Hệ thống tay nâng và cảm biến.
Hình 21 : Lắp ráp tay nâng
- Hệ thống tay nâng được thiết kế từ trục vít me bi, lắp với động cơ DC thông qua khớp nối trục, bước vít là 5mm.
- Càng nâng được ghép từ nhôm cứng và dày 5ly.
Cảm biến :
Hnh 22 : Bố trí cảm biến siêu âm.
- Cảm biến siêu âm SRF05 được đặt phía trên hệ thống tay nâng dùng phát hiện vật cản và lùi theo line.
Hình 23 : Bố trí cảm biến tiệm cận điện từ.
- Hai cảm biến điện từ được bố trí phía sau bánh tư lựa và cách line từ khoảng 5mm, dùng phát hiện đường line từ để di chuyển.
- Một cảm biến tiệm cận điện từ khác được đặt bên phải bánh xe phát hiện ngã tư và lệch line.
D/ Kho hàng và khối hàng.
- Kho hàng có kích thước 630x220x400, chia đều làm 4 ô, được làm từ nhôm ống 25x25 và foam 3ly.
- Khối hàng làm từ foam dày 3ly có trọng lượng nhẹ để dễ nâng hạ có kích thước 220x160x130.
Hình 24 : Khối hàng trên kho.
2.2/ ĐIỆN TỬ
2.2.1/ GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC 16F877A
- Đặc tính nổi bật của vi điều khiển 16f877a.
- Sử dụng công nghệ tích hợp cao RISC CPU.
- Người sử dụng có thể lập trình với 35 câu lệnh đơn giản.
- Tất cả các câu lệnh thực hiện trong một chu kì lệnh ngoại trừ một số câu lệnh rẽ nhánh thực hiện trong 2 chu kì lệnh.
- Tốc độ hoạt động là: -Xung đồng hồ vào là DC-20MHz
- Chu kì lệnh thực hiện trong 200ns
- Bộ nhớ chương trình Flash 8K x 14 words
- Bộ nhớ Ram 368x 8 bytes
- Bộ nhớ EFPROM 256x 8 bytes
- Khả năng của bộ vi sử lí 16f877a.
- Khả năng ngắt (lên tới 14 nguồn ngắt trong và ngắt ngoài).
- Ngăn nhớ Stack được phân chia làm 8 mức.
- Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp.
- Nguồn khởi động lại (POR).
- Bộ tạo xung thời gian (PWRT) và bộ tại dao động (OST).
- Bộ đếm xung thời gian (WDT) với nguồn dao động trên chip (nguồn dao động RC ) hoạt động đáng tin cậy.
- Có mã chương trình bảo vệ.
- Phươn thức cất giữ SLEEP.
- Có bảng lựa chọn dao động.
- Công nghệ CMOSFLASH/EFPROM nguồn mức thấp, tốc độ cao.
- Thiết kế hoàn toàn tĩnh.
- Dải điện thế hoạt động rộng: 2.0V đến 5.5V.
- Nguồn sử dụng hiện tại 25mA.
2. Các đặc tính nỗi bật của thiết bị ngoại vi trên chip.
- Timer0: 8 bít của bộ định thời. Timer 0 có thể đọc lẫn ghi.Nếu sử dụng xung ngoại (TOCKI) thì nó sẽ được với xung nội.Timer 0 tràn từ FF sang 00 khi đó cờ sẽ được set
- Timer1: 16 bít của bộ định thời. Cho phép xung đếm vào Timer 1. Cho phép đảo xung ở ngõ vào Timer1
- Timer2: 8 bít của bộ định thời.
- Bắt sự kiện (Capture): Xác định khoảng thời gian tồn tại của một sự kiện bên ngoài được phản ánh thông qua một ngõ vào của vi điều khiển
- So sánh (Compare): Thay đổi trạng thái của một chân ngõ ra hoặc thực hiện các thao tác trong một chương trình ngắt sau một khoảng thời gian nhất định
-
Điều chế độ rộng xung (Pulse Width Modulation -PWM):
- Tạo ra dạng xung vuông có duty-cycle thay đổi được tại một tần số xác định ở ngõ ra.
- Cung cấp những tính năng tạo sự thuận lợi cho việc kết nối với những dạng mạch điều khiển cầu.
- Module so sánh điện áp: Tín hiệu tương tự đầu vào được so sánh với điện áp tham chiếu và cho kết quả so sánh ở ngõ ra dưới dạng tín hiệu số.
-
Bộ so sánh và chế độ ngủ (Sleep mode):
- Khi đang ở chế độ ngủ, bộ so sánh vẫn hoạt động .
- Ngõ ra của bộ so sánh điện áp thay đổi sẽ “đánh thức” PIC.
- Sau khi thoát khỏi chế độ ngủ, lệnh tiếp theo lệnh “Sleep” hoặc chương trình phục vụ ngắt của bộ so sánh điện áp sẽ được thực thi.
-
Module chuyển đổi tín hiệu tương tự sang tín hiệu số:
- Chuyển đổi tín hiệu tương tự ngõ vào sang giá trị nhị phân 8 bit hay 10 bit .
- Điện áp tham chiếu có thể được lấy vào từ bên ngoài hoặc được tạo ra từ module tạo điện áp tham chiếu bên trong.
- Ngắt được tạo ra sau khi thao tác chuyển đổi được hoàn tất.
- Ngắt ADC cho phép “đánh thức” vi điều khiển từ trạng thái ngủ sang trạng thái hoạt động bình thường
-
Giao tiếp ngoại vi qua chuẩn nối tiếp. Còn được gọi là Giao diện truyền thông nối tiếp.
- Chức năng chính:Đồng bộ hay bất đồng bộ.Nhận hoặc truyền:
- Sử dụng thông thường:Giao tiếp qua RS-232 với công nối tiếp của PC
- Tính năng nổi bật (EUSART) liên kết giao diện với hệ thống bus của mạng liên kết cục bộ (LIN)
-
Chuẩn cổng nối tiếp đồng bộ (MSSP).Module MSSP có thể hoạt động một trong 2 chế độ.
- SPI( Giao tiếp ngoại vi nối tiếp)
- Ngõ ra dữ liệu nối tiếp ( SDO)
- Ngõ vào dữ liệu nối tiếp(SDI)
- Clock nối tiếp(SCK)
- I2C
- Clock nối tiếp ( SCK)
- Dữ liệu nối tiếp ( SDA)
- Sơ đồ chân 16f877a
Hình 25: Sơ đồ chân vi điều khiển pic 16f877a
2.2.2/ GIỚI THIỆU CÁC CẢM BIẾN.
1. Cảm biến siêu âm.
a. Nguyên lý
Thiết bị phát tín hiệu từ bộ phận dao động ở tần số siêu âm. Cấu tạo bộ phận dao động được tạo thành từ hai đĩa mỏng. Những đĩa này có thể là các phần tử áp điện hoặc là sự kết nối giữa một phần tử áp điện và một đĩa kim loại. Những đĩa này sẽ dao động khi có tín hiệu có tần số bằng với tần số cơ bản của các phần tử áp điện. Năng lượng dao động sẽ được truyền qua bề mặt cảm biến.
Cảm biến được cấu tạo từ các phần tử áp điện. Khi một tín hiệu siêu âm tác động vào phần tử áp điện, phần tử này phát ra tín hiệu điện có tần số tương ứng với tần số của tín hiệu thu được.
Dãi tần số hoạt động của cảm biến siêu âm từ 38kHz đến 45kHz.
b. Đặc tính
- Tín hiệu siêu âm không tương tác với những tín hiệu âm thanh khác trong dải âm tần từ 50Hz đến 15kHz.
...............................................................................
CHƯƠNG III : KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN
3.1/ Kết quả.
Sau khi hoàn tất xe thì thu được kết quả là:
- Robot nhận được line từ và di chuyển theo trên sân.
- Khi gặp vật cản thì xe tự động tránh, lùi theo line.
- Lưu kho tự động
Tuy nhiên vẫn còn những mặt hạn chế:
- Sử dụng 1 bánh tự lựa để dẫn hướng và dò line chỉ với 2 cảm biến nên xe chạy vẫn còn rung lắc khi dò vạch.
- Trục bánh xe làm bằng nhôm nên trong quá trình thi công bị móp, 2 trục chưa đồng tâm hoàn toàn, cố định bánh xe vẫn còn méo.
- Một cảm biến siêu âm đặt trước, chỉ phát hiện vật cản 1 phía.
Cách khắc phục các hạn chế:
- Dùng thêm bánh xe để dẫn hướng, có thể dùng 2 bánh tự lưa hoặc bánh đa hướng.
- Trục bánh xe dùng vật liệu cứng hơn như inox,…
- Cho cảm biến siêu âm xoay để phát hiện vật cản hoặc dùng thêm cảm biến.
3.2/ Hướng phát triển.
Từ đồ án tốt nghiệp chúng em có thể phát triển và hoàn thiện chiếc xe như những xe tự động trong các nhà máy công nghiệp, bệnh viện. Chúng em sẽ cải thiện cơ khí cũng như thêm nhiều cảm biến để xe có thể hoạt động ổn định hơn.
Buổi Thứ 4: Module CCP-Truyền Thông
- Tổng quát module CCP:
+ Module có 3 chức năng, mỗi chức năng của CCPx đều đòi hỏi 1 bộ đếm để hoạt động : Capture/Compare sử dụng Timer1 , còn PWM sử dụng Timer2 .
+ Chế độ Capture : mỗi khi có cạnh lên của xung vào chân CCPx thì giá trị Timer1
(16 bit ) sẽ được sao chép vào thanh ghi CCP ( 16 bit ) .
+ Chế độ Compare : khi giá trị nạp CCP bằng giá trị đếm Timer1 thì các sư kiện được chỉ định trước xảy ra : chân CCPx được lái ra mức thấp / cao / không có gì nhưng có ngắt hay biến đổi A/D .
+ Chế độ PWM ( điều chế độ rộng xung ) : xuất xung vuông ra chân VDK .
+ Sử dụng hàm setup_ccpX() để xác định chức năng muốn dùng trên module CCP .
- Chế Độ PWM:
+ Xuất một chuỗi xung vuông với độ rộng được hiệu chỉnh dễ dàng ,thường dùng để điều chỉnh điện áp DC .
- Code C Module CCP:
1 / setup_CCPx ( mode ) :
+ Hàm dùng để thiết lập chế độ hoạt động hay chức năng CCP ( x = 1,2 )tên chân CCP có trên chip .
+ Mode là 1 trong các hằng số sau :
- CCP_OFF : tắt chức năng CCP , RC sẽ là chân I /O .
- Chế độ capture :
- CCP_CAPTURE_RE : capture khi có cạnh lên
- CCP_CAPTURE_FE : capture khi có cạnh xuống
- CCP_CAPTURE_DIV_4 : capture sau khi đếm đủ 4 cạnh lên (4 xung ).
- CCP_CAPTURE_DIV_16:capture sau khi đếm đủ 16 cạnh lên (16 xung ).
- Chế độ compare :
- CCP_COMPARE_SET_ON_MATCH : xuất xung mức cao khi
TMR1= CCPx
- CCP_COMPARE_CLR_ON_MATCH : xuất xung mức thấp khi
TMR1= CCPx
- CCP_COMPARE_INT : ngắt khi TMR1=CCPx
- CCP_COMPARE_RESET_TIMER : reset TMR1 =0 khi TMR1=CCPx
Chế độ PWM :
- CCP_PWM : bật chế độ PWM
2 / set_PWMx_duty ( value ) :
value : biến hay hằng , giá trị 8 hay 16 bit , x=1,2 tên chân CCPx
- Truyền thông RS232:
+ Để sử dụng giao thức này , phải có 2 khai báo như sau :
#use delay (clock = 20000000 ) // sử dụng thạch anh 20Mhz
#use rs232 (baud=19200 , parity=n , xmit=pin_C6 , rcv=pin_C7 )
+ Một số hàm liên quan :
printf ( ); getc ( ); putc ( ); getch ( ); putchar ( ); getchar ( );
- Giao Tiếp SPI:
+ Đây là giao tiếp dễ dùng nhất , đơn giản nhất và có tốc độ cao nhất trong nhóm , hoạt động theo cơ chế hand-shaking ( bắt tay ) . Giả sử có 2 VDK , thì 1 là VDK là master, 1 VDK là slave . Khi master truyền 1 byte cho slave , nó phát 8 xung clock qua đường clock nối tới slave , đồng thời truyền 8 bit data từ chân SDO tới chân SDI của slave. Không kiểm tra chẵn, lẻ, lỗi . Do đó nếu đang truyền được 3 bit mà master reset hay hở dây clock thì data sẽ bị mất , slave sẽ không nhận đủ 8 bit và do đó nếu tiếp tục nhận nó sẽ lấy 5 bit ở byte kế tiếp đưa vào thanh ghi nhận để đủ 8 bit, do đó kết quả nhận được là không chính xác.
+ Giao tiếp này cần ít nhất 2 dây trở lên . Nếu 1 VDK chỉ cần gởi data thì chỉ cần dây clock và SDO.VDK nhận sẽ dùng SDI và dây clock . Dây clock làdây nối chung .
+ Nếu có gởi và nhận ở cả 2 VDK thì : dây clock chung , SDO master nối tới SDI của slave, SDO của slave nối tới SDI của master .
+ Nếu master cần truyền data cho nhiều slave trở lên thì SDO master nối tới các SDI của slave .Chân SS là slave select .
- Danh sách các hàm code C:
1 / setup_spi (mode ); setup_spi2 (mode ):
+ Dùng thiết lập giao tiếp SPI . Hàm thứ 2 dùng với VDK có 2 bộ SPI .
+ Tham số mode là các hằng số sau :
- SPI_MASTER , SPI_SLAVE , SPI_SS_DISABLED
- SPI_L_TO_H , SPI_H_TO_L
- SPI_CLK_DIV_4 , SPI_CLK_DIV_16 , SPI_CLK_DIV_64 , SPI_CLK_T2
+ Nhóm 1 xác định VDK là master hay slave ,slave select
+ Nhóm 2 xác định clock cạnh lên hay cạnh xuống .
+ Nhóm 3 xác định tần số xung clock , SPI_CLK_DIV_4 ngĩa là tần số = FOSC / 4 , tương ứng 1 chu kỳ lệnh / xung .
+ Hàm không trả về trị .
2 / spi_read ( data ):
+ data có thể có thêm vào là số 8 bit .
+ Hàm trả về giá trị 8 bit value = spi_read ( )
3 / spi_write ( value ):
+ Hàm không trả về trị ( value là giá trị 8 bit ).
+ Hàm này gửi value ( 1 byte ) tới SPI , đồng thời tạo 8 xung clock .
4 / spi_data_is_in ( ) :
+ Hàm trả về TRUE ( 1 ) nếu data nhận được đầy đủ ( 8 bit ) từ SPI , trả về FALSE nếu chưa nhận đủ .Hàm này dùng kiểm tra xem giá trị nhận về SPI đã đủ 1 byte chưa để dùng hàm spi_read ( ) đọc data vào biến .