1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ÐIỀU KHIỂN HAI ÐỘNG cơ DC QUA SMS MODULE SIM (có code và layout)

43 241 0

Đ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 43
Dung lượng 1,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ÐIỀU KHIỂN HAI ÐỘNG cơ DC QUA SMS (có code và layout) ÐIỀU KHIỂN HAI ÐỘNG cơ DC QUA SMS (có code và layout) ÐIỀU KHIỂN HAI ÐỘNG cơ DC QUA SMS (có code và layout) ÐIỀU KHIỂN HAI ÐỘNG cơ DC QUA SMS (có code và layout) ÐIỀU KHIỂN HAI ÐỘNG cơ DC QUA SMS (có code và layout) ÐIỀU KHIỂN HAI ÐỘNG cơ DC QUA SMS (có code và layout)

Trang 1

ĐIỀU KHIỂN HAI ĐỘNG CƠ DC QUA

SMS

Trang 2

1 Khái quát vấn đề 1

2 Mục đích, ý nghĩa 1

3 Phương pháp thực hiện 1

CHƯƠNG 2 SƠ ĐỒ HỆ THỐNG, NGUYÊN LÝ HOẠT ĐỘNG 2

1 Sơ đồ khối 2

2 Sơ đồ nguyên lý 3

2.1 Khối điều khiển trung tâm 3

2.2 Khối công suất 4

3 Nguyên lý hoạt động 4

CHƯƠNG 3 TÌM HIỂU LINH KIỆN 5

1 PIC16F877A 5

1.1 Lịch sử 5

1.2 Khái quát về PIC16F877A 5

1.3 Sơ đồ chân và ý nghĩa của các chân PIC16F877A 8

1.4 Tổ chức bộ nhớ 9

2 Module L298N 13

2.1 Thông số kĩ thuật 14

2.2 Mạch cầu H 15

Trang 3

4.1 Giới thiệu chung 20

4.2 Cách thiết lập PWM 21

CHƯƠNG 4 MÔ PHỎNG THI CÔNG, KẾT QUẢ 23

1 Mô phỏng 23

2 Mạch in 23

3 Kết quả sau khi thi công 24

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 25

1 Kết luận 25

2 Ưu điểm và nhược điểm 25

3 Hướng phát triển 25

TÀI LIỆU THAM KHẢO 26

PHỤ LỤC 26

Trang 4

Hình 3: Khối điều khiển trung tâm 3

Hình 4: Khối công suất 4

Hình 5: PIC16F877A 5

Hình 6: Sơ đồ nguyên lý PIC16F877A 7

Hình 7: Sơ đồ chân PIC16F877A 8

Hình 8: Ý nghĩa các chân PIC16F877A 9

Hình 9: Cấu trúc bộ nhớ dữ liệu của PIC16F877A 11

Hình 10: Module L298N 14

Hình 11: Mạch cầu H 15

Hình 12: Nguyên lý hoạt động của mạch cầu H 16

Hình 13: Module SIM900A 17

Hình 14: Động cơ DC 20

Hình 15: Mô phỏng 23

Hình 16: Mạch in 24

Hình 17: Mạch thi công 24

Trang 5

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

1 Khái quát vấn đề

Ngày nay, nhu cầu học tập và nghiên cứu các ứng dụng công nghệ Vi điều

khiển(PIC) ngày càng tăng trưởng mạnh mẽ Các công trình nghiên cứu và ứng dụng công nghệ này đều rất phong phú , đa dạng Vi điều khiển đang dần dần thay thế con người trong các ứng dụng thực tiễn như: Điều khiển tốc độ động cơ, đo nhịp tim, đo nhiệt độ, …

Với ưu điểm là điều khiển tốc độ động cơ dễ dàng, độ ổn định tốc độ cao nên động

cơ một chiều đã được sử dụng khá phổ biến như: truyền động cho một số máy như máyquạt, máy bơm, máy nâng, máy nghiền, điều khiển robot …

Động cơ một chiều có nhiều ứng dụng trong điều khiển và sản xuất nhất là trong công nghiệp Trong đó nó đòi hỏi là động cơ phãi có nhiều cấp độ để có thể tăng giảm

dễ dàng phù hợp với nhu cầu người dùng

