Duty Cycle messung-problem stm32

Gast #5792508
Lesenswert?

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 #5792531
Lesenswert?

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 #5792547
Lesenswert?

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 #5792580
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren