Sơ đồ khối mạch thiết kế

Một phần của tài liệu Thiet ke va xay dung mach dieu khien (Trang 36)

Hình 3.1: Sơ đồ khối mạch thiết kế 3.1.4 Chức năng và sơ đồ nguyên lý từng khối

3.1.4.1 Khối khuếch đại tín hiệu từ sensor

Chức năng

Khối này có chức năng khuếch đại tín hiệu vi sai từ sensor của vi kẹp sau đó đưa vào khối xử lý trung tâm để thực hiện biến đổi ADC, mức điện áp khuếch đại yêu cầu của khối trước khi đưa vào biến đổi ADC là 0 V (min)….2.5 V (max). Sensor của vi kẹp được chế tạo ở dạng cầu trở:

Hình 3.2:Dạng cầu trở của sensor

Sơ đồ nguyên lý LM358 LM 358 +12V -12V RB1 RV4 RV6 RV5 RB2 a1 1 a2 2 3 a3 4 a4 b1 b2 b3 b4 5 6 7 8 A D620 RV3 RB1 RB1 -12V +12V RB2 3.3V A DC S E NS OR IN

Hình 3.3: Mạch nguyên lý khối khuếch đại tín hiệu từ sensor

Nguyên lý hoạt động

Tín hiệu đầu vào của khối là tín hiệu điện áp vi sai từ sensor của vi kẹp và từ yêu cầu đầu vào của khối xử lý trung tâm nên khối này được thiết kế thành ba phần chính:

Phần 1: Khuếch đại tín hiệu visai.

Phần này sử dụng IC khuếch đại công cụ chuyên dụng AD620 (phụ lục) với hệ số khuếch đại được điều chỉnh bằng một biến trở 1 kΩ nối giữa chân 1 và 8 của IC. Hệ số khuếch đại tín hiệu được cho bởi công thức

Trong đó RG là điện trở điều chỉnh hệ số khuếch. Bởi vậy RG được cho bởi

RG = 49.4 k/(G -1) (3.2)

Với RG=1 kΩ thì hệ số khuếch đại visai từ 50 lần…1000 lần. Để tránh hiện tượng tự kích gây ảnh hưởng lớn đến tín hiệu nên điều chỉnh hệ số khuếch đại trong khoảng từ 50 lần đến 150 lần.

Hai đầu vào của tín hiệu sensor được nối với hai điện trở 100 kΩ tương ứng nhằm quy chiếu tín hiệu một chiều xuống đất khi không có tín hiệu từ sensor, do vậy mà tránh được hiện tượng khuếch đại tín hiệu một chiều khi không có tín hiệu thực từ sensor.

Để đảm bảo được sự khuếch đại tín hiệu của AD620 tin cậy và tránh hiện tượng tự kích, trong phần khuếch đại tín hiệu vi sai có dùng một tầng khuếch đại đảo kế tiếp sử dụng một bộ khuếch đại thuật toán trong IC LM358 (IC này tích hợp hai bộ khuếch đại thuật toán) với hệ số khuếch cho bởi

K’ = RV4/RB1 (3.3)

Như vậy hệ số khuếch đại của khối vi sai được cho bởi

K=G*K’ (3.4)

Phần 2: Khuếch đại và điều chỉnh thế offset tín hiệu visai

Do yêu cầu điện áp tín hiệu đầu vào biến đổi ADC của khối xử lý trung tâm từ 0

V...2,5 V nên thiết kế tầng khuếch đại đảo và dịch thế offset sau tầng khuếch đại vi sai, điện áp ra của tầng này được cho bởi

Vout=(RV5/RB2)*Vvisai out+(RV5/RB3)*Voffset (3.5)

Để tránh hiện tượng tăng hệ số khuếch đại làm cho tín hiệu Vout của khối vượt quá mức cho phép, tín hiệu Vout được nối với một diode zenner 3.3 V để ổn định tín hiệu vào tránh làm hỏng bộ biến đổi ADC của khối xử lý tín hiệu trung tâm.

Trong khi thiết kế các khối khuếch đại tín hiệu vi sai có sử dụng tụ gốm 100 pF để lọc nhiễu.

3.1.4.2 Khối xử lý trung tâm.

Khối xử lý tín hiệu trung tâm thực chất là IC MSP430F167 (chương 2)

Chức năng

Khối này có nhiệm vụ nhận tín hiệu từ khối khuếch đại tín hiệu sensor và tín hiệu từ PC, sau đó xử lý tín hiệu tuỳ theo yêu cầu của việc điều khiển vi kẹp và xuất ra khối điều khiển vi kẹp để thực hiện tác vụ điều khiển.

Nguyên lý hoạt động

Nguồn nuôi cho vi điều khiển này là 3.5 V được cung cấp bởi IC ổn áp LM317. Có hai bộ dao động: bộ dao động 32.768 Hz và bộ dao động 8 MHz cung cấp xung đồng hồ chính cho hệ thống. Vi điều khiển này tích hợp bộ biển đổi ADC 12 bit và bộ biến đổi DAC 12 bit và bộ truyền dữ liệu nối tiếp USART.

Trường hợp 1:

Tín hiệu từ khối khuếch đại tín hiệu từ sensor được đưa vào chân ADC0 của vi điều khiển (Port 6.0) kết quả của quá trình chuyển đổi tương tự-số được lưu trong thanh ghi ADC12_0DAT. Dữ liệu được xử lý tuỳ theo yêu cầu của bài toán điều khiển, kết quả của quá trình xử lý này được đưa tới bộ biến đổi DAC12 để thực hiện quá trình biến đổi số tương tự-số, tín hiệu xuất ra trên chân DAC0 (Port 6.6) được đưa tới khối điều khiển vi kẹp để thực hiện tác vụ điều khiển vi kẹp.

Trường hợp 2:

Dữ liệu số được truyền từ máy tính thông qua khối ghép nối máy tính của mạch điện (với tốc độ baud có thể lập trình được từ 9600 đên 115200). Dữ liệu này được lưu giữ trong thanh ghi của bộ truyền nối tiếp không đồng bộ tích hợp trong vi điều khiển và sau đó được đưa tới tới bộ chuyển đổi số-tương tự DAC12 và thực hiện tác vụ như trong trường hợp 1.

Việc cấu hình cho vi điều khiển thực hiện tác vụ biến đổi tương tự-số ADC, bộ biến đổi số-tương tự DAC, truyền nối tiếp không đồng bộ (UART) được trình bày trong phần 2 (lập trình phần mềm nhúng cho khối xử lý trung tâm).

3.1.4.3 Khối ghép nối máy tính.Chức năng Chức năng

Khối này có chức năng đảm bảo sự tương thích và độ an toàn dữ liệu trong quá trình truyền thông giữa vi điều khiển và máy tính.

3.1.4.4 Khối điều khiển vi kẹp.Chức năng Chức năng

Nhận tín hiệu điều khiển xuất ra từ khối xử lý trung tâm, khối này sẽ đảm nhiệm vai trò là một tầng khuếch đại công xuất với điện áp ra nằm trong khoảng -12 V…+12 V và dòng điện cung cấp lên tới 150 mA để điều khiển tay kẹp.

LM 324 LM324 LM324 DAC +12V -12V A1015 C1815 10Ω 10Ω 2.2K 2.2K -12V +12V OUT RDAC RA1 RV01 RV2 RV1 RA2

Nguyên lý hoạt động

Thiết kế khối này có sử dụng IC LM324, IC có tích hợp 4 bộ khuếch đại thuật toán với mục đích nhằm thu nhỏ diện tích của mạch, tối ưu hoá thiết kế.

Trước khi khuếch đại để đưa ra điều khiển, tín hiệu được được đưa vào bộ lặp lại điện thế. Phần này sử dụng bộ khuếch đại không đảo với hệ số khuếch đại bằng 1. Mục đích của việc thiết kế này nhằm hạn chế sự ảnh hưởng về mặt tín hiệu của khối điều khiển vi kẹp đến khối xử lý trung tâm.

Hai tầng tiếp theo là tầng khuếch đại tín hiệu và tầng dịch thế offset của tín hiệu. Về mặt nguyên lý hoạt động và hệ số khuếch đại tín hiệu được tính tương tự trong như hai tầng trong khối khuếch đại tín hiệu vi sai.

Tầng khuếch đại công xuất có nhiệm vụ khuếch đại dòng để điều khiển vi kẹp. Do yêu cầu về mặt công xuất của vi kẹp không cao nên trong mạch dùng một bộ khuếch đại đẩy kéo sử dụng hai transistor C1815 (loại pnp) và A1015 (loại npn). Với mạch này có thể cung cấp dòng đến 150 mA cho việc điều khiển vi kẹp.

