PIC Vietnam

Go Back   PIC Vietnam > Robotics > Thực hành

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Thực hành Bắt đầu làm một robot như thế nào? Mẹo vặt? Kỹ thuật? Công nghệ?... Hãy bắt tay vào việc...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 11-06-2010, 05:04 PM   #466
vanmanh1988
Đệ tử 1 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 24
:
mấy bác cho em hỏi tí.tại sao khi sử dụng động cơ dc thì anh fall không đồng ý sử dụng động cơ có bộ giảm tốc.
em thấy động cơ có bọ giảm tốc thì làm tăng moment tải đầu ra rất nhiều mà.
mong các bác chi cho.
vanmanh1988 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-07-2010, 02:40 AM   #467
inoob
Nhập môn đệ tử
 
Tham gia ngày: Jul 2010
Bài gửi: 1
:
Question

Mấy cái tải sắt (như hình sau) làm thế nào (hay mua ở đâu) thế ạ?
inoob vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-07-2010, 07:24 PM   #468
emilvv
Nhập môn đệ tử
 
Tham gia ngày: Jul 2010
Bài gửi: 1
:
nêd help

please send me project files to tét the DC sẻvo ..

emilvv [ @ ] gmail.com
emilvv vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-09-2010, 11:02 PM   #469
nanshi90
Nhập môn đệ tử
 
Tham gia ngày: Nov 2009
Bài gửi: 4
:
em chỉ biết về AT89C51 , AT89C52, 8051 chứ PIC thì chưa biết gì hết vì không được học, để tìm hiểu và đi sâu về pic thì tôi phải bắt đầu từ đâu vậy các bạn? Xin hãy giúp tôi với, tôi cảm ơn rất nhiều! Tiến Tuyên
tientuyen2010@yahoo.com
nanshi90 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-09-2010, 09:53 AM   #470
semipower
Đệ tử 5 túi
 
semipower's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
:
Bạn đã biết AT (hoặc một dòng VDK nào đó) thì việc học PIC sẽ không gặp nhiều khó khăn. Ngay trên diễn đàn này cũng có nhiều thông tin cho bạn. Vì vậy điều đầu tiên là bạn phải tìm đúng "luồng", không post nhầm.
__________________
Vì sao nên đọc tài liệu tiếng Anh?
http://www.picvietnam.com/forum/showthread.php?t=6819
Nguồn xung các loại: www.semitech.vn
semipower vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-10-2010, 04:54 AM   #471
dangvanchanh
Đệ tử 1 túi
 
Tham gia ngày: Mar 2010
Bài gửi: 20
:
tham gia

Trích:
Nguyên văn bởi falleaf View Post
Hiện nay, diễn đàn chúng ta đã có một số thành viên là các anh đang học và đã tốt nghiệp Tiến sĩ tham gia giúp đỡ hoạt động cộng đồng (anh Nam, anh Phong, anh Hùng, anh Lâm).

Thiết nghĩ rằng một số bài toán mang tính chất cơ bản về các lĩnh vực: Điều khiển, Robot, và công suất là những điều rất cần thiết và cơ bản. Chúng ta không chỉ nên trao đổi không thôi, mà nên có những bạn sinh viên theo làm thực tế và thực hiện những bài thí nghiệm mà chúng ta thảo luận ở đây.

Nếu làm được như vậy, chúng ta sẽ có thể có những tư liệu sống cho những công việc tiếp theo.

Một thí dụ điển hình, đó là bài toán điều khiển PID cho động cơ DC chẳng hạn. Chúng ta cứ phải nói đi nói lại mãi về bài toán này một cách rất mất thời gian. Chính vì để không mất thời gian nữa, tại sao chúng ta không cùng nhau làm một bài thực hành, trong đó các anh sẽ đứng trên quan điểm của mỗi người, hướng dẫn làm thế nào để thực hiện một bộ điều khiển PID cho động cơ DC, từ việc mô phỏng, tính toán và giảng giải.

Nhiệm vụ của các bạn sinh viên, đó là thực hành, và chụp hình lại sản phẩm của mình, công bố các thiết kế mà các bạn đã học và đã thực hiện được, làm tư liệu cho picvietnam. Điều này vô cùng quan trọng.

Còn rất nhiều bài toán dạng kinh điển như vậy.

Yêu cầu:
- Các bạn phải làm việc (yêu cầu này là số 1)
- Các bạn cần phải tự trang bị phần cứng thí nghiệm (riêng về PIC để làm, picvietnam sẽ chỗ trợ cho các bạn PIC để làm, còn lại các phần cơ khí, các bạn phải tự làm).
- Cần có đôi chút hiểu biết cơ bản về lập trình PIC, biết sơ sơ về module PWM, sơ sơ về encoder, sơ sơ về động cơ DC ... (ý F nói ở đây, đó là chúng tôi sẽ hướng dẫn các bạn đi từng ly từng tí, để đi đến một kết quả hoàn toàn đầy đủ).

Công việc phải làm:
- Mua một động cơ DC, càng to càng tốt (tuỳ theo khả năng và số tiền có thể), thực ra to thì nó đẹp, và các đặc tính, dải vận tốc có thể nhìn rõ ràng hơn, không sử dụng hộp số, nhưng phải có encoder. Encoder độ phân giải càng cao càng tốt.
- Mua một cục sắt gắn vào trục động cơ, làm thành các cục khác nhau như sau: cục trụ tròn, cục trụ vuông, cục trụ chữ nhật, và một cục méo tùm lum, gắn vào trục động cơ để làm tải.
- Thiết kế mạch điều khiển động cơ DC (làm mạch in, làm càng đẹp càng tốt, nhớ sử dụng PIC, dsPIC càng tốt nếu thích).
- Tất cả gắn trên một cái bệ, thích làm bệ gì cũng được.

Đó là công việc về phần cơ mà các bạn phải làm. Giải đáp luôn phần chi phí, các bạn làm xong, hoàn toàn có thể giữ sản phẩm của mình, vì tiền các bạn bỏ ra mua đồ. Riêng PIC, picvietnam sẽ hỗ trợ các bạn, mỗi người tham gia dự án 2 con PIC để làm việc.

Chúng tôi sẽ xem xét lại chi phí có thể, và có thể cung cấp thêm một số công cụ khác để các bạn làm việc nữa. Nhưng việc này để sau.

Trong quá trình làm, yêu cầu các bạn thường xuyên cung cấp hình ảnh, tài liệu, thiết kế, source code... tất cả, vì đây là một dự án mở.

Cuối cùng, sau khi các bạn làm xong hết mọi thứ, các bạn có thể bán lại sản phẩm cho picvietnam để picvietnam làm sản phẩm trưng bày, hoặc có thể giữ lại làm kỷ niệm tuỳ thích.

Picvietnam thực sự muốn mua lại mô hình đó, nếu các bạn làm ra và các bạn học được chút gì đó, vì sau này, cũng với mô hình đó, chúng ta còn có thể làm các bộ điều khiển khác nữa, và mô hình sẽ được picvietnam lưu giữ, điều này sẽ rất tốt.

Tiếc rằng hiện nay picvietnam quá thiếu người ... ở Vietnam .. nên không thể làm được các mô hình này, và vì vậy, chúng tôi cần các thành viên sinh viên tình nguyện, tham gia vào hoạt động này.

Bạn nào có nguyện vọng, đăng ký trực tiếp trên diễn đàn, chúng ta sẽ cùng thực hiện.
may dai ca cho e tham gia nua...dang tim hieu PID
dangvanchanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-10-2010, 12:31 PM   #472
blackmask
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 7
:
Không biết mục này còn hoạt động không vậy ?
blackmask vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-10-2010, 12:41 PM   #473
blackmask
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 7
:
Talking

Kì này có làm cái đồ án hơi giống cái này nhưng mà điều khiển vị trí của vít me -đai ốc
Vừa mới thiết kế xong phần cơ khí.Đợi thi xong giữa kì làm tiếp phần điện với giao tiếp máy tính nữa,nhưng không biết có kịp không
Sau đây là mô hình của mình:
Hình Kèm Theo
File Type: jpg Hình ảnh763.jpg (306.5 KB, 14 lần tải)
blackmask vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-11-2010, 11:01 AM   #474
nguyenthang
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 1
:
Trích:
Nguyên văn bởi falleaf View Post
Như vậy rất hay rồi, các bạn khi viết bài, đăng ký chính thức luôn đi, hãy xác định rõ bằng câu: "mình tham gia". Bởi vì nhiều khi các bạn còn lưỡng lự, chúng ta sẽ phải mất nhiều thời gian để xác định rõ hướng.

F tính sơ sơ chi phí mà các bạn phải đầu tư để các bạn xem rõ:

Động cơ, giá khoảng 100K/cái.
Mạch chạy PIC, trên đó có bộ driver điều khiển động cơ đơn giản (giai đoạn thiết kế mạch điều khiển động cơ DC, hiển nhiên chúng ta có anh Nam đủ khả năng hướng dẫn, nhưng F muốn các bạn tự sáng tạo, hoặc tự học, anh Nam sẽ tư vấn trực tiếp trên đây, mọi thiết kế phải được công bố thì mới được tư vấn, không trả lời thư riêng nữa.) Mạch này từ 100 - 200K (2 con PIC sẽ được picvietnam cung cấp), nên có thể các bạn chỉ tốn khoảng 100K cho việc làm mạch in và mua mấy con FETs thôi.
Các bạn phải mua một bộ encoder tốt, gắn vào động cơ, có thể ở tầm khoảng 500xung/vòng (để có thể đọc lên tới 2000 xung/vòng). Loại này, hồi trước F mua giá là 70K (có kèm một cái động cơ nhỏ 502 xung/vòng), nhưng bây giờ thì không biết thế nào rồi, qua đợt robocon không biết giá có biến động gì không?
Sau nữa, các bạn ra chợ, mua mấy cục sắt cân ký, tốt nhất nên chọn mấy cục tròn và vuông sẵn có, mua như vậy thì nó rẻ. Đây là đối với những bạn muốn làm bộ thí nghiệm tương đối lớn. Các bạn sẽ tốn khoảng 100K nữa cho phần cơ và mấy thứ linh tinh.

Như vậy, các bạn sẽ tốn tổng cộng khoảng 400K để làm một bộ thí nghiệm đẹp, chất lượng cao.

Có lẽ F sẽ xem lại, chúng ta sẽ chọn 877A hoặc 16F91x để thực hành, vì đây là dòng PIC thông dụng nhất, nó sẽ là bài thí nghiệm kinh điển, vả lại, về mặt tính năng hoàn toàn oki cho thí nghiệm này, dùng vi điều khiển 8bit là quá đủ. Ai có các thiết kế đặc biệt, công bố, chất lượng mà mọi người cảm thấy đạt yêu cầu (thiết kế mạch in, mạch nguyên lý cho driver tốt), muốn làm bằng dsPIC, picvietnam cũng sẵn sàng hỗ trợ.

Đó là tất cả số tiền mà các bạn phải chi, để thực hiện phần cứng thí nghiệm.

Riêng bạn nào có ý định làm việc với picvietnam (sau khi F về nước và sang Hàn lại, sẽ mở khoá đào tạo mod lần 2, ý đồ rất rõ ràng, càng ngày càng chuyển giao diễn đàn lại cho những người trẻ hơn, có tâm huyết, xây dựng đội ngũ mod hùng hậu hơn), muốn bắt đầu làm việc với picvietnam và ở SG, đến gặp trực tiếp anh Đăng, hoặc bạn Chính. Theo F biết, cộng với cái encoder của anh Phứơc hỗ trợ, thì hiện picvietnam có 2 cái encoder độ phân giải cao, rất phù hợp cho dự án này.

(*Rất xin lỗi các bạn ở HN lần này, vì các bạn ở HN, đã có may mắn hơn ở HCM khi có bác BA mở lớp dạy PIC định kỳ, trong HCM không có, vậy thì lần làm thí nghiệm này, các bạn nhường cho các bạn HCM nhé, nhưng các bạn vẫn có thể tham gia tự làm bình thường, chỉ là không làm việc trực tiếp với nhóm PIC ở HCM thôi).

Tất nhiên, các bạn sẽ làm việc trực tiếp với Nguyễn Trung Chính (mod) để xây dựng mô hình mẫu cho picvietnam.

Chú ý, mô hình mẫu, cố gắng làm thật đẹp, thật bắt mắt.

Sau khi làm xong mô hình, picvietnam chỉ xin phép mượn các bạn mô hình để chụp hình mà thôi, và mong rằng các báo cáo thí nghiệm của các bạn, cũng có các hình ảnh thực tế. Khi đó, chúng ta sẽ tuyên bố chính thức xoá sổ bài toán điều khiển PID cho động cơ DC.

Dự án này sẽ còn được tiếp tục dài hạn, với các bộ điều khiển khác nhau, cũng chỉ cần thực hiện trên cùng một mô hình.

