View Full Version : hướng dẫn chi tiết nhất cho lập trình PID điều khiển động cơ servo
hocvienkythuat
08-03-2011, 11:44 PM
mình muốn hướng dẫn từng bước cho các bạn mới tập làm quen với điều khiển động cơ servo sử dụng thuật toán PID, ... không biết các bạn có hứng thú với đề tài này không.
nhauruou
10-03-2011, 05:08 PM
mình đang rất quan tâm chủ đề này. mong các bậc tiền bối hướng dẫn với
tudonghoa_bk
21-03-2011, 10:58 AM
#include <16f877a.h>
#fuses HS,PUT,NOWDT
#device adc=10
#use delay (clock = 20000000)
#use rs232(baud = 9600 , parity = n , xmit = pin_c6 , rcv = pin_c7 , bits = 9)
#include <LCD_4BIT_fix.c>
float e,e1,a,b,i,x;
int16 value,j , vttb ;
int8 c,d , tg;
int8 chuyendoi(int8 gt) ;
#int_timer0
void ngat()
{
i=get_timer1();
set_timer1(0x00);
e=x-i;
a = e - e1;
b = (e + e1) + b;
e1 = e;
value = (int16)(e + b/30);
c = (int8)(!(bit_test (value,15)));
value = value * c ;
d = (int8)((bit_test(value,11))|(bit_test(value,12))|
(bit_test(value,13))|(bit_test(value,14)));
value = value * (!d) + 1023 * d;
set_pwm1_duty(value);
}
void main ()
{
value=0;
i=0;
e=0;
e1=0;
a=0;
vttb=0;
b=0;
setup_adc(ADC_CLOCK_INTERNAL );
setup_adc_ports( AN0);
set_ADC_channel( 0 );
delay_us(10);
lcd_init(); //ham khoi tao LCD
lcd_setposition(line_1);
printf(lcd_putchar,"SET : RPM");
lcd_setposition(line_2);
printf(lcd_putchar,"SPEED : 0 RPM");
output_e (0xf2);
enable_interrupts (INT_TIMER0);
enable_interrupts (GLOBAL);
while(true)
{
j= (Read_ADC())*17/10; // so vong / phut
x=(j*0.032768);
lcd_setposition(line_1);
printf(lcd_putchar,"SET : RPM");
LCD_PutCmd ( 0x88 );
printf(lcd_putchar,"%ld",j);
vttb=(int16)(i*30.51757812); // vantoc trung binh
lcd_setposition(line_2);
printf(lcd_putchar,"SPEED : RPM");
LCD_PutCmd ( 0xc8 );
printf(lcd_putchar,"%ld",vttb);
delay_ms (200);
}
}
mình bận quá nên ít hôm mình hướng dẫn code này cho bạn, thông cảm nha, code này cũng hơi nhứt đầu.
stupid11
26-03-2011, 02:25 PM
mình muốn hướng dẫn từng bước cho các bạn mới tập làm quen với điều khiển động cơ servo sử dụng thuật toán PID, ... không biết các bạn có hứng thú với đề tài này không.
Sao bạn ra Thread này mà ko hướng dẫn gì hết vậy,' đem con bỏ chợ thể mà xem được à '.Nói vui vậy thôi,chứ
bạn mau mau hướng dẫn anh em đi chứ..mình nghĩ đề tài này sẽ 'hot' lắm đây.
cuongdkz88
30-03-2011, 07:32 AM
sặc ông cứt này lập cái topic để múa võ dương oai mà chạy mất dạng...
đang thấy có hứng đọc...mất hết cả hứng
akatsu
10-04-2011, 04:57 PM
ông này bưng cái code này lên khè hả??? tui về lấy chữ thái lan ra đọc cho rồi. có hiểu cái j đâu?
van truong
26-11-2012, 04:26 PM
nguoi ta co cong up code pid len la tot lam roi ma con trach nguoi ta nua
van truong
26-11-2012, 04:31 PM
pid nen viet code doc encoder dem gia tri count roi dung 1 timer khoi tao bao nhieu ms cap nhap lan.trong timer dat giat thuat pid vao la ok
changtraiphonui
24-12-2012, 06:03 PM
Chào các bạn !
mình có vấn đề này mong các bạn giúp đỡ.
mình dang làm đồ án điều khiển robo 3 bánh dùng pic 18f4431 .
mình muốn điều khiển tốc độ 3 động cơ dùng pwm cứng pwm1. pwm2.pwm3 trong pic nhưng chưa bết khởi tạo thế nào, các bạn nào biết xin chỉ giáo giúp !
thanhk nhiều nhiều nè !
hiep_black
16-01-2013, 01:03 AM
cái PID này hay đấy , anh em tiếp tục xem nào , mình cũng muốn học dc nó
aloso13
19-01-2013, 11:30 AM
Code này có vẻ nuột đấy, dùng thử phát xem sao
ducvidai001
21-01-2013, 12:55 PM
Mình đang nghiên cứu về thuật toán PID điều chỉnh tốc độ động cơ điện 1 chiều. ai có tài liệu gì cho em tham khảo với nhé.tks
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.