PDA

View Full Version : Điều khiển động cơ dùng bộ giảm áp


nemesisfx15
22-12-2008, 09:34 PM
Mình xem qua các diễn đàn về phần điều khiển động cơ và làm thử nhưng vẫn không chạy được @_@ mấy bác xem giùm coi lỗi phần nào sửa giúp mình với ~_~

Nó bị lỗi như sau: khi chạy mô phỏng bằng proteus nó báo lỗi dấu chấm cảm vàng (cũng như thế nhưng đem qua máy thằng bạn chạy thì ko báo lỗi gì hết @_@ máy mình dùng vista ) và động cơ quay nhưng không dùng biến trở điều khiển tốc độ động cơ được.

Đây là đoạn code cho con 16f88

#include <16F88.h>
#device 16F88*=16 ADC=8
#fuses XT,NOWDT,NOPROTECT,NOLVP,NOPUT,NOBROWNOUT,NODEBUG
#use delay(clock=4000000)
#byte PORTB = 0x06

int8 adc;

void readADC()
{ setup_adc(adc_clock_internal);
setup_adc_ports(sAN1);
set_adc_channel(1);
delay_ms(10);adc=read_adc();
}
void pwm_ccp()
{
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_1,255, 1);
}
void PWM(int8 value)
{set_pwm1_duty(value);
}
void main()
{ set_tris_B(0x00); PORTB=0x00;
pwm_ccp();
while(TRUE)
{ readADC();
PWM(adc);
}
}


cho mình hỏi là đoạn code này có nghĩa là gì,mình coi phần hướng dẫn ccs rồi nhưng tới phần này lại ko có hướng dẫn :( nhờ bạn nào giải thích hộ

setup_timer_2(T2_DIV_BY_1,255, 1);


Đây là cái hình của cái mạch:
http://i223.photobucket.com/albums/dd87/nemesisfx15/de-1.jpg

Còn đây là file proteus ở hình trên
http://www.mediafire.com/?ngcdytnw1zj

Mấy bác ráng giúp giùm em ^^

dvkkt
23-12-2008, 08:14 AM
setup_timer_2(T2_DIV_BY_1,255, 1);


- T2_DIV_BY_x, tần số thạch anh cấp cho Timer2 bằng Fosc/4/x (x = 1,4,16 trong datasheet).
- Giá trị 255 nạp cho thanh ghi PR2, Thanh ghi Timer2 tăng đến giá trị bằng PR2 là hoàn thành một chu kỳ, Timer2 tự reset về 0.
- Vị trí chổ số 1, cứ 1 chu kỳ của Timer2 thì cờ ngắt TMR2IF tự động set. (cái này bạn không cần quan tâm nếu không dùng ngắt do Timer2)

tdungk7
23-12-2008, 08:37 AM
Mình đọc tài liệu hướng dẫn sử dụng của Proteus thấy hình như Proteus chưa hỗ trợ chạy trên Win VISTA, có thể bạn chạy sẽ bị lỗi.

Bạn thử đem chạy ở các máy WIndow XP xem

Thân,

nemesisfx15
23-12-2008, 02:05 PM
cảm ơn bạn đã giải thích giờ mình hiểu rồi :D

mà còn cái mạch điều khiển chưa đc ~_~

nemesisfx15
25-12-2008, 10:28 AM
ko ai giúp mình sao @_@