1. Trang chủ
  2. » Luận Văn - Báo Cáo

Robot chơi cờ tướng

117 503 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 117
Dung lượng 6,98 MB

Nội dung

Robot chơi cờ tướng

Trang 1

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1

1.1 Đặt vấn đề 1

1.2 Sơ lược về thị giác máy tính 1

1.3 Lịch sử các thuật toán và Robot chơi cờ 8

1.4 Nhiệm vụ của luận văn 11

1.5 Sơ đồ khối của hệ thống 12

CHƯƠNG 2: GIỚI THIỆU SƠ LƯỢC ĐỘNG CƠ BƯỚC VÀ ĐỘNG CƠ DC 13

2.1 Cấu tạo và nguyên lý hoạt động của động cơ bước 13

2.2 Các loại động cơ bước 14

2.3 Các mạch điều khiển cơ bản 17

2.4 Các phương pháp điều khiển động cơ bước 19

CHƯƠNG 3: HỌ VI ĐIỀU KHIỂN PIC VÀ VI ĐIỀU KHIỂN PIC18F67J60 23

3.1 Giới thiệu chung về họ PIC 23

3.2 Giới thiệu về vi điều khiển PIC18F67J60 27

CHƯƠNG 4: XÂY DỰNG THUẬT TOÁN CHƠI CỜ 44

4.1 Dạng trò chơi 44

4.2 Cây trò chơi 45

4.3 Vét cạn 45

4.4 Chiến lược tìm kiếm trong trò chơi 47

4.5 Thủ tục minimax 48

4.6 Thủ tục Alpha-Beta: 51

4.7 Thuật toán khai cuộc(Openning book) và tàn cuộc(Endgame database) 54

CHƯƠNG 5: XỬ LÝ ẢNH VỚI OPENCV 55

5.1 Tổng quan về thư viện OpenCV 55

5.2 OpenCV trên HĐH Ubuntu 58

5.3 Các vấn đề cơ bản trong xử lý ảnh 64

5.4 Thuật toán sử dụng trong luận văn: Biến đổi Hough 69

CHƯƠNG 6: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH PHẦN CỨNG 76

6.1 Giới thiệu về Robot 76

6.2 Yêu cầu và ý tưởng 83

6.3 Thiết kế Robot 86

6.4 Thiết kế bàn cờ và quân cờ 90

6.5 Mô hình sau khi thực hiện 93

MỤC LỤC

GVHD: TS Nguyễn Đức Thành

Trang 2

CHƯƠNG 7: GIẢI THUẬT CHƯƠNG TRÌNH 96

7.1 Lưu đồ giải thuật 96

7.2 Phương pháp điều khiển cánh tay Robot Scara 97

7.3 Thuật toán xử lý ảnh nhận dạng nước đi 99

7.4 Chương trình chơi cờ ứng dụng trí tuệ nhân tạo 102

CHƯƠNG 8: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 112

8.1 Hình ảnh và kết quả đạt được 112

8.2 Hạn chế của đề tài và hướng phát triển 115

GVHD: TS Nguyễn Đức Thành

Trang 3

1.1 Đặt vấn đề

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

Thị giác máy là một lĩnh vực đã và đang phát triển mạnh mẽ trên thế giới hiện nay.Khái niệm về thị giác máy – Computer Vision có liên quan tới nhiều ngành học và có nhiềuhướng nghiên cứu khác nhau Kể từ những năm 70 của thế kỷ 20 khi mà khả năng tính toáncủa các máy tính trở nên mạnh mẽ, nó có thể giải quyết được những công việc cần tới tốc độcao như xử lý các tập ảnh hay các đoạn video thì thị giác máy được nhắc đến, nghiên cứu vàphát triển cho đến ngày nay

Trong thị giác máy tính, lĩnh vực phát hiện và nhận dạng đóng một vai trò cốt yếu vớirất nhiều ứng dụng trong hầu hết các lĩnh vực hiện đại như thám hiểm không gian, quân sự, y

tế, giải trí … Với sự kết hợp thị giác máy tính với trí tuệ nhân tạo, các cỗ máy tự động (robot)

do con người chế tạo ra ngày càng thông minh và giống con người hơn

Từ tình hình thực tế đó, đề tài luận văn “Robot chơi cờ tướng” của em ra đời, được ứngdụng xử lý ảnh nhằm mục đích kiểm nghiệm lại những kiến thức đã học ở trường và qua đónghiên cứu thêm những lĩnh vực mới, những thử thách mới trên con đường khoa học ngàycàng phát triển

Xử lý ảnh và trí tuệ nhân tạo là những lĩnh vực rất mới của thế giới, với những kiến thức

và thuật toán được phát triển mỗi ngày Do thời gian thực hiện luận văn chỉ gói gọn trọng mộthọc kỳ và những kiến thức của bản thân cũng hạn chế, nên những thiếu sót là không thể tránhkhỏi Em rất mong nhận được những góp ý của quí thầy cô và các bạn

1.2 Sơ lược về thị giác máy tính

1.2.1 Khái niệm cơ bản

Thị giác máy bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một hệthống nhân tạo có thể nhận thông tin từ các hình ảnh thu được hoặc các tập dữ liệu đa chiều

3CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

Trang 4

Máy móc càng ngày càng thông minh, nó không chỉ thay con người làm những côngviệc nặng nhọc và nhàm chán mà nó còn có một số khả năng bắt chước động vật và conngười Một trong số những khả năng đó là nhận biết được thế giới qua “mắt” của nó Bằngviệc kết hợp với các mô hình khác nữa như máy học, mạng nơron… giúp cho chúng dần tiếntới một hệ thống nhân tạo có những quyết định linh hoạt và chính xác hơn.

Hình 1.1: Tương tác giữa thị giác máy tính và các lĩnh vực khácLĩnh vực nghiên cứu của thị giác máy tính rất rộng, và đặc điểm chung là các bài toán

về thị giác máy tính đều không có một đề bài chung và cách giải quyết duy nhất Mỗi giảipháp giải quyết một vấn đề và thu được một kết quả nhất định cho những trường hợp cụ thể.Thị giác máy tính bao gồm:

o Nhận dạng (recognition) : Nhận dạng ảnh là một trong những vấn đề kinh

điển trong lĩnh vực thị giác máy và xử lý ảnh Mục đích của nhận dạng ảnh tức là xác địnhxem liệu một bức ảnh có tồn tại những đối tượng, đặc điểm đặc biệt hay không Chức năngnày có thể thực hiện tự động, không cần sự tác động của con người; tuy nhiên nó không đảmbảo trong các trường hợp chung, với những đối tượng tuỳ ý và trong tình huống tuỳ ý

 Nhận dạng vật thể (nhận dạng biển báo giao thông, đường biên xe chạy…)

 Phân biệt vật thể ( phân biệt khuôn mặt, dấu vân tay, chữ viết …)

Trang 5

 Phát hiện vật thể ( phát hiện xe cộ, vật lạ …).

Hình 1.2: Ứng dụng thị giác máy tính trong nhận dạng khuôn mặt

o Phân tích chuyển động (motion tracking): Nhận dạng chuyển động được áp