Với sự ra đời và phát triển của vi điều khiển thì vấn đề điều khiển động cơ một chiều không còn là vấn đề khó khăn Ta có thể tùy ý điều khiển động cơ với nhiều mức tốc độ khác nhau, đảo chiều, dừng

2 Mục đích, ý nghĩa

Tạo ra được mô hình điều khiển động cơ một chiều, hiểu được nguyên lý hoạt động, cấu tạo, các phương pháp hoạt động cho động cơ Và đặc biệt là việc kết hợp giửa vi điều khiển PIC16F877A với Module Sim900A giúp ta có thể điều khiển động

cơ từ xa một cách rất thuận tiện tiết kiệm thời gian chi phí

3 Phương pháp thực hiện

- Đưa ra ý tưởng thiết kế

- Thiết kế mạch phần cứng điều khiển: kết nối PIC, điều khiển hoạt động của động cơ

- Viết code CCS cho mạch cứng

- Chạy mô phỏng và mạch thật

Trang 6

CHƯƠNG 2 SƠ ĐỒ HỆ THỐNG, NGUYÊN LÝ HOẠT ĐỘNG

1 Sơ đồ khối

Hình 1: Sơ đồ khối

Trang 7

2 Sơ đồ nguyên lý

Hình 2: Sơ đồ nguyên lý

2.1 Khối điều khiển trung tâm

Hình 3: Khối điều khiển trung tâm

Trang 8

2.2 Khối công suất

Hình 4: Khối công suất

Ở đề tài này em dùng khối nguồn là Adapter 5v 1A nên không đưa sơ đồ

nguyên lý của khối nguồn vào phần này

3 Nguyên lý hoạt động

Khối PIC16F877A là khối điều khiển trung tâm làm nhiệm trực tiếp với module SIM900A qua giao tiếp UART để nhận và gửi tin nhắn, nhận tín hiệu từ SMS thông qua điện thoại rồi xử lý tín hiệu để xuất ra xung điều khiển cho khối điều khiển công suất theo mức yêu cầu

Khối Module SIM900A làm nhiệm vụ nhận và gửi tin nhắn qua điện thoại thông qua giao tiếp GSM, thông qua giao tiếp UART gửi tín hiệu qua khối trung tâm để điều khiển động cơ

Khối điều khiển công suất nhận tín hiệu từ khối trung tâm, điều khiển tốc độ của động cơ

Khối nguồn cung cấp: Adapter cấp nguồn 5V cho mạch hoạt động, PIN cấp nguồn 12V cho động cơ

Trang 9

CHƯƠNG 3 TÌM HIỂU LINH KIỆN

Các linh kiện chính được sử dụng trong mạch:

PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip

Technology Dòng PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics Division thuộc General Instrument

PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer" (Máy tính khả trình thông minh) là sản phẩm của hãng General Instruments đặt cho dòng

sản phẩm đầu tiên của họ là PIC1650 Lúc đó, PIC1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16bit CP1600, vì vậy, người ta cũng gọi PIC với cái tên "Peripheral Interface Controller" (Bộ điều khiển giao tiếp ngoại vi)

1.2 Khái quát về PIC16F877A

Trang 10

Hình 5: PIC16F877A

PIC 16F877A thuộc họ vi điều khiển 16Fxxx có các đặt tính sau:

- Ngôn ngữ lập trình đơn giản với 35 lệnh có độ dài 14 bit.

- Tất cả các câu lệnh thực hiện trong 1 chu kì lệnh ngoại trừ 1 số câu lệnh rẽ

nhánh thực hiện trong 2 chu kì lệnh Chu kì lệnh bằng 4 lần chu kì dao động củathạch anh

- Bộ nhớ chương trình Flash 8Kx14 words, với khả năng ghi xoá khoảng 100

ngàn lần

- Bộ nhớ Ram: 368x8bytes.

- Bộ nhớ EFPROM: 256x8 bytes.

- Khả năng ngắt (lên tới 14 nguồn cả ngắt trong và ngắt ngoài).

- Ngăn nhớ Stack được 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

- Dải điện thế hoạt động rộng: 2.0V đến 5.5V.

- Nguồn sử dụng 25mA.

- Công suất tiêu thụ thấp:

<0.6mA với 5V, 4MHz 20uA với nguồn 3V, 32 kHz

- Có 3 timer: timer0, 8 bit chức năng định thời và bộ đếm với hệ số tỷ lệ

trước.Timer1, 16 bit chức năng bộ định thời, bộ đếm với hệ số tỷ lệ trước, kíchhoạt chế độ Sleep.Timer2, 8 bit chức năng định thời và bộ đếm với hệ số tỷ lệtrước và sau

- Có 2 kênh Capture/ so sánh điện áp (Compare)/điều chế độ rộng xung PWM 10

bit / (CCP)

- Có 8 kênh chuyển đổi ADC 10 bit.

Trang 11

- Cổng truyền thong nối tiếp SSP với SPI phương thức chủ và I2C (chủ/phụ).Bộtruyền nhận thông tin đồng bộ, dị bộ (USART/SCL) có khả năng phát hiện 9 bitđịa chỉ.

- Cổng phụ song song (PSP) với 8 bít mở rộng, với RD, WR và CS điều khiển.

- Tổ chức bộ nhớ của PIC 16F877A

- Chức năng của các Port I/O

- Chức năng và cách thiết lập bộ điều chế độ rộng xung PWM

Hình 6: Sơ đồ nguyên lý PIC16F877A

Trang 12

1.3 Sơ đồ chân và ý nghĩa của các chân PIC16F877A 1.3.1 Sơ đồ chân

Hình 7: Sơ đồ chân PIC16F877A

Trang 13

1.3.2 Ý nghĩa các chân PIC16F877A

Hình 8: Ý nghĩa các chân PIC16F877A

1.4 Tổ chức bộ nhớ

Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu (Data Memory)

Trang 14

1.4.1 Bộ nhớ chương trình

Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng bộnhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến page 3) Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnhsau khi mã hóa sẽ có dung lượng 1 word (14 bit).Để mã hóa được địa chỉ của 8K word

bộ nhớ chương trình, bộ đếm chương trình có dung lượng 13 bit (PC<12:0>)

Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Reset vector).Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector) Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình

bộ nhớ của 16F877A ta cần phải khai báo đúng bank chứa thanh ghi đó, việc đặt cácthanh ghi sử dụng thường xuyên giúp ta thuận tiên hơn rất nhiều trong quá trình truyxuất, làm giảm lệnh chương trình

Trang 15

Hình 9: Cấu trúc bộ nhớ dữ liệu của PIC16F877ADựa trên sơ đồ 4 bank bộ nhớ dữ liệu PIC16F877A ta rút ra các nhận xét như sau:

- Bank0 gồm các ô nhớ có địa chỉ từ 00h đến 77h, trong đó các thanh ghi dùng chung để chứa dữ liệu của người dùng địa chỉ từ 20h đến 7Fh Các thanh ghi PORTA,

Trang 16

PORTB, PORTC, PORTD, PORTE đều chứa ở bank0, do đó để truy xuất dữ liệu các thanh ghi này ta phải chuyển đến bank0 Ngoài ra một vài các thanh ghi thông dụng khác ( sẽ giới thiệu sau) cũng chứa ở bank0.

- Bank1 gồm các ô nhớ có địa chỉ từ 80h đến FFh Các thanh ghi dùng chung cóđịa chỉ từ A0h đến Efh Các thanh ghi TRISA, TRISB, TRISC, TRISD, TRISE cũngđược chứa ở bank1

- Tương tự ta có thể suy ra các nhận xét cho bank2 và bank3 dựa trên sơ đồ trên

- Cũng quan sát trên sơ đồ, ta nhận thấy thanh ghi STATUS, FSR… có mặt trên

cả 4 bank Một điều quan trọng cần nhắc lại trong việc truy xuất dữ liệu của

PIC16F877A là : phải khai báo đúng bank chứa thanh ghi đó.Nếu thanh ghi nào mà 4 bank đều chứa thì không cần phải chuyển bank

1.5 Khái quát về chức năng của các PORT trong PIC16F877A

1.5.1 PORTA

PORTA (RPA) bao gồm 6 I/O pin.Đây là các chân “hai chiều” (bidirectional pin), nghĩa là có thể xuất và nhập được.Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác lập chức năng của một chân trong PORTA là input, ta “set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năng của một chân trong PORTA là output, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA Thao tác này hoàn toàn tương tự đối với các PORT và các thanh ghi điều khiển tương ứng TRIS (đối với PORTA là TRISA, đối với PORTB là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD vàđối với PORTE là TRISE)

1.5.2 PORTB

PORTB (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng là TRISB

Trang 17

Bên cạnh đó một số chân của PORTB còn đượ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 PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0 PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình.

1.5.3 PORTC

PORTC có 8 chân và cũng thực hiện được 2 chức năng input và output dưới sự điều khiển của thanh ghi TRISC tương tự như hai thanh ghi trên

Ngoài ra PORTC còn có các chức năng quan trọng sau :

- Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng

- Bộ PWM thực hiện chức năng điều xung lập trình được tần số, duty cycle: sử dụng trong điều khiển tốc độ và vị trí của động cơ v.v…

- Tích hợp các bộ giao tiếp nối tiếp I2C, SPI, SSP, USART

1.5.4 PORTD

PORTD có 8 chân Thanh ghi TRISD điều khiển 2 chức năng input và outputcủa PORTD tương tự như trên.PORTD cũng là cổng xuất dữ liệu của chuẩn giao tiếpsong song PSP (Parallel Slave Port)

2 Module L298N

Module L298N là một IC tích hợp nguyên khối gồm 2 mạch cầu H bên trong Với điện áp làm tăng công suất nhỏ như DC loại vừa và để điều khiển nó Module có gắn tản nhiệt chống nóng cho IC, dòng đỉnh lên tới 2A

Trang 18

Hình 10: Module L298N

2.1 Thông số kĩ thuật

- Diver: L298N tích hợp hai mạch cầu H

- Điện áp điều khiển: +5V~+12V

- Dòng tối đa cho mỗi cầu H là: 2A

- Dòng của tín hiệu điều khiển: +5V~+7V

- Công suất hao phí: 20W (khi nhiệt độ T=75°C)

- Nhiệt độ bảo quản: -25°C ~ +130 °C

Trang 19

2.2 Mạch cầu H

Hình 11: Mạch cầu H

Trong hình trên, xem 2 đầu V và GND là 2 đầu (+) và (-) của ắc qui, “đối tượng” là động cơ DC mà chúng ta cần điều khiển, “đối tượng” này có 2 đầu A và B, mục đích điều khiển là cho phép dòng điện qua “đối tượng” theo chiều A đến B hoặc Bđến A Thành phần chính tạo nên mạch cầu H của chúng ta chính là 4 “khóa” L1, L2, R1 và R2 (L: Left, R:Right) Ở điều kiện bình thường 4 khóa này “mở”, mạch cầu H không hoạt động

Trang 20

Hình 12: Nguyên lý hoạt động của mạch cầu H

Giả sử ta muốn 2 khóa L1 và R2 được đóng lại mà L2 và R1 vẫn mở, ta thấy cómột dòng điện chạy từ V qua khóa L1 đến đầu A và xuyên qua đối tượng đến đầu B của nó trước khi qua khóa R2 và về GND ( hình bên trái) Như thế, với giả sử này sẽ

có dòng điện chạy qua đối tượng theo chiều từ A đến B Bây giờ hãy giả sử khác đi rằng R1 và L2 đóng trong khi L1 và R2 mở, dòng điện lại xuất hiện và lần này nó sẽ chạy qua đối tượng theo chiều từ B đến A như trong hình bên phãi (V->R1->B->A-

>L2->GND) Ta có thể dùng mạch cầu H để đảo chiều dòng điện qua một đối tượng (hay cụ thể, đảo chiều quay động cơ)

Trang 21

3 Module SIM900A

Hình 13: Module SIM900A

GSM Module Sim900A là một sản phẩm do AT-COM phát triển nhằm giúp

người sử dụng có thể khai thác các tính năng của Sim900A một cách dễ dàng Board

hỗ trợ khá đầy các ngõ ra của Module Sim900A ( RS232, Audio, ADC, VRTC, PWM, I2C ) Dễ kết nối kết nối với các dòng vi điều khiển như PIC, AVR, ARM, Arduino

để phát triển các ứng dụng điều khiển, giám sát qua môi trường mạng GSM, GPRS Ngõ ra RS232 giúp giao tiếp máy tính và lập trình cho Module Sim900A thông qua tập lệnh AT COMMAND

GSM Module SIM900A được thiết kế với bộ nguồn xung 3A tích hợp trên mạch Nguồn xung sử dụng IC LM2596-ADJ với dòng tải 3A, tần số đáp ứng

150KHz Thiết kế với khả năng cung cấp 3 mức điện áp khác nhau cho module

SIM900A là 3.3V, 4V, 4.5V Tuỳ theo từng ứng dụng mà người dụng sẽ chọn mức điện áp phù hợp cho SIM900A Hỗ trợ một header ngõ ra VCC, GND để cung cấp nguồn ra bên ngoài cho vi điều khiển, cảm biến, ngoại vi… Điện áp ngõ ra được lựa chọn thông qua một “jumper select “ trên mạch

GSM Module SIM900A với ngõ ra chuẩn RS232 giúp người sử dụng dễ dàng giao tiếp với module SIM900A thông qua tập lệnh AT COMMAND Có thể kết nối với

Trang 22

vi điều khiển lập trình ứng dụng trên SIM900A, hoặc giao tiếp với máy tính để kiểm tra SIM900A sử dụng các phần mềm Terminal.

Các tập lệnh cơ bản của GSM Module SIM900A:

Mô tả : lưu lại các lệnh đã cài đặt

Các lệnh điều khiển cuộc gọi

Trang 23

- Lệnh: ATH<CR><LF>

Mô tả : Lệnh thực hiện kết thúc cuộc gọi , hoặc cúp máy khi có cuộc gọi đến

- Lệnh: ATA<CR><LF>

Mô tả : Lệnh thực hiện chấp nhận khi có cuộc gọi đến

Các lệnh điều khiển tin nhắn

- Lệnh: AT+CMGF=1<CR><LF>

Mô tả : Lệnh đưa SMS về chế độ Text , phải có lệnh này mới gửi nhận tin nhắn dạng Text

- Lệnh: AT+CMGS=”Số_điện _thoại”<CR><LF>

Đợi đến khi có ký tự ‘>’ được gửi về thì đánh nối dung tin nhắn

Gửi mã Ctrl+Z hay 0x1A để kết thúc nội dung và gửi tin nhắn

Mô tả : Lệnh gửi tin nhắn

Trang 24

4 Động cơ DC

4.1 Giới thiệu chung

Hình 14: Động cơ DCĐộng cơ một chiều DC ( Direct Current Motors) là động cơ điều khiển trực tiếp

có cấu tạo gồm 2 dây (dây nguồn và dây tiếp đất) Động cơ DC là một động cơ một chiều với cơ năng quay liên tục

Khi ta cung cấp năng lượng thì động cơ DC sẽ quay (đây là quá trình chuyển điện năng thành cơ năng) Các động cơ DC thường được ứng dụng vào làm máy quạt, máy bơm, …

Để điều khiển tốc độ quay của động cơ DC, người ta dùng điều biến độ rộng xung (kí hiệu là PWM), đây là kỹ thuật điều khiển tốc độ vận hành bằng việc bật và tắt các xung điện Tỷ lệ phần trăm vận tốc với thời gian của thiết bị được điều khiển bằng

cơ chế bật tắt một mức độ cơ số vòng quay xác định của động cơ

Trang 25

4.2 Cách thiết lập PWM

Khi hoạt động ở chế độ PWM (Pulse Width Modulation _ khối điều chế độ rộngxung), tính hiệu sau khi điều chế sẽ được đưa ra các pin của khối CCP (cần ấn địnhcá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ếnhành các bước cài đặt sau:

- 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

- 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 CCP1CON<5:4>

- Đ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 TRISC

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

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

Trong đó giá trị chu kì (period) của xung điều chế được tính bằng cộng thức :

PWM period = [(PR2)+1]*4*TOSC*(giá trị bộ chia tần số của TMR2)

Áp dụng công thức chu kì PWM ta có:

T(pwm)=[PR2+1]*4*(Tosc)*(TMR2 Prescale Value)

=[PR2+1]*4*(1/Fosc)*(TMR2 Prescale Value)

Ngày đăng: 04/05/2018, 17:02

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w