Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
3,44 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG NGHIÊN CỨU THIẾT KẾ MODUL ĐIỀU KHIỂN ĐỘNG CƠ SERVO DÙNG CHO THỰC TẬP TRUYỀN ĐỘNG ĐIỆN S K C 0 9 MÃ SỐ: T23 - 2008 S KC 0 Tp Hồ Chí Minh, 2009 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM ĐỀ TÀI NCKH CẤP TRƯỜNG NGHIÊN CỨU THIẾT KẾ MODULE ĐIỀU KHIỂN ĐỘNG CƠ SERVO DÙNG CHO THỰC TẬP TRUYỀN ĐỘNG ĐIỆN MÃ SỐ: T23 - 2008 THUỘC NHÓM NGÀNH : KHOA HỌC KỸ THUẬT NGƯỜI CHỦ TRÌ : THS TRẦN QUANG THỌ NGƯỜI THAM GIA : ĐƠN VỊ : KHOA ĐIỆN TP HỒ CHÍ MINH – 3/2009 Chương Tổng quan động servo Trang Chương Tổng quan động servo I.1 Giới thiệu Động servo ứng dụng rộng rãi thực tế, từ thiết bò điều khiển sản xuất ứng dụng dân dụng Phổ biến có hai loại động servo động servo AC servo DC Trong khuôn khổ đề tài đề cập loại động servo DC Nguồn cấp để điều khiển động servo DC thường dùng loại sau: điều khiển tuyến tính điều khiển độ rộng xung PWM Điều khiển tuyến tính sử dụng số trường hợp cần thiết, tổn hao linh kiện lớn cách điều khiển này, làm cho hiệu suất điều khiển tuổi thọ linh kiện thấp Đa số sử dụng phương pháp điều khiển độ rộng xung để điều khiển động servo DC Động DC vốn hệ thống hồi tiếp vòng hở cấp điện để động quay chúng quay ta khơng biết, kể động bước động quay góc xác định tùy vào số xung nhận Việc thiết lập hệ thống điều khiển để xác định ngăn cản chuyển động quay động làm động khơng quay khơng dễ dàng Mặt khác, động servo thiết kế cho hệ thống hồi tiếp vòng kín Tín hiệu động nối với mạch điều khiển Khi động quay, vận tốc vị trí hồi tiếp mạch điều khiển Nếu có lý ngăn cản chuyển động quay động cơ, cấu hồi tiếp nhận thấy tín hiệu đầu chưa đạt vị trí mong muốn mạch điều khiển tiếp tục chỉnh sai lệch cho động đạt vị trí xác Động servo có nhiều kiểu dáng kích thước, sử dụng nhiều ứng dụng khác nhau, từ máy tiện điều khiển máy tính mơ hình máy bay xe Ứng dụng động servo robot, loại với động dùng mơ hình máy bay xe Các động servo điều khiển vơ tuyến gọi động servo R/C Trong thực tế, thân động servo khơng phải điều khiển vơ tuyến, nối với máy thu vơ tuyến máy bay hay xe Động servo nhận tín hiệu từ máy thu Như có nghĩa ta khơng cần phải điều khiển robot tín hiệu vơ tuyến cách sử dụng động servo, trừ ta muốn Ta điều khiển động servo T23-2008 Chương Tổng quan động servo Trang máy tính, vi xử lý hay chí mạch điện tử đơn giản dùng IC 555 I.2 Hoạt động servo Motor servo Bo mạch điện tử Dây nguồn (đỏ) Dây tín hiệu (vàng trắng) Dây mass âm (đen) Cảm biến vị trí Trục nối tải/hộp số Bánh xe servo Vỏ máy 10 IC điều khiển Tốc độ quay trục động servo lên đến vài ngàn vòng phút, nên thường để sử dụng thực tế phải có thêm phận truyền T23-2008 Chương Tổng quan động servo Trang động có bánh hay hộp số để giảm tốc độ cho phù hợp với máy sản xuất Để quay động cơ, tín hiệu số gởi tới mạch điều khiển Tín hiệu khởi động động cơ, thơng qua chuỗi bánh Vị trí trục cảm biến vị trí cho biết vị trí trục servo Khi trục cảm biến vị trí đạt vị trí mong muốn, mạch điều khiển tắt động Thường động servo thiết kế để quay có giới hạn khơng phải quay liên tục động DC hay động bước Mặc dù chỉnh động servo quay liên tục cơng dụng động servo đạt góc quay xác khoảng từ 90o – 180o Việc điều khiển ứng dụng để lái robot, di chuyển tay máy lên xuống, quay camera để quan sát khắp phòng… Trục động servo R/C định vị nhờ vào kỹ thuật gọi điều khiển độ rộng xung PWM Trong hệ thống này, servo đáp ứng dãy xung số ổn định Cụ thể hơn, mạch điều khiển đáp ứng tín hiệu số có xung biến đổi từ – ms Các xung gởi 50 lần/giây Chú ý khơng phải số xung giây điều khiển servo mà chiều dài xung Servo đòi hỏi khoảng 30 – 60 xung/giây Nếu số q thấp, độ xác cơng suất để trì servo giảm I.3 Điều khiển động servo Các khái niệm điều khiển động servo không đổi đáng kể năm mươi năm qua Lý phải sử dụng hệ thống servo khác với hệ thống vòng hở cần cải thiện thời gian đáp ứng độ, giảm sai số trạng thái tónh giảm độ nhạy tham số phụ tải Nói chung cải thiện thời gian đáp ứng độ có nghóa làm tăng dãi tần số hoạt động hệ thống Thời gian đáp ứng nhanh T23-2008 Chương Tổng quan động servo Trang có nghóa cho phép máy làm việc với suất cao Giảm sai số trạng thái tónh liên quan đến độ xác hệ thống servo Cuối cùng, giảm độ nhạy tham số phụ tải nghóa hệ thống servo đáp ứng với dao động tham số đầu vào đầu Ví dụ, dao động tham số đầu vào điện áp nguồn lưới cung cấp, đầu thay đổi mô men quán tính phụ tải, trọng tải, nhiễu mô men trục máy sản xuất,… Nói chung, việc điều khiển servo phân thành hai vấn đề Loại vấn đề thứ liên quan đến việc kiểm tra lệnh đặt vào, xác đònh lệnh đặt vào điều khiển theo chế độ Có chế độ điều khiển điều khiển theo vò trí, điều khiển theo tốc độ, điều khiển theo gia tốc, điều khiển theo mô men Đối với chuyển động thẳng lực thay cho mô men Loại vấn đề thứ hai điều khiển servo đặc tính khử nhiểu hệ thống Các loại nhiễu thứ từ nhiễu mô men trục động ước lượng sai tham số động dùng để điều khiển Các điều khiển quen thuộc PID PIV dùng để khắc phục vấn đề Khác với điều khiển tuyến tính, điều khiển khử nhiễu tác động lại với nhiễu sai số chưa biết Các hệ thống điều khiển servo hoàn chỉnh thường kết hợp hai loại điều khiển servo để có kết tốt Bây ta tìm hiểu hai loại điều khiển khử nhiễu phổ biến Điều khiển PID Các thành phần hệ thống chuyển động servo tiêu biểu hình sau: T23-2008 Chương Tổng quan động servo Trang Sử dụng công thức laplace chuẩn hình này, điều khiển servo theo vòng dòng điện mô hình đơn giản hàm truyền tuyến tính G(s) Dó nhiên servo có giới hạn dòng đỉnh, nên mô hình tuyến tính không hoàn toàn xác, nhiên, cho kết chấp nhận phân tích Theo dạng nhất, servo điều khiển nhận tín hiệu đặt điện áp đặc trưng cho dòng điện mong muốn động Mô men trục động Td quan hệ với dòng điện động theo hệ số mô men Kt: TdKt.I Mục đích hàm truyền điều chỉnh dòng điều chỉnh mô men xấp xỉ theo tần số hoạt động thấp tương ứng G(s)=1 Động servo mô hình hóa khối quán tính J, ma sát dính b số mô men Kt Khối quán tính bao gồm quán tính động quán tính tải Giả sử tải ghép chặt khớp nối cứng với trục động cơ, điều cho ta biết mô men quán tính tổng hệ thống bao gồm tổng mô men quán tính động tải tần số điều khiển Vò trí thực động (s) thường đo encoder resolver nối trực tiếp với trục động Ta giả sử rằ ng, thiết bò hồi tiếp nối cứng với trục động để bỏ qua tần số cộng hưởng học T23-2008 Chương Tổng quan động servo Trang Kế truyền động động điều khiển vò trí vòng kín Một điều khiển servo tổng quát gồm phát quỹ đạo PID Bộ phát quỹ đạo cho biết lệnh đặt vò trí ký hiệu *(s) Bộ điều khiển PID hoạt động nhờ vào sai số vò trí lệnh đặt mô men đôi xác đònh cách ước lượng số mô men Kt Nếu Kt độ lợi PID đo lại tương ứng cách đơn giản, thường xác số mô men Thường dùng xấp xỉ Kt Kt Có hệ số điều chỉnh Kp, Ki Kd Các đại lượng hoạt động phụ thuộc vào sai số vò trí so với giá trò đặt: error(t) = *(t) - (t) Đầu PID tín hiệu mô men miền thời gian: d(error ( t )) PIDoutput( t ) Kp(error ( t )) Ki (error ( t ))dt Kd dt Điều chỉnh vòng PID Cách thử sai cách sử dụng phổ biến để xác đònh thành phần PID cách dựa vào kinh nghiệm người vận hành hệ thống điều khiển trình Có bước để thực sau: Bước 1: đặt Ki Kd kích thích hệ thống hàm nấc step Tăng từ từ Kp vò trí trục bắt đầu dao động Tại điểm ghi lại giá trò Kp đặt Ko giá trò Lưu lại tần số dao động fo Bước 2: đặt hệ số sau: Kp=6Ko, Nm/rad Ki=2foKp, Nm/(rad.s) Kd=Kp/(8fo), Nm/(rad.s) Nói rộng kp ảnh hưởng lên toàn đáp ứng hệ thống sai số vò trí Đại lượng Ki cần buộc sai số vò trí trạng thái tónh lệnh đặt vò trí số Còn đại lượng Kd cần cung cấp hoạt động giảm sốc đáp ứng dao động Nhưng tham số T23-2008 Chương Tổng quan động servo Trang10 có liên quan mật thiết lẫn nhau, vậy, điều chỉnh tham số ảnh hưởng đến tham số điều chỉnh trước Ví dụ áp dụng cách điều chỉnh cho motor máy tính BE342A với điều khiển servo Tham số động sau: J=50e-6kgm2 b= 0,1e-3 Nm/(rad/s) Kt=0,6Nm/A Ta bắt đầu quan sát đáp ứng ngõ vào hàm nấc Td=0 Bước 1: hệ thống bắt đầu dao động fo=0,5 Hz với Ko=5e-5Nm/rad Bước 2: sử dụng đại lượng tối ưu hóa ta được: Kp=3e-4 Nm/rad Ki=3e-4 Nm/(rad/s) Kd=7.4e-5 Nm/(rad/s) Bộ điều khiển PIV Và tương tự vòng điều khiển PID, đại lượng xác đònh sau: T23-2008 Chương Module điều khiển 'on2 ' Me.on2.Location = New System.Drawing.Point(160, 144) Me.on2.Name = "on2" Me.on2.Size = New System.Drawing.Size(48, 24) Me.on2.TabIndex = Me.on2.Text = "On 2" ' 'on3 ' Me.on3.Location = New System.Drawing.Point(160, 176) Me.on3.Name = "on3" Me.on3.Size = New System.Drawing.Size(48, 24) Me.on3.TabIndex = Me.on3.Text = "on 3" ' 'on4 ' Me.on4.Location = New System.Drawing.Point(160, 208) Me.on4.Name = "on4" Me.on4.Size = New System.Drawing.Size(48, 24) Me.on4.TabIndex = 10 Me.on4.Text = "On 4" ' 'servo ' Me.servo.Location = New System.Drawing.Point(96, 240) Me.servo.Name = "servo" Me.servo.Size = New System.Drawing.Size(40, 20) Me.servo.TabIndex = Me.servo.Text = "128" ' 'Label5 ' Me.Label5.Location = New System.Drawing.Point(48, 248) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(40, 16) Me.Label5.TabIndex = Me.Label5.Text = "Servo" ' T23-2008 Trang 33 Chương Module điều khiển 'Button2 ' Me.Button2.Location = New System.Drawing.Point(136, 296) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(88, 23) Me.Button2.TabIndex = 15 Me.Button2.Text = "Send Settings" ' 'DO1 ' Me.DO1.Location = New System.Drawing.Point(256, 112) Me.DO1.Name = "DO1" Me.DO1.Size = New System.Drawing.Size(72, 24) Me.DO1.TabIndex = 16 Me.DO1.Text = "Dig OP1" ' 'DO2 ' Me.DO2.Location = New System.Drawing.Point(256, 144) Me.DO2.Name = "DO2" Me.DO2.Size = New System.Drawing.Size(72, 24) Me.DO2.TabIndex = 17 Me.DO2.Text = "Dig OP2" ' 'DO3 ' Me.DO3.Location = New System.Drawing.Point(256, 176) Me.DO3.Name = "DO3" Me.DO3.Size = New System.Drawing.Size(72, 24) Me.DO3.TabIndex = 18 Me.DO3.Text = "Dig OP3" ' 'DO4 ' Me.DO4.Location = New System.Drawing.Point(256, 208) Me.DO4.Name = "DO4" Me.DO4.Size = New System.Drawing.Size(72, 24) Me.DO4.TabIndex = 19 Me.DO4.Text = "Dig OP4" ' T23-2008 Trang 34 Chương Module điều khiển 'DIP1 ' Me.DIP1.Location = New System.Drawing.Point(104, 344) Me.DIP1.Name = "DIP1" Me.DIP1.Size = New System.Drawing.Size(72, 24) Me.DIP1.TabIndex = 20 Me.DIP1.Text = "Dig IP1" ' 'DIP2 ' Me.DIP2.Location = New System.Drawing.Point(104, 368) Me.DIP2.Name = "DIP2" Me.DIP2.Size = New System.Drawing.Size(72, 24) Me.DIP2.TabIndex = 21 Me.DIP2.Text = "Dig IP2" ' 'DIP3 ' Me.DIP3.Location = New System.Drawing.Point(104, 392) Me.DIP3.Name = "DIP3" Me.DIP3.Size = New System.Drawing.Size(72, 24) Me.DIP3.TabIndex = 22 Me.DIP3.Text = "Dig IP3" ' 'DIP6 ' Me.DIP6.Location = New System.Drawing.Point(192, 392) Me.DIP6.Name = "DIP6" Me.DIP6.Size = New System.Drawing.Size(72, 24) Me.DIP6.TabIndex = 25 Me.DIP6.Text = "Dig IP6" ' 'DIP5 ' Me.DIP5.Location = New System.Drawing.Point(192, 368) Me.DIP5.Name = "DIP5" Me.DIP5.Size = New System.Drawing.Size(72, 24) Me.DIP5.TabIndex = 24 Me.DIP5.Text = "Dig IP5" ' T23-2008 Trang 35 Chương Module điều khiển Trang 36 'DIP4 ' Me.DIP4.Location = New System.Drawing.Point(192, 344) Me.DIP4.Name = "DIP4" Me.DIP4.Size = New System.Drawing.Size(72, 24) Me.DIP4.TabIndex = 23 Me.DIP4.Text = "Dig IP4" ' 'GroupBox1 ' Me.GroupBox1.Location = New System.Drawing.Point(24, 96) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Size = New System.Drawing.Size(312, 184) Me.GroupBox1.TabIndex = 26 Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "GroupBox1" ' 'GroupBox2 ' Me.GroupBox2.Location = New System.Drawing.Point(24, 328) Me.GroupBox2.Name = "GroupBox2" Me.GroupBox2.Size = New System.Drawing.Size(312, 96) Me.GroupBox2.TabIndex = 27 Me.GroupBox2.TabStop = False Me.GroupBox2.Text = "Inputs" ' 'Label6 ' Me.Label6.Location = New System.Drawing.Point(40, 16) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(152, 40) Me.Label6.TabIndex = 28 Me.Label6.Text = "MotorBee Must be Initialised using this button before any controls below are used" & _ "" ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(360, 454) T23-2008 Chương Module điều khiển Trang 37 Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.DIP6) Me.Controls.Add(Me.DIP5) Me.Controls.Add(Me.DIP4) Me.Controls.Add(Me.DIP3) Me.Controls.Add(Me.DIP2) Me.Controls.Add(Me.DIP1) Me.Controls.Add(Me.DO4) Me.Controls.Add(Me.DO3) Me.Controls.Add(Me.DO2) Me.Controls.Add(Me.DO1) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.servo) Me.Controls.Add(Me.on4) Me.Controls.Add(Me.on3) Me.Controls.Add(Me.on2) Me.Controls.Add(Me.on1) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.speed4) Me.Controls.Add(Me.speed3) Me.Controls.Add(Me.speed2) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.speed1) Me.Controls.Add(Me.GroupBox1) Me.Controls.Add(Me.GroupBox2) Me.Name = "Form1" Me.Text = "Form1" Me.ResumeLayout(False) End Sub #End Region Declare Function InitMotoBee Lib "mtb.dll" () As Boolean Declare Function Digital_IO Lib "mtb.dll" (ByRef inputs As Integer, ByVal outputs As Integer) As Boolean T23-2008 Chương Module điều khiển Trang 38 Declare Function SetMotors Lib "mtb.dll" (ByVal on1 As Integer, ByVal speed1 As Integer, ByVal on2 As Integer, ByVal speed2 As Integer, ByVal on3 As Integer, ByVal speed3 As Integer, ByVal on4 As Integer, ByVal speed4 As Integer, ByVal servo As Integer) As Boolean Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click InitMotor() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim s1, s2, s3, s4 As Integer Dim o1, o2, o3, o4 As Integer Dim sv As Integer Dim inputs As Integer Dim outputs As Integer s1 = speed1.Text s2 = speed2.Text s3 = speed3.Text s4 = speed4.Text sv = servo.Text If on1.Checked Then o1 = Else o1 = End If If on2.Checked Then o2 = Else o2 = End If T23-2008 Chương Module điều khiển If on3.Checked Then o3 = Else o3 = End If If on4.Checked Then o4 = Else o4 = End If SetMotors(o1, s1, o2, s2, o3, s3, o4, s4, sv) outputs = If DO1.Checked Then outputs = outputs Or End If If DO2.Checked Then outputs = outputs Or End If If DO3.Checked Then outputs = outputs Or End If If DO4.Checked Then outputs = outputs Or End If Digital_IO(inputs, outputs) If ((inputs And 1) = 0) Then DIP1.Checked() = False Else DIP1.Checked() = True End If If ((inputs And 2) = 0) Then DIP2.Checked() = False T23-2008 Trang 39 Chương Module điều khiển Else DIP2.Checked() = True End If If ((inputs And 4) = 0) Then DIP3.Checked() = False Else DIP3.Checked() = True End If If ((inputs And 8) = 0) Then DIP4.Checked() = False Else DIP4.Checked() = True End If If ((inputs And 16) = 0) Then DIP5.Checked() = False Else DIP5.Checked() = True End If If ((inputs And 32) = 0) Then DIP6.Checked() = False Else DIP6.Checked() = True End If End Sub End Class T23-2008 Trang 40 Chương Thi cơng module điều khiển Trang Chương Thi cơng module điều khiển III.1 Thi cơng mơ hình Thi cơng mạch in: Bố trí linh kiện Hình 3.7 3.7 Sơ Sơ đồ đồ bố bố trí trí linh linh kiện kiện mạch mạch điều điều khiển khiển dao dao cách cách ly ly Hình Mạchđồinmạch in Hình Hình 3.8 3.8 Sơ Sơ đồ mạch in T23-2008 41 Chương Thi cơng module điều khiển Trang Mạch nguồn Mạch điều khiển T23-2008 42 Chương Thi cơng module điều khiển Trang 43 III.2 Kết nối hiệu chỉnh: Kết nối động với module điều khiển hiệu chỉnh thơng số cần thiết thiết kế T23-2008 Chương Thi cơng module điều khiển T23-2008 Trang 44 Chương Thi cơng module điều khiển T23-2008 Trang 45 Phần Kết luận Trang 46 Phần Kết luận Kết luận: Đề tài “Nghiên cứu thiết kế module điều khiển động servo dùng cho thực tập truyền động điện” thực nội dung sau: Nghiên cứu tổng quan động servo, trình bày ưu điểm động thực tế Nghiên cứu hoạt động động servo Nghiên cứu phương pháp điều khiển tốc độ động servo Các ứng dụng động servo thực tế Từ đó, đề tài thiết kế module điều khiển động servo bao gồm thiết kế sơ đồ mạch sử dụng ngun lý điều rộng xung để điều khiển động servo sau viết chương trình điều khiển cho động Sau có thiết kế module điều khiển, đề tài thực thi cơng module tiến hành thử nghiệm hiệu chỉnh cho kết thỏa mãn u cầu đề Kiến nghị: Đề nghị đưa module điều khiển động servo vào nội dung mơn thực tập truyền động điện nhằm làm cho nội dung mơn học phong phú thêm, đồng thời giúp sinh viên rèn luyện kỹ cần thiết nhằm thuận lợi việc tiếp cận với thực tế sau tốt nghiệp Đề tài cần phát triển hồn chỉnh tài liệu hướng dẫn cho phù hợp với điều kiện thực tập nay, ví dụ nhân rộng module cho mơn học T23-2008 [...]... Module điều khiển Trang 17 Chương 2 MODULE ĐIỀU KHIỂN II.1 Nguyên lý điều khiển: Sơ đồ khối hệ thống điều khiển động cơ servo vòng kín Kỹ thật điều rộng xung được sử dụng phổ biến trong điều khiển động cơ servo DC Điện áp cấp cho động cơ tùy thuộc vào độ rộng xung kích đây là xung vuông đơn giản có: T23-2008 Chương 2 Module điều khiển Trang 18 Khi thay đổi độ rộng xung sẽ thay đổi điện áp đặt vào động cơ: ... về động cơ servo Khi kết hợp cả hai ta sẽ được: Mô men ước lượng: T(s) T23-2008 Trang11 Chương 1 Tổng quan về động cơ servo I.4 Một số ứng dụng của ñộng cơ servo: T23-2008 Trang12 Chương 1 Tổng quan về động cơ servo T23-2008 Trang13 Chương 1 Tổng quan về động cơ servo T23-2008 Trang14 Chương 1 Tổng quan về động cơ servo T23-2008 Trang15 Chương 1 Tổng quan về động cơ servo T23-2008 Trang16 Chương 2 Module... cơ: Việc điều rộng xung có thể thực hiện bằng phần mềm hoặc phần cứng hoặc kết hợp cả 2 Các vi điều khiển ATM và PIC hiện nay có sẵn các kênh điều rộng xung và phụ thuộc vào chương trình điều khiển Ví dụ như: while(1) { SET a port pin; On-time delay; RESET port pin; Off-time delay; } T23-2008 Chương 2 Module điều khiển Trang 19 Đây là cách đơn giản nhất để phát tín hiệu điều rộng xung Khi kết hợp phần... chốt địa chỉ được thực hiện 1 cách hoàn toàn tự động Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động của tụ thạch anh gắn vào vi điều khiển và có thể dùng xung tín hiệu ngõ ra ALE làm xung clock cung cấp cho các phần khác của hệ thống Trong chế độ lập trình cho bộ nhớ nội của vi điều khiển thì chân ALE được dùng làm ngõ ra vào nhận xung lập trình từ bên ngoài để lập trình cho bộ nhớ Flash... //Change on Chương 2 Module điều khiển T23-2008 Trang 26 Chương 2 Module điều khiển Sơ đồ nguyên lý: T23-2008 Trang 27 Chương 2 Module điều khiển II.3 Chương trình Viết chương trình bằng VB: Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() InitializeComponent() End Sub T23-2008 Trang 28 Chương 2 Module điều khiển Trang 29... nối mass Cấu trúc bộ nhớ của vi điều khiển: - RAM bên trong 89S52 được phân chia như sau: - Các bank thanh ghi có chỉ từ 00H đến 1FH - RAM địa chỉ hóa từng bit có địa chỉ từ 20H-2FH - RAM đa dụng từ 30H-7FH - Các thanh ghi chức năng đặc biệt từ 80H-FFH T23-2008 Chương 2 Module điều khiển T23-2008 Trang 23 Chương 2 Module điều khiển T23-2008 Trang 24 Chương 2 Module điều khiển Trang 25 #include “REG52MOD.h”... Khi kết hợp phần cứng và phần mềm ta có thể dùng timer bên trong và ngắt tràn để phát sóng điều rộng xung Ví dụ mã viết cho 89V51RD2 như sau: Cấu trúc bên trong vi điều khiển: T23-2008 Chương 2 Module điều khiển Trang 20 Sơ đồ chân của AT89S52 Các ngõ tín hiệu điều khiển: Ngõ tín hiệu PSEN (Program store enable): PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường... động của ngõ vào reset [có nghĩa là vi điều khiển đang sử dụng các thanh ghi để lưu trữ dữ liệu nhưng nếu vi điều khiển bị reset thì dữ liệu trong thanh ghi vẫn không đổi Các ngõ vào bộ dao động Xtal1, Xtal2: Bộ dao động được tích hợp bên trong 89S52, khi sử dụng người thiết kế chỉ cần kết nối thêm tụ thạch anh và các tụ như hình vẽ, tần số tụ thạch anh thương dùng là 12Mhz-24Mhz Chân 40 (Vcc) được... Ngõ tín hiệu điều khiển ALE (Address Latch Enable): Khi vi điều khiển 89S52 truy xuất bộ nhớ ngoài, port 0 có chức năng là bus tải địa chỉ và bus dữ liệu [AD7-AD0] do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi nối chúng với IC chốt Tín hiệu ra ở chân ALE là một T23-2008 Chương 2 Module điều khiển Trang... Chương 2 Module điều khiển Trang 22 SCON SBUF PCON (HMOS) PCON (CMOS) 00H 00H 0XXX XXXXH 0XXX 0000B Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình PC=0000H Sau khi reset xong vi điều khiển luôn bắt đầu thực hiện chương trình tại địa chỉ 0000H của bộ nhớ chương trình, nên các chương trình cho vi điều khiển luôn bắt đầu tại địa chỉ 0000H Nội dung của RAM trên chip không bị thay đổi bởi tác động