- Sơ đồ thiết kế khí nén:
3.3.7. ENCODER – Hiển thị
3.3.7.1 ENCODER. Cấu tạo.
Hình 3.47: Sơ đồ nguyên lý mạch xử lý tín hiệu ENCODER.
Encoder sử dụng ở đây là loại Encoder 100 xung 2 tín hiệu Sign A và Sign B, hai tín hiệu này lệch pha nhau 900. Để VĐK không nhận liền lúc cả hai tín hiệu SIGN A và SIGN B ta sử dụng mạch đọc Encoder trên với mục đích là khi Encoder quay thuận (Sign A có tín hiệu trước) thì qua mạch đọc Encoder này chỉ đưa ra đầu ra là Sign A đầu ra Sign B có tin hiệu và đưa vào VĐK luôn luôn là mức 0, còn tín hiệu Sign A đưa vào VĐK chính là xung Sign A của Encoder tạo ra. Và ngược lại là khi Encoder quay theo chiều ngược( Sign B có tín hiệu trước) thì qua mạch đọc Encoder này chỉ đưa ra đầu ra là Sign B đầu ra Sign A có tin hiệu và đưa vào VĐK luôn luôn là mức 0 còn tín hiệu Sign A đưa vào VĐK chính là xung Sign A của Encoder tạo ra.
Hình 3.48: Sơ đồ Board mạch đọc ENCODER
-Hiển thị:
Hình 3.50 Sơ đồ broad mạch hiển thị.
Mạch hiển thị dùng để đếm tốc độ quay của ENCODER, để tiết kiểm cổng vào/ra của VĐK nên đã dùng truyền thông giao tiếp nối tiếp để thực hiện việc truyền thông tin từ VĐK xang mạch hiển thị.
Nguyên lý mạch: Nối chân P3.0 vào chân xung Clock của IC ghi dịch 74164, chân P3.1 nối chung với 2 chân A và B để lấy tín hiệu vào cho IC 74164. 4 đầu ra của nửa byte cao được lấy làm tín hiệu vào cho IC mã BCD thành mã 7 thanh 74247. 3 bit QB, QC, QD (74164) được nối với 3 bit A, B, C của IC 74138. IC 74138 có tác dụng kích mở cho transistor dẫn làm cho led hiển thị.
Tính toán thông số:
Để đơn giản hơn ta xem LED 7 đoạn gồm 7 LED đơn sử dụng dòng 5 mA Vậy dòng cần cung cấp cho LED là : ILed=7.5=35mA
chọn BJT là 2SC828 với βmin=70 IC=0,15mA
dòng IBmin=IC/βmin=150/70=2,14mA
IB=(2÷3)IBmin=(2÷3).2,14=2,5.2,14=5,35mA
Để T1 dẫn thì ngõ ra của 74138 ở mức thấp tức là V01=0,45V,điện áp rơi trên T là 0,6V nên ta chọn các điện trở có giá trị là:
R=(VCC-V01-0,6)/IB=(5-0,45-0,6)/5,35=0,72K.Ta chọn R=1K
3.3.8 Công suất.
Phần công suất là bộ phận quan trọng nhất của mạch điện, phần này tạo nên sự hoạt động của ROBOT, những phần đã trình bày ở trên đều nhằm mục đích phục vụ cho sự hoạt động tốt của khối công suất. Cụ thể là khối cảm biến dò đường đưa tín hiệu vào VĐK để VĐK lại điều khiển khối công suất đi cho đúng đường đúng vạch, đúng tốc độ. Tín hiệu của ENCODER đo khoảng cách dịch chuyển báo cho VĐK rồi VĐK lệnh cho mạch công suất dừng lại hay tiếp tục đi hay bẻ lái chuyển hướng…… Vì công suất là khối tạo nên hoạt động của
ROBOT nên nó phải thật chính xác, phải thật ổn định, phải được cách ly hoàn toàn với khối điều khiển để tránh sự tác động trở lại của mạch công suất tới mạch điều khiển.
Với yêu cầu của đề thi năm nay thì ta chọn các loại động cơ có tốc độ không cần quá cao nhưng cần có thể chịu được tải lớn, tuy nhiên động cơ tốc độ cao và khỏe thì cang tốt. Trong quá trình làm việc thì thấy động cơ tốc độ 70 – 80 vòng/phút là hợp lý nhất, vì động cơ được lắp trực tiêp bộ truyền tỷ số cao nên tốc tộ không cao nhưng lực thì rất lơn, đáp ứng tốt với yêu cầu đề thi.
3.3.8.1.Nguyên lý hoạt động.
Hình 3.52 Bộ cách li quang và bộ khuếch đại dòng ULN2803
Trên sơ đồ nguyên lý thấy mỗi động cơ sẽ được điều khiển bởi hai cổng của VĐK được cách ly qua hai bộ cách ly quang. Mỗi chân của VĐK sẽ điều khiển đóng cắt Rơle để tiến hành đảo hay không đảo chiều của động cơ, chân còn lại sẽ có tác dụng tiến hành điều xung để thay thế tốc độ động cơ.
Khi có tín hiệu đầu ra từ chân 14 của UNL.2803 (ton) ở mức cao (12V) thì Transistor ngược T1 được phân cực thuận, Transistor thuận T2 khóa, cực điều khiển IRF được đặt điện áp 12VDC. IRF dẫn, cấp điện mass cho động cơ.
Khi tín hiệu đầu ra từ chân 14 của UNL.2803 (ton) ở mức thấp (0V) UNL.2803 Transistor thuận T1 khi này khóa, Transistor ngược T2 dẫn, làm cho điện áp đặt vào cực điều khiển của IRF lú này bằng 0, IRF khóa, ngắt mass của động cơ. Quá trình này được lặp lại sau mỗi chu kỳ của xung. Trong một chu kỳ xung sẽ có
khoảng thời gian động cơ được cấp xung (ton) và khoảng thời gian mà động cơ không được cấp xung (toff).
Việc thay đổi khoảng thời gian ton trong toàn bộ chu kỳ sẽ thay đổi giá trị điện áp trung bình đặt lên động cơ dẫn đến làm thay đổi tốc độ của động cơ.
Để đảo chiều của động cơ ta dùng 1 Rơle, bình thường thì cuộn hút của Rơle không được cấp điện do đầu ra của UNL.2803AN ở mức cao, động cơ quay theo chiều thuận.
Khi cuộn hút của Rơle có điện, hai cực của động cơ được đảo do tiếp điểm của Rơle bị đảo và động cơ quay theo chiều ngược lại.
Như vậy thay vì phải dùng mạch cầu H ta chỉ cần dùng 1 van bán dẫn và 1 Rơle để có thể thực hiện việc thay đổi tốc độ và đảo chiều động cơ.
Điều kiện để động cơ quay là phải có xung điều khiển ( giá trị xung khác 0) cho van bán dẫn.
Điều kiện để động cơ có thể đảo chiều là có xung điều khiển cho van và cuộn hút Rơle có điện (Rơle tác động).
Cách ly giữa mạch điều khiển và mạch động lực là PC817 ( cách ly quang). PC817 có tầm quan trọng rất lớn vừa ngăn chặn những xung đột bên mạch đọng lực vừa có thể nâng mức tín hiệu của đầu ra mạch điều khiển.
Cực điều khiển của IRF 540N được cấp bởi bộ lọc RC. Nhờ có bộ lọc này mà giảm được các nhiễu và điện áp phân cực cho cực là là xung vuông chuẩn.
3.3.8.2. Lựa chọn và tính toán công suất cho mạch động lực. * Động cơ sử dụng trong Robot.
Tổng số động cơ được sử dụng là 5 động cơ có công suất tối đa là 24W, điện áp làm việc tối đa 24V, dòng điện làm việc định mức lớn nhất là 1A. Ta sẽ tiến hành chọn van bán dẫn cho động cơ:
+ Dòng điện làm việc của động cơ Ilv = 1A. + Dòng điện lúc khởi động Ikđ= 2 Ilv = 2.1 = 2A. + Chọn hệ số an toàn cho mạch là k=1,5.
+ Do đó dòng điện làm việc mà van phải chịu là Ilv van= k. Ikđ=1,5.2= 3A. + Ta sẽ chọn van có dòng làm việc đỉnh Ilvđ van ≥ 5.Ilv van = 5.3 = 15A. * Van bán dẫn IRF 540N.
IRF540N là một loại MOSFET công suất. Các thông số cơ bản của IRF540N: + Dòng điện làm việc lớn nhất:
- Ở 25°C: 33A - Ở 100°C: 23A
+ Điện áp làm việc lên tới 100V. + Công suất tối đa: 120W ở 25°C.
+ Công suất sẽ giảm 0,8W/°C tính từ nhiệt độ 25°C. + Dải nhiệt độ làm việc từ -55 đến 175°C.
+ Tần số đóng cắt lên tới 1 MHZ.
Trong mạch IRF540N phải được cung cấp điện áp 12V.
Hình 3.53 : Hình dạng, sơ đồ chân, kí hiệu trên mạch điện của IRF540N
* Transistor NPN D468 và PNP B562.
Transistor ngược D468 và Transistor thuận B562 kết hợp với nhau tạo thành một khóa đóng cắt để điều khiển IRF540 có tá dụng điều khiển xung cho động cơ.
Thông số của Transistor ngược D468 như sau:
+ Điện áp cực đại đặt trên collector và base: VCBO = 25V. + Điện áp cực đại đặt trên collector và emitter: VCEO = 20V. + Điện áp cực đại đặt trên emitter to base: VEBO = 5V. + Dòng điện cực đại đặt trên collector : I = 1,5A. + Công suất tiêu thụ cực đại: 0,9W.
Trong mạch D468 được cung cấp điện áp 12V, dòng tiêu thụ lúc này là I = 1mA. Vậy công suất tiêu thụ của D468 trong mạch là : P = U.I = 12.(1mA) = 12 (mW). Thông số của Transistor ngược B562 như sau:
+ Điện áp cực đại đặt trên collector và emitter: VCEO = -20V. + Điện áp cực đại đặt trên emitter to base: VEBO = -5V. + Dòng điện cực đại đặt trên collector : I = -1,5A. + Công suất tiêu thụ cực đại: 0,9W
Trong mạch B562 được cung cấp với điện áp ngược -12V, dòng điện tiêu thụ lúc này là I= -1mA. Vậy công suất tiêu thụ của B562 trong mạch là : P = U.I = -12.(- 1mA) = 12(mW).
* Opto PC817
Opto PC817 giúp cách ly quang giữa mạch công suất với mạch điều khiển. Vì đôi khi động cơ chạy quá dòng thì dòng trả về lớn chết một số linh kiện trong mạch công suất, nếu không có cách ly thì dòng lớn sẽ theo đường mạch làm vi điều khiển và toàn bộ những linh kiện khác trong mạch bị ảnh hưởng.
Trong mạch PC817 được cung cấp với điện áp 12V, dòng tiêu thụ là I = 5mA. Vậy công suất tiêu thụ của PC817 trong mạch là : P = U.I = 12.(5mA) = 60(mW).
Như vậy, với những tính toán công suất như trên thì để đảm bảo cho việc cung cấp đủ công suất hoạt động cho khối: cách ly quang, đảo chiều và thay đổi tốc độ động cơ thì chúng em đã thiết kế riêng nguồn 12V để cung cấp cho các khối này
CHƯƠNG IV: LƯU ĐỒ THUẬT TOÁN ĐIỀU KHIỂN ROBOT 4.1. Giải thuật dò đường.
Sử dụng cảm biến thu phát để dò đường gồm 8 cảm biến bố trí trên một đường thẳng và cách đều nhau 2.3cm.
Sơ đồ bố trí cảm biến như sau:
Với 8 cảm biến bố trí như trên ta có thể chia làm 17 vùng như sau: Vùng trung tâm : cảm biến 4 + cảm bien 5
Vùng phải 1:cảm biến 5 +/cảm biến 4 +/cảm biến 6 Vùng phải 2:cảm biến 5 + cảm biến 6
Vùng phải 3:cảm biến 6 +/cảm biến 5 +/cảm biến 7 Vùng phải 4:cảm biến 6 + cảm biến 7
Hình 4.1 : Cách bố trí led-dò đường.
Vùng phải 5:cảm biến 7 +/cảm biến 6 +/cảm biến 8 Vùng phải 6:cảm biến 7 + cảm biến 8
Vùng phải 7:cảm biến 8 +/cảm biến 7 Vùng phải 8:bit nhớ phải + /cảm biến 8
Vùng trái 1:cảm biến 4 +/cảm biến 3 +/cảm biến 5 Vùng trái 2:cảm biến 3 + cảm biến 4
Vùng trái 3:cảm biến 3 +/cảm biến 2 +/cảm biến 4 Vùng trái 4:cảm biến 2 + cảm biến 3
Vùng trái 5:cảm biến 2 +/cảm biến 1 +/cảm biến 3 Vùng trái 6:cảm biến 1 + cảm biến 2
Vung trái 7:cảm biến 1 +/cảm biến 2 Vùng trái 8:bit nhớ trái +/cảm biến 1 Lưu ý: cảm biến n :cảm biến n tích cực
/cảm biến n: cảm biến n không tích cực
Bit nhớ = 1 khi tât cả cảm biến lệch ra khỏi đường line theo hướng trái (bít nhớ phải) và theo hướng phải (bit nhớ trái).Ví dụ: bit nhớ trái được SET khi “cảm biến 1 +/cảm biến 2” và bị CLR khi “cảm biến 3 + cảm biến 4”
Đối với mỗi vùng trên ta xây dựng một hàm vận tốc sao cho robot có thể hiệu chỉnh về đúng vùng trung tâm khi bị lệch.
Ví dụ: Vùng trung tâm: MOV BANH_TRAI,#200 MOV BANH_PHAI,#200 Vùng phải 1: MOV BANH_TRAI,#200 MOV BANH_PHAI,#180
Trong đó các biến BANH_TRAI và BANH_PHAI là các biến điều xung (nhận giá trị từ 0 ÷ 255).
Hình 4.2 : Giải thuật dò đường.
Cứ tiếp tục xử lý hết 16 vùng. Nếu lệch vào vùng nào thì xử lý hàm tốc độ cho Bánh trái và Bánh phải hợp lý sao cho khi robot bị lệch sẽ tự động hiệu chỉnh về vị trí giữa vạch trắng.
4.2. Giải thuật đếm vạch ngang
Giải thuật đếm vạch thực chất là kiểm tra các cảm biến và đếm số cảm biến nhận vạch trắng vào một thời điểm nào đó, tuỳ thuộc vào yêu cầu mà ta có thể xét 4 hay 5 cảm biến tích cực tại một thời điểm nào đó là thời điểm robot đi qua vạch trắng ngang.
Hình 4.3 : Giải thuật đếm vạch ngang. Cb1 =1 Inc tong_cb Inc tong_cb Inc tong_cb Cb1 =1 Cb1 =1 Cb1 =1 Cb1 =1 Cb1 =1 Cb1 =1 Cb1 =1 Tổng cb>=5 Inc tong_cb Inc tong_cb Inc tong_cb Inc tong_cb Inc tong_cb start Inc tong_cb
Cb1 =1 Inc tong_cb Inc tong_cb Inc tong_cb Cb1 =1 Cb1 =1 Cb1 =1 Cb1 =1 Cb1 =1 Cb1 =1 Cb1 =1 Tổng cb>=5 Inc tong_cb Inc tong_cb Inc tong_cb Inc tong_cb Inc tong_cb start Inc tong_cb end
4.3.Thuật toán dò đường dùng cảm biến:
Với sự kết hợp đầy tài tình của các thuật toán nhỏ khác, thuật toán dò đường dùng cảm biến chính là sự kết hợp của các yếu tố : dò đường hiệu quả, đếm vạch chính xác.
Với 1 dàn gồm 8 bộ cảm biến led phía trước, Robot có chức năng dò đường thông minh theo vạch (hay còn gọi là chạy bám vạch) , thì để Robot có thể đi đúng đường , không bị lệch, không ra ngoài vạch trắng, chúng em đã dựa vào tần số quét cao của vi điều khiển, thuật toán lập trình sẽ tập trung vào việc chúng ta phân vùng cho cảm biến và kiểm tra xem vùng nào của cảm biến được nhận sau đó ghi lại địa chỉ vùng cảm biến đó. Đây chính là thuật toán kiểm tra vùng cảm biến.
4.5.Thuật toán điều khiển vùng:
Với các địa chỉ mà phần kiểm tra vùng đã xác định trên, việc tiếp theo chính là điều khiển theo các vùng địa chỉ sao cho phù hợp. Công việc chính là điều khiển các động cơ theo các cấp độ xung khác nhau, khi Robot lệch sang phải lập tức bánh trái sẽ phải giảm xung và Robot tự động về vạch trung tâm. Công việc là ngược lại khi Robot đang lệch sang bên trái, và không có gì tốt hơn là Robot đang ở vùng trung tâm, Robot sẽ đạt được tộc độ cao nhất. Tất cả những điều này được thể hiện rất rõ trong lưu đồ điều khiển vùng sau đây.
4.6. Giải thuật encoder
Ta dùng encoder để xác định quãng đường robot đi được bằng cách đo đạc các thông số như chu vi bánh encoder, số xung encoder trên một vòng quay (thường ta sử dụng encoder loại 100 xung), từ đó dựa vào số xung encoder có thể tính ra được độ dài quãng đường robot đã đi và ngược lại. Để xác định được số xung của encoder ta có thể sử dụng chế độ counter của bộ timer hoặc dùng ngắt ngoài.
Ở đây ta sử dụng ngắt để xác định số xung đưa về vi điều khiển, cách thức lập trình như sau: trước tiên ta xác định quãng đường robot cần đi được sau đó đưa ra số xung encoder tương ứng với quãng đường đó, chuyển giá trị encoder đó vào một thanh ghi (ví dụ T0) tiếp theo ta sẽ xét cho ngắt (SETB EX0) . Trong chương trình ngắt ta kiểm tra các giá trị encoder đã về 0 chưa nếu chưa về ta thực hiện trừ giá trị đó tương ứng mỗi xung encoder ta trừ đi 1 đơn vị.
+ Thực hiện hàm ngắt ngoài 0:
4.7. Giải thuật cua trái, cua phải
Điều khiển robot cua trái hay cua phải ta điều khiển cho một trong hai bánh quay bánh còn lại sẽ đứng yên cho đến khi cảm biến vùng trung tâm hoặc vùng kế cận nhận được vạch trắng lúc đó ta dừng điều khiển cua và kết thúc quá trình cua.
Như vậy quá trình cua được thực hiện qua các bước sau:
Điều khiển một trong hai bánh (Trái hoặc phải) quay bánh còn lại dừng
Cứ tiếp tục điều khiển cho đến khi lần lượt các cảm biến từ cảm biến ngoài cùng theo phía cua đến cảm biến vùng trung tâm nhận được vạch thì thoát chương trình quay.
Lưu đồ thuật toán:
CHƯƠNG V: PHƯƠNG ÁN XỬ LÝ NHIỄU 5.1. Các nguyên nhân cơ bản gây ra nhiễu
5.1.1. Nguyên nhân cơ khí
Nhiễu do cơ khí gây ra chủ yếu do sự thiếu chính xác và độ cứng vững của Robot kém mà dẫn đến rung động trong quá trình chuyển động dẫn đến sự sai lệch của cảm biến dò đường tạo nhiễu loạn khi Robot bắt vạch, ngoài ra khi sự sai lệch về trọng tâm Robot lớn sẽ dẫn đến tải trọng đặt vào hai động cơ động