亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標題:
基于STM32的平衡車程序設計
[打印本頁]
作者:
小月亮
時間:
2019-1-14 03:42
標題:
基于STM32的平衡車程序設計
STM32資源使用說明:
1、串口:usart1用于串口調(diào)試。 相關引腳:PA9、PA10.
usart3用于藍牙通信。 相關引腳:PB10、PB11.
2、定時器:timer1用于進中斷控制(采集數(shù)據(jù)、PID參數(shù)調(diào)節(jié))。相關引腳:
timer2用于編碼模式測量左電機速度。相關引腳:PA0、PA1.
timer3用于產(chǎn)生兩路PWM波驅動電機。相關引腳:PB0、PB1.
timer4用于編碼模式測量右電機速度。相關引腳:PB6、PB7.
3、模擬IIC: 用于陀螺儀和單片機之間的數(shù)據(jù)通信。相關引腳:PB8、PB9.
4、模擬SPI:用于oled和單片機之間的數(shù)據(jù)通信。相關引腳:PB12、PB13、PB14、PB15、PA8.
引腳連接說明:
1、5個VCC,5個GND。
2、PB0、PB1分別接TB6612上的PWMA、PWMB。
3、PA2、PA3分別接TB6612上的BIN1、BIN2。
PA6、PA5分別接TB6612上的AIN1、AIN2。
PA4接在TB6612上的STBY。
4、PB4、PB3、PA15、PA12、PA11分別接在5個循跡模塊的D0口。
5、PB12、PB13、PB14、PB15、PA8分別接在oled模塊上的D0、D1、RES、DC、CS。
單片機源程序如下:
#include "stdio.h"
#include "stm32f10x.h"
#include "delay.h"
/**************************用戶頭文件區(qū)******************************/
#include "bsp_usart1.h"
#include "bsp_usart3.h"
#include "bsp_timer1_irq.h"
#include "bsp_timer2_encoder.h"
#include "bsp_timer3_pwm_ch1234.h"
#include "bsp_timer4_encoder.h"
#include "bsp_timer6_irq.h"
#include "bsp_IIC.h"
#include "bsp_NVIC.h"
#include "filter.h"
#include "mpu6050.h"
#include "led.h"
#include "tb6612.h"
#include "line_finding.h"
#include "control.h"
#include "oled_small.h"
/*********************************變量區(qū)***************************/
//extern int Encoder_Left,Encoder_Right;
/*****************************函數(shù)區(qū)******************************/
int main(void)
{
SystemInit(); //配置系統(tǒng)時鐘(72M)
delay_init();
bsp_usart1_config(115200); //串口一用作調(diào)試 115200 與模擬IIC配合,只能用115200
// bsp_usart3_config(9600); //串口三用作藍牙通信 (與藍牙匹配 9600)
#if 0
/********************循跡部分**********************/
TIM3_pwm_init(7199,0); //其中兩路通道分別產(chǎn)生兩路PWM波用以驅動兩個電機
pid_init(); //PID相關參數(shù)初始化
TIM6_irq_Init(49,7199); //5ms進一次中斷服務進行參數(shù)采集與控制( T= ( (7199+1)/72M * (99+1) ) )
LED_Init();
TB6612_Init(); //電機驅動模塊初始化
line_finding_Init(); //各循跡模塊初始化
#endif
/*******************添加平衡功能********************/
#if 1
IIC_Init(); //模擬IIC實現(xiàn)MPU6050與單片機之間的數(shù)據(jù)通信
MPU6050_initialize(); //MPU6050角度傳感器資源初始化
DMP_Init(); //MPU6050內(nèi)置DMP資源初始化
TB6612_Init(); //電機驅動模塊初始化
pid_init(); //PID相關參數(shù)初始化
target_init(); //控制對象的目標賦初值
TIM1_irq_Init(49,7199); //5ms進一次中斷服務進行參數(shù)采集與控制( T= ( (7199+1)/72M * (99+1) ) )
TIM3_pwm_init(1999,71); //其中兩路通道分別產(chǎn)生兩路PWM ch3\ch4 波用以驅動兩個電機
TIM2_Encoder_Init(); //用于編碼測速
TIM4_Encoder_Init();
line_finding_Init(); //各循跡模塊初始化
OLED_Init(); //oled顯示屏初始化
printf("\r\n初始化配置配置完成\r\n");
#endif
/***************************PWM波賦初值***************************/
TIM_SetCompare3(TIM3,initail_pwm); //占空比為:x/7200
TIM_SetCompare4(TIM3,initail_pwm);
go_straight();
while(1)
{
line_finding_start(); //循跡
my_oled_show();
}
}
復制代碼
所有資料51hei提供下載:
平衡小車(succed).7z
(256.84 KB, 下載次數(shù): 85)
2019-1-14 03:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
hua123456
時間:
2019-10-16 11:42
謝謝分享
作者:
yht0816zdl
時間:
2020-3-27 14:46
學習路過
作者:
張云鵬1111
時間:
2020-5-24 21:51
有電路圖和報告說明書嗎?
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1