Luận văn Ứng dụng AVR lập trình điều khiển động cơ điện một chiều

Giới thiệu về phần mềm Proteus và lập trình C cho AVR trên phần mềm CodeVisionAVR. Proteus và Altium là hai phần mềm của chuyên ngành kỹ thuật điện - điện tử, nó giúp cho các bạn sinh viên trong ngành có thể tự thiết kế được các mạch ứng dụng mô phỏng một cách khoa học và hiệu quả, có thể chuyển từ mạch nguyên lý qua mạch in và mạch mô phỏng trên 3D ngoài ra phần mềm CodeVisionAVR là một phần mềm hỗ trợ lập trình cho vi điều khiển AVR bằng ngôn ngữ C, nó hỗ trợ nhiều thư viện lập trình có sẵn .Trong chương này em cũng đã giới thiệu được các phần mềm trên và ứng dụng cho đề tài nghiên cứu của em, tuy nhiên do khả năng còn hạn chế nên phần mô phỏng của em chua được hoàn thiện cho bài bài nghiên cứu

doc95 trang | Chia sẻ: lylyngoc | Lượt xem: 6693 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Luận văn Ứng dụng AVR lập trình điều khiển động cơ điện một chiều, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n 1 chiều có công suất lớn và điện áp không đổi thì mạch kích từ thường mắc song song với mạch phần ứng. Khi nguồn điện một chiều có công suất không đủ lớn thì mạch điện phần ứng và mạch kích từ mắc vào 2 nguồn một chiều độc lập. 1.3.4. Phương trình đặc tính cơ. Theo sơ đồ nối dây của động cơ điện một chiều kích từ độc lập hình 1.36 viết được phương trình cân bằng điện áp của mạch phần ứng ở chế độ xác lập như sau. Uư = E + (Rư + Rf).Iư (1-1) Trong đó: - Uư:Điện áp phần ứng (V). - E: Suất điện động phần ứng (V). - Rf: Điện trở phụ trong mạch phần ứng (Ω). - Rư: Điện trở của phần ứng (Ω). Với Rư = rư + rcf + rcb + rtx Trong đó: - rư: Điện trở dây phần ứng (Ω). - rcf: Điện trở cực từ phụ (Ω). - rcb: Điện trở cuộn bù (Ω). -rtx: Điện trở tiếp xúc của chổi điện (Ω). Sức điện động E của phần ứng động cơ được xác định theo biểu thức: E = .Φ. ω = KΦ. ω (1-2) Trong đó: - P: Số đôi điện cực chính. - N: Số thanh dẫn tác dụng của cuộn dây phần ứng. - a: Số mạch nhánh song song của cuộn dây phần ứng. - ω: Tốc độ góc (rad/s). - Φ: Từ thông kích từ chính một cực từ (Wb). Đặt K = : Hệ số kết cấu của động cơ. Nếu biểu diễn sức điện động theo tốc độ quay n (vòng/phút) thì E = Kc.Φ.n và ω = Vì vậy: Eư = . Φ.n = Kc.Φ.n Trong đó: Kc: Hệ số sức điện động của động cơ. Từ các phương trình trên ta có: ω = Iư (1-3) Đây là phương trình đặc tính cơ điện của động cơ điện một chiều .kích từ độc lập. Mặt khác có mômen điện từ của động cơ ở chế độ xác lập được xác định theo biểu thức: Mdt = K.Φ.Iư (1-4) Suy ra Iư = , thay Iư vào (1-3) ta có ω = .Mdt (1-5) Nếu bỏ qua tổn thất cơ và tổn thất ma sát trong ổ trục thì có thể coi mômen cơ trên trục động cơ bằng mômen điện từ và ký hiệu là M: Mdt = Mco = M Suy ra: ω = .M (1-6) Đây là phương trình đặc tính cơ của động cơ điện một chiều kích từ độc lập. - Có thể biểu diễn phương trình đặc cơ dưới dạng khác. ω = ω0 - ∆ω (1-7) Trong đó : ω0 = : Gọi là tốc độ không tải lý tưởng. ∆ω = .M = .M: Gọi là độ sụt tốc. Giả thiết phần ứng được bù đủ từ thông của động cơ Φ = const, thì các phương trình đặc tính cơ điện (1-3) và phương trình đặc tính cơ (1-6) là tuyến tính. Đồ thị của chúng được biểu diễn trên đồ thị là những đường thẳng. Nếu xét đến tất cả các tổn thất thì: M co = Mdt ± ∆M. Iư Inm 0 ω0 Idm ωdm ω Hình 1.37. Đặc tính cơ điện của động cơ một chiều kích từ độc lập. Theo đồ thị trên khi Iư = 0 hoặc M = 0 thì có: ω = ω0 = , lúc này động cơ đạt tốc độ không tải lý tưởng. Còn khi ω = 0 thì ta có: Iư = = Inm (1-8) Và M = K.Φ.Inm =Mnm (1-9) Với Inm, Mnm: Gọi là dòng điện ngắn mạch và mômen ngắn mạch. M Mnm 0 ω0 Mdm ωdm ω Hình 1.38. Đặc tình cơ của động cơ điện một chiều kích từ độc lập. 1.3.5. Ảnh hưởng của các thông số tới tốc độ động cơ. Từ phương trình đặc tính cơ:= nhận thấy muốn thay đổi tốc độ có thể thay đổi , Rf , U. -Trường hợp Rf thay đổi (Uư= Uđm= const; Ф= Фđm= const): Độ cứng đặc tính cơ: = giảm. Nếu Rf càng lớn thì tốc độ động cơ càng giảm đồng thời dòng ngắn mạch và mômen ngắn mạch cũng giảm. Cho nên thường sử dụng phương pháp này để hạn chế dòng và điều chỉnh tốc độ động cơ ở phía dưới tốc độ cơ bản. -Trường hợp thay đổi U< Uđm Tốc độ không tải giảm trong khi độ cứng đặc tính cơ = const. Khi thay đổi điện áp thu được 1 họ các đường đặc tính song song. Phương pháp này được sử dụng để điều chỉnh tốc độ động cơ và hạn chế dòng khởi động. -Ảnh hưởng của từ thông: Muốn thay đổi thay đổi dòng kích từ Ikt khi đó tốc độ không tải tăng. Độ cứng đặc tính cơ:= giảm. 1.3.6. Các phương pháp điều chỉnh tốc độ động cơ điện một chiều kích từ độc lập. 1.3.6.1. Điều chỉnh tốc độ bằng cách thay đổi điện áp phần ứng. Đối với các máy điện một chiều, khi giữ từ thông không đổi và điều chỉnh điện áp trên mạch phần ứng thì dòng điện, moment sẽ không thay đổi. Để tránh những biến động lớn về gia tốc và lực động trong hệ điều chỉnh nên phương pháp điều chỉnh tốc độ bằng cách thay đổi điện áp trên mạch phần ứng thường được áp dụng cho động cơ một chiều kích từ độc lập. Để điều chỉnh điện áp đặt vào phần ứng động cơ, dùng các bộ nguốn điều áp như máy phát điện một chiều, các bộ biến đổi van hoặc khuêch đại tư...Các bộ biến đổi trên dung để biến dòng xoay chiều của lưới thành dòng một chiều điều chỉnh giá trị sức điện động theo yêu cầu. Phương trình đặc tính cơ của động cơ điện một chiều kích từ độc lập: n= Ta có tốc độ không tải lý tưởng: n0 = Uđm/KEFđm Độ cứng của đường đặc tính Khi thay đổi điện áp đặt lên phần ứng của động cơ thì tốc độ không tải lý tưởng sẽ thay đổi nhưng độ cứng của đường đặc tính cơ thì không thay đổi. Như vậy: Khi thay đổi điện áp thì độ cứng của đường đặc tính cơ không thay đổi. Họ đặc tính cơ là những đường thẳng song song với đường đặc tính cơ tự nhiên. Hình 1.39. Đường đặc tính cơ khi thay đổi điện áp đặt vào mạch phần ứng. Phương pháp điều chỉnh tốc độ bằng cách thay đổi điện áp phần ứng thực chất là giảm áp và cho ra những tốc độ nhỏ hơn tốc độ cơ bản ncb. Đồng thời điều chỉnh nhảy cấp hay liên tục tùy thuộc vào bộ nguồn có điện áp thay đổi một cách liên tục và ngược lại. Theo lý thuyết thì phạm vi điều chỉnh D = ¥. Nhưng trong thực tế động cơ điện một chiều kích từ độc lập nếu không có biện pháp đặc biệt chỉ làm việc ở phạm vi cho phép: Umincp = nghĩa là phạm vi điều chỉnh. D = ncb/nmin = 10/1. Nếu điện áp phần ứng U < Umincp thì do phản ứng phần ứng sẽ làm cho tốc độ động cơ không ổn định. 1.3.6.2. Điều chỉnh tốc độ bằng các thay đổi từ thông. Hình 1.40. Sơ đồ nguyên lý điều chỉnh tốc độ bằng cách thay đổi từ thông. Điều chỉnh từ thông kích thích của động cơ điện một chiều là điều chỉnh moment điện từ của động cơ M = KMfIư và sức điện động quay của động cơ . Eư = KEfn. Thông thường, khi thay đổi từ thông thì điện áp phần ứng được giữ nguyên giá trị định mức. Đối với các máy điện nhỏ và đôi khi cả các máy điện công suất trung bình, thường sử dụng các biến trở đặt trong mạch kích từ để thay đổi từ thông do tổn hao công suất nhỏ. Đối với các máy điện công suất lớn thì dùng các bộ biến đổi đặc biệt như: máy phát, khuếch đại máy điện, khuếch đại từ, bộ biến đổi van… Thực chất của phương pháp này là giảm từ thông. Nếu tăng từ thông thì dòng điện kích từ Ikt sẽ tăng dần đến khi hư cuộn dây kích từ. Do đó, để điều chỉnh tốc độ chỉ có thể giảm dòng kích từ tức là giảm nhỏ từ thông so với định mức. Thấy lúc này tốc độ tăng lên khi từ thông giảm. n = Mặt khác ta có: Moment ngắn mạch Mn = KMIn nên khi giảm sẽ làm cho Mn giảm theo. Độ cứng của đường đặc tính cơ. Khi giảm thì độ cứng b cũng giảm, đặc tính cơ sẽ dốc hơn. Nên có họ đường đặc tính cơ khi thay đổi từ thông như sau. Hình 1.41. Họ đường đặc tính cơ khi thay đổi từ thông. Phương pháp điều chỉnh tốc độ bằng cách thay đổi từ thông có thể điều chỉnh được tốc độ vô cấp và cho ra những tốc độ lớn hơn tốc độ cơ bản. Theo lý thuyết thì từ thông có thể giảm gần bằng 0, nghĩa là tốc độ tăng đến vô cùng. Nhưng trên thực tế động cơ chỉ làm việc với tốc độ lớn nhất: nmax = 3.ncb tức phạm vi điều chỉnh: D = = Bởi vì ứng với mỗi động cơ có một tốc độ lớn nhất cho phép. Khi điều chỉnh tốc độ tùy thuộc vào điều kiện cơ khí, điều kiện cổ góp động cơ không thể đổi chiều dòng điện và chịu được hồ quang điện. Do đó, động cơ không được làm việc quá tốc độ cho phép. 1.3.6.3. Điều chỉnh tốc độ bằng cách thay đổi điện trở phụ trên mạch phần ứng. Hình 1.42. Sơ đồ đấu dây. Phương trình đặc tính cơ: n= Giả thiết U= Uđm = const, Khi đó tốc độ không tải ly tương và độ cứng đặc tính cơ β Khi Rf càng lớn, β cang nhỏ, nghĩa là đặc tính cơ càng dốc. Như vậy khi thay đổi Rf được một họ đặc tính biến trở có dạng. Hình 1.43. Họ đặc tính cơ. Nguyên lý điều chỉnh tốc độ bằng cách thay đổi điện trở phụ trên mạch phần ứng được giải thích như sau: Giả sử động cơ đang làm việc xác lập với tốc độ n1 đóng thêm Rf vào mạch phần ứng. Khi đó dòng điện phần ứng Iư đột ngột giảm xuống, còn tốc độ động cơ do quán tính nên chưa kịp biến đổi. Dòng Iư giảm làm cho moment động cơ giảm theo và tốc độ giảm xuống, sau đó làm việc xác lập tại tốc độ n2 với n2 > n1. Phương pháp điều chỉnh tốc độ này chỉ có thể điều chỉnh tốc độ n < ncb. Trên thực tế không thể dùng biến trở để điều chỉnh nên phương pháp này sẽ cho những tốc độ nhảy cấp tức độ bằng phẳng g xa 1 tức n1 cách xa n2, n2 cách xa n3… Khi giá trị nmin càng tiến gần đến 0 thì phạm vi điều chỉnh: D= Trong thực tế, Rf càng lớn thì tổn thất năng lượng phụ tăng. Khi động cơ làm việc ở tốc độ n = ncb/2 thì tổn thất này chiếm từ 40% đến 50%. Cho nên, để đảm bảo tính kinh tế cho hệ thống chỉ điều chỉnh sao cho phạm vi điều chỉnh: D = Khi giá trị Rf càng lớn thì tốc độ động cơ càng giảm. Đồng thời dòng điện ngắn mạch In và moment ngắn mạch Mn cũng giảm. Do đó, phương pháp này được dùng để hạn chế dòng điện và điều chỉnh tốc độ dưới tốc độ cơ bản. Và tuyệt đối không được dùng cho các động cơ của máy cắt kim loại. - Kết luận: Sau khi phân tích ba phương pháp điều khiển nêu trên thì phương pháp điều khiển bằng cách thay đổi điện áp phần ứng để điều khiển tốc độ động cơ điện một chiều là tốt hơn cả. Cho nên em chọn phương pháp này làm đề tài nghiên cứu và ứng dụng. 1.3.7. Mở máy động cơ điện một chiều. Để mở máy động cơ một chiều được tốt, phải thực hiện được những yêu cầu sau đây: - Mô men mở máy Mmm phải lớn để động cơ đạt được tốc độ quay quy định trong thời gian ngắn nhất. - Dòng điện mở máy Imm phải được hạn chế đến mức thấp nhất để tránh cho dây quấn khỏi bị cháy hoặc ảnh hưởng xấu đến quá trình đổi chiều. - Thời gian mở máy cần nhỏ để máy có thể làm việc được ngay . - Thiết bị mở máy đơn giản, rẻ tiền, tin cậy và ít tốn năng lượng. Trong khuôn khổ những yêu cầu trên khi mở máy thường áp dụng 3 phương pháp mở máy sau: - Mở máy trực tiếp. - Mở máy nhờ biến trở. - Mở máy bằng điện áp thấp. 1.3.7.1. Mở máy trực tiếp. Phương pháp này được thực hiện bằng cách đóng thẳng động cơ điện vào nguồn. Như vậy lúc rôto chưa quay sức điện động E = 0 và dòng điện phần ứng I = == Imm. Vì trong thực tế R rất nhỏ nên với điện áp định mức, dòng điện I sẽ rất lớn nên phương pháp mở máy này chỉ áp dụng được cho những động cơ điện có công suất vài trăm oat. Trong những trường hợp đặc biệt mới cho phép mở máy trực tiếp với những động cơ có công suất vài kilôoat. 1.3.7.2. Mở máy nhờ biến trở. Để tránh nguy hiểm cho động cơ vì dòng điện mở máy quá lớn, dùng biến trở mở máy Rmm gồm một số biến trở nối tiếp khác nhau và đặt trên mạch phần ứng (Hình 1.43). Biến trở mở máy được tính sao cho dòng mở máy Imm= (1,4¸1,7)Iđm đối với các động cơ lớn và Imm= (2¸2,5)Iđm đối với các động cơ nhỏ. Trước lúc mở máy tay gạt nằm tại vị trí 1 và con trượt của biến trở ở mạch kích từ ở vị trí min(Rđc=0). Khi cấp nguồn phần ứng cho động cơ, điện áp đặt vào động cơ là: Uđ=UL–URmm<Uđm. dòng điện mở máy lúc rôto chưa quay: Imm = - 1 2 3 4 5 Rđc CKT Ư U + I Hình 1.44. Mở máy ĐCĐMC nhờ biến trở. Khi rôto quay, sức điện động sẽ tăng tỉ lệ với tốc độ quay, Imm = sẽ giảm theo và tốc độ n tăng chậm hơn. Khi I giảm đến trị số (1,1¸1,3) Iđm gạt tay gạt đến vị trí 2. Vì một bậc điện tở bị loại trừ, I Lập tức tăng đến giới hạn trên của nó kéo theo M, n, E tăng, sau đó I, M lại giảm theo quy luật trên. Lần lượt chuyển tay gạt đến các vị trí 3, 4, 5. Quá trình cứ lặp lại cho đến khi máy đạt đến tốc độ n » nđm thì Rmm cũng được loại trừ. Số bậc của Rmm và điện trở của mỗi bậc được thiết kế sao cho dòng điện mở máy cực đại và cực tiểu ở mỗi bậc đều nhau để đảm bảo cho quá trình mở máy được tốt nhất. 1.3.7.3. Mở máy bằng điện áp thấp. Phương pháp này đòi hỏi phải dùng một nguồn điện độc lập có thể điều chỉnh được điện áp để cung cấp cho phần ứng của động cơ, trong khi đó mạch kích từ phải được đặt dưới điện áp định mức của một nguồn khác. Đây là phương pháp thường dùng hơn cả trong việc mở máy các động cơ điện công suất lớn để ngoài ra còn kết hợp với việc điều chỉnh tốc độ bằng cách thay đổi điện áp. 1.3.8. Các phương pháp đảo chiều quay động cơ điện một chiều. Đối với động cơ điện một chiều có hai nguyên tắc đảo chiều quay đó là: Giữ nguyên dòng điện phần ứng, đảo chiều dòng kích từ, nguyên tắc này áp dụng cho những động cơ có công suất lớn. Nguyên tắc thứ hai là giữ nguyên chiều dòng kích từ, đảo chiều dòng điện phần ứng, nguyên tắc này thường dùng cho những động cơ có công suất nhỏ. Ơ đây do là đông cơ công suất nhỏ nên dùng phương pháp thứ hai sử dụng các Thyristor để băm xung điện áp và đảo chiều động cơ. Sơ đồ nguyên lý mạch đảo chiều quay động cơ. Hình 1.45. Sơ đồ băm xung điện áp một chiều có đảo chiều. Theo sơ đồ trên, muốn đảo chiều động cơ chỉ cần đóng/ngắt các van theo một quy tắc như sau: Khi động cơ làm việc theo chiều thuận thì T3 mở hoàn toàn, T2 và T4 khóa, T1 được đóng ngắt theo chu kì xung vào. Chiều dòng điện từ dương nguồn qua T1 qua động cơ qua T3 về âm nguồn. Khi động cơ làm việc theo chiều ngược thì T4 luôn mở, T2 đóng ngắt theo chu kì xung, T1 và T3 khóa. Chiều dòng điện: Dương nguồn qua T2 qua động cơ qua T4 về âm nguồn. Trong cả hai chiều quay, trị số điện áp ra được tính theo công thức: Ur = tm.Uv/ T Các điode có nhiệm vụ bảo vệ các van khi ngắt dòng động cơ ra khỏi nguồn. CHƯƠNG 2: GIỚI THIỆU PHẦN MỀM PROTEUS, ALTIUM DESIGNER, CODEVISIONAVR VÀ LẬP TRÌNH C TRÊN CODEVISIONAVR. 2.1. Tổng quan về phần mềm Proteus. Phần mềm Proteus được sản xuất bởi Labcenter Electronics - một công ty sản xuất phần mềm của Anh. Proteus cho phép mô phỏng hầu hết các mạch điện tử, thiết kế hoàn chỉnh một hệ thống vi điều khiển bao gồm toàn bộ mạch phần cứng, sau đó mô phỏng sự tương tác giữa chúng. Proteus có khả năng thiết kế mạch in với việc chuyển trực tiếp từ mạch nguyên lý sang mạch in hoặc vẽ mạch in. Proteus là phần mềm tiện ích và hữu dụng đối với học sinh sinh viên ngành điện và điện tử. Proteus có đầy đủ công cụ mạnh mẽ, thư viện các linh kiện đa dạng. 2.1.2. Cài đặt chương trình. Quá trình cài đặt phần mềm proteus cũng tương tự như các phần mềm khác. Việc cài đặt rất đơn giản nếu đã làm quen với việc cài đặt các phần mềm như Microsoft Office, Photoshop, Cad… Trong thư mục gốc của Proteus bao gồm file setup72.exe và folder patch. Để cài đặt chương trình nhấp đôi chuột vào file setup72.exe việc cài đặt được kích hoạt. Hình 2.1. Thư mục gốc chứa file setup. Trên màn hình xuất hiện hộp thoại chào mừng việc cài đặt phần mềm. Hình 2.2. Hộp thoại chào mừng cài đặt. Để tiếp tục quá trình cài đặt chọn Next. Sau đó đọc bản thỏa thuận bản quyền. Để thực hiện cài đặt chọn Yes. Nếu chọn No việc cài đặt kết thúc. Hình 2.3. Hộp thọa bản quyên của sản phẩm. Trên màn hình xuất hiện hộp thoại Setup Type chọn Use locally installed Licence Ky (sử dụng mã cái đặt trong bộ cài đặt của máy) sau đó chọn Next. Hình 2.4. Hộp thoại lựa chọn lọa hình cài đặt. Hộp thoại Product Licence Ky xuất hiện chỉ ra thộng tin về thời gian sử dụng phần mềm chọn Next. Hình 2.5. Hộp thoại mã của sản phẩm. Hộp thoại Choose Destination Location xuất hiện chỉ ra foder cài đặt mặc định là:C:\...\Labcenter Electronics\Proteus7 Professional. Nếu để mặc định thì nhấn Next để tiếp tục. Nếu muốn thay đổi nhấn Browse. Hình 2.6. Hộp thoại lựa chọn thư mục cài đặt. Trong cửa sổ Select Features yêu cầu chọn các đặc trưng của quá trình cài đặt, tốt nhất nên để mặc định sau đó chọn Next. Hình 2.7. Hộp thoại lựa các đặc trưng của quá trình cài đặt Cửa sổ Select Program Folder chỉ ra tên Foder cài đặt ra. Mặc định là Proteus 7 professional. Có thể thay đổi tên foder nếu muốn, chọn Next. Hình 2.8. Hộp thoại giới thiệu thư mục được cài đặt. Chương trình tự động thực hiện quá trình cài đặt. Hình 2.9. Hộp thoại thể hiện trạng thái cài đặt. Cửa sổ InstallShield Wizard Complete chỉ quá trình cài đặt kết thúc. Có thể đọc file Help nếu click vào View the README help file, nhấn Finish để kết thúc. Hình 2.10. Hộp thoại thể hiện cài đặt Wizard kết thúc. Từ Start - Programs-Proteus 7 Professional-Licence manager xuất hiện hộp thoại Labcenter Licence Manager 1.5 chọn Remove - yes. Hình 2.11. Hộp thoại thể hiện việc quản lý mã cài đặt. Nhấn Browse For Key File chọn thư mục patch - Licence.lxk. Nhấn Open. Hình 2.12. Hộp thoại chọn mã cài đặt Chọn None (None) sau đó nhấn Install - Tiếp theo nhấn Close. Hình 2.13. Hộp thoại cài đặt mã Vào thư mục gốc Patch. Copy file Proteus 7.x Professional - patch.exe vào thư mục vừa cài đặt. Hình 2.14. Thư mục vừa cài đặt Nhấp đôi chuột trái vào file Proteus 7.x Professional - patch.exe chọn Patch Hình 2.15. Hộp thoại crack sản phẩm. Tìm file ARES.EXE và ISIS. EXE nhấn OK. Kết thúc quá trình cài đặt. Hình 2.16. Lựa chọn file để crack. 2.1.3. Khởi động chương trình. Khung nhìn bản vẽ Danh mục các linh kiện sử dụng trong mạch vùng làm việc chính Các nút mô phỏng Thanh công cụ Thanh tác vụ menu Để khởi động chương trình click chuột vào Start/program/Proteus 7 Professional/ ISIS 7 Professional chương trình được khởi động với giao diện như sau: Hình 2.17. Giao diện khi khởi động phần mềm. 2.1.4. Giao diện chương trình. 2.1.4.1. Menu: Bao gồm các menu như. Hình 2.18. Menu chính của phần mềm. 2.1.4.2. Thanh tác vụ. Mở bản thiết kế mới. Mở bản thiết kế đã có. Lưu bản thiết kế. Cho phép hiện hay ẩn lưới điểm. Chọn gốc toạ độ. Bắt điểm tại chính giữa màn hình. Phóng to màn hình. Thu nhỏ màn hình. Quan sát toàn bộ bản thiết kế. Quan sát từng vùng của bản thiết kế. Undo/redu. Cắt/ dán. Copy khối đối tượng đã chọn Di chuyển khối đối tượng đã chọn. Xoay khối đối tượng đã chọn. Xoá khối đối tượng. Lấy linh kiện từ thư viện. Tạo linh kiện mới. Tạo trang vẽ mới. Hiển thị các thông tin về điện và kểm tra lỗi của bản vẽ. Hiển thị danh sách các linh kiện sử dụng. Chuyển từ mạch nguyên lý sang vẽ mạch in. 2.1.4.3. Thanh công cụ. Dịch chuyển khung nhìn bản vẽ. Hiển thị linh kiện đang chọn trên khung nhìn bản vẽ. Đặt tên đường dây. Tạo điểm nối. Thêm text cho bản vẽ Vẽ đường Bus. Tạo mạch phụ. Lấy nguồn, đất Lấy chân của linh kiện Đồ thị mô phỏng. Máy phát tín hiệu. Đầu rò điện áp. Đầu rò dòng điện Các thiết bị ảo. Các công cụ vẽ 2D Xoay trái linh kiện. Xoay phải linh kiện. Đảo linh kiện theo chiều ngang Đảo linh kiện theo chiều dọc. 2.1.4.4. Các nút mô phỏng. Mô phỏng liên tục. Mô phỏng từng bước. Tạm dừng mô phỏng. Dừng mô phỏng. 2.1.4.5. Khung nhìn bản vẽ. Từ đây có thể quan sát toàn bộ hình ảnh của bản vẽ đang thực hiện trên vùng làm việc chính. Hình 2.19. Khung nhìn bản vẽ. 2.1.4.6. Vùng làm việc chính. Thực hiện các thao tác vẽ bản vẽ. 2.1.5. Các thao tác cơ bản. Chọn đối tượng: Nhấp chuột phải lên đối tượng. Bỏ chọn đối tượng: Nhấp chuột phải lên vùng trống. Xoá đối tượng: Nhấp đôi chuột phải lên vùng trống. Di chuyển: Chọn, kéo rê bằng chuột trái đến vị trí mới. Dùng bánh xe của chuột để phóng to hoặc thu nhỏ đến từng đối tượng. Dùng bàn phím: F6: phóng to. F7: thu nhỏ. F8: Xem toàn mạch. Sử dụng thư viện: Để tìm linh kiện mô phỏng sử dụng thư viện bằng cách chọn Library/Pick Device/ Symbol…P hoặc nhấn phím P hoặc click chuột trái vào nút P khi đó thư viện được mở. Hình 2.20. Cách lấy linh kiện từ thư viện. Cửa sổ linh kiện như hình vẽ. Hình 2.21. Cửa sổ các linh kiện. Keywords : Tìm linh kiện bằng các từ khoá. Category : Thư viện các linh kiện. Sub-Category : Thư viện các linh kiện con. Manufactures : Nhà sản xuất. Schematic Preview : Hình ảnh linh kiện. PCB preview : Sơ đồ chân linh kiện Device : Tên linh kiện Library : Thư viện Description : Mô tả Lấy linh kiện bằng cách nhấp đôi vào các linh kiện cần sử dụng, khi lấy đủ các linh kiện nhấp OK. Trên danh mục các linh kiện sử dụng chuột trái vào linh kiện sau đó trên vùng làm việc chính nhấp chuột trái để đặt linh kiện. Để tìm chíp ATMega32. Vùng Keyword gõ ATMega32. Vùng Category là ATMega32. Hình 2.22. Tìm chíp ATMega32. Để tìm LCD16x2 . Vùng Keyword gõ LM016L. Vùng Category là LM016L. Hình 2.23. Tìm LCD 16x2. Vùng Keyword gõ LM016L. Vùng Category là LM016L. Để tìm động cơ điện một chiều. Vùng Keyword gõ motor DC. Vùng Category là motor DC. Hình 2.24. Tìm động cơ một chiều. Nối dây: Dịch chuyển con trỏ chuột đến vị trí cần nối dây, trên con trỏ chuột xuất hiện màu đỏ, di chuyển chuột và kéo dây đến vị trí cần nối thì nhấn chuột trái để kết thúc việc nối dây. Hình 2.25. Cách nối các linh kiện. 2.2. Phần mềm Altium Designer. 2.2.1. Giới thiệu và tính năng Altium. Altium Designer, là một trong những công cụ vẽ mạch điện tử mạnh nhất hiện nay. Được phát triển bởi hãng Altium Limited, Altium Designer (Altium) mang lại cho người dùng một môi trường làm việc hết sức chuyên nghiệp, nó là một hệ thống thiết kế điện tử hợp nhất hàng đầu thế giới, nó cho phép người phát triển tạo ra một thiết kế ý tưởng cho đế khi hoàn thành chỉ với một công cụ thiết kế duy nhất. Các tính năng chính của Altium bao gồm: Môi trường thiết kế hợp nhất: Cho phép tạo ra sự thông minh của các sản phẩm sử dụng phần mềm, phần cứng và phần cứng khả trình, triển khai thiết kế ý tưởng cho tới bước chế tạo board mạch và sản xuất chỉ trong một môi trường thiết kế duy nhất. Liên kết động, thời gian thực ECAD_MCAD: Cung cấp liên kết động, thời gian thực giữa các môi trường thiết kế ECAD và MCAD sử dụng công nghệ 3D mạnh mẽ, cho phép nhà thiết kế thực hiện việc khớp các thành phần cơ khí một cách chính xác. Chức năng lập trình sản phẩm: Cung cấp một phương pháp mới cho phép các sản phẩm điện tử thông minh được thiết kế nhanh chóng với sự tập trung vào các chức năng được lập trình trong sản phẩm thay vì được tạo ra cố định trong đó. Khai thác khả năng của các IC khả trình: Cho phép khai thác khả năng được đưa ra bởi các IC khả trình dung lượng lớn hiện nay như một nền tảng triển khai và thiết kế hệ thống nhanh gọn. Thống nhất việc phát triển phần mềm với thiết kế FPGA: Thống nhất việc phát triển phần mềm với thiết kế FPGA cho phép phân vúng động các chức năng đang chạy trên vi xử lý và phần cứng khả trình. Sự linh hoạt mức độ thiết kế: Cung cấp sự linh hoạt ở mức độ thiết kế giữa các nền tảng thực thi phần mềm và các IC logic khả trình khác nhau. Tạo và quản lý dữ liệu thiết kế: Cho phép tất cả các dữ liệu thiết kế được tạo ra và quản lý trong môi trường thiết kế duy nhất. Thiết kế độc lập với nhà cung cáp IC: Cung cấp môi trường thiết kế toàn diện hỗ trợ việc thiết kế với các kiến trúc vi xử lý, các lõi vi xử lý và các logic khả trình khác nhau độc lập với nhà cung cấp IC. Khả năng quản lý dự án và version control: Cải thiện việc quản lý dự án và tăng tốc độ thiết kế nhờ tích hợp tính năng quản lý dữ liệu mạnh mẽ như việc hỗ trợ hệ thống version control và khả năng so sánh sự sai khác giữa các file thiết kế như một phần của môi trường thiết kế. Dễ dàng kết nối tới hệ thống sản phẩm rộng hơn: Dễ dàng thêm các kết nối vào thiết kế cho phép phát triển một hệ thống sản phẩm rộng lớn, kết nối người thiết kế với khách hàng thông qua các sản phẩm. 2.2.2. Giao diện của chương trình Alitium. Khởi động chương trình từ shortcut trên destop màn hình nền hoặc từ Menu Start >> All programs >>Altium Designer 10 >> Altium Designer 10. Khi logo chương trình xuất hiện. Hình 2.26. Logo chương trình Altium10. Cửa sổ làm việc của Altium. Hình 2.27. Cửa sổ làm việc chương trình. Để tạo sơ đồ nguyên lý trước hết cần tạo 1 project (Dự án) mới. Từ menu File >> New >> Project >> PCB Project. Hình 2.28. Cử sổ tạo một project. Đặt tên và save tên dự án tên (mặc định PCB_Project) khi đó môi trường làm việc của Altium sẽ tự động chuyển sang môi trường vẽ mạch nguyên lý. Hình 2.29. Của sổ vẽ mạch nguyên lý. Để lấy linh kiện điện tử sử dụng thư viện Libraries, theo mặc định thư viện Miscellaneous Devices.IntLib tự động xuất hiện. Thư viện này chứa hầu hết các linh kiện dơn giản như: Điện trở, tụ điện, transistor, …. Hình 2.30. Cửa sổ lấy linh kiện. 2.3. Phần mềm CodeVisionAVR. Phần mềm CodeVisionAVR là một phần mềm hỗ trợ lập trình cho vi điều khiển AVR bằng ngôn ngữ C, nó hỗ trợ nhiều thư viện lập trình, thuận lợi cho việc phát triển các ứng dụng lớn trên AVR, phần mềm được viết chuyên nghiệp hướng tới người sử dụng bởi sự đơn giản, sự hổ trợ cao các thư viện có sẳn. 2.3.1. Giao diện của chương trình CodeVisionAVR. Khởi động chương trình từ shortcut trên destop màn hình nền hoặc từ Menu Start >> All programs >> CodeVisionAVR Evaluation >> CodeVisionAVR C Compiler Evaluation. Khi logo chương trình xuất hiện. Hình 2.31. Logo chương trình CodeVisionAVR. Xuất hiện cửa sổ chính của chương trình CodeVisionAVR như sau: Hình 2.32. Cửa sổ chính của chương trình CodeVisionAVR. Tạo Project (dự án) mới chọn File >> New sẽ xuất hiện cửa sổ Create New File sau đó chọn Project rồi nhấn vào OK. Hình 2.33. Cửa sổ tạo một Project. Chương trình sẽ yêu cầu xác nhận việc tạo project mới sử dụng CodeWizardAVR. Nhấn vào Yes để xác nhận. Hình 2.34. Cửa sổ xác nahaanhj việc tạo Project mới. Tiếp theo sẽ xuất hiện cửa sổ CodeWizardAVR (Hình 2.30), cho phép khởi tạo cấu hình cho chip vi điều khiển và một số thiết bị ngoại vi như: Ports, LCD, USART, Timers, I2C, ADC, SPI, . . . Hình 2.35. Khởi tạo cấu hình cho chíp và thiết bị ngoại vi. Sau khi đã khởi tạo xong cho chip và thiết bị ngoại vi cần lưu lại cấu hình bằng cách chọn Program >> Generate, Save and Exit. Hình 2.36. Lưu lại cấu hình. Xuất hiện cửa sổ Save C Compiler Source File yêu cầu lưu file source của project, gồm 3 file có tên mở rộng như sau: *.c, *.prj, *.cwp. Hình 2.37. Lưu file source cảu project. Sau khi đã lưu các file source của project sẽ xuất hiện cửa sổ quản lý project. Hình 2.38. Cửa sổ quản lý Project. Chương trình CodeVisionAVR sẽ tạo code mẫu, trong đó có đầy đủ code cần thiết mà đã khởi tạo trước đó. Từ cửa sổ này tiến hành viết code (bằng ngôn ngữ C), biên dịch và nạp vào vi điều khiển. Để biên dịch code chương trình chọn Project >> Compile (hoặc nhấn F9). Chọn Build All (Ctrl+F9) sẽ tạo ra file *.HEX (nằm trong thư mục EXE). Hình 2.39. Cửa sổ biên dịch code chương trình. Nạp vào chip: trước khi nạp vào chip cần thiết lập một số thông số như: - Chọn loại mạch nạp: Atmel STK200+/300. - Chọn Port giao tiếp: Tuỳ theo máy tính nhận diện bộ STK200+/300 ở port nào thì chọn đúng port giao tiếp. Hình 2.40. Cấu hình thông số nạp vào chip vi điều khiển. Để nạp vào chip chọn Tools >> Chip Programmer sẽ xuất hiện cửa sổ như hình bên dưới. Sau đó chọn Program >> FLASH. Hình 2.41. Cửa sổ nạp vào chip vi điều khiển. 2.3.2. Lập trình C trên CodeVisionAVR. C là một ngôn ngữ khá mạnh và rất nhiều ngưòi dùng. Nếu nói số lệnh cơ bản của C thì không nhiều. Nhưng đối với lập trình cho vi xử lý người lập trình chỉ cần biết số lượng lệnh không nhiều. Đầu tiên bạn phải làm quen với: Các kiểu toán tử ở C. Các kiểu dữ liệu. Cẩu trúc cơ bản của một chương trình. Các cấu trúc điều khiển (chính các tập lệnh). + Cấu trúc điều kiện if ... else + Các cấu trúc lặp Vòng lặp while Vòng lặp do while Vòng lặp for Cấu trúc lựa chọn: switch ... case ... break. Biết sử dụng các hàm và chương trình con. 2.3.2.1. Các chỉ thị trước khi sử lý. Chú thích được đặt sau dấu “ // ” hoặc “/*...*/ ”. Gọi thư viện. #include Ví dụ #include Lệnh gán #define biến_thay_thế biến Ví dụ #define start PINA.0 2.3.2.2. Các toán tử. Toán tử gán (=). Ví dụ: b = 5; a = 2 + b; a = 2 + (b = 5); a = b = c = 5; Các toán tử số học ( +, -, *, /, % ) (cộng), - (trừ) , * (nhân) , / (chia) Các toán tử gán phức hợp (+=, -=, *=, /=, >>=, <<=, &=, ^=, |=) Ví dụ: value += increase; Tương đương với value = value + increase; a -= 5; Tương đương với a = a - 5; a /= b; Tương đương với a = a / b; price *= units + 1; Tương đương với price = price * (units + 1); Tăng và giảm ++ , - - a++; a+=1; a=a+1; Tính chất tiền tố hoặc hậu tố (++a) # (a++) Ex B=3; B=3;A=++B; // A is 4, B is 4 B=3; A=B++; // A is 3, B is 4 Các toán tử quan hệ ( ==, !=, >, =, <= ). == Bằng != Khác > Lớn hơn < Nhỏ hơn > = Lớn hơn hoặc bằng < = Nhỏ hơn hoặc bằng Các toán tử logic ( !, &&, || ). ! NOT , && AND, || OR Các toán tử thao tác bit (&, |, ^, ~, >). & AND Logical AND, | OR Logical OR. ^ XOR Logical exclusive OR. ~ NOT Đảo ngược bit. << SHL Dịch bit sang trái. >> SHR Dịch bit sang phải. 2.3.2.3. Các kiểu dữ liệu. Bảng 2.1. Bảng dữ liệu. Type Bits Bytes Range char 8 1 -128 to +127 unsigned char 8 1 0 to 255 enum 16 2 -32,768 to +32,767 short 16 2 -32,768 to +32,767 unsigned short 16 2 0 to 65,535 int 16 2 -32,768 to +32,767 unsigned char 16 2 0 to 65,535 long 32 4 -2,147,483,648 to +2,147,483,647 unsigned long 32 4 to 4,294,697,295 -Cách khai bao biến. Kiểu_biến tên_biến; Ví dụ: char so; 2.3.2.4. Cấu trúc cơ bản của một chương trình C. #include //Gọi thư viện có sẵn cách viết khác "*.h"// #define led1 PORTA.0 // Dùng định nghĩa các biến// char bien1,bien2; //Cac biến cần dùng// int a,b; void chuongtrinhcon(unsigned int b) //chương trình con// { … } int ham(void) //chương trình con bằng hàm // { …. Return(a); } void main(void) //chương trình chính// { int a; //Khai báo biến bằng số nguyên// chuongtrinhcon(); a = ham(); ... } 2.3.2.5. Các lệnh cơ bản của C. Cấu trúc điều kiện: if và else if (điều kiện) Biểu thức //Nếu điều kiện đúng thì thực hiện biểu thức sai thì thực hiện lệnh tiếp theo//. if (x == 100) x++; //Nếu x=100 thì tăng x thêm 1//. if (condition) statement1 else statement2 if (x == 100) x++; else x- -; Các cấu trúc lặp. Vòng lặp while. Dạng thức: while (điều kiện) { Biểu thức } //Nếu điều kiện còn đúng thì còn thực hiện biểu thức nếu sai thì thoát//. While(1) {}; //Tạo vòng lặp mãi mãi, rất hay đùng trong lập trình vi xử lý chương trình chính sẽ được viết trong dấu ngoặc//. Vòng lặp do-while. Dạng thức: do { Biểu thức} while (điều kiện); //Thực hiện biểu thức sau đó kiểm tra nếu điều kiện còn đúng thì còn thực hiện biểu thức nếu sai thì thoát//. Ví dụ: do { x++; //Sử dụng viết câu lệnh//. } while(x>10) Vòng lặp for. Dạng thức: for (gía trị đầu; gía trị cuối; gía trị tăng/giảm) { biểu thức;} Ví dụ: for ( n=0; n=100 ; n++) { Câu lệnh; } //Mỗi làn thực hiện xong lệnh thì n++ tăng đến 100 thì thôi//. Các lệnh rẽ nhánh và lệnh nhảy. Lệnh break. Sử dụng break có thể thoát khỏi vòng lặp ngay cả khi điều kiện để nó kết thúc chưa được thoả mãn. Lệnh này có thể được dùng để kết thúc một vòng lặp không xác định hay buộc nó phải kết thúc giữa chừng thay vì kết thúc một cách bình thường. Lệnh continue. Lệnh continue làm cho chương trình bỏ qua phần còn lại của vòng lặp và nhảy sang lần lặp tiếp theo. Lệnh goto. Lệnh này cho phép nhảy vô điều kiện tới bất kì điểm nào trong chương trình. Cấu trúc lựa chọn: Switch...case...break . Cú pháp: Switch (biến) { case constant1: Biểu thức 1 break; case constant2: Biểu thức 2 break; . . . default: Biểu thức n } CHƯƠNG 3: THIẾT KẾ MẠCH, LẬP TRÌNH ĐIỀU KHIỂN ĐỘNG CƠ ĐIỆN MỘT CHIỀU VÀ MÔ PHỎNG TRÊN PHẦN MỀM PROTUS. 3.1. Thiết kế mạch nguyên lý. 3.1.1. Thiết kế mạch điều khiển. Hình 3.1. Sơ đồ mạch điều khiển. Một số thành phần cơ bản trong mạch:       - Mạch tạo nguồn: Chip 7805 và các tụ điện được dùng để tạo nguồn 5V ổn định cho mạch ứng dụng. Hình 3.2.Sơ đồ chân của IC 7805 và chức năng các chân.       - Các chân nguồn cho chip: Cần cấp nguồn và mass cho chip, nối chân VCC (chân 10 cho chip ATmega32), và AVCC (chân 30) với nguồn VCC, nối các chân GND và AGND với mass.       - Các đường nạp chip: Dành sẵn các đường này để có thể kết nới với các mạch nạp mà không cần tháo chip khỏi mạch ứng dụng. Nên bố trí các đường này theo thứ tự mà mạch nạp được bố trí (ví dụ GND, VCC, RESET, SCK, MISO, MOSI).       - Bộ tạo dao động - Thạch anh (Crystal): Đây là nguồn xung giữ nhịp "nuôi" chip, không có xung giữ nhịp chip sẽ không hoạt động. Tuy nhiên, đa số các chip AVR đều hỗ trợ nguồn xung giữ nhịp bên trong với tần số tối đa 8MHz. Nếu không cần thiết đến tần số hoạt động cao bạn có thể dùng nguồn xung giữ nhịp trong chip, khi đó có thể bỏ qua bộ tạo xung (gồm thạch anh và 2 tụ điện như trong hình). Việc chọn nguồn xung "nuôi" chip được xác lập bởi các Fuse bits.       - Chân AREF là chân điện áp tham chiếu cho các bộ ADC, nếu chế độ tham chiếu nội được dùng, có thể nối AREF với một tụ điện. 3.1.1. Thiết kế mạch lực. Hình 3.3. Sơ đồ mạch lực. Một số thành phần cơ bản trong mạch: - Điện trở là phần tử đặc trưng cho tính chất cản trở dòng điện. Hình 3.4. Ký hiệu màu điện trở. - Tụ điện là linh kiện có chức năng tích tụ năng lượng điện + Tụ hoá (tụ phân cực) Hình 3.5. Kí hiệu tụ hoá và hình dạng tụ hoá. + Tụ giấy (tụ không phân cực) Hình 3.6. Kí hiệu tụ hoá và hình dạng tụ giấy. - Diode bán dẫn là các linh kiện điện tử cho phép dòng điện đi qua nó theo một chiều mà không theo chiều ngược lại. Hình 3.7. Cấu tạo và hình dạng thực tế của diode bán dẫn. - Transistor là một linh kiên bán dẫn thường được sử dụng như một thiết bị khuyếch đại hoặc một khóa điện tử. Hình 3.8. NPN tranzito và kí hiệu. Hình 3.9. PNP tranzito và kí hiệu      - MOSFET là viết tắt của cụm Meta Oxide Semiconductor Field-Effect Transistor tức Transisor hiệu ứng trường có dùng kim loại và oxit bán dẫn. Hình 3.10 mô tả cấu tạo của MOSFET kênh n và ký hiệu của 2 loại MOSFET kênh n và kênh p. Hình 3.10. MOSFET. MOSFET có 3 chân gọi là Gate (G), Drain (D) và Source (S) tương ứng với B, E và C của BJT. Cơ bản, đối với MOSFET kênh N, nếu điện áp chân G lớn hơn chân S khoảng từ 3V thì MOSFET bão hòa hay dẫn. Khi đó điện trở giữa 2 chân D và S rất nhỏ (gọi là điện trở dẫn DS), MOSFET tương đương với một khóa đóng. Ngược lại, với MOSFET kênh P, khi điện áp chân G nhỏ hơn điện áp chân S khoảng 3V thì MOSFET dẫn, điện trở dẫn cũng rất nhỏ. Vì tính dẫn của MOSFET phụ thuộc vào điện áp chân G (khác với BJT, tính dẫn phụ thuộc vào dòng IB), MOSFET được gọi là linh kiện điều khiển bằng điện áp, rất lý tưởng cho các mạch số nơi mà điện áp được dùng làm mức logic. MOSFET thường được dùng thay các BJT trong các mạch cầu H vì dòng mà linh kiện bán dẫn này có thể dẫn rất cao, thích hợp cho các mạch công suất lớn. Do cách thức hoạt động, có thể hình dung MOSFET kênh N tương đương một BJT loại npn và MOSFET kênh P tương đương BJT loại pnp. Thông thường các nhà sản xuất MOSFET thường tạo ra 1 cặp MOSFET gồm 1 linh kiện kênh N và 1 linh kiện kênh P, 2 MOSFET này có thông số tương đồng nhau và thường được dùng cùng nhau. Một ví dụ dùng 2 MOSFET tương đồng là các mạch số CMOS (Complemetary MOS). Cũng giống như BJT, khi dùng MOSFET cho mạch cầu H, mỗi loại MOSFET chỉ thích hợp với 1 vị trí nhất định, MOSFET kênh N được dùng cho các khóa phía dưới và MOSFET kênh P dùng cho các khóa phía trên.      Trong đồ án dùng 2 MOSFET kênh N IRF540 và 2 kênh P IRF9540 của hãng International Rectifier làm các khóa cho mạch cầu H. Các MOSFET loại này chịu dòng khá cao (có thể đến 30A, danh nghĩa) và điện áp cao nhưng có nhược điểm là điện trở dẫn tương đối lớn. 3.2. Lập trình c bằng CodeVisionAVR cho ATMega32 điều khiển động cơ điện một chiều. 3.2.1. Luật điều khiển. Hoạt động của mạch điện tử như sau: 1 chip ATMega32 được sử dụng như một counter, có thể dùng để điều khiển động cơ điện một chiều quay theo chiều thuận, ngược và điều khiển động cơ điện một chiều quay nhanh, chậm, dừng động cơ theo thời gian hoặc REST, nhấn button 1 để điều khiển động cơ quay ngược, button 2 điều khiển động cơ quay theo chiều thuận, button 3 điều khiển tăng tốc độ động cơ đến tốc độ max theo chiều ngược, sau 1s thì giảm tốc động cơ và 1s tiếp theo dừng động cơ, button 4 điều khiển độ động cơ quay chậm theo chiều thuận, sau 1s thì tăng tốc độ động cơ đến max và 1s tiếp theo dừng động cơ, button 5 dừng động cơ và button 6 REST. Giá trị điều khiển động cơ theo PWM được hiển thị trên LCD. 3.2.2. Lập trình điều khiển động cơ điện một chiều. #include #include // Alphanumeric LCD Module functions #include // Declare your global variables here void lcd_putnum(unsigned char so,unsigned char x,unsigned char y) { unsigned char a,b,c; a=so/100; // lay fan tram b=(so-100*a)/10; // lay fan chuc c=(so-100*a-10*b); // lay hang don vi lcd_gotoxy(x,y); // ve vi tri x,y lcd_putchar(a+48); // day ra hang tram, ma ascii lcd_putchar(b+48); // day ra hang chuc, ma ascii lcd_putchar(c+48); // day ra hang don vi, ma ascii } void dc_speed_nguoc(unsigned char n) { lcd_putnum(n,4,1); OCR1AL=n; OCR1BL=0; } void dc_speed_thuan(unsigned char n) { lcd_putnum(n,4,1); OCR1AL=0; OCR1BL=n; } void dc_speed_dung() { lcd_putnum(0,4,1); OCR1AL=0; OCR1BL=0; } void main(void) { PORTA=0x00; DDRA=0x00; PORTB=0xFF; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0xFF; TCCR0=0x00; TCNT0=0x00; OCR0=0x00; TCCR1A=0xF2; TCCR1B=0x02; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; MCUCSR=0x00; TIMSK=0x00; UCSRB=0x00; ACSR=0x80; SFIOR=0x00; ADCSRA=0x00; SPCR=0x00; TWCR=0x00; lcd_init(16); while (1) { if(PINB.0==0) { lcd_gotoxy(0,0); lcd_putsf("Quay nguoc PWM= ,n=-1440"); dc_speed_nguoc(255); //delay_ms(1000); //lcd_clear(); } if(PINB.1==0) { lcd_gotoxy(0,0); lcd_putsf("Quay thuan PWM= ,n=1440 "); dc_speed_thuan(255); //delay_ms(1000); //lcd_clear(); } if(PINB.2==0) { lcd_gotoxy(0,0); lcd_putsf("Quay nguoc max PWM= ,n=-1440"); dc_speed_nguoc(250); delay_ms(1000); lcd_clear(); { lcd_gotoxy(0,0); lcd_putsf("Quay nguoc cham PWM= ,n=-1020"); dc_speed_nguoc(180); delay_ms(1000); lcd_clear(); if(PINB.4==1) { lcd_gotoxy(0,0); lcd_putsf("Dung PWM= ,n=0"); dc_speed_dung(); } } } if(PINB.3==0) { lcd_gotoxy(0,0); lcd_putsf("Quay thuan cham PWM= ,n=1020"); dc_speed_thuan(180); delay_ms(1000); lcd_clear(); { lcd_gotoxy(0,0); lcd_putsf("Quay thuan max PWM= ,n=1440"); dc_speed_thuan(250); delay_ms(1000); lcd_clear(); if(PINB.4==1) { lcd_gotoxy(0,0); lcd_putsf("Dung PWM= ,n=0"); dc_speed_dung(); } } } if(PINB.4==0) { lcd_gotoxy(0,0); lcd_putsf("Dung PWM= ,n=0"); dc_speed_dung(); } } } 3.3. Mô phỏng trên phần mềm Proteus Để thực hiện quá trình mô phỏng cần thực hiện các bước sau: - Thiết kế mạch nguyên lý điều khiển động cơ điện một chiều trên phần mềm Proteus. Hình 3.11. Mạch nguyên lý điều khiển động cơ điện một chiều trên Proteus. - Lập trình bằng ngôn ngữ C vào cửa sổ trên phần mềm CodeVisionAVR. Hình 3.12. Cửa sổ lập trình C cho AVR. - Nhấn Shift + F9 để biên dịch chương trình: Hình 3.13. Kết quả sau khi biên dịch. Nếu chương trình dịch không có lỗi chương trình dịch sẽ dịch sang file Hex. - Nạp chương trình cho vi điều khiển. Để nạp chương trình cho vi điều khiển nhấp đôi chuột trái vào vi điều khiển cửa sổ Edit Component hiện ra. Trong cửa sổ Edit Component chú ý: Program File: Chọn đường dẫn đến chương trình cần nạp Hình 3.14. Nạp chương trình cho vi điều khiển. Sau khi nạp chương trình sử dụng các nút mô phỏng để quan sát sự làm việc của mạch. Mô phỏng sự làm việc của mạch vi điều khiển có thể quan sát sự làm việc của mạch, để có thể điều chỉnh hoạt động của mạch sao cho phù hợp với yêu cầu trước khi thi công mạch. Mô phỏng vi điều khiển còn giúp cho việc viết phần mềm tốt hơn. Hình 3.15. Mô phỏng điều khiển động cơ điện một chiều trên Proteus. 3.4. Mạch in và mạch mô phỏng trên phần mềm atium. Hình 3.16. Mạch in mạch điều khiển. Hình 3.17. Mạch in mạch lực. Hình 3.18. Mặt trước mạch điều khiển. Hình 3.19. Mặt trước mạch lực. Hình 3.20. Mặt sau mạch điều khiển. Hình 3.21. Mặt sau mạch lực. Hình 3.22. Mạch điều khiển mô phỏng 3D Hình 3.23. Mạch lực mô phỏng 3D 3.5. Mạch thực tế điều khiển động cơ điện một chiều. Hình 3.24. Mạch điều khiển thực tế Hình 3.25. Mạch lực thực tế động cơ Động cơ điện một chiều điện một chiều. KẾT LUẬN. Với mỗi sinh viên khóa luận tốt nghiệp là một yêu cầu không thể thiếu khi sắp ra trường, đó là sự tổng hợp tất cả những kiến thức đã tích lũy được trong suốt quá trình học tập tại nhà trường. Cũng giống như các bạn trong lớp 01dhlt điện - điện tử thời gian em học tập tại nhà trường cũng đã đến thời kỳ hoàn thành. Và để làm đươc điều đó bản thân em và các bạn trong lớp sẽ phải đáp ứng được yêu cầu đề ra của nhà trường đó là làm khóa luận tốt nghiệp. Sau hơn một tháng tích cực tìm hiểu và làm khóa luận tốt nghiệp của bản thân và đặc biệt là dưới sự hướng dẫn chỉ bảo tận tình của thầy Nguyễn Văn Trung, là người đã trực tiếp hướng dẫn và giúp đỡ em trong quá trình làm khóa luận cùng các thầy cô giáo trong khoa điện, toàn thể các bạn sinh viên trong lớp đã tận tính chỉ bảo, tạo điều kiện về thời gian giúp đỡ em trong thời gian thực hiện làm khóa luận. Và trong khoảng thời gian đó với trình độ có hạn em chưa thể đáp ứng được một bài khóa luận như mong muốn, nhưng về cơ bản thì em cũng đã làm được những yêu cầu nội dung cơ bản đề tài đã đặt ra như: - Tổng quan về các thiết bị điều chỉnh: Trong chương này em đã nghiên cứu tìm hiểu được các thiết bị điều chỉnh như: Chíp Atmega32, cấu trúc các thanh ghi, cấu hình các chân điều khiển để điều khiển động cơ điện một chiều, LCD để hiển thị các quá trình làm việc của động cơ, ngoài ra em còn giới thiệu về động cơ điện một chiều để là đối tượng điều khiển chính. - Giới thiệu về phần mềm Proteus và lập trình C cho AVR trên phần mềm CodeVisionAVR. Proteus và Altium là hai phần mềm của chuyên ngành kỹ thuật điện - điện tử, nó giúp cho các bạn sinh viên trong ngành có thể tự thiết kế được các mạch ứng dụng mô phỏng một cách khoa học và hiệu quả, có thể chuyển từ mạch nguyên lý qua mạch in và mạch mô phỏng trên 3D ngoài ra phần mềm CodeVisionAVR là một phần mềm hỗ trợ lập trình cho vi điều khiển AVR bằng ngôn ngữ C, nó hỗ trợ nhiều thư viện lập trình có sẵn .Trong chương này em cũng đã giới thiệu được các phần mềm trên và ứng dụng cho đề tài nghiên cứu của em, tuy nhiên do khả năng còn hạn chế nên phần mô phỏng của em chua được hoàn thiện cho bài bài nghiên cứu - Thiết kế mạch, lập trình điều khiển động cơ điện một chiều và mô phỏng trên phần mềm Proteus. Cơ sở từ hai chương 1 và 2 em đã đưa ra được mạch nguyên lý và mạch điều khiển động cơ điện một chiều, mạch mô phỏng dựa trên phần mềm Proteus và Altium và mạch thực tế. Trong quá trình làm khóa luận em đã tổng kết, tập hợp lại toàn bộ kiến thức mà mình đã được học trong suốt 4 năm rưỡi học tại trường. Làm khóa luận tốt nghiệp là cơ hội tốt để em tiếp thu, học hỏi những kiến thức mới sát với tình hình thực tế. Và trong quá trình làm đồ án em nhận thấy là mình đang làm một đề tài mang tính cấp thiết nó có thể được ứng dụng trong các phòng nghiên cứu ứng dụng của khoa điện – điện tử và cũng có thể làm cơ sở mở rộng cho các ứng dụng trong điều khiển công nghiệp như: Điều khiển robot, điều khiển trong truyền động cánh tay robot, trong các yêu cầu về truyền động có độ chính xác cao cả về dải điều chỉnh rộng … Từ đó em rút ra được nhiều kinh nghiệm trong công việc của mình, và em cũng nhận ra được những hạn chế, thiếu sót của bản thân. Cũng chính vì những hạn chế cho nên bản khóa luận này của em không thể tránh khỏi sai sót. Do vậy em kính mong được sự quan tâm chỉ bảo nhiều hơn nữa của các thầy cô giáo trong khoa điện và toàn thể các bạn sinh viên trong lớp, để bản đồ án này hoàn thiện hơn và được áp dụng trong thực tiễn. Một lần nữa em xin chân thành cám ơn sự giúp đỡ tận tình quý báu của thầy giáo hướng dẫn Nguyễn Văn Trung và các thầy cô giáo trong khoa điện cùng toàn thể các bạn sinh viên trong lớp đã nhiệt tình giúp đỡ em trong suốt quá trình làm khóa luận vừa qua cũng như trong cả khóa học vừa rồi. Em xin chân thành kính chúc các thầy cô luôn mạnh khỏe hoàn thành tốt mọi nhiệm vụ được giao, chúc các bạn sinh viên bảo vệ khóa luận đạt kết quả cao và thành công rực rỡ. Xin chân thành cám ơn! Chí Linh, ngày 02 tháng 11 năm 2012 Sinh viên Phạm Danh Bình TÀI LIỆU THAM KHẢO Vi điều khiển AVR: Ngô Diên Tập. Nhà xuất bản Khoa học & Kỹ thuật - Hà nội 2006. Lập trình ghép nối máy tính trong Windows. Ngô Diên Tập. Nhà xuất bản Khoa học & Kỹ thuật - Hà nội 2000. Lập trình C trong kỹ thuật điện tử: Wiffiam buchnan. Nhà xuất bản Khoa học & Kỹ thuật - Hà nội 1999. Điện tử công suất: Nguyễn Bính. Nhà xuất bản Khoa học & Kỹ thuật - Hà nội 1999. Ddatasheet Atmega8 -www.atmel.com/images/doc2486.pdf - MỤC LỤC DANH MỤC HÌNH VẼ Hình 1.1. Các dòng AVR: tiny, AVR và AT mega. 4 Hình 1.2. Hình dạng thức tế ATMega32. 5 Hình 1.3. Cấu trúc chân của Atmega32. 6 Hình 1.4. Sơ đồ khối Atmega32. 8 Hình 1.5. Sơ đố cấu trúc CPU của Atmega32. 9 Hình 1.6. Thanh ghi trạng thái SREG. 9 Hình 1.7. Thanh ghi chức năng chung. 10 Hình 1.8. Thanh ghi con chỏ ngăn xếp. 10 Hình 1.9. Bộ nhớ chương trình có và không có sử dụng boot loader. 12 Hình 1.10. Cấu trúc chân của AVR. 14 Hình 1.11. Sơ đồ một cổng vào ra. 15 Hình 1.12. Sơ đồ cấu trúc bộ định thời. 16 Hình 1.13. Đơn vị đếm. 16 Hình 1.14. Đơn vị so sánh ngõ ra. 17 Hình 1.15. Thanh ghi điều khiển bộ định thời. 17 Hình 1.16. Thanh ghi bộ định thời. 18 Hình 1.17. Thanh ghi so sánh ngõ ra. 18 Hình 1.18. Thanh ghi mặt nạ ngắt TIMSK 18 Hình 1.19. Thanh ghi cờ ngắt bộ định thời. 18 Hình 1.20. Sơ đồ cấu trúc giao tiếp I2C 19 Hình 1.21. Thanh ghi quy định tốc độ phát xung. 19 Hình 1.22. Thanh ghi điều chỉnh TWI. 20 Hình 1.23. Thanh ghi trạng thái TWI. 20 Hình 1.24. Thanh ghi chứa device của slave. 20 Hình 1.25. Mạch nạp STK200 sử dụng DB25 và 4 điện trở. 22 Hình 1.26. Text LCD 16x2. 23 Hình 1.27. Kết nối LCD với AVR và nguồn. 24 Hình 1.28. Vùng nhớ CGROM. 26 Hình 1.29. Hoạt động của chan RS. 27 Hình 1.30. Động cơ điện một chiều. 30 Hình 1.31. Phần cảm (Stato) động cơ điện một chiều. 31 Hình 1.32. Phần ứng (Rôto) động cơ điện một chiều. 31 Hình 1.33. Chổi than. 32 Hình 1.34. Cổ góp. 32 Hình 1.35. Sơ đồ nguyên lý động cơ điện một chiều. 33 Hình 1.36. Sơ đồ nối dây của động cơ kích từ độc lập và song song. 33 Hình 1.37. Đặc tính cơ điện của động cơ một chiều kích từ độc lập. 35 Hình 1.38. Đặc tình cơ của động cơ điện một chiều kích từ độc lập. 36 Hình 1.39. Đường đặc tính cơ khi thay đổi điện áp đặt vào mạch phần ứng. 37 Hình 1.40. Sơ đồ nguyên lý điều chỉnh tốc độ bằng cách thay đổi từ thông. 38 Hình 1.41. Họ đường đặc tính cơ khi thay đổi từ thông. 39 Hình 1.42. Sơ đồ đấu dây. 39 Hình 1.43. Họ đặc tính cơ. 40 Hình 1.44. Mở máy ĐCĐMC nhờ biến trở. 41 Hình 1.45. Sơ đồ băm xung điện áp một chiều có đảo chiều. 42 Hình 2.1. Thư mục gốc chứa file setup. 43 Hình 2.2. Hộp thoại chào mừng cài đặt. 43 Hình 2.3. Hộp thọa bản quyên của sản phẩm. 44 Hình 2.4. Hộp thoại lựa chọn lọa hình cài đặt. 44 Hình 2.5. Hộp thoại mã của sản phẩm. 44 Hình 2.6. Hộp thoại lựa chọn thư mục cài đặt. 45 Hình 2.7. Hộp thoại lựa các đặc trưng của quá trình cài đặt 45 Hình 2.8. Hộp thoại giới thiệu thư mục được cài đặt. 45 Hình 2.9. Hộp thoại thể hiện trạng thái cài đặt. 46 Hình 2.10. Hộp thoại thể hiện cài đặt Wizard kết thúc. 46 Hình 2.11. Hộp thoại thể hiện việc quản lý mã cài đặt. 46 Hình 2.12. Hộp thoại chọn mã cài đặt 47 Hình 2.13. Hộp thoại cài đặt mã 47 Hình 2.14. Thư mục vừa cài đặt 47 Hình 2.15. Hộp thoại crack sản phẩm. 47 Hình 2.16. Lựa chọn file để crack. 48 Hình 2.17. Giao diện khi khởi động phần mềm. 48 Hình 2.18. Menu chính của phần mềm. 48 Hình 2.19. Khung nhìn bản vẽ. 50 Hình 2.20. Cách lấy linh kiện từ thư viện. 51 Hình 2.21. Cửa sổ các linh kiện. 51 Hình 2.22. Tìm chíp ATMega32. 52 Hình 2.23. Tìm LCD 16x2. 52 Hình 2.24. Tìm động cơ một chiều. 53 Hình 2.25. Cách nối các linh kiện. 53 Hình 2.26. Logo chương trình Altium10. 54 Hình 2.27. Cửa sổ làm việc chương trình. 55 Hình 2.28. Cử sổ tạo một project. 55 Hình 2.29. Của sổ vẽ mạch nguyên lý. 56 Hình 2.30. Cửa sổ lấy linh kiện. 56 Hình 2.31. Logo chương trình CodeVisionAVR. 57 Hình 2.32. Cửa sổ chính của chương trình CodeVisionAVR. 57 Hình 2.33. Cửa sổ tạo một Project. 57 Hình 2.34. Cửa sổ xác nahaanhj việc tạo Project mới. 58 Hình 2.35. Khởi tạo cấu hình cho chíp và thiết bị ngoại vi. 58 Hình 2.36. Lưu lại cấu hình. 59 Hình 2.37. Lưu file source cảu project. 59 Hình 2.38. Cửa sổ quản lý Project. 60 Hình 2.39. Cửa sổ biên dịch code chương trình. 60 Hình 2.40. Cấu hình thông số nạp vào chip vi điều khiển. 61 Hình 2.41. Cửa sổ nạp vào chip vi điều khiển. 61 Hình 3.1. Sơ đồ mạch điều khiển. 67 Hình 3.2.Sơ đồ chân của IC 7805 và chức năng các chân. 68 Hình 3.3. Sơ đồ mạch lực. 69 Hình 3.4. Ký hiệu màu điện trở. 70 Hình 3.5. Kí hiệu tụ hoá và hình dạng tụ hoá. 70 Hình 3.6. Kí hiệu tụ hoá và hình dạng tụ giấy. 70 Hình 3.7. Cấu tạo và hình dạng thực tế của diode bán dẫn. 71 Hình 3.8. NPN tranzito và kí hiệu. 71 Hình 3.9. PNP tranzito và kí hiệu 71 Hình 3.10. MOSFET. 72 Hình 3.11. Mạch nguyên lý điều khiển động cơ điện một chiều trên Proteus. 79 Hình 3.12. Cửa sổ lập trình C cho AVR. 79 Hình 3.13. Kết quả sau khi biên dịch. 80 Hình 3.14. Nạp chương trình cho vi điều khiển. 81 Hình 3.15. Mô phỏng điều khiển động cơ điện một chiều trên Proteus. 81 Hình 3.16. Mạch in mạch điều khiển 82 Hình 3.17. Mạch in mạch lực. 82 Hình 3.18. Mặt trước mạch điều khiểnc. 82 Hình 3.19. Mặt trước mạch lực. 82 Hình 3.20. Mặt sau mạch điều khiển. 83 Hình 3.21. Mặt sau mạch lực. 83 Hình 3.22. Mạch điều khiển mô phỏng 3D 83 Hình 3.23. Mạch lực mô phỏng 3D 83 Hình 3.24. Mạch điều khiển thực tế Động cơ điện một chiều 84 Hình 3.25. Mạch lực thực tế động cơ điện một chiều. 84 DANH MỤC BẢNG BIỂU Bảng 1.1. Vector ngăt cho Atmega32 11 Bảng 1.2. Địa chỉ của tất cả các port. 13 Bảng 1.3. Cấu hình cho các chân cổng. 14 Bảng 1.4. Chọn nguồn xung cho bộ định thời. 18 Bảng 1.5. Tốc độ xung giữ nhịp tham khảo. 19 Bảng 1.6. Sơ đồ chân: 23 Bảng 1.7. Thể hiện vị trí DDRAM trên màn hình. 25 Bảng 1.8. Các tập lệnh của LCD. 28 Bảng 2.1. Bảng dữ liệu. 63

Các file đính kèm theo tài liệu này:

  • docdanhbinh_5272.doc