国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
基于STM32的平衡小車PCB+原理圖+程序
[打印本頁]
作者:
山海致遠
時間:
2020-5-24 16:26
標題:
基于STM32的平衡小車PCB+原理圖+程序
基于STM32的平衡小車、實現小車上電自動平穩、APP遙控前進左右后退、預留外接超聲波接口、可以實現超聲波避障功能
Altium Designer畫的原理圖和PCB圖如下:(附件中可下載工程文件)
000601lmhbggbmydvr69gj.png
(64.71 KB)
下載附件
2020-5-24 15:17 上傳
1.png
(64.01 KB)
下載附件
2020-5-24 16:23 上傳
部分源碼
u8 Way_Angle=1; //獲取角度的算法,1:四元數 2:卡爾曼 3:互補濾波
u8 Flag_Qian,Flag_Hou,Flag_Left,Flag_Right,Flag_sudu=2; //藍牙遙控相關的變量
u8 Flag_Stop=1,Flag_Show=0; //停止標志位和 顯示標志位 默認停止 顯示打開
int Encoder_Left,Encoder_Right; //左右編碼器的脈沖計數
int Moto1,Moto2; //電機PWM變量 應是Motor的 向Moto致敬
int Temperature; //顯示溫度
int Voltage; //電池電壓采樣相關的變量
float Angle_Balance,Gyro_Balance,Gyro_Turn; //平衡傾角 平衡陀螺儀 轉向陀螺儀
float Show_Data_Mb; //全局顯示變量,用于顯示需要查看的數據
u32 Distance; //超聲波測距
u8 delay_50,delay_flag,Bi_zhang=0; //默認情況下,不開啟避障功能,長按用戶按鍵2s以上可以進入避障模式
float Acceleration_Z; //Z軸加速度計
int main(void)
{
Stm32_Clock_Init(9); //=====系統時鐘設置
delay_init(72); //=====延時初始化
JTAG_Set(JTAG_SWD_DISABLE); //=====關閉JTAG接口
JTAG_Set(SWD_ENABLE); //=====打開SWD接口 可以利用主板的SWD接口調試
LED_Init(); //=====初始化與 LED 連接的硬件接口
KEY_Init(); //=====按鍵初始化
OLED_Init(); //=====OLED初始化
uart_init(72,128000); //=====初始化串口1
uart3_init(36,9600); //=====串口3初始化
MiniBalance_PWM_Init(7199,0); //=====初始化PWM 10KHZ,用于驅動電機 如需初始化電調接口 改為MiniBalance_PWM_Init(9999,35) 200HZ
Encoder_Init_TIM2(); //=====編碼器接口
Encoder_Init_TIM4(); //=====初始化編碼器2
Adc_Init(); //=====adc初始化
IIC_Init(); //=====模擬IIC初始化
MPU6050_initialize(); //=====MPU6050初始化
DMP_Init(); //=====初始化DMP
TIM3_Cap_Init(0XFFFF,72-1); //=====超聲波初始化
EXTI_Init(); //=====MPU6050 5ms定時中斷初始化
while(1)
{
if(Flag_Show==0) //使用MiniBalanceV3.5 APP和OLED顯示屏
{
APP_Show();
oled_show(); //===顯示屏打開
}
else //使用MiniBalanceV3.5上位機 上位機使用的時候需要嚴格的時序,故此時關閉app監控部分和OLED顯示屏
{
DataScope(); //開啟MiniBalanceV3.5上位機
}
delay_flag=1;
delay_50=0;
while(delay_flag); //通過MPU6050的INT中斷實現的50ms精準延時
}
}
復制代碼
完整源碼和主控板原理圖pcb:
平衡小車原理圖pcb源碼.7z
(11.45 MB, 售價: 3 E幣)
2020-5-24 16:26 上傳
點擊文件名下載附件
售價: 3 E幣
[記錄]
[
購買
]
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0