fixed pins settings for ESC_R/L_PWM

This commit is contained in:
hamza 2024-07-05 07:50:26 +03:00
parent 5f848861cf
commit 676b5bb8d1
4 changed files with 31 additions and 16 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,5 @@
#include "PWM_control.h" #include "PWM_control.h"
#include "state_machine.h"
#include "stm32f3xx_hal.h" #include "stm32f3xx_hal.h"
#include <stdint.h> #include <stdint.h>
@ -17,10 +18,16 @@ void PWM_control_init(TIM_HandleTypeDef* pg, TIM_HandleTypeDef* bat_cool, TIM_Ha
powerground = pg; powerground = pg;
battery_cooling = bat_cool; battery_cooling = bat_cool;
esc_cooling = esc_cool;
HAL_TIM_PWM_Start(pg, TIM_CHANNEL_1); //TIM15CH1 // htim2 CH3,4 BAT_COOLING_PWM,ENABLE
HAL_TIM_PWM_Start(pg, TIM_CHANNEL_2); //TIM15CH2 // htim3 CH3,4 ESC_L_PWM,R_PWM
HAL_TIM_PWM_Start(bat_cool, TIM_CHANNEL_3); //TIM1CH3 // htim4 CH1,2,3 LED R,G,B
// htim15 CH1,2 ESC_COOLING_ENABLE,PWM
HAL_TIM_PWM_Start(powerground, TIM_CHANNEL_3); //TIM3CH3
HAL_TIM_PWM_Start(powerground, TIM_CHANNEL_4); //TIM3CH4
//HAL_TIM_PWM_Start(bat_cool, TIM_CHANNEL_3); //TIM1CH3
__HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_1, 0); __HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_1, 0);
__HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_2, 0); __HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_2, 0);
@ -39,8 +46,8 @@ void PWM_powerground_control(uint8_t percent){
powerground_status = percent; powerground_status = percent;
int ccr = 2000 + ((2000) * (percent/100.0)); int ccr = 2000 + ((2000) * (percent/100.0));
__HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_1, ccr); __HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_3, ccr);
__HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_2, ccr); __HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_4, ccr);
//TIM15->CCR1 = (TIM15->ARR*POWERGROUND_MAX_DUTY_CYCLE-TIM15->ARR*POWERGROUND_MIN_DUTY_CYCLE) * (percent/100.0) + TIM15->ARR*POWERGROUND_MIN_DUTY_CYCLE; //TIM15->CCR1 = (TIM15->ARR*POWERGROUND_MAX_DUTY_CYCLE-TIM15->ARR*POWERGROUND_MIN_DUTY_CYCLE) * (percent/100.0) + TIM15->ARR*POWERGROUND_MIN_DUTY_CYCLE;
} }
@ -48,13 +55,13 @@ void PWM_set_throttle(){
uint32_t timestamp = HAL_GetTick() + 5000; uint32_t timestamp = HAL_GetTick() + 5000;
while (timestamp > HAL_GetTick()) {} while (timestamp > HAL_GetTick()) {}
__HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_1, 4000); __HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_3, 4000);
__HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_2, 4000); __HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_4, 4000);
timestamp = HAL_GetTick() + 2000; timestamp = HAL_GetTick() + 2000;
while (timestamp > HAL_GetTick()) {} while (timestamp > HAL_GetTick()) {}
__HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_1, 2000); __HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_3, 2000);
__HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_2, 2000); __HAL_TIM_SET_COMPARE(powerground, TIM_CHANNEL_4, 2000);
timestamp = HAL_GetTick() + 1000; timestamp = HAL_GetTick() + 1000;
while (timestamp > HAL_GetTick()) {} while (timestamp > HAL_GetTick()) {}
} }

View File

@ -1,5 +1,5 @@
########################################################################################################################## ##########################################################################################################################
# File automatically-generated by tool: [projectgenerator] version: [4.3.0-B58] date: [Tue Jul 02 18:11:07 GMT 2024] # File automatically-generated by tool: [projectgenerator] version: [4.3.0-B58] date: [Fri Jul 05 06:59:15 EEST 2024]
########################################################################################################################## ##########################################################################################################################
# ------------------------------------------------ # ------------------------------------------------

View File

@ -13,6 +13,10 @@ CAN.NART=ENABLE
CAN.Prescaler=2 CAN.Prescaler=2
File.Version=6 File.Version=6
GPIO.groupedBy=Group By Peripherals GPIO.groupedBy=Group By Peripherals
I2C1.IPParameters=Timing
I2C1.Timing=0x00303D5B
I2C2.IPParameters=Timing
I2C2.Timing=0x00303D5B
KeepUserPlacement=true KeepUserPlacement=true
Mcu.CPN=STM32F302CBT6 Mcu.CPN=STM32F302CBT6
Mcu.Family=STM32F3 Mcu.Family=STM32F3
@ -205,7 +209,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath= ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_CAN_Init-CAN-false-HAL-true,4-MX_I2C1_Init-I2C1-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_TIM15_Init-TIM15-false-HAL-true,7-MX_USART1_UART_Init-USART1-false-HAL-true,8-MX_TIM1_Init-TIM1-false-HAL-true ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_CAN_Init-CAN-false-HAL-true,4-MX_I2C1_Init-I2C1-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_TIM15_Init-TIM15-false-HAL-true,7-MX_I2C2_Init-I2C2-false-HAL-true,8-MX_TIM2_Init-TIM2-false-HAL-true,9-MX_TIM3_Init-TIM3-false-HAL-true,10-MX_TIM4_Init-TIM4-false-HAL-true
RCC.ADC12outputFreq_Value=16000000 RCC.ADC12outputFreq_Value=16000000
RCC.AHBFreq_Value=16000000 RCC.AHBFreq_Value=16000000
RCC.APB1Freq_Value=16000000 RCC.APB1Freq_Value=16000000
@ -220,9 +224,11 @@ RCC.HSEPLLFreq_Value=16000000
RCC.HSE_VALUE=16000000 RCC.HSE_VALUE=16000000
RCC.HSIPLLFreq_Value=4000000 RCC.HSIPLLFreq_Value=4000000
RCC.HSI_VALUE=8000000 RCC.HSI_VALUE=8000000
RCC.I2C1Freq_Value=8000000 RCC.I2C1Freq_Value=16000000
RCC.I2C2Freq_Value=8000000 RCC.I2C2Freq_Value=16000000
RCC.IPParameters=ADC12outputFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSEPLLFreq_Value,HSE_VALUE,HSIPLLFreq_Value,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,LSE_VALUE,LSI_VALUE,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSourceVirtual,TIM1Freq_Value,TIM2Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOOutput2Freq_Value RCC.I2c1ClockSelection=RCC_I2C1CLKSOURCE_SYSCLK
RCC.I2c2ClockSelection=RCC_I2C2CLKSOURCE_SYSCLK
RCC.IPParameters=ADC12outputFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSEPLLFreq_Value,HSE_VALUE,HSIPLLFreq_Value,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2c1ClockSelection,I2c2ClockSelection,LSE_VALUE,LSI_VALUE,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSourceVirtual,TIM1Freq_Value,TIM2Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOOutput2Freq_Value
RCC.LSE_VALUE=32768 RCC.LSE_VALUE=32768
RCC.LSI_VALUE=40000 RCC.LSI_VALUE=40000
RCC.MCOFreq_Value=16000000 RCC.MCOFreq_Value=16000000
@ -270,7 +276,9 @@ TIM2.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
TIM2.IPParameters=Channel-PWM Generation3 CH3 TIM2.IPParameters=Channel-PWM Generation3 CH3
TIM3.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 TIM3.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4 TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
TIM3.IPParameters=Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4 TIM3.IPParameters=Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4,Period,Prescaler
TIM3.Period=39999
TIM3.Prescaler=7
TIM4.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 TIM4.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
TIM4.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 TIM4.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
TIM4.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 TIM4.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3