PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 08-03-2011, 11:44 PM   #1
hocvienkythuat
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 1
:
Exclamation 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.
hocvienkythuat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-03-2011, 05:08 PM   #2
nhauruou
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 5
:
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
nhauruou vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-03-2011, 10:58 AM   #3
tudonghoa_bk
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 4
:
#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.
tudonghoa_bk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-03-2011, 02:25 PM   #4
stupid11
Đệ tử 6 túi
 
stupid11's Avatar
 
Tham gia ngày: Dec 2009
Nơi Cư Ngụ: TP.Hồ Chí Minh
Bài gửi: 133
:
Send a message via Yahoo to stupid11
Trích:
Nguyên văn bởi hocvienkythuat View Post
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.

thay đổi nội dung bởi: stupid11, 27-03-2011 lúc 12:48 PM.
stupid11 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-03-2011, 07:32 AM   #5
cuongdkz88
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 7
:
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
cuongdkz88 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-04-2011, 04:57 PM   #6
akatsu
Đệ tử 2 túi
 
Tham gia ngày: Aug 2010
Bài gửi: 27
:
ô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?
akatsu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-11-2012, 04:26 PM   #7
van truong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 16
:
pid

nguoi ta co cong up code pid len la tot lam roi ma con trach nguoi ta nua
van truong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-11-2012, 04:31 PM   #8
van truong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 16
:
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
van truong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-12-2012, 06:03 PM   #9
changtraiphonui
Nhập môn đệ tử
 
Tham gia ngày: Jun 2012
Bài gửi: 1
:
Send a message via Yahoo to changtraiphonui
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è !
changtraiphonui vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-01-2013, 01:03 AM   #10
hiep_black
Nhập môn đệ tử
 
Tham gia ngày: Sep 2012
Bài gửi: 6
:
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ó
hiep_black vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-01-2013, 11:30 AM   #11
aloso13
Nhập môn đệ tử
 
Tham gia ngày: Jan 2013
Bài gửi: 1
:
Code này có vẻ nuột đấy, dùng thử phát xem sao
aloso13 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-01-2013, 12:55 PM   #12
ducvidai001
Nhập môn đệ tử
 
Tham gia ngày: Jan 2013
Bài gửi: 1
:
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
ducvidai001 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à 03:06 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