PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   lap nhóm 18f4331 (http://www.picvietnam.com/forum/showthread.php?t=5533)

vinhlec4 15-12-2009 12:27 PM

lap nhóm 18f4331
 
bác nào dùng con 18f4331 cùng thảo luạn nhe
mình dọc help khi lập trình co fan này kong hiẻu mong anh em giúp nhé


#FUSES NOWDT , HS , NOPROTECT
dòng tren co nghĩa là j? lam sao biết các các khai báo này của pic
giai thích dầy đủ có ví du voi nge? thanhk

rongtrang 16-12-2009 11:36 PM

lập nhóm 18f4331
 
#FUSES NOWDT , HS , NOPROTECT
dòng tren co nghĩa là j? lam sao biết các các khai báo này của pic
giai thích dầy đủ có ví du voi nge? thanhk[/QUOTE]

NODWT có nghĩa là kg dùng WDTimer,HS là dùng thanh anh o chế độ high speed ,noprotect là kg bảo vệ đó.Bạn coi trong datasheet và bật file .h lên xem.Khi compile bấm vào file asm xem sẽ hiểu rõ.

rikimaru87 17-12-2009 10:32 AM

Mình cũng từng xài con 18F4431 để điều khiển động cơ. nói chung con này có bộ đọc encoder rất good .

vinhlec4 17-12-2009 01:24 PM

bạn cho mình hỏi băm xung dể điều khiển động cơ dùng 4331 như thê nào không?
mình mới vào nên không rõ. mình định dùng encoder nũa để điều khiển động cơ chạ thẳng nữa. bác dùng rồi chỉ mình với

rikimaru87 18-12-2009 01:49 AM

dùng bộ pwm để điều rộng xung đó bạn . bạn chọn chu kỳ cho bộ pwm ( mình thường chọn 20khz) vì thanh ghi của bộ pwm cũa 18f4331 là 1024, nen khi lập trình bạn sẽ điều rộng xung bằng cách set_pwm1_duty(PWMduty);
ví dụ :
set_pwm1_duty(512); vậy là bạn đã có 1 xung ra với duty =50% rùi đó .

vinhlec4 18-12-2009 07:28 AM

bạn chọn chu kỳ bộ rộng xung dựa vào j thế ? nếu nhỏ wa sẽ có lợi có hại j? còn lớn qua thì sao bạ? mình cảm ơn bạn đã trả lời mình.
mình muốn dùng encoder thì nối chân nào pic 4331? píc 4331 hổ trợ cho encoder k zay?

xuanohyes89 30-12-2009 04:46 PM

Trích:

Nguyên văn bởi rikimaru87 (Post 32318)
Mình cũng từng xài con 18F4431 để điều khiển động cơ. nói chung con này có bộ đọc encoder rất good .

Anh ơi a nghiên cứu con này rùi
Anh có tài liệu về nó share cho e học hỏi với
E mói bắt đầu học thui
thank

Email : xuanohyes89@gmail.com

vinhlec4 30-12-2009 08:45 PM

minh dang nghien cuu nen dang di xin tai lieu day/

quoc_vu 30-12-2009 09:12 PM

mình đang xài 4431 với module Power pwm + motion feedback . neu cần qua DHBK khoa cơ khí mình chỉ cho

vinhlec4 31-12-2009 02:59 PM

bac o truong nao do? gaop thi lam sao gap dc day

vutru 20-01-2010 04:06 PM

tham gia
 
Trích:

Nguyên văn bởi vinhlec4 (Post 32255)
bác nào dùng con 18f4331 cùng thảo luạn nhe
mình dọc help khi lập trình co fan này kong hiẻu mong anh em giúp nhé


#FUSES NOWDT , HS , NOPROTECT
dòng tren co nghĩa là j? lam sao biết các các khai báo này của pic
giai thích dầy đủ có ví du voi nge? thanhk

em cũng bắt đầu nghiên cứu con này mong mọi người giúp đỡ!em chưa biết cách băm xung cho nó. bác nào làm được giup em với

vutru 20-01-2010 04:10 PM

các bác chịu khó post code lên cho mọi người tham khảo!

vinhlec4 25-04-2010 04:16 PM

co ai biet cach chong nhieu encorder k?minh bi nhieu k the dieu khien dc

trong_re 29-05-2010 01:58 AM

bạn à con 18f4431 có 4 kênh điều xung và 2 kênh ccpx .mà thanh ghi của pwm là 14bit vây tuy vao việc bạn khai báo chế độ làm việc với bộ chia tần thì giá trị pwm điều khiển xẽ khác

hovanphu 21-06-2010 11:21 AM

bác nào dùng qei trên con này chưa?cách thiết lập và sử dụng nó để đọc encoder như thế nào?chỉ cho ae dzoi!
thankS!

robotpic 21-06-2010 06:11 PM

đây là tài liệu mình tìm được để khai bao #fuses cho pic 4331.bác nào biết vào chỉ giúp ý nghĩa của nó với.

#include <18F4431.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postsc
#FUSES HS //High speed osc with HW enabled 4X PL
#FUSES NOPROTECT //Code not protected from reading
#FUSES IESO //Internal External Switch Over mode en
#FUSES BROWNOUT //Reset when brownout detected
#FUSES BORV27 //Brownout reset at 2.7V
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES NOSTVREN //Stack full/underflow will not cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC1 8) used for I/O
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES NOFCMEN //Fail‐safe clock monitor disabled
#FUSES NOWINEN //WDT Timer Window Disabled
#FUSES T1LOWPOWER //Timer1 low power operation when in sleep
#FUSES HPOL_HIGH //High‐Side Transistors Polarity is Active‐H igh (PWM 1,3,5 and 7)
//PWM module high side output pins have activ e high output polarity
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES LPOL_HIGH //Low‐Side Transistors Polarity is Active‐Lo w (PWM 0,2,4 and 6)
#FUSES PWMPIN //PWM outputs disabled upon Reset
#FUSES MCLR //Master Clear pin enabled
#FUSES FLTAC1 //FLTA input is multiplexed with RC1
#FUSES SSP_RD //SCK/SCL=RD3, SDA/SDI=RD2, SDO=RD1
#FUSES PWM4B5 //PWM4 output is multiplexed on RB5
#FUSES EXCLKC3 //TMR0/T5CKI external clock input is muliplexed wit h RC3
#use delay(clock=10000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN _C7,bits=8)
#FUSES HPOL_low //High‐Side Transistors Polarity is Active‐H igh (PWM 1,3,5 and 7)
#FUSES LPOL_low //Low‐Side Transistors Polarity is Active‐Lo w (PWM 0,2,4 and 6)
#locate PTCON0 = 0xF7F #bit PTMOD0 = PTCON0.0 #bit PTMOD1 = PTCON0.1
#bit PTCKPS0 = PTCON0.2 #bit PTCKPS1 = PTCON0.3 #bit PTOPS0 = PTCON0.4
#bit PTOPS1 = PTCON0.5 #bit PTOPS2 = PTCON0.6 #bit PTOPS3 = PTCON0.7
//===========================
#locate PTCON1 = 0xF7E
#bit PTEN = PTCON1.7 #locate DT CON = 0xF6D #bit DT0 = DTCON.0
#bit DT1 = DTCON.1 #bit DT2 = DTCON.2 #bit DT3 = DTCON.3
#bit DT4 = DTCON.4 #bit DT5 = DTCON.5 #bit DTPS0 = DTCON.6
#bit CTPS1 = DTCON.7
#locate PTMRL = 0xF7D #locate PTMRH = 0xF7C
#locate PTPERL = 0xF7B #locate PTPERH = 0xF7A
#locate PDC0L = 0xF79 #locate PDC0H = 0xF78
#locate PDC1L = 0xF77 #locate PDC 1H = 0xF76
#locate PDC2L = 0xF75 #locate PDC2H = 0xF74
#locate PDC3L = 0xF73 #locate PDC3H = 0xF72

//===========================
#locate SEVTCMPL = 0xF71#locate SEVTCMPH = 0 xF70

#locate PWMCON0 = 0xF6F
#bit PMOD0 = PWMCON0.0 #bit PMOD1 = PWMCON0.1 #bit PMOD2 = PWMCON0.2
#bit PMOD3 = PWMCON0.3 #bit PWMEN0 = PWMCON0.4 #bit PWMEN1 = PWMCON0.5
#bit PWMEN2 = PWMCON0.6
//=======================================
#locate PWMCON1 = 0xF6E
#locate OVDCOND = 0xF6B
#bit POVD0 = OVDCOND.0 #bit POVD1 = OVDCOND.1 #bit POVD2 = OVDCOND.2
#bit POVD3 = OVDCOND.3 #bit POVD4 = OVDCOND.4 #bit POVD5 = OVDCOND.5
#bit POVD6 = OVDCOND.6 #bit POVD7 = OVDCOND.7

#locate OVDCONS = 0xF6A
#bit POUT0 = OVDCONS.0 #bit POUT1 = OVDCONS.1 #bit POUT2 = OVDCONS.2
#bit POUT3 = OVDCONS.3 #bit POUT4 = OVDCONS.4 #bit POUT5 = OVDCONS.5
#bit POUT6 = OVDCONS.6 #bit POUT7 = OVDCONS.7

void main()
{
setup_adc_ports(sAN0|VSS_VDD);
setup_adc(ADC_CLOCK_INTERNAL|ADC_TAD_MUL_2|A DC_WHEN_INT0|ADC_INT_EVERY_OTHER);
setup_spi(SPI_SS_DISABLED); setup_wdt(WDT_OFF); setup_timer_0(RT CC_INTERNAL);



setup_timer_1(T1_DISABLED); s etup_timer_2(T2_DISABLED,0,1);

PTCON0=0X1f; PTCON1=0X80; //***********************************
PWMCON0=0X47; PWMCON1=0X30;
//PWMCON0=0X40; PWMCON1=0X30;
PTPERL=0X1F; PTPERH=0X01; //***************************************
//‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐pwm0
PDC0L=0X4F; PDC0H=0X01;
//--------------------------------duty cycle pwm1
PDC1L=0X4F; PDC1H=0X01;
//--------------------------------duty cycle pwm2
PDC2L=0X4F; PDC2H=0X01;

robotpic 22-06-2010 01:23 PM

co ai biet vao chi voi

robotpic 25-09-2010 04:06 PM

ai do pót bai voi 4331 len cho moi nguoi tham khao voi.


tung don gian den phuc tap


Múi giờ GMT. Hiện tại là 02:36 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