Forum: Mikrocontroller und Digitale Elektronik STM32F405 ADC Injected Trigger


von Alexander S. (kissle)


Lesenswert?

Hallo zusammen,

ich arbeite derzeit an einer sensorlosen Regelung eines BLDC Motors und 
verwende die injected Funktion des ADC um die Spannungen am 
rekonstruierten Sternpunkt und an der nicht aktiven Phase zu messen.
TIM1 erzeugt mir die PWM mit den Kanälen 1 bis 3 und Kanal 4 nutze ich 
um den ADC in der PWM_high Zeit zu triggern. Das scheint soweit auch zu 
funktionieren.
Ich habe jedoch das Problem, dass scheinbar nicht erkannt wird, dass die 
Phasenspannung die Sternpunktsspannung kreuzt.
Um mal die Werte des ADC zu kontrollieren habe ich diese per USART an 
MATLAB geschickt und wollte mir den gesamten Verlauf einer Phase 
betrachten. Der Plot sah mir aber nicht sonderlich einleuchted aus. 
Daher wollte ich versuchen den ADC häufiger durch einen anderen Timer zu 
triggern um mal den exakten Verlauf der Spannungen zu sehen.
Ich habe den Timer konfiguriert und wollte mit
1
ADC_ExternalTrigInjectedConvConfig( ADC1, ADC_ExternalTrigInjecConv_T2_CC1 );

im ADC_init() den Trigger auf TIM2_CC1 umstellen. Jedoch scheint der 
Trigger nicht zu funktionieren, bzw zumindest bekomm ich nicht mehr den 
"end of conversion Interrupt" des ADC mehr. Ich habe auch schon überlegt 
ob ich zu häufig trigger und die Abtastzeit deutlich erhöht, jedoch 
ändert sich nix.
Hab ich irgendetwas übersehen beim Konfigurieren des TIM2?

Vielen Dank schon mal für eure Hilfe

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
Noch kein Account? Hier anmelden.