dụng để sử lý một chuỗi các ảnh liên tiếp để ước lượng tốc độ chuyển động của từng điểmảnh

 Egomotion: Xác định chuyển động trong khung cảnh 3D từ camera Áp dụngcho các camera theo dõi tự động

 Tracking: Theo dõi chuyển động của một đối tượng nào đó, ví dụ như ngườihay xe cộ

Hình 1.3: Ứng dụng thị giác máy tính trong theo dõi chuyển động

Trang 6

o Xây dựng cảnh (scene reconstruction): Đây là chức năng cho phép xây dựng

và mô phỏng lại một khung cảnh 3D từ những bức ảnh hoặc một đọan phim cho trước

Hình 1.4: Ứng dụng thị giác máy tính trong mô phỏng lại cấu trúc không gian

o Phục hồi ảnh(image restoration): Lọai bỏ tác động của nhiễu trong ảnh, khôiphục lại hình ảnh ban đầu

1.2.2 Lịch sử phát triển

Năm 1955, Selfridge lần đầu tiên đưa ra khái niệm thị giác máy tính( eyes and ears for

the computer ) Những năm đầu tiên đó, thị giác máy tính phát triển ngày càng nhanh, và đạt

Trang 7

Năm 1979, Nagel bước đầu thành công trong việc phân tích hình ảnh giao thông, đây là

cơ sở cho bộ phận trợ lý ảo (Visual driver assistance) được lắp đặt trên xe trợ giúp tài xế đượchoàn thành vào 1 thập kỷ sau đó vào năm 1988 bởi Bajcsy

Năm 1996, Dickmanns đã có thể phân tích chuyển động trên đường cao tốc và hoànthiện công nghệ phát hiện chuyển động (Motion tracking) Lĩnh vực này sau đó phát triển rấtmạnh và ứng dụng rất nhiều trong hầu hết các thành tựu tiên tiến

Hình 1.5: Ứng dụng thị giác máy tính trong phân tích chuyển động của xe trên đường cao

tốc

Những năm đầu thế kỷ 21, đánh dấu bước phát triển vượt bậc trong lĩnh vực phát hiệnkhuôn mặt Thành tựu về thị giác máy tính ngày càng phát triển các hội thảo khoa học về thịgiác máy tính được tổ chức thường xuyên

1.2.3 Các ứng dụng

Các ứng dụng của CV rất rộng lớn và đa dạng Tuy nhiên một số ứng dụng còn ở mứchạn chế và chỉ hiệu quả khi tích hợp với những công nghệ khác Dưới đây chúng ta sẽ điểmqua một vài ứng dụng nổi bật, qua đó cảm nhận được vai trò cũng như tiềm năng của CV

Y khoa (chẩn đoán, giải phẫu)

Các ứng dụng trong chẩn đoán y khoa dựa vào các thiết bị phần cứng đa dạng như máychụp cắt lớp (CT - computed tomography), máy chụp cộng hưởng từ (MRI - magneticresonance imaging), máy siêu âm, chụp X-quang Ảnh chụp từ các thiết bị trên sẽ được điều

Trang 8

chỉnh để giúp bác sĩ xem xét dễ dàng hơn, được tổng hợp để giúp bác sĩ nhìn nhận đầy đủhơn.

Ngoài ra, từ tập hợp ảnh (chụp cắt lớp, chụp bởi camera tí hon) mô hình 3D được xâydựng và sử dụng hiệu quả trong chẩn đoán cũng như điều trị Điển hình như hệ thống chụp cắtlớp tối tân Brilliance iCT Scanner do công ty thiết bị y khoa Philips phát triển năm 2007(Hình ) có khả năng tạo mô hình ảnh ba chiều toàn bộ cấu trúc cơ thể bệnh nhân -xương khớp, cơ quan nội tạng và cả đến từng mạch máu

An ninh (camera thông minh, nhận dạng)

CV có thể được tích hợp vào hệ thống camera theo dõi truyền thống, đảm nhận vai tròtheo dõi và cảnh báo, giúp giám sát viên không phải trực tiếp quan sát 24/24: phát hiệnchuyển động và cảnh báo xâm phạm, phát hiện các tình huống bất thường dựa trên nhận dạng

cử động như ẩu đả, cướp ngân hàng, nguy cơ chết đuối

Hình 1.6: Ứng dụng thị giác máy tính trong an ninh

Một ứng dụng khác của CV trong lĩnh vực an ninh là nhận dạng khuôn mặt đã phổ biếntrên một số dòng máy tính xách tay

Giao thông (theo dõi lưu thông, điều khiển xe)

Ứng dụng đã được phổ biến hiện nay là theo dõi lưu thông: cảnh báo sớm tình trạng ùntắc, ghi nhận các trường hợp phóng nhanh lạng lách, chụp và truy suất số xe vi phạm để xử lí

Trang 9

Một ứng dụng khác đang được nghiên cứu phát triển là điều khiển xe tự hành Hệ thốngcamera ghi nhận hình ảnh xung quanh khi xe di chuyển, bằng cảm quan máy tính, định vị lànđường, phát hiện các vật cản và xe khác, nhận biết các bảng chỉ dẫn, để điều khiển xe.

Robot (gia đình, không gian)

Trong lĩnh vực không gian, CV có vai trò quan trọng trong việc vận hành các robotthám hiểm (hình12) Trước hết là xây dựng mô hình 3D của bề mặt hành tinh để hoạch địnhđường đi an toàn nhất Trong quá trình di chuyển, robot ước lượng chuyển động của mình dựatrên sự phân tích chuyển động của cảnh quan Khi đã tiếp cận mục tiêu cần khảo sát, robotđiều khiển cánh tay cơ học qua quan sát từ camera thực hiện các thao tác đào bới, lấy mẫu đất

đá, chụp ảnh chi tiết,

Hình 1.7: Ứng dụng thị giác máy tính trong thám hiểm không gian

CV cũng được phát triển cho các robot gia đình, giúp robot có thể xây dựng mô hình vàđịnh vị mình (SLAM – Simultaneous Localization and Mapping), giao tiếp với con người quanhận dạng cử động

Tự động hóa sản xuất (đo lường, kiểm định chất lượng)

Trong các dây chuyền sản xuất, công nghệ cảm quan máy tính được ứng dụng thay thếphương pháp thủ công hoặc cơ học nhằm tăng hiệu suất và tránh va chạm hư hại sản phẩm

Trang 10

Phổ biến nhất là đo lường và kiểm định chất lượng sản phẩm: màu sắc và độ phủ đều khi sơn

vỏ xe hơi, độ cân đối và hình dáng bánh răng (hình 13), chất lượng in nhãn mác (hình 14),

1.2.4 Thị giác máy tính ở Việt Nam

Trong những năm gần đây, lĩnh vực thị giác máy đã được ứng dụng rộng rãi trên khắp

cả nước và đặc biệt được nghiên cứu chuyên sâu trong các tổ chức quân đội và một sốviện nghiên cứu khác

Việc áp dụng thị giác máy vào các ứng dụng nghiên cứu khoa học được coi là một khởiđầu cho chặng đường phát triển của thị giác máy ở các trường đại học hiện nay

1.3 Lịch sử các thuật toán và Robot chơi cờ

1.3.1 Những chiếc máy đánh cờ đầu tiên

Một điều đáng kinh ngạc là chương trình chơi cờ đầu tiên được viết trước khi chiếc máytính đầu tiên được phát minh Nó được viết bởi một người nhìn xa trông rộng, biết rằng máytính có thể lập trình được sắp ra đời và một khi nó được phát minh ra, nó có thể chơi cờ được.Người đó là Alan Turing, một trong những nhà toán học lớn của thời kỳ đó Turingđứng đầu nhóm phá mã bí mật "Enigma" của Đức, có ảnh hưởng lớn đến kết cục của chiếntranh thế giới lần thứ 2 Ông rất thích chơi cờ nhưng mặc dù rất cực kỳ thông minh và giànhrất nhiều công sức để học cờ nhưng ông vẫn chỉ là một người chơi tương đối yếu Sau chiếntranh, ông viết những lệnh hướng dẫn để máy tính có thể chơi cờ được

Vào thời điểm đó chưa có chiếc máy tính nào có thể chạy được các lệnh nên chính ôngthực hiện các lệnh đó, đóng vai bộ xử lý trung tâm và cần khoảng nửa tiếng cho một nước đi.Một ván cờ được ghi lại, trong đó chiếc "paper machine" của Turing thua một đồng nghiệp.Cũng vào cùng thời với Turing, một nhà toán học lớn khác, Claude Shanon của BellLaboratorié cũng nghĩ tới việc dạy máy tính chơi cờ Ông nhận ra rằng vấn đề là ở chỗ có quánhiều khả năng tiếp diễn sau một nước đi Do đó ông phân biệt giữa "chiến lược A", tìm kiếmtất cả những nước tiếp theo, và "chiến lược B", bỏ những đường không cần thiết

Trong những năm chiến tranh, Mĩ xây dựng một phòng thí nghiệm khổng lồ ở LosAlamos trong sa mạc của bang New Mexico Mục đích của nó là nghiên cứu chế tạo bomnguyên tử Để tìm ra dạng cấu tạo của phần kích nổ để có thể tạo thành phản ứng dây chuyềnđòi hỏi rất nhiều tính toán

Trang 11

Năm 1946, nhà toán học Hungary/Mỹ John von Neumann được giao nhiệm vụ thiết kếmột chiếc máy tính để thực hiện công việc này nhanh hơn Năm 1950, một chiếc máy khổng

lồ được goi là MANIAC I được chế tạo Nó có hàng nghìn bóng chân không và công tắc và cóthể thực hiện 10000 lệnh trong một giây Nó cũng có thể được lập trình

Hình 1.8: Cỗ máy MANIAC I

Thay vì ngay lập tức bắt tay vào việc chế tạo bom, các nhà khoa học bắt đầu thí nghiệmvới chiếc máy Một trong những điều đầu tiên họ làm là viết một chương trình chơi cờ Nóchơi trên một bàn cờ thu nhỏ 6x6 và không có Tượng Mặc dù vậy chương trình này vẫn cần

12 phút để tìm kiếm trước 4 nước

1.3.2 Thuật toán Alpha-Beta

Vấn đề chính với các chương trình chơi cờ là số lượng lớn các nước phải tính toán Một

ví trí trung bình sẽ có 40 nước đi hợp lệ Nếu tính tất cả các nước đi đối phương đi sau đó sẽ

có 40x40 = 1600 vị trí Điều này có nghĩa là sau một nước 16000 vị trí có thể xảy ra Sau hainước nó là 2.5 triệu vị trí và sau ba nước là 4.1 tỷ Trung bình một ván cờ kéo dài khoảng 40nước Số vị trí cần tính là khoảng 10 mũ 128, lớn hơn cả số nguyên tử có trong vũ trụ (chỉkhoảng 10 mũ 80) Do đó máy tính lúc đó dường như không bao giờ có thể chơi ở trình độkiện tướng

Bước nhẩy vọt đầu tiên là năm 1958 khi ba nhà khoa học của đại học Carnegie-MellonUniversity tại Pittsburgh (Newell, Shaw và Simon) tìm ra một phát hiện quan trọng Bạn cóthể bỏ một phần lớn của cây tìm kiếm mà không ảnh hưởng tới kết quả Họ gọi đó là thuậttoán alpha-beta Một điểm cần nhớ là đây là một kỹ thuật toán học thuần tuý

Trang 12

Thuật toán alpha-beta có kết quả giống như một tìm kiếm đầy đủ trong khi chỉ phải điqua căn bậc hai số vị trí mà tìm kiếm đầy đủ cần Vào thập kỷ 70, chiếc máy tính nhanh nhất(CDC Cyber series) có thể tìm trước tới 7 nước và đạt được khả năng chơi đáng nể.

1.3.3 Chiếc máy Belle

Ken Thompson là một nhà khoa học không thể chờ đợi những chiếc siêu máy tính giáhàng triệu đô trở nên 5 hay 25 lần nhanh hơn để có thể chơi cờ tốt hơn Ông và một đồngnghiệp ở Bell Laboratories quyết định chế tạo một chiếc máy chỉ chuyên để chơi cờ, sử dụnghàng trăm con chip và giá khoảng 20 nghìn đô la

Hình 1.9: Cỗ máy Belle

Họ gọi chiếc máy đó là "Belle" và nó chỉ có thể chơi cờ Nhưng nó có thể tìm kiếm tới

180 nghìn vị trí trong một giây (siêu máy tính vào thời đó chỉ có thể tìm được 5000 vị trí)Belle có thể tìm trước 8 hay 9 ply trong các cuộc thi đấu, giúp nó có thể được chơi trong hàngkiện tướng Nó thắng giải vô địch thế giới máy tính chơi cờ đầu tiên và tất cả những giải đấukhác từ 1980 đến 1983 cho đến khi nó bị chiếc máy khổng lồ Cray X-MPs, đắt hơn nó mộtnghìn lần, qua mặt

1.3.4 Hitech

Vào giữa những năm 80, giáo sư Hans Berliner , một nhà khoa học máy điện toán ở đạihọc Carnegie-Mellon tiếp tục công việc của Ken Thompson Berliner , đã từng là phóng viên

Trang 13

báo chỉ ở giải vô địch cờ vua thế giới, chế tạo một chiếc máy tính có phần cứng đặc biệt đểchơi cờ, gọi là HiTech Ông và sinh viên Carl Ebeling chế tạo một con chip để tính các nước

đi Với 64 chip chạy song song, HiTech suýt nữa đạt được danh hiệu vô địch máy tính đánh

cờ vua thế giới vào năm 1986 (một chiếc Cray thắng giải này)

1.3.5 Deep Blue

Sau đó các sinh viên của Berliner như Feng-hsiung Hsu, Murray Campbell và nhữngngười khác tự phát triển một chiếc máy tính khác, được gọi là ChipTest và sau đó DeepThought Giá của nó khoảng 5000 đô la và có thể tính toán được 500 000 vị trí trong mộtgiây Sau đó Hsu và Campbell gia nhậm IBM Cùng vời Joe Hoane họ chế tạo ra Deep Blue.Garry Kasparov thi đấu với Deep blue tại Philadelphia và New York Nó gồm có mộtmáy chủ IBM SP/2 với một số lớn các con chip đặc biệt để tính toán nhanh Mỗi con chip cóthể xử lý hai đến ba triệu vị trí một giây Với việc sử dụng hơn 200 con chip này, tốc độ tổngcộng của chương trình có thể tăng lên tới 200 triệu vị trí trong một giây

1.4 Nhiệm vụ của luận văn

Tên đề tài là: “ROBOT CHƠI CỜ TƯỚNG”

Nhiệm vụ của đề tài là thực hiện mô hình bàn cờ tướng tự động ứng dụng công nghệ xử

lý ảnh để nhận dạng quân cờ với các nội dung đã thực hiện trong quá trình làm luận văn nhưsau:

- Tìm hiểu động cơ bước và các phương pháp điều khiển

- Thiết kế và thi công mô hình phần cứng có thể di chuyển được các quân cờ vàđồng thời nhận biết nước đi của người chơi

- Xây dựng chương trình chơi cờ tướng trên máy tính ứng dụng trí tuệ nhân tạo

- Ứng dụng xử lý ảnh để có thể nhận dạng được nước đi của người chơi

Trang 14

1.5 Sơ đồ khối của hệ thống

quân cờ

Máy Tính: Trung tâm

điều khiển mô hình: xử

lý ảnh, thuật toán chơi

cờ, xử lý nước đi

ạch vi điều khiển PIC18F67j60: lưu chuyển thông

tin về cho PC và phân tích điềukhiển các mạch thành phần

Khối mạch công suất: điều khiển hoạt

động của 2 động cơbước, động cơ dc vànam châm điện

Trang 15

CHƯƠNG 2: GIỚI THIỆU SƠ LƯỢC ĐỘNG CƠ BƯỚC VÀ ĐỘNG CƠ

DC 2.1 Cấu tạo và nguyên lý hoạt động của động cơ

bước

Động cơ bước là một loại động cơ điện có nguyên lý và ứng dụng khác biệt với đa số

các động cơ điện thông thường Chúng thực chất

là một động cơ đồng bộ dùng để biến đổi các tín

hiệu điều khiển dưới dạng các xung điện rời rạc

kế tiếp nhau thành các chuyển động góc quay

hoặc các chuyển động của rôto có khả năng cố

định rôto vào các vị trí cần thiết

Về cấu tạo, động cơ bước có thể được coi

là tổng hợp của hai loại động cơ: Động cơ một

chiều không tiếp xúc và động cơ đồng bộ giảm

tốc công suất nhỏ

Động cơ bước không quay theo cơ chế

thông thường, chúng quay theo từng bước nên

có độ chính xác rất cao về mặt điều khiển học

Chúng làm việc nhờ các bộ chuyển mạch điện

tử đưa các tín hiệu điều khiển vào stato theo

Hình 2.1: Các loại động cơ bước

thứ tự và một tần số nhất định Tổng số góc quay của rôto tương ứng với số lần chuyển mạch,cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần sốchuyển đổi

Động cơ bước có 5 đặc tính cơ bản sau:

o Brushlesss ( không chổi than ): động cơ bước là loại động cơ không chổi than.

o Load Independent ( độc lập với tải ): động cơ bước quay với tốc độ ổn định trong

tầm moment của động cơ

o Open loop positioning ( điều khiển vị trí vòng hở): thông thường chúng ta có thể đếm

xung kích ở động cơ để xác định vị trí mà không cần phải có cảm biến hồi tiếp vị trí,nhưng đôi khi trong những ứng dụng đòi hỏi tính chính xác cao động cơ bước thườngđược sử dụng kết hợp với các cảm biến vị trí như : encoder, biến trở…

CHƯƠNG 2: GIỚI THIỆU SƠ LƯỢC ĐỘNG CƠ BƯỚC VÀ ĐỘNG CƠ DC

Trang 16

o Holding Torque (moment giữ ): động cơ bước có thể giữ được trục quay của nó, so

với động cơ DC không có hộp số thì moment giữ của động cơ bước lớn hơn rất nhiều

o Excellent Response ( Đáp ứng tốt): động cơ bước đáp ứng tốt khi khởi động, dừng lại

và đảo chiều quay một cách dễ dàng

2.2 Các loại động cơ bước

Có 3 loại động cơ bước cơ bản:

o Động cơ nam châm vĩnh cửu : có rotor làm bằng nam châm vĩnh cửu

o Động cơ biến từ trở thay đổi: Lõi rotor làm từ sắt từ và hoạt động dựa vào sự thay

đổi từ trường giữa lõi và các cực từ stato

o Động cơ lai: hết hợp giữa 2 nguyên lý hoạt động trên

Stator của động cơ bước có nhiều cuộn dây quấn trên nó Sự sắp xếp các cuộn dây nàytạo nên hệ số thứ cấp, hệ số này sẽ phân biệt thành các loại động cơ khác nhau Động cơ bướcnam châm vĩnh cửu và loại động cơ bước lai có thể được kết liên kết lại với nhau để phân biệtthành 3 chủng loại motor: đơn cực, lưỡng cực, và động cơ bước hai dây song song

2.2.1 Động cơ biến từ trở thay đổi

Thông thường loại động cơ bước này có 3 hoặc 5 cuộn dây với cấu tạo như hình sau:

Hình 2.2: Cấu tao động cơ biến từ trởĐộng cơ bước từ trở thay đổi trong hình 1 bao gồm 3 cuộn dây được nối chung ở mộtđầu Stator Động cơ bước có 6 cực và rotor có 4 răng Chúng ta có thể nhìn vào hình thìcuộn dây 1 đang được cấp điện, vì thể răng X ở vị trí cực 1 Sau đó khi cuộn 2 được cấp điệnlực từ sinh ra sẽ hút đầu Y về cực 2, và trong trường hợp này nếu cuộn 3 được cấp điện thìrăng Y sẽ di chuyển về phía cực 3 lúc đó động cơ Động cơ bước sẽ di chuyển ngược chiềukim đồng hồ Như vậy chúng ta thấy mỗi bước động cơ di chuyển là 30 độ, và để thực hiệnmột vòng thì Động Cơ Bước phải di chuyển 12 bước

Trang 17

Để quay động cơ này một cách liên tục,chúng ta chỉ cần cấp điện liên tục luân phiên cho

3 cuộn Theo logic đặt ra, trong bảng dưới đây 1 có nghĩa là có dòng điện đi qua các cuộn, vàchuỗi điều khiển sau sẽ quay động cơ theo chiều kim đồng hồ 24 bước hoặc 2 vòng:

Động cơ bước loại đơn cực hoạt động giống như tất cả động cơ động cơ bước namchâm vĩnh cữu và động cơ bước hỗn hợp , nghĩa là nó hoạt động trên nguyên tắc dòng từthông ngắn nhất giữa cực stator và răng rotor Động cơ bước hoạt động dựa trên lưc hút giữacực bắc và cực nam của rotor được nhiễm từ vĩnh cữu và cực của stator tạo ra do chiều dòngđiện chạy qua stator Cực bắc và nam trên rotor nam châm vĩnh cữu đã được từ hóa trước, vàcực từ của stator được quy định tùy theo chiều di chuyển của dòng điện qua các cực stator, vàtrên nguyên tắc từ thông sẽ hướng từ cực bắc đến cực nam

Hình 2.3: Cấu tạo động cơ bước đơn cực

Trang 18

Trên hình vẽ chúng ta thấy cuộn dây 1a được cấp điện chạy theo hướng từ trên xuốngdưới, nghĩa là khi đó, cực phía trên sẽ trở thành cực bắc và phía dưới là cực nam, cực bắc cửacuộn dây sẽ hút cực nam của rotor và làm cho rotor di chuyển, và sau đó chúng ta sẽ cấp điệncho cuộn 2a, thì cuộn bên trái sẽ trở thành cực bắc sẽ hút cực nam của rotor làm cho rotorxoay theo chiều kim đồng hồ, ngược lại nếu chúng ta cấp điện cho cuộn 2b thì động cơ sẽquay ngược chiều kim đồng hồ, và mỗi bước động cơ động cơ bước di chuyển 1 góc 30 độ.

2.2.3 Động cơ bước lưỡng cực

Động cơ bước lưỡng cực bao gồm 2 cuộn dây, vì thế trên thực tế đối với loại động

cơ bước P này sẽ có 4 dây ra Không giồng với động cơ loại đơn cực, tại mỗi thời điểmdòng điện sẽ đi qua toàn bộ cuộn dây, nhờ vậy moment sinh ra sẽ lớn hơn nhiều so với động

cơ bước đơn cực Dòng điện qua hai cuộn dây là hai chiều điều này đòi hỏi cực của động

cơ động cơ bước phải được thay đổi Dựa vào hình chúng ta thấy dòng điện chạy từ đầu 1bsang đầu 1a Và dòng điện sẽ chạy theo hướng ngược lại khi đảo chiều cấp điện Vì vậy đểđiều khiển được động cơ loại lưỡng cực chúng ta cần 2 mạch cầu H để thay đổi cực tính

ở mỗi cuộn dây

Hình 2.4: Cấu tạo động cơ bước lưỡng cực 2 pha

2.2.4 Động cơ bước 2 dây song song

Đối với loại động cơ bước này thì chúng ta hoàn toàn có thể đấu nối để nó trở thànhđộng cơ đơn cực hoặc lưỡng cực

Trang 19

Hình 2.5: Cấu tạo động cơ bước 2 dây song song

Chúng ta sẽ kết nối song song hai cuộn dây khi cần dòng điện hoạt động lớn, và kết nốihai dây nối tiếp khi cần điện áp hoạt động lớn

2.2.5 Đông cơ bước hỗn hợp

Động cơ bước lai là loại kết hộp giữa động cơ bước từ thông thay đổi và loại nam châmvĩnh cửu rotor cho động cơ động cơ bước lai có nhiều răng , giống như loại từ thông thay đổi,chứa lõi từ hóa tròn đồng tâm xoay quanh trục của nó Răng của rotor tạo đường dẫn giúpđịnh hướng cho từ thông ưu tiên vào trong lỗ không khí động cơ bước lai được lái giống nhưđộng cơ bước đơn cực và lưỡng cực

Hình 2.6: Cấu tạo động cơ bước hỗn hợp

2.3 Các mạch điều khiển cơ bản

2.3.1 Động cơ từ trở thay đổi

Đối với động cơ bước loại này thì mạch điều khiển bao gồm 3 Mosfet điều khiển đóng

mở 3 cuộn dây Khi Mosfet chuyển từ trạng thái đóng sang trạng thái mở, sẽ xuất hiện cácxung điện áp, có thể làm hỏng Mosfet, vì thế chúng ta cần lắp them diode bảo vệ khi chuyểnmạch

Trang 20

Hình 2.7: Mạch điều khiển động cơ từ trở thay đổi

2.3.2 Động cơ đơn cực

Động cơ bước loại này cách điều khiển cũng hoàn toàn tương tự cách điều khiển động

cơ bước loại từ trở thay đổi

Hình 2.8: Mạch điều khiển động cơ đơn cực

Trang 21

Và khi sử dụng cầu H để lái động cơ thì chúng ta phải chú ý đến hiện tượng trùng dẫn,nghĩa là hai mosfet trên cùng một nhánh đều đóng, làm cho dòng điện tăng nhanh, sẽ đánhhỏng mosfet Trong mạch cầu ở hình trên sử dụng kết hợp mosfet loại N là Q2, Q4 cho phâncực dương, và Q1, Q3 cho phân cực âm Hiện tại, đã có nhiều hãng thiết kế IC cầu H với côngsuất tương đối phù hợp cho các động cơ loại vừa nhỏ, hoặc chúng ta có thể sử dụng modulePWM của vi điều khiển phù hợp cho việc điều khiển tốc độ động cơ và tạo khoảng thời giandelay tránh trùng dẫn.

2.4 Các phương pháp điều khiển động cơ bước

2.4.1 Wave driver

Hình 2.10: Phương pháp wave drive

Phương pháp kích từng pha một(nghĩa là trong một lúc chỉ có mộtpha được kích:”onephase on”) Động cơ bước nam châm vĩnh cữu là sự kết hợp giữa một rotor nam châm vĩnhcữu và stato dẫn từ Năng lượng dựơc tạo ra từ một cuộn dây của stator sẽ gây ra một từtrường nam bắc

Ở lần kích thứ nhất cuộn A sẽ đựơc kích tạo một từ trường ngược lại làm rotor đựơcgiữ lai như trên.Ở lần kích thứ hai cuộn B sẽ được kích cuộn A ngưng Làm lực hút của từtrường sẽ chuyễn từ cuộn A sang cuộn B làm roto quay một góc 900 theo chiều kim đồng hồ

Trang 22

Ở bước thứ ba va tư cuộn A va B lần lượt được kích như trên làm động cơ xoay vòng tuần tự.

Bảng 2.1: Thứ tự điều khiển động cơ bước phương pháp wave drive

2.4.2 Full step

Hình 2.11: Phương pháp Full Step

Ở lần kích thứ nhất cả 2 pha là A&B đều đựơc kích ,chúng sẽ tạo ra một từ trương rấtmạnh đẩy hướng cực bắc của rotor vào giữa.Ở lần kích thứ pha B vẫn giữ nguyên nhưng pha

a đối diện sẽ được kích(pha -A) làm rotor quay một góc 900 Quá trình sẽ xãy ra tuần tự ở lầnkích thứ tư và thứ năm làm cho động cơ quay đều

Trang 23

Bảng 2.2: Thứ tự điều khiển phương pháp Full Step

Bảng 2.3: Thứ tự điều khiển phương pháp Half Step

2.4.4 Micro step

Đối với động cơ bước di chuyển một bước đơn hoàn toàn, nghĩa là kích điện áp trựctiếp, cách này chỉ được áp dụng khi động cơ làm việc ở vận tốc thấp, nhược điểm lớn nhất củaphương pháp này là moment động cơ sẽ bị suy giảm nghiêm trọng do tính cảm của cuộn dây

sẽ tạo ra thời hằng, lúc đó cần có thời gian để dòng điện qua cuộn dây dạt giá trị max

Trang 24

Hình 2.12: Đồ thị dòng của phương pháp Micro Step

Microstepping được sử dụng để tăng độ phân giải bước cho động cơ và tạo ra sự chuyểnđổi mịn giữa các bước Thông thường phương pháp Microstepping được áp dụng trong các hệthống giới hạn tiếng ồn và các vấn đề về cộng hưởng

Microstepping làm việc trên nguyên tắc sự gia tăng dòng điện từ cuộn dây này qua cuộndây khác của động cơ bước Điều này có thể đạt được nhờ vào việc điều xung điện áp cấp vàocuộn dây động cơ Tỉ số điều xung trên cuộn dây này giảm thì tỉ số điều xung trên cuộn dâykhi lại tăng lên tạo ra sự chuyển bước mịn, không tạo ra tiếng ồn

Trang 25

CHƯƠNG 3: HỌ VI ĐIỀU KHIỂN PIC VÀ VI ĐIỀU KHIỂN

PIC18F67J60 3.1 Giới thiệu chung về họ PIC

3.1.1 Lịch sử phát triển

Năm 1965 hãng Genneral Instrument thành lập ban vi điện tử nhằm tập trung nghiêncứu công nghệ chế tạo bộ nhớ kiểu EPROM và EEPROM, đó là các linh kiện thu hút nhiềuđầu tư của các phòng thí nghiệm bán dẫn Đầu những năm 70 Genneral Instrument cũng chếtạo vi xử lý 16 bit PC1600 Bộ xử lý này khá tốt nhưng có nhược điểm là khả năng vào rakhông mạnh để thích ứng bộ xử lý PC1600 trong các ứng dụng cần có tính nâng cao Năm

1975 Genneral Instrument thiết kế vi mạch điều khiển giao tiếp ngoại vi (Peripheral interfacecontroler) viết tắt là PIC, đó là linh kiện hỗ trợ các tính năng vào ra cho vi xử lý PIC khôngcần nhiều chức năng vì chỉ xử lý các công việc vào ra do đó bộ mã lệnh của nó khó nhỏ gọn.Những vi điều khiển PIC đầu tiên có điểm yếu là chế tạo theo công nghệ n-MOS nên tiêu thụnhiều năng lượng, bộ nhớ chương trình là loại ROM mặt nạ chỉ nạp được một lần, do đóchương trình điều khiển được nạp ngay khi chế tạo vi mạch nên chỉ thích hợp với các kháchhàng đặt mua với số lượng lớn, để lắp ráp trong sản xuất những sản phẩm cụ thể

Những năm đầu thập ki 80 Genneral Instrument gặp khó khăn trong thương mại và tổchức lại Hãng tập trung vào chế tạo linh kiện bán dẫn công suát lớn là thế mạnh cho tới hiệnnay của hãng Genneral Instrument đã chuyển nhượng Ban vi điện tử và nhà máy tại Chandle,bang Anizona cho các nhà đầu tư Họ lập ra một công ty mới, đặt tên là Arizona Microchiptechnology hiện nay là Microchip technology Inc

Chiến lược của các nhà đầu tư là tập trung vào vi điều khiển và các bộ nhớ bán dẫn Các

vi mạch PIC n-MOS được cải tiến, chế tạo dựa trên nền tảng công nghệ mới CMOS Các sảnphẩm đầu tiên của Microchip được biết tới và bán ra với số lượng lớn là các vi điều khiển PICthuộc họ PIC16C5x Họ này có hai biến thể với bộ nhớ chương trình là OTP và UV EPROM.Loại OTP có thể nạp trình một lần dùng cho sản xuất loại lớn Loại UV EPROM có thể xóađược bằng tia cực tím (tia UV) dùng khi phát triển, thử nghiệm phần mềm

Năm 1983 Microchip là hãng đầu tiên đã tích hợp được bộ nhớ chương trình flash

EEPROM vào những vi điều khiển mới, trong đó được biết đến nhiều nhất là PIC 16C84 và PIC16F84 Bộ nhớ chương trình flash đã loại bỏ vai trò của vi điều khiển có bộ nhớ xoá bằng tia cực tím, có vỏ bằng gốm đắt tiền và các đèn chiếu tia cực tím

CHƯƠNG 3: HỌ VI ĐIỀU KHIỂN PIC VÀ VI ĐIỀU KHIỂN PIC18F67J60

Trang 26

 Rất thích hợp trong các ứng dụng giao diện đơn giản với ngoại vi.

 Bộ nhớ chương trình kiểu OTP hoặc EPROM xoá được bằng tia cực tím

 Tốc độ cao, thực hiện được 5 triệu chỉ thị/s với tần số xung nhịp 20MHz

 Chỉ có một bộ đếm timer

 Không có các ngắt cứng

 Không có các lối ra tăng cường

 Nạp trình song song, trừ PIC12C5xx và PIC16C505 được nạp trình nối tiếptheo giao thực ICSP

Họ cấp chung (Mid-range)

Bao gồm 12C6xx, 14C000, 16C55x, 16C6x, 16C62x, 16F62x, 16C67x, 16C8x, 16F87x

và 16C9xx

Trang 27

 Độ dài từ lệnh 14 bit

 Là họ vi điều khiển PIC thông dụng nhất hiện nay

 Bố trí các thanh ghi: 128 byte trên một bank, tối đa 4 bank

 Là vi điều khiển vạn năng tinh năng mạnh

 Có rất nhiều biến thể khắc nhau, với các kiểu đóng vỏ đa dạng: DIP, PLCC, SSOP…Đặc điểm:

 Tốc độ cao, thực hiện được 5 triệu chỉ thị /s ở xung nhịp 20MHz

 Có các ngắt phần cứng

 Có từ 1 đến 3 bộ đếm – timer

 Có rất nhiều kiểu khác nhau về chân vào/ra tăng cường bao gồm các vào/ratương tự, giao diện truyền thông nối tiếp: đồng bộ, không đồng bộ, 12C, SPI,CAN, USB…, bộ điều khiển LCD

 Bộ nhớ chương trình flash ở hầu hết các vi mạch

 Khả năng nạp trình nối tiếp ICSP

 Có khả năng tự ghi vào bộ nhớ chương trình (self-programming)

 Có phần cứng gỡ rối chương trình ICD ở một số loại

 Kiến trúc khác so với họ PIC cấp chung, cấp thấp

 Có ác lệnh tăng cường và nhiều khả năng định địa chỉ

 Vi điều khiển giao tiếp bus, truy nhập cac thiết bị song song trực tiếp

 Có một số lối vào/ra tăng cường

 Bộ nhớ chương trình OTP

Trang 28

 Nạp trình kiểu song song.

Họ cấp cao (High- performance)

