Stránka 1 z 1

PIC s osmi vývody a PWM (CCP)

Napsal: 17 pro 2009, 15:03
od petrfilipi
Dobrý den, pánové (a případně i dámy).
Netušíte zdali někde na Microchipu existuje tabulka s porovnáním PICů - potřebuji řídit zpětnou klapku nad digestoří. Z nepřeberných možností řešení jsem si vybral řízení modelářským servem, které budu řídit PICem. Vím že by to šlo řídit i 555kou, ale tak jako tak tam bude nějaký šváb (a procesou mi navíc zajistí pomalejší chod serva). PIC budu programovat v EasyPIC4 od Mikroelektroniky Bělehrad. Rád bych to dělal pomocí PWM instrukcí (PWM_Init (frekvence), PWM_Set_Duty (0=0%, 255 = 100%), PWM_Start, PWM_Stop). Je mi jasné že by to šlo i čistě pomocí času, ale takto to bude jednodušší. Ale nějak nemohu najít osmivývodový PIC, který by měl PWM (=CCP). Pokud neexistuje (nebo nemá podporu v EasyPIC), tak to budu muset udělat s nějakou 12F629kou a s pomocí časových instrukcí (delay_us(počet mikrosekund)).
Děkuji za odpověď.

Petr Filipi

Napsal: 17 pro 2009, 15:34
od Atlan
PWM sa da riesit softverovo....

MOVF JEDNA,0 ; vysle jednicky
MOVWF MOJE
BSF OUT
DECFSZ MOJE,1
GOTO $-1
MOVF NULA,0 ; vysle nuly
MOVWF MOJE
BCF OUT
DECFSZ MOJE,1
GOTO $-1

BSF STATUS,RP0 ; OUT nastav jako vstupni (odpojit od zateze)
BSF TRISB,0
BCF STATUS,RP0


ak bude s vysielat 5jednotiek a 0 nul tak mas 100%

Napsal: 17 pro 2009, 16:40
od Mendor
Tady je funkční kód.

char ms = 100; // v rozmezí 100 - 200 pro plný chod modelářského serva //

void interrupt ( void ) // každých 20ms //
{
servo = 1; // pin kde je připojeno servo //
delay_10us (ms);
servo = 0;
}

Napsal: 17 pro 2009, 18:37
od mikollar
len ti tam chyba este nastavenie preruseni

Napsal: 17 pro 2009, 20:19
od jankop
PWM má třeba 12f683, překvapuje mě, že v době internetu je problém si najít třeba tohle http://www.microchip.com/maps/Microcontroller.aspx

Napsal: 17 pro 2009, 22:22
od petrfilipi
Teda Jankope, smekám, děkuji a ohýbám svá záda až k zemi, to je super tabulka. Já to fakt hledal (na Googlu jako PIC compare table apod.).
Děkuji i ostatním.

Petr Filipi