PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu PWM



doolitle15
13.09.2007, 16:12
Hallo !

Ich will 2 getriebe motoren mit einem PIC 16F877 ansteuern(Drehrichtung u. Drehzahl)!
PIC --> L293D --> 2 Getriebemotoren
ich schließe die 2 PWM ausgänge an die ENABLE PORTS vom L293D an um die drehzahlen der Motoren zu steuern und die 4 Ports IN1-IN4 vom L293D schließe ich an irgendwelchen Ports am PIC an!!

ich habe folgendes problem:
ich habe in einem Beitrag gelesen dass man die pWM frequenz nicht zu hoch einstellen darf sonst wird sich niemals einer der motoren drehen!
leider finde ich diesen beitrag nicht mehr!

ich habe jetzt ein c programm geschrieben und weiß aber nicht wie diese pwm frequenz umstellen kann !!
kann mir das jemand genauer erklären was ich da genau machen muss??
wie weiß ich im c code welche pwm frequenz eingestellt ist und wo muss dann die frequenz ändern??

c code:
#include <16F877.h>
#use delay (clock=4000000)
#use RS232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
#fuses XT, NOWDT, NOPROTECT, NOLVP
#include <stdlib.h>

void main (void)
{
int8 duty1, duty2;
char taste;
setup_ccp1(CCP_PWM); //setup capture unit 1 to
setup_ccp2(CCP_PWM); //setup capture unit 1 to
setup_timer_2(T2_DIV_BY_1,100,1);//setup period timer2
set_pwm1_duty(0);
set_pwm2_duty(0);

while(true)
{
duty1=48;
duty2=30;
set_pwm1_duty(duty1);
set_pwm2_duty(duty2);
}
}


ich danke schon im Voraus ich hoffe mir kann jemand weiter helfen!!!

mfg doolitle

MichaelM
13.09.2007, 21:41
Hallo,
ich programmiere zwar nur in Assembler aber die Frequenz ist nur von der Einstellung des Timer2 abhängig.
1. Vorteiler des TMR2 wählen (Register T2CON, Adresse 12h), möglich ist 1:1, 1:4 und 1:16
2. PR2-Register (Adresse 92h) laden, für hohe Auflösung möglichst mit FFh
Bei 4MHz und voller Auflösung ergeben sich so ca. 244Hz, 977Hz und 3900Hz.
Gruß,
MichaelM

µautonom
14.09.2007, 10:51
Hallo, tut mir leid wnen ich hier dazwischen schriebe aber ich hätte gerne gewusst ob du vom 16F877 sprichst Michael, oder ist dei Frequenz von der Einstellung des Timer2 bei jedem PIC16 Serie so?

Mfg

MichaelM
14.09.2007, 10:56
Hallo,
Ja, ich spreche vom 16F877. Grundsätzlich ist es aber bei allen 16Fxxx mit CCP-Modul so (soweit ich weiß...). Die Register knnen allerdings an anderen Adressen liegen.
Gruß,
Michael

doolitle15
14.09.2007, 13:23
hallo
danke möchte mich für die schnelle antwort bedanken!!

mfg

Pumba
15.09.2007, 07:03
Im Zweifel immer bei Sprut gucken. Der hat auch die PWM prima beschrieben.

Gruß,

Pumba

kalledom
15.09.2007, 12:15
PIC 16F877 ? 8 x PWM ?
Dann empfehle ich Dir folgenen Link: http://www.domnick-elektronik.de/picpwm.htm
Der ist zwar für 8 LEDs, das geht aber auch für Motorregelung.