Để tạo mã xung thì mỗi bộ ENCODER sẽ sử dụng hai LED phát và tương ứng với hai bộ tách sóng để tạo tín hiệu ra cầu phương, tức là hai LED được đặt sao cho hai tín hiệu ra có pha vuông góc nhau để xác định chiều quay của đĩa (tương ứng với chiều quay của động cơ).
Tốc độ quay của đĩa được xác định nhờ vào tần số của tín hiệu, chiều quay được xác định dựa vào việc xem tín hiệu nào sớm pha hay muộn pha hơn.
Hình 3.2. Cấu tạo của bộ lập mã quang ENCODER
Hình 3.3. Vị trí đặt của hai LED phát nguồn sáng tạo tín hiệu cầu phương
Cụ thể như trên hình 3.5 và 3.6 sau:
Ở đây chúng ta sử dụng bộ tạo mã Encoder với 100xung/1vòng quay, như vậy tốc độ của động cơ là: 1/100.t (vòng/s) với t: là thời gian của một xung (s). Tín hiệu này sẻ được giải mã bởi vi điều khiển PSoC (trong bộ thí nghiệm này ta dùng vi điều khiển CY8C29x66 ), kết hợp với việc dùng MATLAB để đặt các tham số điều khiển chúng ta có thể điều khiển được tốc độ và chiều quay của DC một cách dễ dàng.
(A sớm pha hơn B) (B sớm pha hơn A)
Hình 3.4. Dạng tín hiệu cầu phương thu được ở bộ tách sóng quang (photodetector) khi động cơ quay
Dừng
Hình 3.5. Dạng tín hiệu lập mã quang khi động cơ có chiều quay phải (cùng chiều kim đồng hồ)
Hình 3.6. Dạng tín hiệu lập mã quang khi động cơ có chiều quay trái (ngược chiều kim đồng hồ)
Tín hiệu lập mã quang từ bộ tạo mã ENCODER được xử lý bởi Bộ đếm xung Counter1 và Counter2 qua các chân 7,20 và 8,19 của PSoC.
Sự chuyển trạng thái “+” và “-” cho biết chiều và tốc độ quay của động cơ như hình 4.5 sau: