![]() |
hướng dẫn chi tiết nhất cho lập trình PID điều khiển động cơ servo
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.
|
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
|
#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. |
Trí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. |
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 |
ô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?
|
pid
nguoi ta co cong up code pid len la tot lam roi ma con trach nguoi ta nua
|
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
|
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è ! |
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ó
|
Code này có vẻ nuột đấy, dùng thử phát xem sao
|
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
|
Múi giờ GMT. Hiện tại là 02:58 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam