Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > Ich versuche, <a href="http://www.ebay.at/itm/BAUSATZ-24-V-SSTC-SPULEN-TESLASPULE-TESLATRAFO-/321936934404?hash=item4af4efc604:g:y3cAAOSwcwhVO19O">diese Tesla-Spule</a> > > mit der C-Control über den externen Eingang anzusteuern. Liegt am Eingang eine positive Spannung an ist die Spule deaktiviert. > > Liegt der Eingang auf Masse, dann schwingt die Spule. > > Das Problem dabei ist, dass die Spule nicht für den kontinuierlichen Betrieb ausgelegt ist. > > Das heißt, man darf den Eingang nur kurz auf Masse ziehen (wenige Millisekunden) > > und muss die Spule dann wieder einige Millisekunden ausschalten, damit die Elektronik nicht überlastet wird. > > > > Ich verwende ein Poti am ADC 0 und PWM an Timer 1. In einer Endlosschleife wird Timer_T1PWM aufgerufen. > > Vereinfacht sieht das so aus: > > <basic> > > ADC_Set(ADC_VREF_VCC, 0) > > Do While True > > Timer_T1PWM(0x610, EinPaarBerechnungen(ADC_Read()), PS_64) 'Für PW0 z.B. 0x54E > > Thread_Delay(6) > > End While > > </basic> > > Tatsächlich wird da noch geprüft, ob ein Taster gedrückt ist und Timer_T1PWM wird auch nur dann aufgerufen, > > wenn sich der gemessene Wert verändert hat, > > aber um das Problem zu zeigen ist es sinnvoll, wenn Timer_T1PWM ständig aufgerufen wird. > > > > Das Problem ist jetzt folgendes: Immer dann, wenn Timer_T1PWM aufgerufen wird, wird der Timer ganz kurz pausiert. > > Der Pin verweilt dann für kurze Zeit in einem Zustand, und das kann auch logisch 0 sein. > > Ich habe das am Oszilloskop gemessen und ein Foto davon angehängt. > > > > Es darf nicht passieren, dass der Pin für längere Zeit auf logisch 0 bleibt. Ich suche eine Möglichkeit, > > den Ausgang auf logisch 1 zu fixieren, während der Timer noch läuft. > > Einfach vorher Port_WriteBit(PinB5, 1) und nachher Port_WriteBit(PinB5, 0) aufzurufen scheint keine Veränderung zu bewirken. > > > Hallo, > > du solltest den Timer nicht immer neu mit Timer_T1PWM() einstellen! > Die Routine läuft nach der Konfiguartion selber (IRQ). > Ändere diese nur wenn es sein muss... und übergib die Parameter bei einen Aufruf mit einer > eigenen Variablen und baue nicht eine Funktion in den Aufruf mit ein... > Wenn du keine Threads benutzt verwende absDelay! > > > Timer_T1PWM(0x610, meinewerte, PS_64) > >