Hallo zusammen Ich habe seit geraumer Zeit 2 Probleme, die ich ganz und gar nicht verstehe und mir jetzt die Hilfe von euch Experten einholen möchte. Ich schaffe es zwar mit dem Repetition Counter und One Pulse mode Einstellungen von Timer 1 Pulse zu generieren, verstehe aber nicht warum bei TIMER1 die Signale ganz am Anfang etwas breiter sind als andere. Vor allem sind diese nicht durchgehend gleich breit, was auch komisch ist. Das ist gut zu sehen in den Bildern, die ich angehängt habe. Ich würde es gerne so haben, dass alle Pulse gleich sind und das Signal am Ende wieder low geht. Es bleibt aber high. Die Auslesepulse für den ADC (rosa) sollten dabei immer kurz vor der nächsten rising edge kommen. Ich habe das mit PWM mode 1 und 2 bzw. Polarität high und low versucht anzupassen, aber ich hab da keine Chance dies passend hinzukriegen. Bei TIMER 2 ist das Ziel einen einzigen center-aligned Puls in der 2. Hälfte des langen Signals (gelb) zu erzeugen. Das funktioniert auch soweit als PWM Signal und dem Center-aligned mode. Aber was ich nicht verstehe ist, warum das Signal anfangs immer high ist und warum der nächste Puls der PWM schon so früh kommt. Ich habe ja 2xARR (up-down counter). Der ARR-Wert ist ja genau in der Mitte der zentrierten Pulse. Das heisst, ich müsste das Signal spiegeln können, dann müsste nach dem 1. Puls nochmals das Signal gleich lang low sein, wie anfangs eben und dann nochmals diese Periode wiederholen, sprich das low Signal müsste doppelt so lang sein wie anfangs. Wieso kommt der Compare Wert beim 2. Puls so früh?? Ich wäre euch wirklich sehr dankbar, wenn mir jemand von euch behilflich sein könnte. Ich beschäftige mich damit schon seit Wochen und bekomme es einfach nicht hin. scope 4 und 6 sind von TIM1 scope 2 TIM2
:
Bearbeitet durch User
D. I. schrieb: > Ich wäre euch wirklich sehr dankbar, wenn mir jemand von euch behilflich > sein könnte. Schön. Und nachdem es nur zwei Timer, nämlich TIMER1 und TIMER2 auf der ganzen Welt gib, kennen wir alle diese zwei Timer, nicht wahr? Und bei dir gibt es vermutlich nur einen Einheits-Prozessor, den wir alle kennen und verwenden, und genau den verwendest du natürlich auch, nicht wahr? Mit der Einheits-Software wird es nicht anders sein.
Erstmal solltest du anstatt Romanen folgende Infos liefern: - Welcher Controller - Quellcode (ggf mit IDE) - was der Sinn und Zweck ist - ggf eine Skizze der Signale, wie du sie haben willst und wo es Fehler gibt - ggf ein Foto vom Aufbau Denn mit dem ganzen Signal-Prosa kann man nicht wirklich etwas anfangen.
Ich hab da mal eine Frage. Mein Radio funktioniert nicht richtig. Kann mir jemand sagen, was ich machen kann? @D.I.: So ähnlich muss sich jemand fühlen, der deinen Text liest. Keiner weiss, um was es geht und um welchen µC es sich handelt.
Stefan S. schrieb: > Erstmal solltest du anstatt Romanen folgende Infos liefern: > - Welcher Controller > - Quellcode (ggf mit IDE) > - was der Sinn und Zweck ist > - ggf eine Skizze der Signale, wie du sie haben willst und wo es Fehler > gibt > - ggf ein Foto vom Aufbau > > Denn mit dem ganzen Signal-Prosa kann man nicht wirklich etwas anfangen. Hallo zusammen Na ich dachte das wäre alles klar ;) Nein, Spass. Entschuldigt mich. Gerne liefere ich die Daten. Es ist der STM32L476RG, sprich das NUCLEO Board. Ich arbeite mit Keil uVision V5 Zweck: Mit dem TIM2 beleuchte ich die EPC901 Sensoren. Dazu benötige ich die zentrierten Pulse in der 2. Hälfte des gelben Signals. Wenn die Sensoren beleuchtet sind, benötige ich die Ausleseclocks des TIM1. Das rosa Signal stellt den internen Trigger des ADCs dar (CH5 von TIM1). Abfolge: Triggersignal hardwareseits startet TIM15--> TIM15 generiert das lange gelbe Signal (SHUTTER) im Bild scope 2 --> Dieses startet TIM2 (getriggert) --> TIM2 generiert die zentrierten Pulse--> SHUTTER endet und der EPC sendet DATARDY1 Signal --> Im Interrupt DATARDY1 Start des TIM1 Counters und damit das Ausleseverfahren. Das ist grob was ich vorhabe. Gerne sende ich den Code, falls dieser gewünscht ist Ich hoffe die Skizze ist verständlich. TIM1 ist unabhängig von den anderen Timern Edit: Hier ist noch eine Formel die ich hergeleitet habe, um den ARR-Wert der center-aligned Pulse einzustellen, sodass der breiteste Puls mit dem ARR-Wert des gelben Signals, der 74ns verzögert ist anfangs, endet. Flashsignal_ARR_Wert = [Periode_Shuttersignal_in_ticks – 6 ticks – 0.5 * Led_Flashpuls] * 0.5 zB mit periode 500 Shutter und Pulsbreite 200 des breitesten Pulses (500-6-200/2)*0.5
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.