日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

做一辆超mini平衡自行车,全开源!

發布時間:2023/12/19 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 做一辆超mini平衡自行车,全开源! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是張巧龍,今天給大家帶來一個平衡自行車,我實驗室一個19級的本科生做的,他今年也獲得了全國電賽二等獎(F題)的成績。


人嘛,非常帥的一個小伙子。B站ID:_旺仔小菠蘿,歡迎大家圍觀!

好了,廢話不多說,直接開整!先看展示視頻,相關方案在后文。

文末開源所有文件(已經獲得本人授權),程序、電路、3D打印文件。

01?

硬件篇

1.1??STM32F103C8T6最小系統(小藍板)

1.2 MPU6050姿態傳感器(3.3V供電)

1.3 0.96寸OLED顯示屏(四針、IIC通信、3.3V供電)


1.4 HC-05藍牙模塊(串口通信、用于接收小車運動指令)

使用教程鏈接:https://blog.csdn.net/weixin_44325419/article/details/110727911

1.5? 無刷電機動量輪

1.6 N20電機及驅動(電機選型:DC 12V A12型)

1.7 無刷電機動量輪模組

該電機自帶驅動和光電編碼器。

該自平衡自行車中我們使用萬寶至無刷伺服電機,內置驅動,支持正反轉,PWM調速,并且帶有100線編碼器AB相雙通道信號輸出。

該電機接線圖如上圖所示,實際小車中的線的顏色可能與上圖有所不符,大家要按照位置來判斷而不是線的顏色。

1.信號A相和信號B相為編碼器脈沖輸出端;

2.正反轉切換的線我們直接用單片機的引腳3.3V電平控制,是完全沒有問題的;

3.編碼器供電接3.3V;

4.PWM接單片機的PWM輸出,啟動運行我們接單片機IO口,在電機初始化時置為高電平;

5.電源負極接GND,電源正極接12V。

1.8? 舵機

項目中所使用,有點小貴,可以買便宜的。

1.9? 3S航模電池(注意電池尺寸)


1.10 穩壓模塊及開關

將航模電池電壓降至5V給單片機、舵機、藍牙、超聲波、電機編碼器供電。

1.11? 輪子及軸承

由于小車后輪是通過皮帶傳動,為減小摩擦,使后輪轉動更加順滑,需在后輪安裝微型軸承。(軸承根據車軸尺寸購買)


1.12? 車架及轉向結構(3D打印)


13. 電路PCB

將上述功能模塊集成在一塊PCB電路板上(6.5x7.8cm),為方便焊接,電容電阻及三極管均為直插式元件。


02?

軟件篇


2.1??main.c

#include?"sys.h"? float?AdcValue;???????????????????????//電池電壓數字量 float?Pitch,Roll,Yaw;?????????????????//角度 short aacx,aacy,aacz; //加速度傳感器原始數據 short?gyrox,gyroy,gyroz;??????????????//陀螺儀原始數據 int PWM1; int PWM_MAX=6500,PWM_MIN=-6500; //PWM限幅變量 int?Encoder_Motor;??//編碼器數據(速度)? int main(void) { NVIC_Config();delay_init();Led_Init();Beep_Init();Wave_SRD_Init();uart3_init(9600);OLED_Init(); //初始化OLED OLED_Clear();adc_Init();MOTOR_1_Init();MOTOR_2_Init();PWM_Init_TIM3(7199,0);//定時器3初始化PWM 10KHZ,用于驅動動量輪電機 PWM_Init_TIM2(9999, 143);//定時器2初始化PWM 50HZ,用于驅動舵機TIM_SetCompare1(TIM2, 790);//舵機復位Init_TIM1(9998,7199);Encoder_Init_TIM4(65535,0);OLED_ShowString(25,4,"MPU6050...",16);MPU_Init(); //MPU6050初始化 while(mpu_dmp_init()){OLED_ShowString(25,4,"MPU6050 Error",16);} OLED_ShowString(25,4,"MPU6050 OK!",16); Beep=1;delay_ms(400);Beep=0;MPU6050_EXTI_Init();OLED_Clear();OLED_ShowString(0,0,"Roll : C",16);OLED_ShowString(0,3,"Speed: R ",16);OLED_ShowString(0,6,"Power: V ",16); while(1){ Wave_SRD_Strat(); AdcValue=11.09*(3.3*Get_adc_Average(ADC_Channel_4,10)/0x0fff); //ADC值范圍為從0-2^12=4095(111111111111)一般情況下對應電壓為0-3.3VOLED_Showdecimal(55,0,Roll,9,16); OLED_Showdecimal(55,3,Encoder_Motor*0.25,9,16); OLED_Showdecimal(50,6,AdcValue,9,16); } }

2.2??PID控制算法

學習視頻:

該小車實現直立平衡需要用到兩個閉環控制,即直立環(PD控制、負反饋),速度環(PI控制、正反饋),代碼原理及調試過程與兩輪平衡小車調試過程基本一致。

關于PID控制算法的學習,內容較多,不好詳細展開,網上資源豐富,大家可自行學習。

這里推薦一篇知乎文章:https://zhuanlan.zhihu.com/p/39573490

2.3?代碼閱讀注意點


所有頭文件都包含在sys.h中,每個.h文件都包含sys.h,方便函數調用。

#ifndef __SYS_H #define __SYS_H #include "stm32f10x.h" #include "adc.h" #include "oled.h" #include "led.h" #include "beep.h" #include "wave.h" #include "control.h" #include "exti.h" #include "mpu6050.h" #include "inv_mpu.h" #include "inv_mpu_dmp_motion_driver.h" #include "motor.h" #include "pwm.h" #include "encoder.h" #include "usart.h" #include "delay.h" #include <math.h> #include <stdlib.h>

STM32F10x系列的MCU復位后,PA13/14/15 & PB3/4默認配置為JTAG功能。有時我們為了充分利用MCU I/O口的資源,會把這些端口設置為普通I/O口。

使用JLINK向STM32燒錄程序時,需要使用6個芯片的引腳(以STM32F103C8T6為例),分別是PB4 / JNTRST,PB3 / JTDO,PA13 / JTMS,PA14 / JTCK,PA15 / JTDI,NRST。

當芯片IO口資源比較緊張時,可選擇SW模式燒錄程序。

SWD只需用到PA13 / JTMS,PA14 / JTCK兩根線,NREST可以接可不接,剩下的PB4 / JNTRST,PB3 / JTDO和PA15 / JTDI就可以當然普通IO使用,但是這三個口當然普通IO使用時需要先進行如下配置。(這里MPU6050模塊用到PB3和PB4引腳)

03

最后

3.1 作品照片

3.2 獲取方式

加入星球的同學,可以直接到星球內下載。

未加入星球的的同學,可以添加微信:great_xiaolong,加好友記得備注:自行車。

對了,借此推薦下知識星球,星球現在已有120+人加入,有興趣加入的朋友可以添加上方微信咨詢,現在加入有一定優惠。

-END-

一個億的融資在一家芯片初創公司可以燒多久?

STM32為何在諸多的單片機中脫穎而出?

搞硬件,別吹牛了,好好做個規劃!

一名教電子的大學老師,歡迎關注!

總結

以上是生活随笔為你收集整理的做一辆超mini平衡自行车,全开源!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美老少做受xxxx高潮 | 少妇人妻一级a毛片 | 亚洲一区视频在线播放 | 免费一级欧美 | 国产免费一区二区三区视频 | 国产成人三级在线观看 | 黄色录像大片 | 亚洲一区二区三区免费在线观看 | 一区二区免费看 | 老版水浒传83版免费播放 | www.久久久久久久 | 日本欧美在线播放 | 青青操影院| 大尺度舌吻呻吟声 | 久久久久久91香蕉国产 | 国产精品1区 | 不卡影院一区二区 | 在线天堂中文在线资源网 | 男女作爱免费网站 | 久久综合久久综合久久综合 | 不卡免费av | 日韩 欧美 综合 | 日本午夜小视频 | 婷婷的五月天 | 91网在线| 欧美jizzhd欧美18 | 天堂影视在线观看 | 国产色在线视频 | 99久久99久久精品国产片果冰 | 国产草草影院ccyycom | 欧美丰满熟妇xxxx | 欧美婷婷六月丁香综合色 | 伊人久久97 | 美女靠逼视频网站 | 中文字幕人成 | 拍真实国产伦偷精品 | 中文字幕日本在线 | 波多在线播放 | 欧美美女性高潮 | 丰满圆润老女人hd | 求免费黄色网址 | 日韩精品国产精品 | 91高清视频免费观看 | 香蕉免费在线视频 | 伊人网免费视频 | 在线播放成人av | 国产精品视频久久久 | 懂色av蜜臀av粉嫩av分享 | 亚洲情在线 | 在线观看污视频网站 | 亚洲玖玖爱 | 精品亚洲国产成av人片传媒 | 3d动漫精品啪啪一区二区免费 | 人人综合网| 自拍偷拍2019 | 欧美另类在线视频 | 精品一区二区亚洲 | 色婷婷在线观看视频 | 国产伦精品一区二区三区照片 | 色呦呦中文字幕 | 色老头免费视频 | 国产精品黄 | 日韩阿v | 天啪 | 午夜一区二区视频 | 看av网| 日韩三级黄色 | 精品一区二区人妻 | 日韩αv| 一区二区有码 | 日韩三级av在线 | 在线中文字幕播放 | 亚洲图片一区二区 | 嫩草www | 五月婷婷俺也去 | 亚洲一区二区小说 | 日本欧美www| 成人一区二 | 伊人激情综合网 | 无码h肉动漫在线观看 | 中文字幕一区二区三区乱码人妻 | 久久99国产精品久久99果冻传媒 | 中国性xxx| www.亚色 | 狠狠精品干练久久久无码中文字幕 | 亚洲啪 | 国产精品国产三级国产专播品爱网 | 就是色| 亚洲影视一区二区三区 | 九九九九九九精品 | 国产成人精品无码片区在线 | 齐天大性床战铁扇公主 | 精品无码人妻一区二区三 | 欧美色图一区二区 | 亚洲一区二区美女 | 日本99视频 | 欧美a免费 | 九色网址| 中国毛片网 |