Hình.3. Cửa sổ làm việc của phần mềm Altium Altium có những điểm mạnh sau:
+ Cực kì mạnh trong các công cụ hỗ trợ. + Trực quan,quản lí dễ dành,vẽ mạch đẹp.
3.1.2.Các khối hoạt động trong sơ đồ nguyên lí
• khối điều khiển động cơ bước:
Hình.3. khối điều khiển động cơ bước
Ở đây sử dụng môt Con5 để kết nồi với động cơ bước gồm có 5 chân , chân 1 nối VCC, chân 2,3,4,5 nối với các chân kép (1,2), (3,4), (5,6), (7,8) của con IC ULN2803.
Con ULN2803 gồm có 18 chân, chân 9 nối nguồn, chân 10 nối đất, chân (11,12), (13,14), (15,16), (17,18) từng cặp chân nôi với nhau và nôi lần lươt với các chân 19 (RDO), 20 (RD1), 21(RD2) của chân vi điều khiển.
Hình.3. Sơ đồ nguyên lí IC ULN2803
Hình.3. Bộ tạo dao động
Bộ tạo dao động sử dụng thạch anh 16mhz để tạo ra dao động và tần số chính xác với 2 tụ gốm 22pf được nối như (hình.4.5) và bộ dao động được nối với 2 chân
13(OSC1/CLK1/RA7), 14(OSC2/CLK0/RA6) của vi điều khiển.
• Bộ reset
Từ chân 1(MCLR/VPP/RE3) của vi điều khiển nối ra bộ reset theo đường RST,như (hình.4.6).
Hình.3. Bộ reset • Bộ kết nối động cơ servo
Hình.3. Bộ kết nối động cơ servo
Sử dụng con3 kết nối với động cơ servo,chân 1,2 nối âm và nguồ,chân 3 nối với chân 16(RC1/T1OSI/CCP2) chân của vi điều khiển chân điều xung.
Hình.3. Bộ kết nối nap code cho pic
Ở đây ta sử dụng con5 để kết nối vơi với máy tình thong qua mạch nap để nap code cho pic. Con 5 có 5 chân như hình.4.8 các chân được nối với pic như mạch nguyên lí (hình.4.2)
Và để nạp code cho v điều khiển thì ta sử dung phần mềm pickit2 v2.61 thông qua mạch nạp để nạp.
• Bộ nguồn
Hình.3. Bộ nguồn
• Max 232.
Vì RS232 không tương thích với bộ xử lí và vi điều khiển hiện nay nên ta cần một bộ điều khiển đường truyền (bộ chuyển đổi điện áp) để chuyển đổi các tín hiệu RS232 về các mức điện áp TTL được các chân TX,RX của pic18f4523 chấp nhận. Một điểm mạnh của chip Max232 đó là dung điện ap nguồn +5v cùng với điện áp nguồn pic.
Hình.3. kêt cấu Max232
Max 232 có hai bộ điều khiển đường truyền là nhận và truyền dữ liệu,các bộ điều khiển đường truyền cho TX được gọi là T1 và T2. Trong nhiều ứng dụng chỉ có một cặp được dung cách nối như mạch nguyên li (hình.4.2)
+ Chân 1: data carrier detect (CDC):phát tín hiệu mang dữ liệu. + Chân 2: receive data (RXD):Nhận dữ liệu.
+ Chân 3: transmis data (TXD): truyền dữ liệu
+ Chân 4: data terminal ready (DTR):đầu cuối dữ liệu sẵn sang được kích hoạt bởi bộ phận khi muốn truyền dữ liệu.
+Chân 5: singal ground (SG):mass của tín hiệu.
+Chân 6: data set ready (DSR): dữ liệu sẵn sang, được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu.
+Chân 7: request to send: yêu cầu gửi, bộ truyền đặt đường này lên mức hoạt động này khi sẵn sang truyền dữ liệu.
+Chân 8: clear to send(CTS): xóa để gửi,bộ nhận đặt đường này lên mức kích hoạt động để thong báo cho bộ truyền là nó sẵn sang nhận tín hiệu.
+Chân 9: ring indicate (RI): báo chuông cho biết là bộ phận đang nhận tín hiệu rung chuông.
3.2.Phần mêm Visual basic6.0
Visual basic6.0 là ngôn ngữ lập trình hướng đối tượng,trực quan trên môi trường “Window”. Vb cung cấp một bộ công cụ hoàn chỉnh để đơn giản hóa việc khai triển lập trình ứng dụng, có thể nói đây là cách nhanh và tốt nhất để học và lập trình ứng dụng trên Microsofl Window.
Phần “visual-trực quan” để cập đến phương pháp sử dụng để tạo giao diện đồ họa người dung. VB có sẵn rất nhiều những bộ phận trục quan gọi là các điều khiển mà người
Tuy nhiên,ngôn ngữ trong VB đã được cải thiên rất nhiều để phù hợp với phong cách hiện đại.
Hình.3. Cửa sổ làm việc của Visual basic6.0 điều khiển cánh tay robot
Đây là phần mềm giao tiếp may tính điều khiển từ máy tính để điều khiển cánh tay robot hai bậc tự do. Sử dụng các nut bấm up (nâng lên), down (hạ xuồng), right (quay phải), left (quay trái) điều khiển cánh tay robot, end (dừng), start (bất đầu).
3.3.Phần mềm PIC C
Hình.3. Giao diện PIC C
PIC C compiler là ngôn ngữ lập trình cao cấp cho PIC. Chương trình viết trên PIC C tuân thủ theo cấu trúc của ngôn ngữ lập trình C. trình biên dịch của PIC C compiler sẻ
Hình.3. Qúa trình lập trình,biên dich và nạp cho PIC
PIC C compiler được chia thành 3 phần riêng biệt là: PCB,PCM,PCH. PCB dùng cho họ MCU với bộ lệnh 12bit,PCM dùng cho họ MCU 14bit, PCH dùng cho họ MCU với bộ ứng mà không cho phép dùng chung.
3.4.Sơ đồ khối tổng quát nguyên lí hoạt động STEPMOTOR COMPUTER DỮ LIỆU VĐK PL430 SERVO Hình.3. Sơ đồ nguyên li hoạt đông
Từ máy tính thông qua phần mêm giao tiếp VB như (hình.3.14) sử dụng giao diện các nút bấm up (nâng lên), down (hạ xuống), right (quay phải), left (quay trái) điều khiển cánh tay robot, end (dừng), start (bất đầu). Truyền tìn hiệu điều khiển thông qua bộ nối kết nối cổng usb với máy tính tới bộ chuyển đổi max232 đến VĐK,nhờ VĐK đọc tín hiệu và xuất tín hiệu ra điều khiển động cơ.
• Điều khiển động cơ servo void RTCC_isr(void)
{ cnt = 0; output_bit(motor,1); } if(cnt > pwm) output_bit(motor,0); }
Đây là một đoạn code trong phần lập trình CCS, sử dụng Timer0 để tạo xung vì Timer0 có thể tạo ra tần số thấp. Set Timer0 sao cho Timer0 tràn mỗi 0.1ms, khi Timer0 tràn sẻ sinh ra một cờ ngắt và hàm set servo sẻ chạy, sau khi kết thúc chương trình sẻ tự động xóa cờ ngắt và chương trình chờ cờ ngắt kế tiếp.
Sử dụng Timer0 8bit thì cứ 0.1ms thì đếm 1 lần với T=20ms và OSC=16MHZta sẻ tính được timer mặc định :
28-1-(16*106*0.1*10-3/4*4)=155.
• Điều khiển động cơ Step Motor: void quaynguoc(void) { output_bit(A,0);output_bit(B,1);output_bit(C,1);output_bit(D,1); delay_ms(5); output_bit(A,1);output_bit(B,0);output_bit(C,1);output_bit(D,1); delay_ms(5); output_bit(A,1);output_bit(B,1);output_bit(C,0);output_bit(D,1); delay_ms(5); output_bit(A,1);output_bit(B,1);output_bit(C,1);output_bit(D,0);
Đây là một đoạn code trong phần lập trình CCS. Do đấu chung nguồn nên khi đặt mức điện áp 0V (mức logic 0) thì sẽ có dòng chạy qua các cuộn dây và ngược lại khi đặt mức điện áp 5V (mức logic 1) thì không có dòng qua các cuộn dây.
Khi cấp 1 xung điện áp lên 1 cuộn dây stato (phần ứng) thì roto (phần cảm) của động cơ sẽ quay đi 1 góc nhất định, góc ấy là 1 bước quay của động cơ. Vậy để điều khiển động cơ quay liên tục thì chúng ta chỉ việc cấp xung lần lượt cho các cuộn dây.
Ở đây giả sử các cuộn dây là A,B,C,D. ta lần lượt cấp xung như sơ đồ sau:
A 0
B
0
C 0
D 0
Quay thuận thi ngược lại void quaythuan(void)
delay_ms(5);
output_bit(D,1);output_bit(C,1);output_bit(B,1);output_bit(A,0); delay_ms(5);
}