No estoy seguro de lo que debería pedir porque parte de la terminología me confunde, pero lo que estoy tratando de hacer es usar los dos temporizadores de motor (TIM1 y TIM8) en el STM32F405 para muestrear BEMF en un controlador BLDC sin sensores.
En una versión anterior de este hardware, estaba usando un F411 y solo manejaba un motor, por lo que estaba haciendo lo siguiente:
- Configure las salidas PWM del temporizador de hardware de TIM1 para controlar el controlador de la puerta (CH1, CH1N, CH2, CH2N, CH3 CH3N)
- Configure el temporizador para que funcione a 20kHz y cambie el ciclo de trabajo con un controlador PI. PWM se maneja usando el modo de alineación central 3.
- Configure el CH4 de TIM1 para que cuente hasta 1. Use este evento para desencadenar una conversión inyectada por ADC de las 3 resistencias BEMF.
Esto funciona bien, aunque no sea un problema ... Sé que no está bien, pero funcionó.
Sin embargo, ahora que estoy tratando de conducir dos motores con dos temporizadores de motor diferentes, no puedo apoyarme en este mismo método porque no puedo muestrear más de 4 conversiones inyectadas a la vez ... ¿Cuál es la forma correcta de usar dos temporizadores de motor para impulsar dos motores BLDC independientes y capturar las 6 señales BEMF requeridas en la parte superior de la señal PWM alineada en el centro?