- Kích th−ớc bớc (độ phõn dải) là sự thay đổi nhỏ nhất mà ADC cú thể phõn biệt đợc.
Phối ghép với thế giới kiĨu II động cơ bớc, bàn phớm và cỏc bộ DAC
DAC
13.1 Phối ghộp với một động cơ bớc.
Phần này bắt đầu với việc giới thiệu tổng quan về hoạt động của cỏc động cơ bớc. Sau đú chỳng ta mụ tả cỏch phối ghộp một động cơ bớc với bộ vi điều khiển 8051. Cuối cùng ta sử dụng cỏc chơng trỡnh hợp ngữ để trỡnh diễn điều khiĨn góc và h−ớng quay của động cơ bớc.
13.1.1 Cỏc động cơ bớc.
Động cơ bớc là một thiết bị sử dụng rộng rBi để chuyển cỏc xung điện thành chuyển động cơ học. Trong cỏc ứng dụng chẳng hạnnh cỏc bộ điều khiển đĩa, cỏc mỏy in kim ma trận và cỏc mỏy rụ-bốt thỡ động cơ bớc đợc dựng để điều khiển chuyển động. Mỗi động cơ bớc đều cú phần quay rụto là nam chõm vĩnh cửu (cũng cũn đợc gọi là trục dẫn - shaft) đợc bao bọc xung quanh là một đứng yờn gọi stato (xem hình 131.1). Hầu hết cỏc động cơ bớc đều cú chung cú 4 stato mà cỏc cuộn dõy của chỳng đợc bố trớ theo cặp đối xứng với điểm giữa chung (xem hỡnh 13.2), Kiểu động cơ bớc này nhỡn chung cũn đợc coi nh động cơ bớc 4 ph Điểm giữa cho phép một sự thay đỉi cđa h−ớng dòng cđa một trong hai lõi khi một cuộn dõy đợc nối đất tạo ra sự thay đỉi cực cđa statọ L−u ý rằng, trơc cđa một động cơ truyền thống thỡ quay tự do, cũn trục của động cơ bớc thỡ chuyển động theo một độ tăng cố định lặp lại để cho phộp ta chuyển dịch nú đến một vị trớ chớnh xỏc. Chuyển động cố định lặp lại này cú đợc là nhờ kết quả của lý thuyến từ trờng cơ sở là cỏc cực cựng dấu thỡ đẩy nhau và cỏc cực khỏc dấu thỡ hỳt nha Hớng quay đợc xỏc định bởi từ trờng của stat Từ trờng của stato đợc xỏc định bởi dũng chạyt quan lừi cuộn dõ khi hớng của dũng thay đổi thỡ cực từ trờng cũng thay đổi gõy ra chuyển động ngợc lại của động cơ (đảo chiều). Động cơ bớc đợc nối ở đõy cú 6 đầu dõy: 4 đầu của cuộn dõy stato và hai đầu dõy chung điểm giữa của cỏc cặp dõ Khi chuỗi xung nguồn đợc cấp đến mỗi cuộn dõy stato thỡ động cơ sẽ qua Cú một số chuỗi xung đợc sư dơng rộng rBi với cấp độ chớnh xỏc khỏc nhaụ Bảng 13.1 trỡnh bày chuỗi 4 bớc thụng thờng.
Hỡnh 13.1: Căn chỉnh rôtọ
Bảng 13.1: Chuỗi nguồn nuụi 4 bớc thụng thờng.
S B B S C A N N D N O S S B S C A N N D N O S Average North Average South
B−ớc Cuộn dây A Cuộn dây B Cuộn dây C Cuộn dây D 1 1 0 0 1 2 1 1 0 0 3 0 1 1 0 4 0 0 1 1 Bảng13.2: Cỏc gúc bớc của động cơ bớc. Góc b−ớc Số b−ớc/ vịng 0.72 500 1.8 200 2.0 180 2.5 144 5.0 72 7.5 48 15 24 Bảng13.2: Cỏc gúc bớc của động cơ bớc. Hình 13.2: Bố trớ cỏc cuộn dõy của stat
Hình 13.3: Phối ghép 8051 với một động cơ b−ớc.
Cần phải nhớ rằng mặc dự ta cú thể bắt đầu với cỏc chuỗi bất kỳ trong bảng 13.1. Nhng khi đB bắt đầu thỡ ta phải tiếp tục với cỏc chuỗi theo đúng thứ tự. Ví dơ ta bắt đầu bớc thứ ba là chuỗi (0110) thỡ ta phải tiếp tục với chuỗi của bớc 4 rồi sau đó 1, 2, 3 v.v... Ví dụ 13.1: Chiều kim đồng hồ Chiều quay bộ đếm Hình 13.2:
trỡnh quay nú liờn tục. Lời giải:
Cỏc bớc dới dõy trỡnh bày việc kết nối 8051 với động cơ bớc và lập trỡnh của nó.
1. Sử dụng một ụm kế để đo trở khỏng của cỏc đầu dõ Điều này xỏc định đầu chung (COM) nào đợc nối tới cuộn dõy nà
2. Các dõy chung đợc nối tới đầu dơng của nguồn cấp cho động cơ. Trong nhiều động cơ thỡ + 5V là đủ.
3. Bốn đầu củ cuộn dõy stato đợc điểu khiển bởi 4 bớt của cổng P1 trong 8051 (P1.0 - P1.3). Tuy nhiờn, vỡ 8051 khụng đủ dũng để điều khiển cỏc cuộn dõy động cơ bớc nờn ta phải sư dơng một bộ điều khiển chẳng hạn nh ULN2003 để cấp năng lợng cho statọ Thay cho ULN2003 ta có thĨ sư dơng cỏc búng bỏn dẫn làm cỏc bộ điều khiển nh chỉ ra trờn hỡnh 13.4. Tuy nhiờn ta để ý rằng, nếu cỏc búng bỏn dẫn đợc sử dụng nh cỏc bộ điỊu khiĨn chúng ta cũng phải sử dụng cỏc đi ụt để ngăn dũng cảm ứng đợc tạo ra khi tắt cuộn dõ Một lý do mà ULN2003 đợc u chuộng hơn cỏc búng bỏn dẫn nh cỏc bộ điều khiển là nú cú đi ốt bờn trong để ngăn cảm ứng điện từ ng−ỵc.
MOV A, # 66H ; Nạp chuỗi xung bớc
BACK: MOV P1, A ; Xuất chuỗi xung đến động cơ
RR A ; Quay theo chiỊu kim đồng hồ
ACALL DELAY ; Chờ
SJMP BACK ; Tiếp tục chạy
-------- DELAY DELAY MOV R2, # 100 H1: MOV R3, # 255 H2: DJNZ R3, H2 DJNZ R2, H1 RET
HBy thay đổi giỏ trị của DELAY để đặt tốc độ quaỵ Ta có thĨ sư dơng lƯnh đơn bớt SETB và CLR thay cho lệnh RRA để tạo ra chuỗi xung.
13.1.2 Góc b−ớc (Step Angle).
Vậy mỗi bớc cú độ dịch chuyển là bao nhiờ Điều này phơ thc vào cấu trỳc bờn trong của động cơ, đặc biệt là số răng của stato và rụ t Gúc bớc là độ quay nhỏ nhất của một bớc. Cỏc động cơ khỏc nhau cú cỏc gúc bớc khỏc nha Bảng 13.2 trỡnh bày một số gúc bớc đối với cỏc động cơ khỏc nha Bảng 13.2 cú sử dơng tht ngữ số b−ớc trong một vũng (Steps per revolution). Đõy là tổng số bớc cần để quay hết một vũng 3600 (chẳng hạn 180 bớc ì 20 = 3600).
Cần phải núi rằng dờng nh trỏi ngợc với ấn tợng ban đầ Một động cơ bớc khụng cần nhiều đầu dõy cho stato hơn đĨ có các b−ớc nhỏ hơn. Tất cả mọi động cơ bớc đợc núi ở đõy chỉ cú 4 đầu dõy cho cuộn dõy stato và 2 đầu dõy chung cho nỳt giữ Mặc dự nhiều hBng sản xuất chỉ dành một đầu chung thay cho hai thì họ cũng vẫn phải cú 4 đầu cuộn dõy stat
trong vũng quay và số bớc trong vũng giõy là quan hệ thuộc về trực giỏc và nú đợc biểu diễn nh− sau:
60 quay quay vong trong buoc So RPM giay trong buoc So = ì
13.1.4 Chuỗi xung bốn bớc và số răng trờn rụ t
Chuỗi xung chuyển mạch đợc trỡnh bày trong bảng 13.1 đợc gọi là chuỗi chuyển mạch 4 bớc bởi vỡ sau 4 b−ớc thì hai cuộn dây giống nhau sẽ đ−ỵc bật “ON”. Vậy độ dịch chuyển của 4 bớc này sẽ là bao nhiờ Sau mỗi khi thực hiện 4 bớc này thỡ rụ to chỉ dịch đợc một bớc răng. Do vậy, trong động cơ bớc với 200 bớc/ vũng thỡ rụ to của nú cú 50 răng vỡ 50 ì 4 = 200 bớc cần để quay hết một vũng. Điều này dẫn đến một kết luận là gúc bớc tối thiểu luụn là hàm của số răng trờn rụ tọ Hay nói cách khác gúc bớc càng nhỏ thỡ rụ to quay đợc càng nhiều răng. HBy xột ví dụ 13.2.
Ví dụ 13.2:
HBy tớnh số lần của chuỗi 4 bớc trong bảng 13.1 phải cấp cho một động cơ bớc để tạo ra một dịch chuyển 800 nếu động cơ gúc bớc là 20.
Lời giải:
Một động cơ có góc b−ớc là 20 thỡ phải cú những đặc tính sau: góc b−ớc 20, số bớc/ vũng là 1800, số răng của rụ to là 45, độ dịch chuyển sau mỗi chuỗi 4 bớc là 80. Vậy để dịch chuyển 800 thỡ cần 40 chuỗi 4 bớc vỡ 10 ì 4 ì 2 = 80.
Nhỡn vào vớ dụ 13.2 thỡ cú ngời sẽ hỏi vậy muốn dịch chun đi 450 thỡ làm thế nào khi góc b−ớc là 20. Muốn có độ phõn giải nhỏ hơn thỡ tất cả mọi động cơ b−ớc đỊu cho phộp chuỗi chuyển mạch 8 bớc, chuỗi 8 bớc cũng cũn đợc gọi chuỗi nửa bớc (half - stepping), vỡ trong chuỗi 8 bớc dới đõy thỡ mỗi bớc là một nưa cđa góc b−ớc bỡnh thờng. Vớ dụ, một động cơ cú gúc bớc là 20 có thĨ sư dơng góc b−ớc 10 nếu ỏp dụng chuỗi ở bảng 13.3.
Bảng 13.3: Chuỗi xung 8 b−ớc.
13.1.5 Tốc độ động cơ.
Tốc độ động cơ đợc đo bằng số bớc trong một giõy (bớc/giõy) là một hàm của tốc độ chuyển mạch. Để ý trong ví dơ 13.1 ta thấy rằng bằng viƯc thay đỉi độ thời gian trƠ ta cú thể đạt đợc cỏc tốc độ quay khỏc nha
13.1.6 Mụ mem giữ.
B−ớc Cuộn A Cuộn B Cuộn C Cuộn D
1 1 0 0 1 2 1 0 0 0 3 1 1 0 0 4 0 1 0 0 5 0 1 1 0 6 0 0 1 0 7 0 0 1 1 8 0 0 0 1 Chiều kim đồng hồ Chiều quay bộ đếm
Mụ men giữ là lợng mụ men ngoài cần thiết để làm quay trục động cơ từ vị trớ giữ của nú với điều kiện trục động cơ đang đứng yờn hoặc đang quay với tốc độ RPM = 0. Đại lợng này đợc đo bằng tỷ lệ điện ỏp và dũng cấp đến động cơ. Đơn vị của mụ men giữ là kilụgam - centimet (hay ounce - inch).
13.1.7 Chuỗi 4 bớc điều khiển dạng súng.
Ngoài cỏc chuỗi 4 bớc và 8 bớc đB nú trờn đõy cũn cú một chuỗi khỏc đợc gọi là chuỗi 4 bớc dạng súng. Nú đợc trỡnh bày trong bảng 13.4. ĐĨ ý 8 b−ớc trong bảng 13.3 là một sự kết hợp đơn giản của cỏc chuỗi 4 bớc thờng và chuỗi 4 bớc điều khiển dạng súng đợc cho ở bảng 13.1 và 13.4.
B−ớc Cuộn dây A Cuộn dây B Cuộn dây C Cuộn dây D 1 1 0 0 0 2 0 1 0 0 3 0 0 1 0 4 0 0 0 1
Hình 13.4: Sư dơng các bóng bỏn dẫn để điều khiển động cơ bớc. 13.2 Phối ghép 8051 với bàn phím.
Cỏc bàn phớm và LCD là những thiết bị vào/ ra đợc sử dụng rộng rBi nhất của 8051 và cần phải thấu hiểu một cỏch cơ bản về chỳng. ở phần này trớc hết ta giới thiƯu các kiến thức cơ bản về bàn phớm với cơ cấu ấn phớm và tỏch phớm, sau đú giới thiƯu vỊ giao tiếp 8051 với bàn phỡm.
13.2.1 Phối ghộp bàn phím với 8051.
ở mức thấp nhất cỏc bàn phớm đợc tổ chức dới dạng một ma trận cỏc hàng và cỏc cột. CPU truy cập cả hàng lẫn cột thụng qua cỏc cổng. Do vậy, với hai cỉng 8 bít thì có thĨ nối tới một bàn phím 8 ì 8 tới bộ vi xử lý. Khi một phớm đợc ấn thỡ một hàng và một cột đợc tiếp xỳc, ngoài ra khụng cú sự tiếp xỳc nào giữa cỏc hàng và cỏc cột. Trong cỏc bàn phớm mỏy tớnh IBM PC có một bộ vi điỊu khiĨn (bao gồm một bộ vi xư lý, bộ nhớ RAM và EPROM và một số cổng tất cả đợc bố trí trên một chíp) chịu trỏch nhiệm phối ghộp phần cứng và phần mềm cđa bàn phím. Trong những hƯ thống nh− vậy, nú là chức năng của cỏc chơng trỡnh đợc l−u trong EPROM của bộ vi điều khiển để quột liờn tục cỏc phớm, xỏc định xem phớm nào đB đợc kớch hoạt và gửi nú đến bo mạch chớnh. Trong phần này nghiờn cứu về cơ cấu 8051 quột và xỏc định phớm.
13.2.2 Quột và xỏc định phím.
Hỡnh 13.5 trỡnh bày một ma trận 4 ì 4 đợc nối tới hai cổng. Cỏc hàng đ−ỵc nối tới một đầu ra và cỏc cột đợc nối tới một cổng và Nếu khụng cú phớm nào đợc ấn thỡ việc đúng cổng vào sẽ hoàn toàn là 1 cho tất cả cỏc cột vỡ tất cả đợc nối tới d−ơng ngn VCC. Nếu tất cả cỏc hàng đợc nối đất và một phớm đợc ấn thỡ một trong cỏc cột sẽ cú giỏ trị 0 vỡ phớm đợc ấn tạo đờng xuống đất. Chức năng của bộ vi điều khiển là quột liờn tục để phỏt hiện và xỏc định phớm đợc ấn.
Hình 13.5 Hình 13.5: Nối ghép bàn phím ma trận tới các cỉng. ChiỊu kim đồng hồ Chiều quay bộ đếm
Để phỏt hiện một phớm đợc ấn thỡ bộ vi điều khiển nối đất tất cả cỏc hàng bằng cỏch cấp 0 tơớo chốt đầu ra, sau đú nú đọc cỏc hàng. Nếu dữ đợc đọc từ cỏc cột là D3 - D0 = 1101 thỡ khụng cú phớm nào đợc ấn và quỏ trỡnh tiếp tục cho đến khi phát hiƯn một phớm đợc ấn. Tuy nhiờn, nếu một trong cỏc bớt cột cú số 0 thỡ điều đú cú nghĩa là việc ấn phớm đB xảy r Vớ dụ, nếu D3 - D0 = 1101 có nghĩa là một phớm ở cột 1 đợc ấn. Sau khi một ấn phớm đợc phỏt hiện, bộ vi điều khiển sẽ chạy quỏ trỡnh xỏc định phớm. Bắt đầu với hàng trờn cựng, bộ vi điều khiĨn nối đất nó bằng cỏch chỉ cấp mức thấp tới chõn D0, sau đú nú đọc cỏc cột. Nếu dữ liệu đọc đợc là toàn số 1 thỡ khụng cú phím nào cđa hàng này đợc ấn và quỏ trỡnh này chun sang hàng kế tiếp. Nú nối đất hàng kế tiếp, đọc cỏc cột và kiĨm tra xem có số 0 nào khụng? Qỳa trỡnh này tiếp tục cho đến khi xỏc định đợc hàng nào cú phớm ấn. Sau khi xỏc định đợc hàng cú phớm đợc ấn thỡ cụng việc tiếp theo là tỡm ra phớm ấn thuộc cột nà Điều này thật là dễ dàng vỡ bộ vi điều khiển biết tại thời điểm bất kỳ hàng nào và cột nào đ−ỵc truy cập. HBy xét ví dơ 13.3.
Ví dụ 13.3:
Từ hình 13.5 hBy xỏc định hàng và cột của phớm đợc ấn cho cỏc trờng hợp sau đây:
a) D3 - D0 = 1110 cho hàng và D3 - D0 = 1011 cho cột. b) D3 - D0 = 1101 cho hàng và D3 - D0 = 0111 cho cột. Lời giải:
Từ hnhf 13.5 cột và hàng cú thể đợc sử dụng xỏc định phớm. a) Hàng thuộc D0 và cột thuộc D2, do vậy phớm số 2 đB đợc ấn. b) Hàng thuộc D1 và cột thuộc D3, do vậy phớm số 7 đB đợc ấn.
Chơng trỡnh 13.1 là chơng trỡnh hợp ngữ của 8051 để phỏt hiện và xỏc định sự kích hoạt phím. Trong chơng trỡnh này P1 và P2 đợc giả thiết là cỉng ra và cổng vào tơng ứng. Chơng trỡnh 13.1 đi qua 4 giai đoạn chớnh sau đõ
1. Khẳng định phớm trớc đú đB đợc nhả, cỏc số khụng là đầu ra tới tất cả cỏc hàng cựng một lỳc và cỏc cột đợc đọc và đợc kiểm tra chừng nào tất cả mọi cột đều ca Khi tất cả cỏc cột đợc phỏt hiện là đều cao thỡ chơng trỡnh chờ một thời gian ngắn tr−ớc khi nó chuyển sang giai đoạn kế tiếp để chờ một phớm đ−ỵc ấn. 2. ĐĨ biết cú một phớm nào đợc ấn cỏc cột đợc quột đi quột lại trong vũng vụ tận
cho đến khi có một cột có số 0. HBy nhớ rằng cỏc chốt đầu ra đợc nối tới cỏc hàng vẫn cú cỏc số 0 ban đầu (đợc cấp ở giai đoạn 1) làm cho chỳng đợc nối đất. Sau khi phỏt hiện ấn phớm, nú đợi 20ms chờ cho phớm nhả ra và sau đú quột lại cỏc cột. Điều này phục vụ hai chức năng: a) nú đảm bảo rằng viƯc phát hiƯn ấn phím đầu tiờn khụng bị sai do nhiễu và b) thời gian giữ chậm là 20ms ngăn ngừa việc ấn cùng một phớm nh là nhiều lần ấn. Nếu sau 20ms giữ chậm mà phím vẫn đợc ấn nú chuyển sang giai đoạn kế tiếp đĨ phát hiƯn phím ấn thc hàng nào, nếu khụng nú quay trờ vũng lặp đĨ phát hiƯn có một phím ấn thật. 3. Để phỏt hiện ấn phớm thuộc hàng, nú nối đất mỗi hàng tại một thời điểm, đọc cỏc
cột mỗi lần. Nếu nú phỏt hiện tất cả mọi cột đều cao, điều này cú nghĩa là ấn phím khụng thuộc hàng đú, do vậy nú nối đất hàng kế tiếp và tiếp tục cho đến khi phỏt hiện ra hàng cú phớm ấn. Khi tỡm hàng cú phớm ấn, nú thiết lập địa chỉ bắt đầu cho bảng trỡnh bày giữ cỏc mB quột (hoặc giỏ trị ASCII) cho hàng đú và chuyển sang giai đoạn kế tiếp để xỏc định phớm.
xem nú cú giỏ trị thấp khụng? Khi tỡm ra số 0, nú kộo mB ASCII dành cho phớm đú ra từ bảng trỡnh bà Nếu khụng tỡm đợc số 0 thỡ nú tăng con trỏ để chỉ đến phần tử kế tiếp của bảng trỡnh bà Hỡnh 13.6 trỡnh bày lu đồ quỏ trỡnh tỡm phớm ấn nàỵ