Sida 1 av 1
PIC18F4620, ECCP, Dual PWM outputs.
Postat: 22 november 2009, 17:06:51
av squiz3r
Tjena. Jag har suttit och läst datablad hela dagen utan att bli klokare... Det jag ska göra är att styra två DC motorer med varsin PWM signal, perioden kan jag ju ha samma, men däremot så vill jag jag ju kunna sätta olika duty cycle på dem.
På PWM-modulen i PIC18F4620 (ECCP) kan man ju välja dual outputs, half-bridge mode. Då får man en PWM-signal på P1A och en på P1B utgången. Men visst kan man väl ställa duty cycle olika på dem?? Det som förvirrar mig är att det står så här på bl.a. sidan 152:
16.4.2 PWM DUTY CYCLE
The PWM duty cycle is specified by writing to the
CCPR1L register and to the CCP1CON<5:4> bits. Up
to 10-bit resolution is available. The CCPR1L contains
the eight MSbs and the CCP1CON<5:4> contains the
two LSbs. This 10-bit value is represented by
CCPR1L:CCP1CON<5:4>.
Om man kan ställa in den individuellt för de två så borde det väl stå CCPRxL istället för CCPR1L osv? Eller har jag fått något om bakfoten??
Mvh. Danne
Re: PIC18F4620, ECCP, Dual PWM outputs.
Postat: 22 november 2009, 17:25:07
av sodjan
Det är två olika saker.
Många PWM moduler har olika konfigurering av utgången.
Singel, Dual eller quad drivning. Men det är alltså alltid samma
PWM modul i bakgrunden så att säga.
Du måste leta efter en modell med två separata PWM moduler.
Och då brukar registren ha ett "x" istället för "1" eller "2", eller
så står det att man kan ersätta "1" med "2" för den andra modulen.
När det gäller 18F4620 så har den så vitt jag ser *en* PWM modul
med 1, 2 eller 4 utgångar.
Re: PIC18F4620, ECCP, Dual PWM outputs.
Postat: 22 november 2009, 17:56:40
av squiz3r
Okej.
I början av CCP-kapitlet om 18F4620 så stog det såhär, därför blev jag lite förvirrad:
Note: Throughout this section and Section 16.0
“Enhanced Capture/Compare/PWM (ECCP)
Module”, references to the register and bit
names for CCP modules are referred to
generically by the use of ‘x’ or ‘y’ in place
of the specific module number. Thus,
“CCPxCON” might refer to the control register
for CCP1, CCP2 or ECCP1. “CCPxCON”
is used throughout these sections to refer to
the module control register, regardless of
whether the CCP module is a standard or
enhanced implementation.
Kollar man på IO pinns kapitlet så finns både CCP1 och CCP2 med som utgångar. Kollar man på sammanfattningen står det:
Capture/Compare/PWM Peripherals: 1 CCP, 1 ECCP
Betyder det att den har en vanlig CCP
OCH en ECCP, alltså två moduler?
(
DATA BLADET,
PRODUKT SAMMANFATTNING)
Re: PIC18F4620, ECCP, Dual PWM outputs.
Postat: 22 november 2009, 17:58:05
av ErikJ
PIC18F4620 har en ECCP-modul och en CCP-modul (se andra stycket i kapitel 15.0 i databladet).
CCP1 är av ECCP-typ och kan ha 1, 2 eller 4 PWM-utgångar (med samma duty cycle, fast inverterade och med dödtider).
CCP2 är av standard-CCP-typ och kan ha en PWM-utgång.
Du kan använda CCP1 till en motor och CCP2 till den andra motorn, med varsin duty cycle.
squiz3r skrev:Om man kan ställa in den individuellt för de två så borde det väl stå CCPRxL istället för CCPR1L osv? Eller har jag fått något om bakfoten??
Kolla kapitel 15.4.2 som gäller för CCP2 i en 18F4620 (och CCP1 och CCP2 i 28-pinnars-varianterna). (Kapitel 16 (ECCP) gäller enbart och alltid CCP1, därav siffran 1.)
squiz3r skrev:Betyder det att den har en vanlig CCP OCH en ECCP, alltså två moduler?
Ja
Re: PIC18F4620, ECCP, Dual PWM outputs.
Postat: 22 november 2009, 18:11:51
av squiz3r
Tack ErikJ! Nu börjar det klarna upp här

. Jag trodde att databladet såg ut så bara för att det är samma datablad som för 2620, men nu låter det så självklart när du säger det.
Då är det bara att sätta CCP2 på PWM, och CCP1 på "
PWM mode, P1A, P1C active-high; P1B, P1D active-high" samt "
Single output, P1A modulated; P1B, P1C, P1D assigned as port pins" (och ställa in de andra inställningarna) så får jag en PWM signal på RC2/CCP1/P1A och en på RC1/T1OSI/CCP2 som båda två är "active high". (?)
Re: PIC18F4620, ECCP, Dual PWM outputs.
Postat: 22 november 2009, 18:24:04
av ErikJ
squiz3r skrev:...(?)
(Javisst)
Re: PIC18F4620, ECCP, Dual PWM outputs.
Postat: 23 november 2009, 13:17:20
av squiz3r
För en gångs skull fungerade faktiskt allting helt perfekt på första försöket!

Nu har jag två separata PWM signaler med 10-bitars upplösning, precis som jag ville.
http://www.youtube.com/watch?v=y7XSBcYzAIc
Lätt som en plätt!
tack för hjälpen.