Do đó dần dần có khả năng thay thế toàn bộ PIC cấp trung

 Có các lệnh tăng cường và nhiều khả năng định địa chỉ

 Có khả năng truy nhập tới 2Mbyte bộ nhớ chương trình, 4Kbyte bộ nhớ RAM

 Véctơ ngắt đơn, có thể lập trình được mức độ ưu tiên các nguồn ngắt

 Khả năng vào/ra tương tự họ cấp trung

 Tần số hoạt động tối đa 40MHz, có bộ nhân tần số PLL

 Có bộ nhớ chương trình flash

 Nạp trình nối tiếp, có khả năng tự ghi vào bộ nhớ chương trình

Hiện nay mới nhất là DSPIC với nhiều tính năng vượt trội: Kiến trúc Harvard sửa đổi,

83 lệnh đơn, với chế độ địa chỉ mềm dẻo…

3.1.3 Một số ưu điểm Microchip PIC

Bộ nạp trình cho PIC có thể tự lắp ráp một các dễ dàng với chi phí thấp do PIC chủ yếunạp trình theo chuẩn ICSP (In-Circuit Siral Programming) là phương thức nạp trình nối tiếp:các dữ liệu được nạp vào bộ nhớ chương trình thông qua 2 chân vào/ra được gán là cổng truynhập đến bộ nhớ chương trình trong quá trình nạp trình Do đó nhờ có bộ nhớ flash và nạptrình theo chuẩn ICSP mà những người nghiên cứu và sử dụng PIC đã tiết kiệm được đáng kểchi phí mua các công cụ nạp Với bộ nhớ flash thì thời gian nạp trình cũng được cải thiệnđáng kể ( chỉ khoảng vài chục giây) so với UV EPROM (cỡ hơn chục phút)

Trang 29

Microchip cung cấp rất đầy đủ và chi tiết các tài liệu kỹ thuật về tất cả các loại vi điềukhiển PIC Ngoài ra còn cung cấp phần mềm công cụ miễn phí MPLAB-IDE được đánh giá làtốt nhất so với các công cụ phát triển tương tự của các hãng sản xuất vi điều khiển khác (cáctài liệu công cụ này được cung cấp miễn phí trên w w w.mic r o c hip.com) Ngoài ra còn có rấtnhiều sách viết về PIC và các trang web nói về vi điều khiển này Tài liệu hỗ trợ cho vi điềukhiển PIC chỉ dùng sau máy tính cá nhân PC và về doanh số bán ra thi trường hiện nay.Microchip đã đứng đầu về doanh số bán PIC 8 bit, vượt lên trên cả các vi điều khiển củamotorola.

3.2 Giới thiệu về vi điều khiển PIC18F67J60

3.2.1 Giới thiệu chung

PIC18F4550 là một vi xử lý cơ bản đa chức năng và rẻ Nó là

sản phẩm của họ vi xử lý PIC thông dụng của công ty Microchip

của Mỹ có trụ sở đặt tại Chandler, Arizona (Mỹ)

Vi điều khiển PIC18F67J60 là một vi điều khiển thuộc dòng

vi điều khiển PIC19F97J60, do đó nó có các đặc trưng chung

của họ vi điều khiển này

- Sử dụng thạch anh 25MHz cho ứng dụng Ethernet

• Timer0: vận hành như là 1 bộ định thời 8 bit hoặc 16 bit, 1 bộ đếm

• Timer1: vận hành như là 1 bộ định thời 8 bit, 1 bộ đếm

• Timer2: vận hành như là 1 bộ định thời 8 bit, 1 bộ đếm

• Timer3: vận hành như là 1 bộ định thời 16 bít, 1 bộ đếm

• Timer4: vận hành như là 1 bộ định thời 8 bít, 1 bộ đếm

- Có 2 module Capture/Compare/PWM

Trang 30

Sau đây là sơ đồ chân của PIC18F67J60.

Hình 3.2: Sơ đồ chân của PIC18F67J60Chân Loại Mô tả chức năng và các đặc tính

Trang 31

/MCLR I Chân Reset, mức tích cực thấp

OSC1

OSC2

I O

Lối vào bộ giao động tinh thểLối ra bộ giao động tinh thểCLKI

CLKO

I O

Lối vào của xung Clock ngoài, luôn kết hợp vớichân OSC1

Lối ra của bộ dao động tinh thể, nối với tinh thểhoặc bộ cộng hưởng trong chế độ dao độngthạch anh Giống như CKLO trong chế độ RChoặc EC Luôn kết hợp với chân chức năngOSC2

LEDA

LEDB

OO

Ethernet LEDA indicator outputEthernet LEDB indicator outputVREF-

VREF+

II

Lối vào Vref- (thấp) thế chuẩnLối vào Vref+ (cao) thế analog chuẩn

mềmKBI0,KBI1,KBI2,KBI3 I Interrupt-on-change pin

PGC

PGD

I I/O

Ngõ vào clock của ICSPVào ra dữ liệu của ICSPT1OSO

T1OSI

OI

Dao động đầu ra Timer1Dao động đầu vào Timer1

Trang 32

SDO1

I/OIO

Vào ra Clock đồng bộ của khối SPILối vào dữ liêu của khối SPILối ra dữ liêu của khối SPISCL1

SDA1

I/OI/O

Vào ra Clock nối tiếp của I2CVào ra dữ liệu nối tiếp đồng bộ của I2C

I I/O

Cổng truyền khối EUSART1Xung clock cho EUSART1Cổng nhận khối EUSART1

Dữ liệu EUSART1

Trang 33

C1OUT,C2OUT O Ngõ ra bộ so sánh

VDDCORE

VCAP

PP

Nguồn cung cấp cho lõi vi điều khiểnKết nối tụ điện lọc bên ngoài

TPOUT+

TPOUT-

TPIN-OOI

Tín hiệu đầu ra Ethernet Tín hiệu đầu ra Ethernet Tín hiệu đầu vào Ethernet

Trang 34

TPIN+ I Tín hiệu đầu vào Ethernet

Bảng 0.1: Chức năng các chân của PIC18F67J60

2) HSPLL Dùng thạch anh tần số cao với chế độ PLL

4) ECPLL Dùng xung clock bên ngoài với chế độ PLL

Ở chế độ HS, HSPLL thì dùng thạch anh nối vào 2 chân OSC1 và OSC2 để thiếp lậpdao động Việc mắc thêm các tụ lọc giúp tăng tính ổn định của bộ dao động, tuy nhiên giá trịcủa tụ không quá lớn hay quá nhỏ để dao động ổn định và thời gian khởi động ngắn

Bảng 3.2: Giá trị các tụ lọc thạch anh

Đối với một số ứng dụng mà độ chính xác của thời gian không quan trọng, có thể dùngdao động RC nhƣ một giải pháp tiết kiệm Tần số dao động đƣợc xác định bởi giá trị của điệntrở R và tụ C

3.2.4 MCLR

PIC18F67J60 có 8 chế độ reset khác nhau:

1) Power-on Reset (POR) Reset khi cấp nguồn

Trang 35

2) MCLR Reset during normal operation Reset khi chân MCLR=0

5) Programmable Brown-out Reset (BOR) Reset mức thấp

7) Stack Full Reset, Stack Underflow Reset Reset khi tràn

8) Configuration Mismatch (CM)

Hình 3.3: Sơ đồ kết nối chân MCLR

Ngõ vào Master Clear (MCLR) trên chân số 7 của vi điều khiển PIC Khi đưa MCLRxuống thấp, các thanh ghi bên trong vi điều khiển PIC sẽ được tải những giá trị thích hợp đểkhởi động lại hệ thống

Đa số những thanh ghi trong pic không ảnh hưởng bởi reset Các thanh ghi bị ảnhhưởng bởi reset có thể tra cứu trực tiếp trong datasheet

3.2.5 Nguồn cấp

PIC18F67J60 vận hành với nguồn đơn 3.3V

- Chân Vdd và chân Vref ( nguồn cho bộ ADC) : nối với VCC

- 2 Chân Vss ( trong đó có 1 chân Vss cho bộ ADC) : nối với GND Cả 4 chân này phải được nối nguồn thì PIC mới hoạt động được

Trang 36

PIC có tổng cộng 3 chế độ hoạt động Run, Idle mode với dòng ít hơn 5.8 µA và Sleepmode với dòng tiêu thụ chỉ 0.1 µA Hai chế độ idle và sleep được kích hoạt để đưa pic vàotrạng thái tiết kiệm năng lượng.

3.2.6 Tổ chức bộ nhớ

PIC18F67J60 bao gồm 2 khối bộ nhớ riêng biệt: Bộ nhớ chương trình và bộ nhớ dữ liệuRAM Đối với kiến trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình sử dụng các busriêng biệt Điều này cho phép truy nhập đồng thời hai không gian bộ nhớ

Hình 3.4: Tổ chức bộ nhớ của PIC

Trang 37

Bộ nhớ chương trình còn có các ngăn xếp (stack) với 32 mức Vector reset được đặt ởđịa chỉ 0000h và vector ngắt ngoại vi được đặt ở địa chỉ 0008h và 00018h Khi PICđược reset thì chương trình sẽ nhảy về vị trí vector reset và bắt đầu thực hiện tại đó.

Các vùng RAM đa mục đích (GPR – General Purpose RAM) có chiều rộng là 8 bit vàđược truy cập trực tiếp hoặc gián tiếp thông qua thanh ghi chức năng đặc biệt

Các thanh ghi chức năng đặc biệt được sử dụng bởi bộ xử lý trung tâm và các hàm chứcnăng ngoại vi để điều khiển hoạt động của các thiết bị Các thanh ghi chức năng đặc biệtđược chia làm 2 loại, loại thứ nhất dùng cho các chức năng ngoại vi (ngắt, so sánh, điều biếnxung PWM, ) loại thứ hai dùng cho các chức năng bên trong của vi điều khiển (các phép tính

số học, truy xuất dữ liệu, )

Bộ nhớ dữ liệu bao gồm 16 Bank: Bank 0, Bank 1 … Bank 15 Mỗi Bank có dunglượng 256 Bytes, bao gồm vùng RAM đa mục đích và vùng các thanh ghi chức năng đặc biệtSFRs (Special Function Registers)

Việc truy xuất được khái quát qua hình sau:

Hình 3.5: Quá trình truy suất bộ nhớ PIC

Trang 38

- Capture.

- So sánh (Compare)

- Điều chế độ rộng xung PWM (Pulse Width Modulation)

Khi hoạt động ở chế độ Capture thì khi có một “hiện tƣợng” xảy ra tại pin CCPx, giá

trị của thanh ghi TMR1(hoặc TMR3) sẽ đƣợc đƣa vào thanh ghi CCPRx Các “hiệntƣợng” đƣợc định nghĩa bởi các bit CCPxM<3:0> (CCPxCON<3:0>) và có thể là một trongcác hiện tƣợng sau:

- Mỗi khi có cạnh xuống

- Mỗi khi có cạnh lên

- Mỗi cạnh lên thứ 4

- Mỗi cạnh lên thứ 16

Trang 39

Hình 3.6: Cơ chế hoạt động chế độ Capture.

Sau khi giá trị của thanh ghi TMR1(hoặc TMR3) được đưa vào thanh ghi CCPRx, cờngắt CCPIF được set và phải được xóa bằng chương trình Nếu hiện tượng tiếp theo xảy ra màgiá trị trong thanh ghi CCPRx chưa được xử lí, giá trị tiếp theo nhận được sẽ tự độngđược ghi đè lên giá trị cũ

Khi hoạt động ở chế độ Compare, giá trị trong thanh ghi CCPRx sẽ thường xuyên

được so sánh với giá trị trong thanh ghi TMR1(hoặc TMR3) Khi hai thanh ghi chứa giá trịbằng nhau, các pin của CCP được thay đổi trạng thái (được đưa lên mức cao, đưa xuống mứcthấp hoặc giữ nguyên trạng thái), đồng thời cờ ngắt CCPIF cũng sẽ được set Sự thay đổitrạng thái của pin có thể được điều khiển bởi các bit CCPxM<3:0> (CCPxCON <3:0>)

Tương tự như ở chế độ Capture, Timer1 phải được ấn định chế độ hoạt động làtimer hoặc đếm đồng bộ Ngoài ra, khi ở chế độ Compare, CCP có khả năng tạo ra hiện tượngđặc biệt (Special Event trigger) làm reset giá trị thanh ghi TMR1 và khởi động bộ chuyển đổiADC Điều này cho phép ta điều khiển giá trị thanh ghi TMR1 một cách linh động hơn

Trang 40

Hình 3.7:Cơ chế hoạt động chế độ Compare.

Khi hoạt động ở chế độ PWM (Pulse Width Modulation: khối điều chế độ rộng xung),

tín hiệu sau khi điều chế sẽ được đưa ra các pin của khối CCP (cần ấn định các pin này làoutput) Để sử dụng chức năng điều chế này trước tiên ta cần tiến hành các bước cài đặt sau:

1) Thiết lập thời gian của 1 chu kì của xung điều chế cho PWM (period) bằng cáchđưa giá trị thích hợp vào thanh ghi PR2 (PR4)

2) Thiết lập độ rộng xung cần điều chế (duty cycle) bằng cách đưa giá trị vào thanhghi CCPRxL và các bit CCPxCON<5:4>

3) Điều khiển các pin của CCP là output bằng cách clear các bit tương ứng trongthanh ghi TRISG

4) Thiết lập giá trị bộ chia tần số prescaler của Timer2 (Timer4) và cho phép nó hoạtđộng bằng cách đưa giá trị thích hợp vào thanh ghi TxCON

5) Cho phép CCP hoạt động ở chế độ PWM

Trong đó giá trị 1 chu kì (period) của xung điều chế được tính bằng công thức: Bộ chiatần số prescaler của Timer2 (Timer4) chỉ có thể nhận các giá trị 1, 4 hoặc 16 Khi giá trị thanhghi PR2 (PR4) bằng với giá trị thanh ghi TMR2 (TMR4) thì quá trình sau xảy ra:

Ngày đăng: 28/07/2015, 14:37

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w