Tự động hoá là một quá trình liên quan tới việc áp dụng các hệ thống cơ khí, điện tử, máy tính để hoạt động, điều khiển sản xuất.. Chuỗi các hoạt động có thể điều khiển bởi một chương t
Trang 1ĐẠI HỌC ĐÀ NẴNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
1 Tên đề tài : THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH GARA Ô TÔ TỰ ĐỘNG
2 Các số liệu ban đầu :
- Mô hình tự chọn
- Dùng nguồn điện : 220V/50Hz
3 Nội dung thuyết minh :
3.1 Tổng quan các vấn đề liên quan
3.2 Phân tích và chọn phương án thi công
3.3 Thiết kế hệ thống dẫn động hệ thống
3.4 Thiết kế chế tạo mạch điều khiển cho hệ thống
3.5 Xây dựng thuật toán điều khiển hệ thống hệ thống
3.6 Lập chương trình điều khiển
4 Phần bản vẽ:
a Bản vẽ tổng thể mô hình : 1A0
b Bản vẽ kết cấu các cụm chi tiết : (1÷4)A0
c Bản vẽ mạch điều khiển và lưu đồ thuật toán cho hệ thống : 1A0
5 Chế tạo mô hình:
- Kho dùng để xe,khung vị trí để xe ban đầu vào
- Cánh tay robot dùng để vận chuyển ô tô vào ra
- Ray trượt để cánh tay robot di chuyển vào ra
- Lập trình bằng Vi điều khiển 89C51, sử dụng hợp ngữ Assembly để lập trình
6 Ngày giao nhiệm vụ : Ngày tháng năm 2011
7 Ngày hoàn thành nhiệm vụ : Ngày tháng năm 2011 CÁN BỘ HƯỚNG DẪN
(Ký và ghi rõ họ tên)
Trang 2
LỜI NÓI ĐẦU
- ************* -
Ngày nay, với sự phát triển mạnh mẽ của khoa học kỹ thuật con người ngày
càng đòi hỏi trình độ tự động hoá phải càng phát triển để đáp ứng được nhu cầu của
mình Tự động hoá ngày càng phát triển rộng rãi trong mọi lĩnh vực kinh tế , đời sống
xã hội, nó là ngành mũi nhọn trong công nghiệp Ngày nay, trình độ tự động hoá của
một quốc gia đánh giá cả một nền kinh tế của quốc gia đó Chính vì lẽ đó mà việc phát
triển tự động hoá là một việc hết sức cần thiết
Với mục đích bước đầu tiên xây dựng cho mình một cái nhìn tổng quan về hê ̣ thống tự
động Đồ án môn học “hê ̣ thống cơ điê ̣n tử” là cơ sở để một sinh viên ng ành cơ điện tử
tập hợp nhữ ng kiến thức đã học vận dụng vào thực tế chế tạo ra mô hình hê ̣ thống tự
động
Với sự chỉ bảo hướng dẫn tận tình của thầy Đặng Phước Vinh đã giúp chúng em
hiểu hơn về hê ̣ thống cơ điê ̣n tử,thấy được ứng dụng cần thiết trong thực tế
Em xin chân thành cảm ơn Nhà trường, Khoa Cơ khí và thầy Đặng Phước Vinh
đã tạo điều kiện thuận lợi nhất để chúng em hoàn thành đồ án môn học hệ thống Cơ
điện tử
Đa ̀ Nẵng ngày…… tháng……… năm 2012
Sinh viên thực hiê ̣n:
Trang 3MỤC LỤC
Trang
Nhiệm vụ……… 1
Lời nói đầu………2
Mục lục……… 3
Chương 1 Tổng quan các vấn đề liên quan……… 4
1.1 Tự động hóa ,sự phát triển của tự động hóa trong giai đoạn hiện nay……… 4
1.1.1 Khái niệm về tự động hóa……… 4
1.1.2 Các hình thức tự động hóa………5
1.1.3 Sự phát triển của tự động hóa……….5
1.2 Hệ thống cơ điện tử,xu thế phát triển của hệ thống cơ điện tử trong giai đoạn hiện nay……… 6
1.2.1 Các khái niệm cơ bản về hệ thống cơ điện tử……… 6
1.2.2 Lịch sử phát triển………7
1.2.3 Xu thế phát triển ……….8
Chương 2 Phân tích và chọn phương án thi công………10
2.1 Phân tích đề tài , tính cấp thiết của đề tài ………10
2.2 Hình ảnh thực tế của đề tài……… 11
Chương 3 Thiết kế hệ dẫn động cho hệ thống……… 13
3.1 Tính chọn động cơ vận chuyển tiến lùi………13
3.2 Tính chọn động cơ vận chuyển lên xuống……… 14
3.3 Tính chọn động cơ vận chuyển vào ra……….16
Chương 4 Thiết kế phần mạch điều khiển………18
4.1 Giới thiệu chung về vi điều khiển và chíp được sử dụng……… 18
4.1.1 Giới thiệu chung về vi điều khiển……….18
4.1.1.1 Phần cứng……… 18
4.1.1.2 Chức năng các khối……… 18
4.1.2 Giới thiệu cách điều chế xung PMW điều khiển động cơ 1 chiều………26
4.2 Tính toán mạch điều khiển……… 31
4.2.1 Mạch nguồn vi điều khiển………31
4.2.2 Mạch công suất……….33
4.2.2.1 Sơ lực cấu tạo động cơ 1 chiều……… 33
4.2.2.2 Một số phương pháp điều chỉnh tốc độ động cơ 1 chiều……… 34
Chương 5 Xây dựng lưu đồ thuật toán điều khiển hệ thống……… 37
Chương 6 Chương trình điều khiển……… 38
Kết luận……… 47
Tài liệu tham khảo……….48
Trang 4CHƯƠNG 1: TỔNG QUAN CÁC VẤN ĐỀ LIÊN QUAN
1.1 Tự động hóa, sự phát triển của tự động hóa trong giai đoạn hiện nay
1.1.1 Khái niệ m về tự động hóa:
Tự động hoá là dùng năng lượng phi sinh vật ( cơ, điện, điện tử …) để thực hiện
một phần hay toàn bộ quá trình công nghệ mà ít nhiều không cần sự can thiệp của
con người
Tự động hoá là một quá trình liên quan tới việc áp dụng các hệ thống cơ khí, điện
tử, máy tính để hoạt động, điều khiển sản xuất Công nghệ này bao gồm:
- Những công cụ máy móc tự động
- Máy móc lắp ráp tự động
- Người Máy công nghiệp
- Hệ thống vận chuyển và điều khiển vật liệu tự động
- Điều khiển có hồi tiếp và điều khiển quá trình bằng máy tính
- Hệ thống máy tính cho việc thảo kế hoạch, thu nhập dữ liệu và ra quyết
định để hỗ trợ các hoạt động sản xuất
Hình 1.1.Ứng dụng của robot để lắp ráp, vận chuyển trong hệ thống tự động
Trang 51.1.2 Các hình thức tự động hoá:
Tự động hoá cứng:
Là một hệ thống trong đó một chuỗi các hoạt động (xử lý hay lắp ráp ) cố định
trên một cấu hình thiết bị Các nguyên công trong dây chuyền này thường đơn giản
Chính sự hợp nhất và phối hợp các nguyên công như vậy vào một thiết bị làm cho
hệ thống trở nên phức tạp Những đặc trưng chính của tự động hoá cứng là:
Đầu tư ban đầu cao cho những thiết bị thiết kế theo đơn đặt hàng
- Năng suất máy cao
- Tương đối không linh hoạt trong việc thích nghi với các thay đổi sản
phẩm
Tự động hoá lập trình:
Thiết bị sản xuất được thiết kế với khả năng có thể thay đổi trình tự các nguyên
công để thích ứng với những cấu hình sản phẩm khác nhau
Chuỗi các hoạt động có thể điều khiển bởi một chương trình, tức là một tập lệnh
được mã hoá để hệ thống có thể đọc và diễn dịch chúng
Những chương trình mới có thể được chuẩn bị và nhập vào thiết bị để tạo ra sản
phẩm mới Một vài đặc trưng của tự động hoá lập trình là:
- Đầu tư cao cho những thiết bị có mục đích tổng quát
- Năng suất tương đối thấp so với tự động hoá cứng
- Sự linh hoạt khi có sự thay đổi trong cấu hình sản phẩm
- Thích hợp nhất là cho sản xuất hàng loạt
Tự động hoá linh hoạt là sự mở rộng của tự động hoá lập trình được Khái niệm
của tự động hoá linh hoạt đã được phát triển trong khoảng 25 đến 30 năm vừa
qua Và những nguyên lý vẫn còn đang phát triển
Tự động hoá linh hoạt:
Là hệ thống tự động hoá có khả năng sản xuất rất nhiều sản phẩm ( hay bộ phận
) khác nhau mà hầu như không mất thời gian cho việc chuyển đổi từ sản phẩm này
sang sản phẩm khác Không mất thời gian cho sản xuất cho việc lập trình lại và thay
thế các cài đặt vật lý ( công cụ đồ gá, máy móc ) Hậu quả là hệ thống có thể lên kế
hoạch kết hợp sản xuất nhiều loại sản xuất khác nhau thay vì theo từng loại riêng
biệt Đặc trưng của tự động hoá linh hoạt có thể tóm tắt như sau:
Đầu tư cao cho thiết bị
Sản xuất liên tục những sản phẩm hỗn hợp khác nhau
Tốc độ sản xuất trung bình
Tính linh hoạt khi sản phẩm thay đổi thiết kế
1.1.3 Sự phát triển của tự động hoá:
Tự động hoá theo tiếng Hy Lạp có nghĩa là: “ Tự chuyển động “ Ở đây chúng ta
hiểu thuật ngữ tự động hoá là thực hiện quá trình sản xuất mà trong đó tất cả các
tác động cần thiết để thực hiện nó, kể cả việc điều khiển quá trình được tiến hành
không có sự tham gia của con người
Trang 6Hiện nay tự động hoá được áp dụng rộng rãi trong nhiều ngành kinh tế quốc dân,
vì thế mà người ta gọi thế kỹ 20 này là thế kỹ của tự hoá và điều khiển tự động
Nhưng nếu rà theo lịch sử phát triển thì chúng ta thấy nó có nguồn góc từ thời cổ
xưa
Vào thế kỹ thứ nhất sau công nguyên Heron ở Ai Cập đã làm những màn
múa rối với nhiều loại con rối tự động
Đến thế kỹ 17-18 nhiều loại đồ chơi tự động và đồng hồ tự động đã xuất
hiện
Sau đó đến thế kỷ 18 đầu thế kỷ 19 trong giai đoạn cách mạng công nghiệp
ở châu âu tự động hoá mới xâm nhập vào thực tế sản xuất
Năm 765 xuất hiện bộ điều chỉnh tự động mức nước trong nồi hơi của
Pondunóp
Năm 784 bộ điều chỉnh tốc độ trong nồi hơi của Johnoát đã xuất hiện
Năm 1712 thợ cơ khí người Nga NARTOP đã thiết kế máy tiện chép hình
để tiện các chi tiết định hình Việc chép hình theo mẫu được tiến hành tự
động, chuyển động dọc của bàn dao là do bánh răng – thanh răng thực hiện
Và đến năm 1798 Henry Nandsley ở nước Anh mới dùng vít – Đai ốc để
dịch bàn máy
Năm 1873 Spender đã chế tạo máy tiện tự động có ổ cấp phôi và trục phân
phối với cam đĩa và cam thùng
Đến năm 1880 thì nhiều hãng trên thế giới như: Pittler, ludwig, lowe( đức ),
RSA( Anh ) … Đã chế tạo máy tiện tự động Rơvonve dùng phôi thép
thanh Sau đó xuất hiện máy tiện tự động tiên dọc định hình
Vào đầu thế kỉ 20 bắt đầu có máy tự động nhiều trục chính, máy tự động tổ
hợp và đường dây tự động
Ngày nay nhiều nước tiên tiến trên thế giới đã có nhiều đường dây tự động
phân xưởng tự động và cả nhà máy tự động gia công các sản phẩm hàng loạt
lớn, hàng khối như vòng bi, pittong, chốt ắc …
Để áp dụng tự động hoá vào điều kiện sản xuất hàng loạt nhỏ và sản xuất đơn
chiếc khi mà số lượng chi tiết trong loạt ít mà chủng loại lại nhiều, người ta đã
dùng máy điều khiển theo chương trình số Máy này cho phép điều chỉnh máy
nhanh khi chuyển sang gia công loạt chi tiết khác Bước phát triển tiếp theo là sự
xuất hiện của trung tâm gia công mà đặc điểm của nó là có ổ trữ dụng cụ để thay
thế theo trình tự gia công
1.2 Hệ thống cở điện tử, xu thế phát triển của hệ thống cơ điện tử trong giai đoạn
hiện nay:
1.2.1 Các khái niệm cơ bản về hệ thống cơ điện tử:
Cơ điện tử được mở ra từ định nghĩa ban đầu của công ty Yasakawa Electric :
“Thuật ngữ mechatronics được tạo thành bởi “mecha” trong mechanics và
“tronics” trong electronics
Cơ điện tử là sự kết hợp chặt chẽ của kỹ thuật cơ khí với điện tử và điều khiển
máy tính thông minh trong thiết kế, chế tạo các sản phẩm và quy trình công
nghiệp”
Harashima, Tomizuko và Fukada đưa ra năm 1996:
Trang 7“Cơ điện tử là sự kết hợp chặt chẽ của kỹ thuật cơ khí với điện tử và điều khiển
máy tính thông minh trong thiết kế, chế tạo các sản phẩm và quy trình công
nghiệp.”
Năm 1997, Shetty và Kolk quan niệ m
“Cơ điện tử là một phương pháp luận được dùng để thiết kế tối ưu các sản phẩm
cơ điện.”
Gần đây, Bolton đề xuất định nghĩa
“Một hệ cơ điện tử không chỉ là sự kết hợp chặt chẽ các hệ cơ khí, điện và nó
cũng không chỉ đơn thuần là một hệ điều khiển Nó là sự tích hợp đầy đủ các hệ
2001: ĐH BKĐN, ĐH SPKT TPHCM
Một số trường khác: Viê ̣n C ông nghệ Châu Á (AIT) tại HN, ĐH Cần thơ, ĐH
dân lập Phương Đông, DL Thăng Long, …
Đào tạo Cao học: ĐH BK Hà Nội hợp tác với ĐH Tổng hợp kỹ thuật Hannover
(CHLB Đứ c ) và ĐH Tổng hợp kỹ thuật Dresden (CHLB Đức ) mở lớp Cao ho ̣c
quốc tế
Trang 8Hình 1.2 Lịch sử phát triển của các hệ cơ học,điện,điện tử
1.2.3 Xu thế phát triển
Xu thế phát triển của cơ điện tử là ngày càng tích hợp trong nó nhiều công
nghệ cao hơn, sản phẩm ngày càng "thông minh" hơn đồng thời kích thước cũng
ngày càng nhỏ đi
Chiến lược phát triển khoa học và công nghệ Việt Nam đến năm 2010 đã xác
định một số lĩnh vực cơ điện tử chuyên sâu:
- Robot làm việc trong các môi trường độc hại, nguy hiểm, an ninh quốc phòng,
một số dây chuyền công nghiệp công nghệ cao
- Các sản phẩm CĐT trong một số lĩnh vực cơ khí trọng điểm như máy công cụ,
máy động lực, thiết bị điện-điện tử, cơ khí ôtô và các thiết bị đo lường điều
khiển
- Nghiên cứu vi cơ điện tử và nano cơ điện tử
Trang 9Hình 1.2: Các thành phần chính của hệ thống Robot
Trang 10CHƯƠNG 2 PHÂN TÍCH VÀ CHỌN PHƯƠNG ÁN THI CÔNG
2.1 Phân tích đề tài, Tính cấp thiết của đề tài
Hiện nay vấn đề xây dựng ga ra ô tô tự động để cất giữ xe ô tô rất quan
trọng Các bãi đậu xe nhiều tầng, tự động hoặc không, là một giải pháp đơn giản và
hiệu quả cho việc thiếu chỗ đậu xe.Có thể xây một bãi đậu xe tự động trên khoảng
đất trống nào, thậm chí là giữa các toà nhà, với nhiều kích cỡ và hình dáng khác
nhau
Ưu điểm lớn nhất của các bãi đỗ xe cao tầng là tiết kiệm diện tích không
gian
Với bãi đậu xe tự động diện tích mặt bằng được tận dụng tối đa vì các xe
được xếp sát nhau hơn ở các bãi đậu xe thông thường, vì không cần chừa khoảng
trống để mở cửa xe cho người a-vào Các hệ thống đậu xe tự động còn góp phần
cắt giảm lượng khí thải CO2 và tiêu thụ nhiên liệu, vì chúng không cần xe phải nổ
máy trong suốt quá trình vào chỗ đậu
Hệ thống còn giảm được thời gian cho người lái xe.Quá trình vận chuyển xe
vào chỗ đậu rất đơn giản và tài xế hầu như không phải làm gì Bạn có thể thanh
toán bằng chiếc thẻ điện tử đã lấy hoặc bằng tiền mặt và chiếc xe lại được tự
động nâng lên trả lại chủ nhân Không phải loay hoay tìm chỗ, không phải khéo
léo luồn lách, quay, rẽ, lùi, tiến… đến toát mồ hôi để đưa chiếc xe “chui” vừa
vặn ngay ngắn vào chỗ trống Chỉ mất khoảng 3 phút là chiếc xe của bạn đã yên
vị trong gara Ngoài ra, các hệ thống đậu xe tự động có thể được xây nổi hoặc
ngầm, tuỳ vào không gian “rảnh rỗi” trong thành phố
Nhược điểm của các hệ thống đậu xe tự động hầu như chỉ giới hạn ở những
rủi ro khách quan, điều mà các bãi đậu xe truyền thống cũng không tránh k hỏi,
như động đất…Bên cạnh đó là một số lỗi kỹ thuật có thể xảy ra, dù hãn hữu, như
khiến thân xe bị xước hoặc móp méo Một số trường hợp thậm chí trả nhầm xe
Với ưu nhiều hơn nhược điểm, rõ ràng hệ thống đậu xe tự động sẽ là tương
lai Với đại bộ phận các nước trên thế giới, hệ thống này vẫn còn mới mẻ, nhưng
ở Nhật Bản đã khá phổ biển Mỹ bắt đầu xây dựng loại hình bãi đậu xe tự động
từ năm 2002, còn ở châu Âu, những hệ thống kiểu này mới xuất hiện ở các thành
phố vào năm 2007
Hiện nay đất nước ta đang phát triển ,số lượng ô tô ngày càng nhiều,nhất là ở
các thành phố lớn nên việc xây dựng các gara ô tô tự động rất cần thiết để giảm tối
thiểu diện tích các bãi đậu xe và giảm được sự ùn tắc xe tại các nơi vào của bãi đậu
xe,giảm thời gian cần thiết cho chủ phương tiện cũng như khâu giám sát quản lý
bãi đỗ xe
Trang 112 2 Hình ảnh thực tế của đề tài :
Cấu trúc tổng quan của mô hình gara ô tô tự động gồm kho để xe và cánh tay rô bốt
vận chuyển xe
-Kho: gồm 2 tầng mỗi tầng 5 kho,và vị trí xe vào ra
Hình 2.1 Kho để xe
Trang 12-Cánh tay rô bôt vận chuyển xe :
Hình 2.2 Cánh tay vận chuyển xe
Trang 13CHƯƠNG 3: THIẾT KẾ HỆ THỐNG DẪN ĐỘNG CHO HỆ THỐNG
3.1 Tính chọn động cơ vận chuyển tiến lùi
Hình 3.1 Động cơ vận chuyển tiến lu ̀ i
Trong đó: 1-Động cơ truyền động
Gọi Pt là công suất tính toán trên trục máy công tác (w)
Pct là công suất cần thiết trên trục động cơ
η là hiệu suất truyền động
η = η12 η23 η3 η4
Với: η1 = 0,98 hiệu suất bộ truyền trục vít bánh vít
η2 = 0,99 hiệu suất của 1 cặp ổ lăn
η3 = 1 hiệu suất của khớp nối
η4 = 0,96 hiệu suất bộ truyền cáp
Trang 14Tính số vòng quay của tang:
Tính sơ bộ số vòng quay của động cơ
Chọn sơ bộ tỉ số truyền của các bộ truyền:
ihgt = 12 – tỉ số truyền của hộp giảm tốc
ix =3 – tỉ số truyền của bộ cáp
Số vòng quay của động cơ là:
ndc = nt i hgt i x = 23 36 = 828 (v/p)
Chọn động cơ
Vì trong đề tài này sử dụng mạch băm xung để điều khiển tốc độ động cơ nên có
thể chọn loại động cơ có tốc độ cao hơn so với tính toán trên và dùng kỹ thuật
băm xung để điều chỉnh tốc độ động cơ
Công suất định mức: Pđm = 1,5 kw
Tốc độ quay: ndc = 700 (v/p)
3 2 Tính chọn động cơ vận chuyển lên xuống
Hình 3.2 Sơ đồ nguyên lý truyền động động cơ vận chuyển lên xuống
Trong đó : 1-Động cơ truyền động
2-Hộp giảm tốc bộ truyền trục vít bánh vít
3- Cáp kéo
4- Tải
Trang 15Các số liệu cho trước:
Vận tốc cáp kéo : v = 0.5 m/s
Lực kéo cáp : F = 2,5 KN
Đặc tính làm việc : Êm
Thời gian phục vụ : 15500 giờ
Đường kính tang : D = 500mm
Gọi Pt là công suất tính toán trên trục máy công tác (kw)
Pct là công suất cần thiết trên trục động cơ
η là hiệu suất truyền động
η = η12 η23 η3 η4
Với: η1 = 0,98 hiệu suất bộ truyền trục vít bánh vít
η2 = 0,99 hiệu suất của 1 cặp ổ lăn
η3 = 1 hiệu suất của khớp nối
η4 = 0,96 hiệu suất bộ truyền cáp
Tính sơ bộ số vòng quay của động cơ
Chọn sơ bộ tỉ số truyền của các bộ truyền:
ihgt = 12 – tỉ số truyền của hộp giảm tốc
ix = 3 – tỉ số truyền của bộ truyền cáp
Số vòng quay của động cơ là:
ndc = nt i hgt i x = 27 36 = 972 (v/p)
Chọn động cơ
Vì trong đề tài này sử dụng mạch băm xung để điều khiển tốc độ động cơ nên có
thể chọn loại động cơ có tốc độ cao hơn so với tính toán trên và dùng kỹ thuật
băm xung để điều chỉnh tốc độ động cơ
Công suất định mức: Pđm = 1,5 kw
Tốc độ quay: ndc = 900 (v/p)
Trang 163 3 Tính chọn động cơ vận chuyển vào ra
Hình 3.3 Động cơ vận chuyển vào ra
Lực kéo thanh răng : F = 1,5 kN
Đặc tính làm việc : Êm
Thời gian phục vụ : 15500 giờ
Đường kính tang : D = 100mm
Gọi Pt là công suất tính toán trên trục máy công tác (kw)
η là hiệu suất truyền động
η = η12 η23 η3 η4
Với: η1 = 0,98 hiệu suất bộ truyền bánh răng trụ
η2 = 0,99 hiệu suất của 1 cặp ổ lăn
η3 = 1 hiệu suất của khớp nối
η4 = 0,96 hiệu suất bộ truyền bánh răng
Nt = 60.1000 𝑉
𝜋.𝐷 =60.1000 0,2
3 ,14.100 = 52 v/ph
Trang 17Nt: tốc độ quay của tang (V/P)
V = 0,5 m/s: vận tốc của tang
D = 500 mm: đường kính tang
Tính sơ bộ số vòng quay của động cơ
Chọn sơ bộ tỉ số truyền của các bộ truyền:
ihgt = 12 – tỉ số truyền của hộp giảm tốc
ix = 4 – tỉ số truyền của bộ truyền xích
Số vòng quay của động cơ là:
ndc = nt i hgt i x = 137 48 = 1296 (v/p)
Chọn động cơ
Vì trong đề tài này sử dụng mạch băm xung để điều khiển tốc độ động cơ nên có
thể chọn loại động cơ có tốc độ cao hơn so với tính toán trên và dùng kỹ thuật
băm xung để điều chỉnh tốc độ động cơ
Công suất định mức: Pđm = 12 w
Tốc độ quay: ndc = 900 (v/p)
Trang 18
CHƯƠNG 4 : THIẾT KẾ PHẦN MẠCH ĐIỀU KHIỂN 4.1.Giới thiệu chung về vi điều khiển và chíp được sử dụng
4.1.1 Giới thiệu về Vi Điều khiển
Trong rất nhiều ứng dụng như máy in, máy ATM, Rôbốt , CD play, disk
driver,…thường sử dụng động cơ một chiều Trong đa số các ứng dụng đó, động cơ
đòi hỏi phải có một bộ điều khiển tốt, hiệu suất cao, nhỏ gọn Đó là những đòi hỏi hết
sức phức tạp Phần này sẻ giới thiệu phương pháp “ Điều khiển tốc độ động cơ DC
bằng phương pháp băm xung, sử dụng vi điều khiển AT89C51 và mạch cầu H ” nhằm
đạt được một số yêu cầu trên Nếu giải quyết vấn tốt đề trên thì sẽ cải thiện được chất
lượng của các máy sử dụng động cơ DC rất lớn Như máy CNC, máy đĩa, rôbốt,……
4.1.1.1 Phần Cứng
Hình 4.1 Sơ đồ khối
4.1.1.2 Chức năng mổi khối:
- Khối hiển thị : Gồm 2 led 7 thanh hiển thì giá tri tương đương của tốc độ và 3
led đơn với 3màu đỏ, xanh,vàng tương ứng với 3 trạng thái quay thuận, quay nghịch và
dừng lại(stop)
- Khối điều chỉnh: Gồm 5 nút bấm với các chức năng dừng (stop) quay thuận, quay
nghịch, tăng tốc, giảm tốc
- Khối động cơ: Gồm mạch cầu H sử dụng 2 cặp transistor thuận nghịch để nhận tín
hiệu điều khiển động cơ DC
- Khối VĐK89C51: Gồm mạch reset,mạch tạo dao dộng và mạch chứa VĐK89C51
cùng các cổng ghép nối vào ra của VĐK thông qua các port
VI ĐIỀU KHIỂN 8501
Bắt đầu xuất hiện vào năm 1980, trải q ua gần 30 năm, hiện đã có tới hàng trăm
biến thể (derrivatives) được sản xuất bởi hơn 20 hãng khác nhau, trong đó phải kể đến
các đại gia trong làng bán dẫn (Semiconductor) như ATMEL, Texas Instrument,
Philips, Analog Devices… Tại Việt Nam, các biến thể của hãng ATMEL là AT89C51,
AT89C52, AT89S51, AT89S52… đã có thời gian xuất hiện trên thị trường khá lâu và
có thể nói là được sử dụng rộng rãi nhất trong các loại vi điều khiển 8 bit
Trang 19
Hình 4.2 Sơ đồ khối tổng quát
Cấu trúc bus
Bus địa chỉ của họ vi điều khiển 8051 gồm 16 đường tín hiệu (thường gọi là bus địa
chỉ 16 bit) Với số lượng bit địa chỉ như trên, không gian nhớ của chip được mở rộng tối
đa là 216 = 65536 địa chỉ, tương đương 64K Bus dữ liệu của họ vi điều khiển 8051
gồm 8 đường tín hiệu (thường gọi là bus dữ liệu 8 bit), đó là lý do tại sao nói 8051 là họ
vi điều khiển 8 bit Với độ rộng của bus dữ liệu như vậy, các chip họ 8051 có thể xử lý
các toán hạng 8 bit trong một chu kỳ lệnh
CPU (Central Processing Unit)
CPU là đơn vị xử lý trung tâm, đó là bộ não của toàn bộ hệ thống vi điện tử được tích
hợp trên chip vi điều khiển CPU có cấu tạo chính gồm một đơn vị xử lý số học và lôgic
ALU (Arithmethic Logic Unit) - nơi thực hiện tất cả các phép toán số học và phép lôgic
cho quá trình xử lý
Bộ nhớ chương trình (Program Memory)
Không gian bộ nhớ chương trình của AT89 là 64K byte, tuy nhiên hầu hết các vi
điều khiển AT89 trên thị trường chỉ tích hợp sẵn trên chip một lượng bộ nhớ chương
trình nhất định và chiếm dải địa chỉ từ 0000h trở đi trong không gian bộ nhớ chương
trình AT89C51/AT89S51 có 4K byte bộ nhớ chương trình loại Flash tích hợp sẵn bên
trong chip Đây là bộ nhớ cho phép ghi/xóa nhiều lần bằng điện, chính vì thế cho phép
người sử dụng thay đổi chương trình nhiều lần Số lần ghi/xóa được thường lên tới hàng
vạn lần
Bộ nhớ chương trình dùng để chứa mã của chương trình nạp vào chip Mỗi lệnh được
mã hóa bởi 1 hay vài byte, dung lượng của bộ nhớ chương trình phản ánh số lượng lệnh
Trang 20mà bộ nhớ có thể chứa được Địa chỉ đầu tiên của bộ nhớ chương trình (0x0000) chính
là địa chỉ Reset của 8051 Ngay sau khi reset (do tắt bật nguồn, do mức điện áp tại chân
RESET bị kéo lên 5V ), CPU sẽ nhảy đến thựchiện lệnh đặt tại địa chỉ này trước tiên,
luôn luôn là như vậy Phần còn trống trong không gian chương trình không dùng để làm
gì cả Nếu muốn mở rộng bộ nhớ chương trình, ta phải dùng bộ nhớ chương trình bên
ngoài có dung lượng như ý muốn Tuy nhiên khi dùng bộ nhớ chương trình ngoài, bộ
nhớ chương trình onchip không dùng được nữa, bộ nhớ chương trình ngoài sẽ chiếm dải
địa chỉ ngay từ địa chỉ 0x0000
Bộ nhớ dữ liệu (Data Memory)
Vi điều khiển họ 8051 có không gian bộ nhớ dữ liệu là 64K địa chỉ, đó cũng là
dung lượng bộ nhớ dữ liệu lớn nhất mà mỗi chip thuộc họ này có thể có được (nếu phối
ghép một cách chính tắc, sử dụng các đường tín hiệu của bus địa chỉ và dữ liệu) Bộ nhớ
dữ liệu của các chip họ 8051 có thể thuộc một hay hai loại: SRAM hoặc EEPROM Bộ
nhớ dữ liệu SRAM được tích hợp bên trong mọi chip thuộc họ vi điều khiển này, có
dung lượng khác nhau tùy loại chip, nhưng thường chỉ khoảng vài trăm byte Đây chính
là nơi chứa các biến trung gian trong quá trình hoạt động của chip khi mất điện, do bản
chất của SRAM mà giá trị của các biến này cũng bị mất theo Khi có điện trở lại, nội
dung của các ô nhớ chứa các biến này cũng là bất kỳ, không thể xác định trước Bên
cạnh bộ nhớ loại SRAM, một số chip thuộc họ 8051 còn có thêm bộ nhớ dữ liệu loại
EEPROM với dung lượng tối đa vài Kbyte, tùytừng loại chip cụ thể Dưới đây là một
vài ví dụ về bộ nhớ chương trình của một số loại chip thông dụng thuộc họ 8051
Đối với các chip có bộ nhớ SRAM 128 byte thì địa chỉ của các byte SRAM này được
đánh số từ 00h đến 7Fh Đối với các chip có bộ nhớ SRAM 256 byte thì địa chỉ của các
byte SRAM được đánh số từ 00h đến FFh Ở cả hai loại chip, SRAM có địa chỉ từ 00h
đến 7Fh được gọi là vùng RAM thấp, phần có địa chỉ từ 80h đến FFh (nếu có) được gọi
là vùng RAM cao
Bên cạnh các bộ nhớ, bên trong mỗi chip 8051 còn có một tập hợp các thanh
ghi chức năng đặc biệt (SFR – Special Function Register) Các thanh ghi này lien quan
đến hoạt động của các ngoại vi onchip (các cổng vào ra, timer, ngắt .) Địa chỉ của
chúng trùng với dải địa chỉ của vùng SRAM cao, tức là cũng có địa chỉ từ 80h đến FFh
Trang 21
Bảng 2.Các thanh nghi đặc biệt SFR
Cổng vào ra song song (I/O Port)
8051 có 4 cổng vào ra song song, có tên lần lượt là P0, P1, P2 và P3 Tất cảcác cổng
này đều là cổng vào ra hai chiều 8bit Các bit của mỗi cổng là một chân trên chip, như
vậy mỗi cổng sẽ có 8 chân trên chip Hướng dữ liệu dùng cổng đó làm cổng ra hay cổng
vào) là độc lập giữa các cổng và giữa các chân (các bit) trong cùng một cổng Ví dụ, ta
có thể định nghĩa cổng P0 là cổng ra, P1 là cổng vào hoặc ngược lại một cách tùy ý, với
cả 2 cổng P2
và P3 còn lại cũng vậy Trong cùng một cổng P0, ta cũng có thể định nghĩa chân P0.0 là
cổng vào, P0.1 lại là cổng ra tùy ý
Trang 22Cổng P0 không có điện trở treo cao (pullup resistor) bên trong, mạch lái tạomức cao
chỉ có khi sử dụng cổng này với tính năng là bus dồn kênh địa chỉ/dữ liệu Như vậy với
chức năng ra thông thường, P0 là cổng ra open drain, với chức năng vào, P0 là cổng vào
cao trở (high impedance) Nếu muốn sử dụng cổng P0 làm cổng vào/ra thông thường, ta
phải thêm điện trở pullup bên ngoài Giá trị điện trở pullup bên ngoài thường từ 4K7
đến 10K
Các cổng P1, P2 và P3 đều có điện trở pullup bên trong, do đó có thể dùng với chức
năng cổng vào/ra thông thường mà không cần có thêm điện trở pullup bên ngoài Thực
chất, điện trở pullup bên trong là các FET, không phải điện trở tuyến tính thông thường,
tuy vậy nhưng khả năng phun dòng ra của mạch lái khi đầu ra ở mức cao (hoặc khi là
đầu vào) rất nhỏ, chỉ khoảng 100 micro Ampe
Cổng vào ra nối tiếp (Serial Port)
Cổng nối tiếp trong 8051 chủ yếu được dùng trong các ứng dụng có yêu cầu truyền
thông với máy tính, hoặc với một vi điều khiển khác Liên quan đến cổng nối tiếp chủ
yếu có 2 thanh ghi: SCON và SBUF Ngoài ra, một thanh ghi khác là thanh ghi PCON
(không đánh địa chỉ bit) có bit 7 tên là SMOD quy định tốc độ truyền của cổng nối tiếp
có gấp đôi lên (SMOD = 1) hay không (SMOD = 0)
Ngắt (Interrupt)
8051 chỉ có một số lượng khá ít các nguồn ngắt (interrupt source) hoặc có thể gọi là
các nguyên nhân ngắt Mỗi ngắt có một vector ngắt riêng, đó là một địa chỉ cố định nằm
trong bộ nhớ chương trình, khi ngắt xảy ra, CPU sẽ tự động nhảy đến thực hiện lệnh
nằm tại địa chỉ này
Với 8052, ngoài các ngắt trên còn có thêm ngắt của timer2 (do vi điều khiểnnày có
thêm timer2 trong số các ngoại vi onchip)
Mỗi ngắt được dành cho một vector ngắt kéo dài 8byte Về mặt lý thuyết, nếu chương
trình đủ ngắn, mã tạo ra chứa đủ trong 8 byte, người lập trình hoàn toàn có thể đặt phần
chương trình xử lý ngắt ngay tại vector ngắt Tuy nhiên trong hầu hết các trường hợp,
chương trình xử lý ngắt có dung lượng mã tạo ra lớn hơn 8byte nên tại vector ngắt, ta
chỉ đặt lệnh nhảy tới chương trình xử lý ngắt nằm ở vùng nhớ khác Nếu không làm vậy,
mã chương trình xử lý ngắt này sẽ lấn sang, đè vào vector ngắt kế cận
Bảng 4.3 Tóm tắt các ngắt trong 8051
Trang 23Để cho phép một ngắt, bit tương ứng với ngắt đó và bit EA phải được đặt
bằng 1 Thanh ghi IE là thanh ghi đánh địa chỉ bit, do đó có thể dùng các lệnh tác động
bit để tác động riêng rẽ lên từng bit mà không làm ảnh hưởng đến giá trị các bit khác
Cờ ngắt hoạt động độc lập với việc cho phép ngắt, điều đó có nghĩa là cờ ngắt sẽ tự
động đặt lên bằng 1 khi có sự kiện gây ngắt xảy ra, bất kể sự kiện đó có được cho phép
ngắt hay không Do vậy, trước khi cho phép một ngắt, ta nên xóa cờ của ngắt đó để đảm
bảo sau khi cho phép, các sự kiện gây ngắt trong quá khứ không thể gây ngắt nữa
8051 có 2 ngắt ngoài là INT0 và INT1 Ngắt ngoài được hiểu là ngắt được gây ra
bởi sự kiện mức lôgic 0 (mức điện áp thấp, gần 0V) hoặc sườn xuống (sự chuyển mức
điện áp từ mức cao về mức thấp) xảy ra ở chân ngắt tương ứng (P3.2 với ngắt ngoài 0
và P3.3 với ngắt ngoài 1) Việc lựa chọn kiểu ngắt được thực hiện bằng các bit IT
(Interrupt Type) nằm trong thanh ghi TCON Đây là thanh ghi điều khiển timer nhưng 4
bit LSB (bit0 3) được dùng cho các ngắt ngoài
Bảng 4.4 Thanh ghi ngắt ngoài
Khi bit ITx = 1 thì ngắt ngoài tương ứng được chọn kiểu là ngắt theo sườn xuống,
ngược lại nếu bit ITx = 0 thì ngắt ngoài tương ứng được sẽ có kiểu ngắt là ngắt theo
mức thấp Các bit IE là các bit cờ ngắt ngoài, chỉ có tác dụng trong trường hợp kiểu ngắt
được chọn là ngắt theo sườn xuống Khi kiểu ngắt theo sườn xuống được chọn thì ngắt
sẽ xảy ra duy nhất một lần
khi có sườn xuống của tín hiệu, sau đó khi tín hiệu ở mức thấp, hoặc có sườn lên, hoặc ở
mức cao thì cũng không có ngắt xảy ra nữa cho đến khi có sườn xuống tiếp theo Cờ
ngắt IE sẽ dựng lên khi có sườn xuống và tự động bị xóa khi CPU bắt đầu xử lý ngắt
Khi kiểu ngắt theo mức thấp được chọn thì ngắt sẽ xảy ra bất cứ khi nào tín hiệu tạ i
chân ngắt ở mức thấp Nếu sau khi xử lý xong ngắt mà tín hiệu vẫn ở mức thấp thì lại
ngắt tiếp, cứ như vậy cho đến khi xử lý xong ngắt lần thứ n , tín hiệu đã lên mức cao rồi
thì thôi không ngắt nữa Cờ ngắt IE trong trường hợp này không có ý nghĩa gì cả.Thông
thường kiểu ngắt hay được chọn là ngắt theo sườn xuống
Bộ định thời/Bộ đế m (Time r/Counter)
8051 có 2 timer tên là timer0 và timer1 Các timer này đều là timer 16bit, giátrị
đếm max do đó bằng 216 = 65536 (đếm từ 0 đến 65535)
Trang 24Hai timer có nguyên lý hoạt động hoàn toàn giống nhau và độc lập Sau khi cho
phép chạy, mỗi khi có thêm một xung tại đầu vào đếm, giá trị của timer sẽ tự động được
tăng lên 1 đơn vị, cứ như vậy cho đến khi giá trị tăng lên vượt quá giá trị max mà thanh
ghi đếm có thể biểu diễn thì giá trị đếm lại được đưa trở về giá trị min (thông thường
min = 0) Sự kiện này được hiểu là sự kiện tràn timer (overflow) và có thể gây ra ngắt
nếu ngắt tràn timer được cho phép (bit ETx trong thanh ghi IE = 1) Việc cho timer
chạy/dừng được thực hiện bởi các bit TR trong thanh ghi TCON (đánh địa chỉ đến từng
bit)
Bảng 4.5 Thanh ghi điều khiển TCON
Khi bit TRx = 1, timerx sẽ đếm, ngược lại khi TRx = 0, timerx sẽ không đếm mặc
dù vẫn có xung đưa vào Khi dừng không đếm, giá trị của timer được giữ nguyên Các
bit TFx là các cờ báo tràn timer, khi sự kiện tràn timer xảy ra, cờ sẽ được tự động đặt
lên bằng 1 và nếu ngắt tràn timer được cho phép, ngắt sẽ xảy ra Khi CPU xử lý ngắt
tràn timerx, cờ ngắt TFx tương ứng sẽ tự động được xóa về 0 Giá trị đếm 16bit của
timerx được lưu trong hai thanh ghi THx (byte cao) và TLx (byte thấp) Hai thanh ghi
này có thể ghi/đọc được bất kỳ lúc nào Tuy nhiên nhà sản xuất khuyến cáo rằng nên
dừng timer (cho bit TRx = 0) trước khi ghi/đọc các thanh ghi chứa giá trị đếm Các
timer có thể hoạt động theo nhiều chế độ, được quy định bởi các bittrong thanh ghi
TMOD (không đánh địa chỉ đến từng bit)
Để xác định thời gian, người ta chọn nguồn xung nhịp (clock) đưa vào đếm trong
timer là xung nhịp bên trong (dành cho CPU) Nguồn xung nhịp này thường rất đều đặn
(có tần số ổn định), do đó từ số đếm của timer người ta có thể nhân với chu kỳ xung
nhịp để tính ra thời gian trôi qua Timer lúc này được gọi chính xác với cái tên “timer”,
tức bộ định thời
Để đếm các sự kiện bên ngoài, người ta chọn nguồn xung nhịp đưa vào đếm trong timer
là tín hiệu từ bên ngoài (đã được chuẩn hóa về dạng xung vuông 0V/5V) Các tín hiệu
này sẽ được nối với các bit cổng có dồn kênh thêm các tính năng T0/T1/T2 Khi có sự
kiện bên ngoài gây ra thay đổi mức xung ở đầu vào đếm, timer sẽ tự động tăng lên 1
đơn vị giống như trường hợp đếm xung nhịp bên trong Lúc này, timer được gọi chính
xác với cái tên khác: “counter”, tức bộ đếm (sự kiện) Nhìn vào bảng mô tả thanh ghi
TMOD bên trên, ta có thể nhận thấy có 2 bộ 4 bit giống nhau (gồm GATEx, C/Tx, Mx0
và Mx1) dành cho 2 timer0 và 1 Ý nghĩa các bit là như nhau đối với mỗi timer
Bit GATEx quy định việc cho phép timer đếm (run timer) Nếu GATEx = 0,timerx
sẽ đếm khi bit TRx bằng 1, dừng khi bit TRx bằng 0 Nếu GATEx = 1, timerx sẽ chỉ
đếm khi bit TRx = 1 và tín hiệu tại chân INTx = 1, dừng khi một trong hai điều kiện
trên không còn thỏa mãn Thông thường người ta dùng timer với GATE = 0, chỉ dùng
timer với GATE = 1 trong trường hợp muốn đo độ rộng xung vì lúc đó timer sẽ chỉ đếm
thời gian khi xung đưa vào chân INTx ở mức cao Bit C/Tx quy định nguồn clock đưa
vào đếm trong timer Nếu C/Tx = 0, timer sẽ được cấu hình là bộ định thời, nếu C/Tx =
1, timer sẽ được cấu hình là bộ đếm sự kiện Hai bit còn lại (Mx0 và Mx1) tạo ra 4 tổ
hợp các giá trị (00,01,10 và 11) ứng với 4 chế độ hoạt động khác nhau của timerx
Trong 4 chế độ đó thường chỉ dùng chế độ timer/counter 16bit (Mx1 = 0, Mx0 = 1) và
chế độ Auto Reload 8bit timer/counter (Mx1 = 1, Mx0 = 0).Trong chế độ timer/counter
16bit, giá trị đếm (chứa trong hai thanh ghi THx và TLx) tự động được tăng lên 1 đơn vị
mỗi lần nhận được thêm một xung nhịp Khi giá trị đếm tăng vượt quá giá trị max
65535 thì sẽ tràn về 0, cờ ngắt TFx được tự động đặt = 1 Chế độ này được dùng trong