3.1.5 Thiết kế mạch bằng Protel 99SE3.1.5.1 Mạch nguyên lý 3.1.5.1 Mạch nguyên lý

Trang in đính kèm

3.1.5.2 Mạch in

Trang in đính kèm

3.1.6 Kết luận

Khối khuếch đại vi sai với hệ số khuếch đại điện áp có thể điều chỉnh được. Đặc biệt trong khối có sử dụng bộ khuếch đại công cụ IC AD620 với hệ số khuếch đại được điều chỉnh từ 50 lần…1000 lần. Khối xử lý trung tâm sử dụng vi điều khiển MSP430F167 với bộ biển đổi tương tự-số ADC12 12 bit và bộ biến đổi số-tương tự DAC12 12 bit. Vi điều khiển được ghép nối với máy tính thông qua khối ghép nối máy tính với tốc độ truyền dữ liệu baud 9600…115200. Khối điều khiển vi kẹp với điện áp từ -12 V…12 V và dòng cung cấp lên tới 150 mA.

Phần 2

3.2 LẬP TRÌNH NHÚNG CHO KHỐI ĐIỀU KHIỂN TRUNG TÂM3.2.1 Công cụ phần mềm lập trình 3.2.1 Công cụ phần mềm lập trình

Lập trình cho khối điều khiển trung tâm sử dụng phần mềm Imagecraft C for MSP430. Có thể download phiên bản demo 45 ngày tại trang web: http://www.imagecraft.com

Công cụ lập trình này với giao diện thân thiện, sử dụng trình biên dịch C. Có thể nạp cho vi điều khiển trực tiếp thông qua JTAG mà không cần sử dụng phần mềm nạp hỗ trợ.

3.2.2 Lập cấu hình hoạt động cho khối điều khiển trung tâm

Sơ đồ khối và nguyên lý hoạt động của các khối được trình bày trong chương 2.Trong phần này chúng ta chỉ trình bày cách cấu hình bằng phần mềm cho các khối hoạt động.

Việc cấu hình cho các khối dựa vào việc đặt các bit trong thanh ghi điều khiển của từng khối, mỗi bit hay nhóm bit trong thanh ghi điều khiển này sẽ quy định tác vụ tương ứng của mỗi khối. Ví dụ, muốn bật chức năng biến đổi tương tự-số của bộ biến đổi ADC12 chỉ cần bật bit ADC12ON trong thanh ghi điều khiển ADC12CTL0 (ADC12 Control Register 0) của bộ biến đổi ADC12.

3.2.2.1 Cấu hình cho khối ADC12Thanh ghi điều khiển ADC12 Thanh ghi điều khiển ADC12

SHT1x Bits 15-12

Thời gian lầy và giữ mẫu. Các bit này định nghĩa số chu kỳ xung ADC12CLK trong khoảng thời gian lấy mẫu cho các thanh ghi ADC12MEM8 tới ADC12MEM15

SHT0x Bits

11-8

Thời gian lấy và giữ mẫu. Các bit này định nghĩa số chu kỳ xung ADC12CLK trong thời gian lấy mẫu cho các thanh ghi ADC12MEM0 tới ADC12MEM7

MSC Bit 7 Lấy mẫu và chuyển đổi đa hợp.

0 Khoảng thời gian lấy mẫu yêu cầu tín hiệu SHI.

1 Sườn lên đầu tiên của tín hiệu SHI kích hoạt thời gian lấy mẫu

REF2_5V Bit 6 Điện thế quy chiếu. Bít REFON phải được bật.

0 1.5V

1 2.5V

ADC12ON Bit 4 ADC12ON

0 ADC12 off

1 ADC12 on

ADC12OVIE Bit 3 ADC12MEMS cho phép ngắt tràn

0 Không cho phép ngắt tràn 1 Cho phép ngắt tràn

ENC Bit 1 Cho phép biến đổi

0 Không cho phép ADC12

1 Cho phép ADC12

ADC12SC Bit 0 Bắt đầu chuyển đổi

0 không bắt đầu lấy mẫu và chuyển đổi 1 bắt đầu lấy mẫu và chuyển đổi

Thanh ghi điều khiển ADC12

ADC12CTL1, ADC12 Control Register 1

CSTART ADDx

Bits 15-12

Địa chỉ bắt đầu chuyển đổi. Những bit này lựa chọn thanh ghi bộ nhớ cho lần chuyển đổi đầu tiên. Giá trị của CSTARTADDx từ 0 đến 0Fh tương ứng với ADC12MEM0 tới ADC12MEM12.

SHSx Bits

11-10

Lựa chọn nguồn xung lấy và giữ mẫu

0 ADC12SC bit

1 Timer_A.OUT1

SHP Bit 9 Lựa chọn chế độ xung lấy và giữ mẫu

0 Tín hiệu SAMPCON là nguồn được lấy từ tín hiệu đầu vào lấy mẫu

1 Tin hiệu SAMPCON là nguồn được lấy từ khoảng thời gian lấy mẫu

ISSH Bit 8 Đảo tín hiệu lấy và giữ mẫu

0 tín hiệu lấy và giữ mẫu không đảo 1 tín hiệu lấy và giữ mẫu đảo

ADC13DIVx Bits

7-5

Chia xung ADC12

00 /1 001 /2 010 /3 011 /4 100 /5 101 /6

10 MCLK 11 SMCL

CONSEQx Bits

2-1

Lựa chọn chế độ chuyển đổi 00 đơn kênh, chuyển đổi đơn 01 đa kênh

10 lặp lại đơn kênh 11 lặp lại đa kênh

ADC12BUSY Bit 0 ADC12 bận

0 không hoạt động nào tích cực

1 lấy mẫu, hay chuyển đổi đang tích cực

Ví dụ chương trình lấy biển đổi ADC sau đó biến đổi thành DAC

#include<msp430x16x.h> void delay(long time){

while(time--){}; }

void main(){

WDTCTL = WDTPW + WDTHOLD; P6SEL |= 0xFF;

ADC12CTL0 = ADC12ON+REFON+REF2_5V+SHT0_1+MSC;// bật ADC, chọn // điện áp tham chiếu cho bộ ADC là 2.5V

ADC12CTL1 = SHP+ADC12SSEL_2+CONSEQ_2; ADC12CTL0 |= ENC;

ADC12CTL0 |= ADC12SC;

DAC12_0CTL = DAC12IR + DAC12AMP_5 + DAC12ENC; delay(10000);

while(1){

DAC12_0DAT = ADC12MEM0; }}

3.2.2.2 Cấu hình cho khối DAC12Thanh ghi điều khiển DAC12 Thanh ghi điều khiển DAC12

DAC12 SREFx

Bits 14-13

Lựa chọn điện áp tham chiếu cho DAC12 00 VREF+ 01 VREF+ 10 VeREF+ 11 VeREF+ DAC12 RES Bits 12

Lựa chọn độ phân giải cho DAC12 0 độ phân giải 12 bit

1 độ phân giải 8 bit

DAC12IR Bit 8 Độ rộng đầu vào DAC12. Những bit này đặt độ rộng tham chiếu đầu vào và đầu ra.

0 Mức đầu ra DAC12 = 3x điện áp quy chiếu 1 Mức đầu ra DAC12 = 1x điện áp quy chiếu DAC12

AMPx

Bits 7-5

DAC12IE Bit 3 Cho phép ngắt DAC12 0 không cho phép 1 cho phép DAC12

ENC

Bit 1 Cho phép biến đổi DAC12. Những bit này cho phép module DAC12 khi bit DAC12LSELx > 0, khi DAC12LSELx = 0, DAC12ENC được bỏ qua.

0 không cho phép DAC12

Ví dụ chương trình tạo xung tam giác #include <msp430x16x.h>

void delay(long time){

while(time--){}; }

void main(void) {

unsigned int i;

WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P6DIR = 0xFF;

P6SEL = 0x40;

ADC12CTL0 = REF2_5V + REFON; // Internal 2.5V ref on

DAC12_0CTL = DAC12IR + DAC12AMP_5 + DAC12ENC; // Internal ref gain 1 while(1){ i = 0; while(i < 4096){ DAC12_0DAT = i; // 2 i = i + 10; } while(i > 0){ DAC12_0DAT = i; // 2 i = i - 10; } }}

3.2.2.3 Cấu hình cho khối UARTThanh ghi điều khiển UART Thanh ghi điều khiển UART

PENA Bit 7 Cho phép chẵn lẻ

0 không cho phép chẵn lẻ 1 cho phép chẵn lẻ

PEV Bit 6 Lựa chọn chẵn lẻ. PEV không được sử dụng khi bit chẵn lẻ

không cho phép. 0 chẵn lẻ lẻ 1 chẵn lẻ chẵn

SPB Bit 5 Lựa chọn bit stop

0 một bit stop 1 hai bit stop

CHAR Bit 4 Chiều dài kí tự

0 dữ liệu là 7 bit 1 dữ liệu là 8 bit

LISTEN Bit 3 Cho phép lắng nghe

0 không cho phép 1 cho phép

SYNC Bit 2 Cho phép chế độ đồng bộ

0 chế độ UART 1 chế độ SPI

Thanh ghi UxTCTL, thanh ghi điều khiển truyền

Unused Bit 7 Bit này không được sử dụng

CKPL Bit 6 Lựa chọn xung chẵn lẻ

0 UCLKI = UCLK 1 UCLKI = đảo UCLK

SSELx Bits

5-4

Lựa chọn nguồn xung. Những bit này lựa chọn nguồn xung BRCLK

00 UCLKI 01 ACLK 10 SMCLK 11 SMCLK

URXSE Bit 3 Sườn xung bắt đầu nhận UART.

0 không cho phep 1 cho phép

TXEPT Bit 0 Cờ bộ truyển trống

0 UART thực hiện truyền dữ liệu và/hay đợi trong UxTXBUF

1 thanh ghi dịch của bộ truyền và UxTXBUF rỗng hay SWRST = 1

Thanh ghi điều khiển nhận USART

FE Bit 7 Cờ báo lỗi khung truyền

0 không lỗi

1 kí tự nhận được với bit stop là mức thấp

PE Bit 6 Cờ báo lỗi chẵn lẻ. Khi PENA = 0, PE được đọc như là 0. 0 không báo lỗi

1 kí tự nhận được với bit chẵn lẻ lỗi

Ví dụ chương trình truyền nhận USART của vi điều khiển MSP430F167

#include <msp430x16x.h> void UART1_init(void) { P3DIR |= BIT6; P3SEL |= 0xC0; // P3.6,7 = USART1 TXD/RXD //UCTL1 &= ~SWRST;

ME2 |= UTXE1 + URXE1; // Enable USART1 TXD/RXD

UCTL1 |= CHAR; // 8-bit character, No parity, 1 start bit, 1 stop bit UTCTL1 |= SSEL1; // UCLK = SMCLK = 8.00 MHz

UBR01 = 139; // 8.00M/57600 -> 139 UBR11 = 0x00; //

// UMCTL1 = 0x45; // Modulation = 0.375 UCTL1 &= ~SWRST; // Initialise USART1

//IE2 |= URXIE1; // Enable USART1 RX interrupt }

3.2.3 Kết luận

Việc cấu hình cho các khối trong khối xử lý trung tâm không quá phức tạp. Chúng ta cần hai yếu tố: nguyên lý hoạt động từng khối và các thanh ghi điều khiển của chúng. Từ đó chúng ta cấu hình tuỳ theo mục đích yêu cầu của cấu hình là gì. Việc cấu hình bằng ngôn ngữ phần với câu lệnh đơn giản gọn nhẹ. Đây cũng là một trong những ưu điểm lớn của công cụ phần mềm này. Nó giúp chúng ta dễ tiếp cận hơn với vi điều khiển MSP430F167 cũng như họ MSP430x1xx của loại vi điều khiển này.

Chương 4

Kết luận

Sau một thời gian tìm hiểu lý thuyết và thực nghiệm, khóa luận đã thu được một số kết quả như sau:

Về lý thuyết:

Tìm hiểu tổng quan về cấu trúc của vi kẹp có gắn cảm biến. Đặc điểm của bộ chấp hành điện nhiệt, mối liên hệ giữa độ dịch chuyển miệng của vi kép với điện áp cung cấp. Độ dịch chuyển tối đa giữa hai miệng của vi kẹp là 32 µm khi cung cấp một điện thế 4.5 V và tương ứng với công suất tiêu thụ trung bình cần 5 mW cho 1 µm dịch

Một phần của tài liệu Thiet ke va xay dung mach dieu khien (Trang 36)

Tải bản đầy đủ (DOC)

(60 trang)
w