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
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
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.