KG_KAIROS/MCU (Arduino & STM32)

[KG_KAIROS]SMT32 미니 프로젝트

projectlim 2024. 9. 4. 16:42
728x90
반응형
SMALL

 

 

파란 모터 드라이버 사용 시

PWM전 일반적인 GPIOD를 활용하여 OUTPUT 시킴

  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,1);//B1-A
	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);//B1-B
	  HAL_Delay(1000);
	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,1);
	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,0);
	  HAL_Delay(1000);
    /* USER CODE END WHILE */

 

 

그러면 pwm을 주는 방법은??

우리 서보모터 했던 것처럼 하나를 TIM으로 설정해서 해보면 됨,

https://blog.naver.com/sikwon1/222382765420

 

STM32 L298N-DC 모터 정역운전.PWM 제어

1. CubeIDE Configuration TIM3은 APB1에 연결 84MHZ공급 되어 있음을 확인 TIM3의 CH1...

blog.naver.com

'13번 쓸려면 TIM4 CH2를 써야 해서 따로 바꿈

50

3000

PWM_PULSE = 1500만 줘봤습니다.

 

  /* USER CODE BEGIN TIM4_Init 2 */
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2);
  /* USER CODE END TIM4_Init 2 */
  HAL_TIM_MspPostInit(&htim4);
  while (1)
  {

	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,0);
	  __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_2,1500);
	  HAL_Delay(1000);
	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,1);
	  //HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);//pwm쓸려면 지워야함
	  __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_2,1500);
	  HAL_Delay(1000);




    /* USER CODE END WHILE */
  while (1)
  {

	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,0);
	  __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_2,1500);
	  HAL_Delay(1000);
	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,1);
	  //HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);//pwm?��?���? �??��?��?��
	  __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_2,1500);
	  HAL_Delay(1000);

	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);
	  __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_2,1500);
	  HAL_Delay(1000);
	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,1);
	  //HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);//pwm?��?���? �??��?��?��
	  __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_2,1500);
	  HAL_Delay(1000);




    /* USER CODE END WHILE */

 

  while (1)
  {

	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);
	  __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_2,1500);
	  HAL_Delay(1000);
	  HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,1);
	 //HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);//pwm?��?���? �??��?��?��
	  __HAL_TIM_SET_COMPARE(&htim4,TIM_CHANNEL_2,1500);
	  HAL_Delay(1000);




    /* USER CODE END WHILE */

 

 

 

 

 

이걸 응용해서 만든 게 이겁니다!!!

pyqt5를 추가해서 정방, 역방모드 추가

 

기똥차게 바삐 지나간 하루

728x90
반응형
LIST