Tất cả những gì thảo luận, các anh ở đây sẽ thảo luận trước mặt các bạn luôn, và hoàn toàn không có thảo luận riêng. Có thể khi làm việc trong trường, các thầy của các bạn cho rằng bài toán quá dễ, không hướng dẫn kỹ lưỡng, nhưng đây là một sản phẩm của picvietnam, và các bạn cũng là những người đóng góp công sức, tiền bạc vào đó, chúng ta đã làm, thì làm tới cùng, làm cho ra hồn ra cháo luôn.

Cụ thể, phần điều khiển, có anh Phong, anh Nam, bạn ami, và F sẽ hỗ trợ, phần mô phỏng, anh Phong, anh Nam và ami, phần lập trình PIC, anh Nam, ami và F. Các anh Chung Tấn Lâm (mod, nhưng đang bận đi công tác), anh Hải Âu cũng rất thường vào với chúng ta, cũng làm về điều khiển.

Như vậy, không có lý gì chúng ta không thể làm được việc. Chỉ cần quan trọng, các bạn vững chí, và mong muốn một sản phẩm là một bộ thí nghiệm hoàn thiện, chúng ta sẽ làm, cùng nhau làm.

Chúc vui.
ý tưởng hay thiệt.

tôi đang muốn làm mạch điều khiển động cơ điện DC (dùng nguồn từ 5 - 24 VDC). sử dụng cổng song song để ghép nối, code phải gán phím T để tăng tốc, phím G giảm tốc, Phím D để đảo chiều, phím Q để dừng đông cơ.

hiện tại mình định làm mạch dùng: IC cầu H lm 298 và Pic, vậy có cần phải lắp thêm tầng công suất để cấp nguồn cho tải không?

mong các bác chỉ giáo thêm. Xin đa tạ các bác trước!

- nguyenthangcv@gmail.com.
- langtusay83@yahoo.com.vn
- DT 0986 703 229
nguyenthang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-01-2011, 08:14 PM   #475
tuyetmuavienxu
Nhập môn đệ tử
 
Tham gia ngày: Mar 2009
Bài gửi: 2
:
Các anh kiên trì thiệt. Làm đề tài này mấy năm luôn
tuyetmuavienxu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-01-2011, 09:57 PM   #476
prolove101189
Nhập môn đệ tử
 
Tham gia ngày: Dec 2009
Bài gửi: 3
:
anh ơi em ở xa lắm nhưng niềm đam mê về điện tử thì em có. các anh có thể up lên từng bước làm để giúp mọi người yêu thích ở xa cùng làm không?
prolove101189 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-03-2011, 11:09 AM   #477
hangocminh1989
Đệ tử 6 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 132
:
Trích:
Nguyên văn bởi bluepine View Post
Chào mọi người, em hiện đã điều khiển được động cơ dùng PID, số liệu khá chính xác (sai lệch về tốc độ rất nhỏ). Tuy nhiên chỉ điều khiển được với một tải cố định thôi, khi gỡ cục tải ra thì không còn đúng nữa nên em nghĩ các thông số PID thay đổi khi tải thay đổi. Anh F cho em hỏi có cách nào tính các thông số PID theo sự thay đổi của tải không?
Đây là chương trình em đã chạy tốt với 1 tải cố định

Code:
#include <16f877a.h>
#fuses HS,NOPROTECT,NOWDT,NOBROWNOUT
#use delay (clock = 20000000)
// Giao tiep vi dieu khien
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, parity=N, bits=8)         // Giao tiep RS232

#include <stdlib.h>
#include <string.h>
#include <math.h>
#include<ctype.h>

#byte PR2 = 0x92

int16 e2;
int16 e1;
///////////////////////////////////////////////////////

int16 v_set = 250;

/////////////////////////////////////////////////////////
int16 v_cur;
int16 e_sum;
int16 e_del;
int16 flag_timer1;


///////////////////////////////////////////////////////////
unsigned long kp =5;
unsigned long ki = 0.62;
unsigned long kd = 10;
////////////////////////////////////////////////////////////


int16 pw_duty;
int16 counted_round_value;
int16 temp_timer0;
int16 update_counted_round_value;

#byte TMR0 = 0x01      //timer0 REGISTER
#byte TMR1_L = 0X0E
#byte TMR1_H = 0X0F

#define START_VALUE_TIMER0   55  //tri khoi tao ban dau cua timer0 55, so xung dem duoc moi khi ngat la 255 - 55
#define START_VALUE_TIMER1    15535  //tri khoi tao ban dau cua timer1 65536-15536

#INT_TIMER0 // ngat timer0 tang bien len 1
void TIMER0_int()
{

      set_timer0(START_VALUE_TIMER0);
      counted_round_value++;

}

