Download miễn phí Đề tài Điều khiển động cơ DC giao tiếp máy tính





Phần A . Giới Thiệu . Trang
Lời nói đầu 3
Mục lục .4
Liệt kê bảng .5
Liệt kê hình .5
Phần B . Nội Dung
Chương 1: Cơ sở lý thuyết
1.1 Giới thiệu vi điều khiển ATMEGA32 .8
1.2 Giới thiệu LCD .27
1.3 Giới thiệu động cơ điện 1 chiều và điều khiển bẳng PWM .34
1.4 Giới thiệu Encoder .36
Chương 2: Thiết kế và thi công mạch
2.1 Thiết kế mạch . .39
2.1.1 Thiết kế sơ đồ nguyên lý 40
2.1.2 Thiết kế sơ đồ mạch in .42
2.2 Viết chương trình cho vi điều khiển . . 43
Chương 3: Thiết kế chương trình điều khiển trên máy tính
3.1 Chương trình điều khiển trên máy tính 46
Chương 4: Kết luận
4.1 Kết quả đạt được . 49
4.2 Nhận xét sản phẩm . 49
4.3 Hướng phát triển . 50
4.4 Phụ lục và Tài liệu tham khảo 50



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

u khiển động cơ dc giao tiếp máy tính Trang 16
Đồ án môn học 2
Cờ tràn TOV0 được set mỗi lần bộ đếm đạt tới giá trị BOTTOM. Khi timer đạt tới giá
trị này, ta có thể sử dụng để kích hoạt chương trình ngắt qua cờ báo ngắt.
Xung PWM được đưa ra trên chân OC0. Việc thiết lập ngõ ra dạng đảo (inverting) hay
không đảo (non-inverting) được thực hiện qua hai bit COM01 và COM00. Giá trị thực sự
của OC0 chỉ có thể thấy được khi ta đặt OC0 là ngõ ra.
Tần số của xung PWM được tính toán dựa vào công thức sau:
Trong đó, N là giá trị của bộ chia tần số (1, 8, 64, 256,1024).
Thanh ghi OCR0 sẽ đạt tới cực trị (cực đại hay cực tiểu) thay cho các trường hợp đặc
biệt khi phát ra dạng xung PWM. Trong chế độ không đảo, nếu OCR0 được đặt giá trị
BOTTOM, ngõ ra luôn ở mức thấp và nếu OCR0 được đặt giá trị MAX thì ngõ ra luôn ở
mức cao. Đối với chế độ đảo thì hoạt động ngược lại.
1.1.4.2. Timer/Counter1
Các chức năng chính:
- Thiết kế 16bit thực sự (cho phép tạo ra xung PWM 16bit).
- 2 bộ so sánh ngõ ra độc lập.
- 1 bộ bắt mẫu từ ngõ vào.
- 1 bộ giảm nhiễu ngõ vào.
- Chế độ xóa timer khi đạt tới giá trị so sánh.
- Tạo tần số.
- Tạo xung PWM có thể thay đổi giá trị.
- Đếm sự kiện ngoài.
- 4 nguồn ngắt độc lập (TOV1, OCF1A, OCF1B và ICF1).
Điều khiển động cơ dc giao tiếp máy tính Trang 17
Đồ án môn học 2
Hình 1.6 - Sơ đồ khối của timer/counter1
Các chế độ hoạt động:
- Chế độ bình thường.
- Chế độ xóa timer khi đạt tới giá trị so sánh.
- Chế độ Fast PWM.
- Chế độ PWM (Phase Correct PWM).
- Chế độ Phase and Frequency Correct PWM.
- Giới thiệu về chế độ đếm sự kiện ngoài:
- Chân ngõ vào T1: tác động cạnh lên hay xuống (tùy lựa chọn).
Trong chế độ này, bộ đếm luôn đếm lên, khi đạt tới giá trị MAX (0xFFFF) thì tự động
reset về BOTTOM (0x0000).
1.1.4.3. Giới thiệu timer/counter2
Các chức năng chính:
Điều khiển động cơ dc giao tiếp máy tính Trang 18
Đồ án môn học 2
- Kênh đếm so sánh đơn.
- Xóa timer khi đạt tới giá trị so sánh (Auto Reload).
- Chế độ PWM.
- Đếm sự kiện bên ngoài.
- Bộ chia tần số 10bit.
- Ngắt khi tràn hay tại giá trị so sánh.
Hình 1.7 - Sơ đồ khối của timer/counter2
Các chế độ hoạt động của Timer/Counter2:
- Chế độ bình thường.
- Chế độ xóa timer khi đạt tới giá trị so sánh.
- Chế độ Fast PWM.
- Chế độ PWM.
Giới thiệu chế độ xóa giá trị Timer khi đạt tới giá trị so sánh (CTC):
Trong chế độ này, thanh ghi OCR2 được dùng để thiết lập độ phân giải cho bộ đếm.
Khi TCNT đạt tới giá trị bằng với OCR2, bộ đếm được xóa về 0. Thanh ghi OCR2 xác
định giá trị lớn nhất và cũng là độ phân giải của Timer2.
Điều khiển động cơ dc giao tiếp máy tính Trang 19
Đồ án môn học 2
Hình 1.8 - Giản đồ thời gian của chế độ CTC
Khi bộ đếm đạt tới giá trị TOP, cờ OCF2 kích hoạt chương trình ngắt. Khi đã được kích
hoạt, chương trình ngắt có thể được sử dụng để cập nhật giá trị TOP.
Chu kỳ của Timer trong chế độ CTC có thể tính như sau:
Với công thức trên, ta có thể tính thời gian lấy mẫu như sau: Timer 8bit, giá trị MaxVal
đặt trong OCR = 155, nguồn xung clock 16MHz, chia tần số 1024 thì thời gian lấy mẫu là
10ms.
1.1.5. Bộ truyền nhận dữ liệu USART
USART (The Universal Synchronous and Asynchronous serial Receiver and
Transmitter – Bộ truyền nhận nối tiếp tổng hợp đồng bộ và bất đồng bộ)
Đặc điểm:
- Hoạt động song công.
- Cho phép làm việc ở các chế độ : đồng bộ hay bất đồng bộ.
- Bộ phát tốc độ baud (BAUD RATE) với độ phân giải cao.
- Hỗ trợ Format khung truyền nối tiếp : 5,6,7,8, hay 9 Data Bits và 1 hay 2 bit Stop.
- Hỗ trợ kiểm tra bit chẵn , lẻ bằng phần cứng.
- Có thể phát hiện Data bị tràn , khung truyền bị lỗi.
- Có 3 cờ báo ngắt : TX complete, TX Data Register Empty và RX complete.
- Có chế độ truyền thông đa xử lý.
- Double speed (chỉ áp dụng cho chế độ truyền thông bất đồng bộ).
Điều khiển động cơ dc giao tiếp máy tính Trang 20
Đồ án môn học 2
Hình 1.9 - Sơ đồ khối USART
Trong sơ đồ trên, có ba khối nằm trong phần khung vuông là ba phần chính của
USART: bộ phát xung, bộ truyền và bộ nhận. Thanh ghi điều khiển được sử dụng chung
cho các thành phần. Bộ phát xung tạo ra xung nhịp cho bộ phát tốc độ baud (khi truyền
nhận bất đồng bộ), hay điều khiển để nhận xung clock bên ngoài khi truyền nhận đồng bộ.
Bộ truyền bao gồm một bộ đệm ghi đơn (single write buffer), thanh ghi dịch nối tiếp (serial
Shift Register), bộ phát parity và bit điều khiển sử dụng cho nhiều khung truyền khác nhau.
Bộ nhận phức tạp hơn do có phần phục hồi xung và dữ liệu (clock and data recovery).
Thành phần phục hồi này sử dụng trong khi nhận dữ liệu bất đồng bộ. Ngoài hai phần phục
hồi, bộ nhận còn có phần kiểm tra parity, bit điều khiển, thanh ghi dịch và bộ đệm nhận hai
Điều khiển động cơ dc giao tiếp máy tính Trang 21
Đồ án môn học 2
mức thấp (UDR). Bộ nhận hỗ trợ các chuẩn khung truyền giống như bộ phát, và có thể phát
hiện lỗi khung truyền, tràn dữ liệu hay lỗi parity.
Các thanh ghi của USART:
- USART I/O Data Register –UDR
UDR là thanh ghi bộ đệm truyền(TXB) và nhận(RXB) (chúng có cùng 1 địa chỉ
vật lý) có chức năng lưu trữ Data.
o TXB: Thanh ghi bộ đệm truyền. Khi ta muốn send data đến PC thì trước hết
data đó phải được nạp vào TXB.
Muốn ghi DATA vào TXB thì bit UDRE trong thanh ghi UCSRA phải được
set (UDRE=[1]: cho phép ghi vào TXB). Data đó được ghi vào UDR cho đến khi
UDRE=[0]. Khi Data đang được vào TXB, và Transmitter được phép thì
Transmitter sẽ Load Data đó vào thanh ghi dịch khi thanh ghi dịch bị trống
(rỗng). Sau đó Data được truyền nối tiếp trên chân TxD (PD0) của MCU.
o RXB: Thanh ghi bộ đệm nhận. Khi PC send 1 gói Data đến MCU thì gói
Data đó nằm trong RXB do đó cần chuyển Data trong RXB vào 1 thanh
R (vd: R16).
RXB gồm có 2 mức FIFO. FIFO sẽ thay đổi trạng thái của nó bất cứ khi nào
RXB được truy xuất. Vì trạng thái này của RXD mà không được dùng những
lệnh (SBI, CBI) ở đây. Cẩn thận với các lệnh kiểm tra (SBIC và SBIS), vì chúng
cũng sẽ làm thay đổi trạng thái của FIFO.
- USART Control and Status Register A – UCSRA
(Thanh ghi điều khiển và trạng thái A)
o Bit 7 – RXC: USART Receive Complete
Cờ RXC =[1] khi có data chưa được đọc trong RXB và RXC =[0] khi
RXB rỗng (không còn bất kì data nào trong RXB chưa đọc).
Điều khiển động cơ dc giao tiếp máy tính Trang 22
Đồ án môn học 2
Cờ RXC có thể được dùng để tạo ra ngắt khi nhận xong (kết hợp với bit
RXCIE).
o Bit 6-TXC: USART Transmit Complete
Cờ TXC =[1] khi toàn bộ data trong thanh ghi dịch truyền đã dược dịch
ra ngoài và không còn data mới nào xuất hiện trong TXB (UDR). TXC tự
động được xóa nếu có 1 ngắt khi truyền xong được thực thi hay nó cũng có
thể được xóa bằng cách ghi vào vị trí bit của nó.
Cờ TXC có thể được dùng để tạo ra ngắt khi truyền xong (kết hợp với bit
RXCIE).
o Bit 5-UDRE: USART Data Register Empty
Cờ UDRE chỉ thị nếu TXR (UDR) sẵn sàng để nhận dữ liệu mới. Nếu
UDRE=[1] thì bộ đệm trống, vì thế mà bộ đệm sẵn sàng nhận dữ liệu mới.
Cờ UDRE có thể ...
 
Các chủ đề có liên quan khác

Các chủ đề có liên quan khác

Top