Compare commits
1 Commits
main
...
count-ac-p
Author | SHA1 | Date | |
---|---|---|---|
aa440d63a1 |
@@ -190,13 +190,13 @@ const presets_t presets[4] = {
|
||||
};
|
||||
|
||||
PIDController pid = {
|
||||
.Kp = 40.0f,
|
||||
.Ki = 1.0f,
|
||||
.Kd = 3.0f,
|
||||
.Kp = 8.0f,
|
||||
.Ki = 0.2f,
|
||||
.Kd = 0.5f,
|
||||
.T = 0.25f, //2 times per second
|
||||
.tau = 0.2f, //Low-pass filter (0 - no filter)
|
||||
.limMin = -100.0f,
|
||||
.limMax = 1000.0f - P_WIDTH - P_DELAY - 1 // 949.0
|
||||
.limMax = 100.0f
|
||||
};
|
||||
|
||||
/* USER CODE END Variables */
|
||||
@@ -536,14 +536,13 @@ void clockTick(void *argument)
|
||||
//PID
|
||||
PID_Update(&pid, aimTemperature, Temperature);
|
||||
if (pid.out >= 0.0f) {
|
||||
pulse = (uint16_t)(pid.limMax - pid.out)+P_DELAY;
|
||||
pulse = (uint16_t)pid.out;
|
||||
if (fanActive) setFansSpeed(0);
|
||||
}
|
||||
else {
|
||||
pulse = 1020;
|
||||
pulse = 0;
|
||||
setFansSpeed((uint8_t)(pid.out * -1));
|
||||
}
|
||||
TIM1->ARR = pulse+P_WIDTH;
|
||||
TIM1->CCR2 = pulse;
|
||||
|
||||
//Draw PID value
|
||||
@@ -930,7 +929,7 @@ void stopHeater(void) {
|
||||
if (osTimerIsRunning(secTimerHandle)) osTimerStop(secTimerHandle);
|
||||
aimTemperature = 0.0f;
|
||||
PID_Init(&pid);
|
||||
TIM1->CCR2 = 1020;
|
||||
TIM1->CCR2 = 0;
|
||||
Running = 0;
|
||||
}
|
||||
/* USER CODE END Application */
|
||||
|
@@ -38,10 +38,8 @@ void MX_TIM1_Init(void)
|
||||
|
||||
/* USER CODE END TIM1_Init 0 */
|
||||
|
||||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||||
TIM_SlaveConfigTypeDef sSlaveConfig = {0};
|
||||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||||
TIM_IC_InitTypeDef sConfigIC = {0};
|
||||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||||
TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};
|
||||
|
||||
@@ -49,36 +47,23 @@ void MX_TIM1_Init(void)
|
||||
|
||||
/* USER CODE END TIM1_Init 1 */
|
||||
htim1.Instance = TIM1;
|
||||
htim1.Init.Prescaler = 640-1;
|
||||
htim1.Init.Prescaler = 1;
|
||||
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim1.Init.Period = 1000-1;
|
||||
htim1.Init.Period = 100-1;
|
||||
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim1.Init.RepetitionCounter = 0;
|
||||
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||||
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
|
||||
if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||||
if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_IC_Init(&htim1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_Init(&htim1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_OnePulse_Init(&htim1, TIM_OPMODE_SINGLE) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sSlaveConfig.SlaveMode = TIM_SLAVEMODE_COMBINED_RESETTRIGGER;
|
||||
sSlaveConfig.SlaveMode = TIM_SLAVEMODE_EXTERNAL1;
|
||||
sSlaveConfig.InputTrigger = TIM_TS_TI1FP1;
|
||||
sSlaveConfig.TriggerPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
|
||||
sSlaveConfig.TriggerPolarity = TIM_TRIGGERPOLARITY_RISING;
|
||||
sSlaveConfig.TriggerFilter = 0;
|
||||
if (HAL_TIM_SlaveConfigSynchro(&htim1, &sSlaveConfig) != HAL_OK)
|
||||
{
|
||||
@@ -91,16 +76,8 @@ void MX_TIM1_Init(void)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
|
||||
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
|
||||
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
|
||||
sConfigIC.ICFilter = 0;
|
||||
if (HAL_TIM_IC_ConfigChannel(&htim1, &sConfigIC, TIM_CHANNEL_1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sConfigOC.OCMode = TIM_OCMODE_PWM2;
|
||||
sConfigOC.Pulse = 1020;
|
||||
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||||
sConfigOC.Pulse = 0;
|
||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
|
||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||
|
@@ -69,21 +69,19 @@ Mcu.Pin30=PB9
|
||||
Mcu.Pin31=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin32=VP_SYS_VS_tim6
|
||||
Mcu.Pin33=VP_SYS_VS_DBSignals
|
||||
Mcu.Pin34=VP_TIM1_VS_ControllerModeCombinedResetTrigger
|
||||
Mcu.Pin35=VP_TIM1_VS_ClockSourceINT
|
||||
Mcu.Pin36=VP_TIM1_VS_OPM
|
||||
Mcu.Pin37=VP_TIM14_VS_ClockSourceINT
|
||||
Mcu.Pin38=VP_TIM15_VS_ClockSourceINT
|
||||
Mcu.Pin39=VP_TIM16_VS_ClockSourceINT
|
||||
Mcu.Pin34=VP_TIM1_VS_ControllerModeClock
|
||||
Mcu.Pin35=VP_TIM14_VS_ClockSourceINT
|
||||
Mcu.Pin36=VP_TIM15_VS_ClockSourceINT
|
||||
Mcu.Pin37=VP_TIM16_VS_ClockSourceINT
|
||||
Mcu.Pin38=VP_TIM16_VS_OPM
|
||||
Mcu.Pin39=VP_TIM17_VS_ClockSourceINT
|
||||
Mcu.Pin4=PC1
|
||||
Mcu.Pin40=VP_TIM16_VS_OPM
|
||||
Mcu.Pin41=VP_TIM17_VS_ClockSourceINT
|
||||
Mcu.Pin5=PC2
|
||||
Mcu.Pin6=PC3
|
||||
Mcu.Pin7=PA0
|
||||
Mcu.Pin8=PA1
|
||||
Mcu.Pin9=PA2
|
||||
Mcu.PinsNb=42
|
||||
Mcu.PinsNb=40
|
||||
Mcu.ThirdPartyNb=0
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32G070RBTx
|
||||
@@ -296,9 +294,8 @@ SH.S_TIM15_CH1.0=TIM15_CH1,PWM Generation1 CH1
|
||||
SH.S_TIM15_CH1.ConfNb=1
|
||||
SH.S_TIM17_CH1.0=TIM17_CH1,PWM Generation1 CH1
|
||||
SH.S_TIM17_CH1.ConfNb=1
|
||||
SH.S_TIM1_CH1.0=TIM1_CH1,Input_Capture1_from_TI1
|
||||
SH.S_TIM1_CH1.1=TIM1_CH1,TriggerSource_TI1FP1
|
||||
SH.S_TIM1_CH1.ConfNb=2
|
||||
SH.S_TIM1_CH1.0=TIM1_CH1,TriggerSource_TI1FP1
|
||||
SH.S_TIM1_CH1.ConfNb=1
|
||||
SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2
|
||||
SH.S_TIM1_CH2.ConfNb=1
|
||||
SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_16
|
||||
@@ -308,19 +305,17 @@ SPI2.Direction=SPI_DIRECTION_2LINES_RXONLY
|
||||
SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRatePrescaler
|
||||
SPI2.Mode=SPI_MODE_MASTER
|
||||
SPI2.VirtualType=VM_MASTER
|
||||
TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_DISABLE
|
||||
TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
|
||||
TIM1.AutomaticOutput=TIM_AUTOMATICOUTPUT_DISABLE
|
||||
TIM1.BreakState=TIM_BREAK_DISABLE
|
||||
TIM1.Channel-Input_Capture1_from_TI1=TIM_CHANNEL_1
|
||||
TIM1.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
|
||||
TIM1.ICPolarity_CH1=TIM_INPUTCHANNELPOLARITY_RISING
|
||||
TIM1.IPParameters=AutoReloadPreload,Prescaler,Period,BreakState,AutomaticOutput,Channel-Input_Capture1_from_TI1,ICPolarity_CH1,OCPolarity_2,Channel-PWM Generation2 CH2,OCMode_PWM-PWM Generation2 CH2,Pulse-PWM Generation2 CH2,OC2Preload_PWM
|
||||
TIM1.IPParameters=AutoReloadPreload,Prescaler,Period,BreakState,AutomaticOutput,OCPolarity_2,Channel-PWM Generation2 CH2,OCMode_PWM-PWM Generation2 CH2,Pulse-PWM Generation2 CH2,OC2Preload_PWM
|
||||
TIM1.OC2Preload_PWM=DISABLE
|
||||
TIM1.OCMode_PWM-PWM\ Generation2\ CH2=TIM_OCMODE_PWM2
|
||||
TIM1.OCMode_PWM-PWM\ Generation2\ CH2=TIM_OCMODE_PWM1
|
||||
TIM1.OCPolarity_2=TIM_OCPOLARITY_HIGH
|
||||
TIM1.Period=1000-1
|
||||
TIM1.Prescaler=640-1
|
||||
TIM1.Pulse-PWM\ Generation2\ CH2=1020
|
||||
TIM1.Period=100-1
|
||||
TIM1.Prescaler=1
|
||||
TIM1.Pulse-PWM\ Generation2\ CH2=0
|
||||
TIM14.Channel=TIM_CHANNEL_1
|
||||
TIM14.IPParameters=Channel,Prescaler,Period,Pulse
|
||||
TIM14.Period=100-1
|
||||
@@ -357,12 +352,8 @@ VP_TIM16_VS_OPM.Mode=OPM_bit
|
||||
VP_TIM16_VS_OPM.Signal=TIM16_VS_OPM
|
||||
VP_TIM17_VS_ClockSourceINT.Mode=Enable_Timer
|
||||
VP_TIM17_VS_ClockSourceINT.Signal=TIM17_VS_ClockSourceINT
|
||||
VP_TIM1_VS_ClockSourceINT.Mode=Internal
|
||||
VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT
|
||||
VP_TIM1_VS_ControllerModeCombinedResetTrigger.Mode=Combined_Reset_Trigger_Mode
|
||||
VP_TIM1_VS_ControllerModeCombinedResetTrigger.Signal=TIM1_VS_ControllerModeCombinedResetTrigger
|
||||
VP_TIM1_VS_OPM.Mode=OPM_bit
|
||||
VP_TIM1_VS_OPM.Signal=TIM1_VS_OPM
|
||||
VP_TIM1_VS_ControllerModeClock.Mode=Clock Mode
|
||||
VP_TIM1_VS_ControllerModeClock.Signal=TIM1_VS_ControllerModeClock
|
||||
board=custom
|
||||
rtos.0.ip=FREERTOS
|
||||
isbadioc=false
|
||||
|
Reference in New Issue
Block a user