#INT_TIMER1 // ngat timer0 tang bien len 1
void timer1_int()
{

      set_timer1(START_VALUE_TIMER1);


      temp_timer0 = get_timer0();

      if (temp_timer0 == 0){
      temp_timer0 = 255;
      }
      v_cur = counted_round_value*400 + 2*(temp_timer0 - START_VALUE_TIMER0);
      set_timer0(START_VALUE_TIMER0);
      counted_round_value = 0;
      //printf("%ld\t",pw_duty);
      flag_timer1 = 1;
}


void init_timer0()
{

   setup_timer_0(RTCC_EXT_H_TO_L | RTCC_DIV_2); // timer0 dung xung ngoai va chia xung vao


   setup_timer_1(T1_INTERNAL | T1_DIV_BY_4); // moi lan tran timer1 la 50000*4* (1/5) uS = 40ms

   set_timer0(START_VALUE_TIMER0);
   set_timer1(START_VALUE_TIMER1);
   enable_interrupts(GLOBAL);
   enable_interrupts(INT_TIMER0);
   enable_interrupts(INT_TIMER1);
}

void init_PWM(int16 frequency){

   setup_ccp1(CCP_PWM); // initiate PWM
   PR2 = 20000000/4/frequency - 1; // set PWM period

   setup_timer_2(T2_DIV_BY_1,255,1);   // initiate time 2  The cycle time will be (1/clock)*4*t2div*(period+1)
                                       //   (1/20000000)*4*1*(255+1) =  51.2 us( will over flow every 51.2 us, will intrup every 51.2 uS or 19.5 khz;

}

void cal_pid(){

long temp_kp;
long temp_ki;
long temp_kd;
  e2 = v_set - v_cur;
  e_sum += e2;
  e_del = e2 - e1;
  e1 = e2;

  temp_kp = kp*e2;
  temp_ki = ki*e_sum;
  temp_kd = kd*e_del;
  pw_duty +=temp_kp;

  if (pw_duty <1000)
     pw_duty += temp_ki;
  if (pw_duty <1000)
     pw_duty += temp_kd;
  if (pw_duty <256) // vi khi pw_duty <256 thi PWM chi dieu rong xung 8 bit                                                                                    /                         //chu khong phai  10 bit,
     pw_duty = 256;
  if (pw_duty >1000) // bao hoa
     pw_duty = 1000;

printf(" \t%ld", v_cur); // truyen toc do xung ve may tinh hien thi tren Hyperterminal
}

void main()
{
   int8 timer0_value;

   init_timer0();
   init_PWM(19500);

   while(true){
      if (flag_timer1 ==1){
      flag_timer1 = 0;
      cal_pid();
      set_pwm1_duty(pw_duty);
      }
   }
}
mến
bạn ơi, cái file mạch của bạn mình đọc không được, bạn xem lại được không, mình sài orcad 9.2
thanks
hangocminh1989 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-05-2011, 05:18 PM   #478
quocyenkcd
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 1
:
Ai có code C lập trình cho PIC điều chế PWM cho bộ inverter để có điện áp đầu ra dạng sin tần số 50 Hz không?
quocyenkcd vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-05-2011, 09:47 AM   #479
Hard
Đệ tử 2 túi
 
Tham gia ngày: May 2006
Nơi Cư Ngụ: Huế
Bài gửi: 26
:
Send a message via Yahoo to Hard
Trích:
Nguyên văn bởi quocyenkcd View Post
Ai có code C lập trình cho PIC điều chế PWM cho bộ inverter để có điện áp đầu ra dạng sin tần số 50 Hz không?
Vụ này bác qua diễn đàn điện tử tham khảo nhé, không nên post bài ở đây làm loãng chủ đề. Làm xong thì tui sẽ open source cho các bác góp ý.

Quay trở lại chủ đề, đề tài này đã có ai làm xong chưa? còn tiếp tục không vậy? Tui cũng rất muốn tham gia vụ này nhưng ở chỗ tui không thể nào kiếm được cái động cơ nào để làm thực tế cả.
Hard vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-11-2011, 02:03 PM   #480
songmai
Nhập môn đệ tử
 
Tham gia ngày: Apr 2009
Bài gửi: 3
:
có bác nào từng làm hay nghiên cứu về PID vị trí không ah..........giúp em với @_@ em đang làm đồ án về nó mà chưa biết giải thuật như thê nào.........mong các bác giúp đỡ em @_@
songmai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 08:56 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam