Duty Cycle messung-problem stm32

Gast #5792508
Hallo zusammen,

ich wollte die Duty Cycle(Ton) eines PWM-Signales mit input capture mode 
messesn. Es klappt leider nur fast bis 65% der Duty cycle. sonst wird 
die T_off gemessen statt Ton. hat jemand eine Idee was man dieses 
Problem lösen kann?

Timer Konfiguration ist im Ahnhand zu sehen.

Timer Initialization:
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);
HAL_TIM_Base_Start(&htim5);
HAL_TIM_IC_Start_IT(&htim5, TIM_CHANNEL_1);


Timer Interrupt:

void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
  /* Prevent unused argument(s) compilation warning */
  UNUSED(htim);

if(htim==&htim5){
//  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
  capture= HAL_TIM_ReadCapturedValue(&htim5,TIM_CHANNEL_1);
  __HAL_TIM_SetCounter(&htim5,0);
}
}
Angehängte Dateien:
Gast
Soweit ich sehen kann misst du die Zeit zwischen zwei Flanken. Und du 
verwendest sowohl die steigenden als auch die fallenden Flanken.

Wie war denn dein Plan, sicherzustellen, dass die Messung nur bei der 
steigenden Flanke beginnt?

Ich möchte erwähnen, dass man den Chip selber anhand des 
Referenzhandbuches programmieren kann, wenn man mit der HAL nicht weiter 
kommt.
Gast
Stefanus F. schrieb:
> Soweit ich sehen kann misst du die Zeit zwischen zwei Flanken. Und du verwendest 
sowohl die steigenden als auch die fallenden Flanken.

ganz genau.

> Wie war denn dein Plan, sicherzustellen, dass die Messung nur bei der
> steigenden Flanke beginnt?

kein Plan um ehrlich zu sein

> Ich möchte erwähnen, dass man den Chip selber anhand des
> Referenzhandbuches programmieren kann, wenn man mit der HAL nicht weiter
> kommt.

ich weiß aber kann das nicht.

LG
Gast
Oder du fragst nach jeder Messung, ob das Signal gerade High oder Low 
ist. Die Messung davor hatte dann den anderen Pegel, daran kannst du 
entscheiden, ob du das Ergebnis verwenden oder verwerfen willst.

Vorraussetzung wäre dabei allerdings, dass das Signal nicht allzu 
schnell seinen Pegel wechselt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.