日韩性视频-久久久蜜桃-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平衡自行车,全开源!的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲综合一区二区 | 999国产| 影音先锋中文字幕在线 | 密臀av在线 | 亚洲av永久中文无码精品综合 | av片在线免费看 | 999免费 | av小次郎收藏 | 国模精品视频一区二区 | 九九热最新 | 国产99在线视频 | 欧美一区二区在线视频观看 | 色狠狠综合网 | xxxxx在线视频 | 亚洲专区中文字幕 | 熟女俱乐部一区二区视频在线 | 国产伦视频 | 秒拍福利视频 | 国产a网| 国产精品色视频 | 电影中文字幕 | 日韩一区欧美一区 | 亚洲欧洲视频在线观看 | 日本少妇吞精囗交视频 | 精品免费在线观看 | 亚洲免费黄色网 | 一本大道东京热无码aⅴ | 日女人网站 | 人妻少妇被猛烈进入中文字幕 | ktv做爰视频一区二区 | 成人毛片视频免费看 | 久久国产精品影院 | 神马影院一区二区 | 色久综合网 | 国产资源免费 | 亚洲国产一二三区 | 不卡视频国产 | 欧美脚交视频 | 第四色成人网 | 国产情侣小视频 | 中文字幕乱码中文乱码777 | 免费在线日韩av | 毛片网站视频 | 五月综合激情 | 成人免费看类便视频 | 亚洲一区二区黄 | 国产噜噜噜 | 人成网站在线观看 | 久久午夜夜伦鲁鲁片无码免费 | 伊人网久久久 | www.com在线观看 | 亚洲成人av一区二区三区 | 无码人妻精品一区二区 | www色网站 | 性av网站 | 夜夜夜网 | 久久在线精品 | 777精品 | 日本亚洲综合 | 精品无码一区二区三区免费 | 性感美女视频一二三 | 亚洲综合图片区 | 国产九色视频 | 深夜国产福利 | 黑色丝袜吻戏亲胸摸腿 | 国产美女诱惑 | 成人午夜黄色 | 日本高清免费视频 | 亚洲欧美成人一区二区 | 国产真人无遮挡作爱免费视频 | 农村激情伦hxvideos | 成人国产免费观看 | 日韩av一区二区三区在线观看 | 黄色aa网站| 亚洲精品福利网站 | 午夜性影院 | 亚洲成人国产 | 久操免费在线视频 | 日本成人社区 | 久久一级免费视频 | 国产日产精品一区二区 | 欧美变态口味重另类 | 欲色影音 | 国产精品第三页 | 中文字幕一区二区三区在线不卡 | 日韩经典av | 成人久久一区二区 | 摸摸大奶子 | 一级免费黄色大片 | 国产手机在线观看 | 中国在线观看免费高清视频播放 | 欧美精品久久96人妻无码 | 日韩美女爱爱 | 日本中文字幕在线看 | 99精品欧美一区二区三区综合在线 | 巨乳动漫美女 | 亚洲视频综合网 | 亚洲免费视频一区 | 女教师三上悠亚ssni-152 |