Управляем коллекторными двигателями с помощью драйвера TB6612FNG.

Сегодня мы подключим коллекторный двигатель и будем управлять его скоростью и направлением движения. Для подключения будем использовать драйвер TB6612FNG

Схема подключения следующая:

В данном случаи я управляю одним мотором, но можно управлять и двумя.  

Для написания программы, мы будем пользоваться уроками по STM32f103 (Подключение ШИМ к микроконтроллеру STM32f103), с единственной разницей, что у нас в настройке STM32CubeMX, мы установим делитель таймера равным 7:

Код самой программы:

/* USER CODE BEGIN 1 */
uint32_t i,j;
/* USER CODE END 1 */

/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
i=30000;
TIM2->CCR1=i;
/* USER CODE END 2 */

/* USER CODE BEGIN 3 */
if ((HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_1)==0)&&(i<65535)){i++;TIM2->CCR1=i;for(j=0;j<700;j++){;}}
if ((HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_0)==0)&&(i>18000)) {i—;TIM2->CCR1=i;for(j=0;j<700;j++){;}}
}
/* USER CODE END 3 */