PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C-Control Pro



RobbyFan
15.06.2010, 21:14
Hallo,

Ich brauche mal eure Hilfe....

Ich habe die C-Control Pro und brauche 20 KHz raus .
An nem da port .
Weiß jemand zufällig wie das geht, und ob das überhaupt geht???

Danke für Antwort
MfG Marcel

shedepe
15.06.2010, 21:25
Du könntest z.B. in der Mainloop in gewissen abständen einen Pin Toogeln oder einen Timer verwenden und damit den Pin schalten.
Wie genau müssen denn die 20Khz sein ?

RobbyFan
15.06.2010, 21:30
hallo,
es kann auch etwas abweichen
ich brauche die 20khz für ne Temerpaursteuertung also nicht ganz so genau..
bei 20 khz wären das dann 30°C

MfG Marcel

Robotniks
15.06.2010, 21:39
Es gibt diverse Timer Funktionen dafür...
Schau mal in der IDE . Hilfe unter Timer nach.

RobbyFan
15.06.2010, 21:44
Hallo,
ich hab mir mal die beispiele angesehen
bei dem bsp.

void main(void)

{

int delval; // Variable für die Ein-/Ausschaltzeit

delval=200; // Wertzuweisung der Variablen delval



Timer_T0FRQ(100,PS0_1024); // Der Timer wird auf die Frequenz

// Periode=138,9µs*100=13,9ms,Frequenz= 2Hz

while (1)

{

AbsDelay(delval); // Zeitverzögerung um 200ms

Timer_T0Stop(); // Der Timer wird angehalten.

AbsDelay(delval); // Zeitverzögerung um 200ms

Timer_T0Start(PS0_1024); // Der Timer wird mit dem Timer Prescaler

// PS0_1024 eingeschaltet.

}

}



Aber wie muss ich das verändern damit ich da 20 khz rauskriege??????

MfG Marcel

shedepe
15.06.2010, 22:05
In dem du den Timer entsprechend einstellst. Ich kenne die C-Control nicht, aber bei AVR Controllern muss man einfach die entsprechenden Register setzen.

Bei der C-Control dürfte es, wenn es keine Library funktion dafür gibt, ähnlich funktionieren.

RobbyFan
15.06.2010, 22:12
Hallo,
ja das ist mir klar....
Aber wie ist das

Timer_T0FRQ(100,PS0_1024);
so stellt man ja den Timer ein da steht aber nicht wie man andere Frequenten erzeugt???

MfG Marcel

RobbyFan
15.06.2010, 22:17
der gibts das irgendeine Formel zum ausrechen

MfG Marcel

Robotniks
16.06.2010, 16:36
Hallo,

hier ein Beispiel für die Freuenzerzeugung.
Es werden 20.0348 kHz erzeugt!

50µS Periodendauer / Zeitbasis




// 20 kHz PWM
// Mega32 PortB.3 - Mega128 PortB.4


void main(void)
{

// Timer 0 Bsp.
// Periode = 1 / 20 kHz
// Faktor = Periode / Prescaler
// Mega32 PortB.3 - Mega128 PortB.4

Timer_T0FRQ(46,PS_8);


// Timer 1 Bsp.
// Mega32 PortD.5 - Mega128 PortB.5
Timer_T1FRQ(368,PS_1);


while(1);

}



Grüße Ulli

RobbyFan
16.06.2010, 17:03
danke...


läuft super......




MfG Marcel

Robotniks
16.06.2010, 17:20
Hallo Marcel,


du musst dir mal die Anleitung und Bsp. genauer ansehen....



// PortC.5 ist PortBit 21 siehe Pinzuordnung

Port_DataDirBit(21,1); // Ausgang

Port_WriteBit(21,0); // 0 Volt

Port_WriteBit(21,1); // 5 Volt



Grüße Ulli