From 2c800fe5f74be2680395a2dfcd1e0668ece3f8f9 Mon Sep 17 00:00:00 2001 From: zrg <674148718@qq.com> Date: Thu, 18 Nov 2021 23:28:06 +0800 Subject: [PATCH] readme --- README.md | 10 ++++++---- 物料清单.xlsx | Bin 16394 -> 17101 bytes 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6b17b40..1c08759 100644 --- a/README.md +++ b/README.md @@ -25,15 +25,17 @@ | ---------------- |---------------------- | | 莱洛三角形尺寸 | 100*100 mm | |动量轮尺寸|80*80 mm| +|电池*3 |厚x长x宽:7.9mmx25mmx40mm| | 输入电压 | 3.7v锂电池*3| |充电电压| 5V 从Type-C口输入| |充电芯片CS5095|5V输入,最大1.2A充电电流| |串口芯片CH340C|需要打开开关才能下载| -| 主控 | ESP-WROOM-32 | +| 主控芯片 | ESP-WROOM-32 | |电机驱动芯片L6234PD|引脚:32, 33, 25, 22; 22为enable| | AS5600 编码器 |SDA-23 SCL-5 | | MPU6050六轴传感器 | SDA-19 SCL-18 | + #### 3 使用说明 1. 前往灯哥开源[FOCgit](https://gitee.com/ream_d/Deng-s-foc-controller)下载Arduino开发环境(~~也可自行下载Arduino并安装SimpleFOC~~)并打开本项目内的Arduino内的main,烧录程序到ESP32。 @@ -68,11 +70,11 @@ LaserMaker绘制的plt在**莱洛三角结构**文件夹内 具体需要购买的物品在**物料清单.xlsx**中 #### 5 Ctrl+C +V(参考) -Arduino上的控制算法抄的是原作者的LQR,无刷电机控制是抄灯哥开源的。电机控制引脚定义与传感器定义和灯哥开源FOC控制板2.0版完全一样。 +Arduino上的控制算法是原作者的LQR,无刷电机控制是灯哥开源FOC。电机控制引脚定义与传感器定义和灯哥开源FOC控制板2.0版一样。 -Python的GUI是抄SimpleFOC的SimpleFOCStudio。 +Python的GUI是SimpleFOC的SimpleFOCStudio。 -充电电路完全抄的是立创广场开源的CS5095充电方案。 +充电电路是立创广场开源的CS5095充电方案。 1. 原作者:基于LQR控制器的自平衡莱洛三角形[BV19v411n7mN](https://www.bilibili.com/video/BV19v411n7mN) 2. 灯哥开源FOC [https://gitee.com/ream_d/Deng-s-foc-controller](https://gitee.com/ream_d/Deng-s-foc-controller) 3. 充电芯片电路[https://oshwhub.com/Aknice/cs5095e-san-jie-li-dian-chi-sheng-ya-chong-dian-dian-lu](https://oshwhub.com/Aknice/cs5095e-san-jie-li-dian-chi-sheng-ya-chong-dian-dian-lu) diff --git a/物料清单.xlsx b/物料清单.xlsx index c5e90b7dedba23a8704c68977897f28fcd8b6d21..e76b5d2aa0721ed59c708675f84da4acf1cd108d 100644 GIT binary patch delta 10163 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 delta 9538 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�>V zQ^I)6dS_J{AcYM-)m`%0nPr|sv+R(70sW83naE2cL?@`@pqA&8th0h@r_dSC3tRrn zn?m=WKJfL`E_MbvNE}lJuuQ`ksegF?83A|!;wT>9qykjZe~9{jq&!zQZ#zrZe}ugG z4?i7tcrm;1_k|GKgdS@58qvlh-LYX%>>}Y3pgU)=Epe3M;bn?1-*viUbmG!~J#O7E zJ*m`h*#B$Ol+hs*mh@@V`FKRN&Y7)=AL7(?zl|z)ET&@d#mF=sbJBNCpbk)hsSgMX zQSrTsywb?GAc~M?mQLb2&OpgbRYS=3pHhCpa-~_X4T`W3 zI{)Ad!4YW%qzkg(5|qxps{-P|lHo;FqY(<^UVT*Futx^MVEKThZI8;TZ$U0J`rh5i zBvW{ZDdUgdL1H-O91p8n9Y7xh! zkFh~}fGRd3z&1koK8G7>p850c{K%8+%~l@{DTMOSOB{!-M1t3;j<9N|U2bVK#SRrrc< zN~ur|uS)ESCCSU?5-zc7}}4R5+dHp>X@@K@Szjxiwt+iO)M&(c>dHR3=!>iCJg;pHBBUK ze-#rFR8PiW&n8in4E)t#pRwP+oW(n|j&p%L;O@E6|GQI2c9}iQVF)ig)?w&fLBeW# zq^*!=qs21tob=&JSREmw-s7@^a82ry{rZ-;lGeeFZd;4xt3^rd@2>lolhtvPuF8Vm zi%fNe<+|L~NvHeajB>Kg=f~$MIE>V`zC^#B51ddj>@1J+>%j`{HU&ZxG@K*-6fx78 zV^@1ho6Ol_{S;}#ri;FdN-n*HAN%;m|KK0Gme1(|BFL(Hk+7nQecc@R1AN`0q@o8u zGGo?chu?b;RnqTK7Z10$L0v`L~nJ@XO`Ew3mqvQXy(48!v&l7v&9dG==H)`7B zU(rc}7CgJ5j^LoFIM>r}Dj$1u1vQ@Qvl=@f|!HEwD1q`G%xJcg`r#>z@8vo6^ftVyD zjz!B@1sXEm`?>mRGw$_iL}g8b1oz z>P8ede|$9Ef*rRXOS`q0Xdk5o6Lk zS!{wQq-^SHAvkQ|rsHn)yO!)98cEE0-Niwp(zd5W9cCu;v%L%Ag*}$Xr9t~Y3!9^s zYuo~ywSj2hEYbEMjq6wPG9rphj=5=pg-k|Sw5RqGf=H|U2nC*uC{@)LfbNpIf}5I$ z9c_T$7BUtg``L6(_KobR=^uF>j;Kr$H%#1QDl-ouad>R#Q>N_z0`c07bYRk(=t9+xqEuJp6uw*AO z2F3}?`Ayh1Dmo{Ynv{||2M>>g%uj2*9w!)C=P$<>o+*2jF2ah$0q?o5>{fV7j6Rmk zA3LDQChc^{{ES!HjRo{mUgN=n-Tc_JtJA+A5wiMxw}tK>op0UUZ79Fw{oM+pyYr_24hQj#9!vo`Nm!n6Is}H< z85quJ(^Zuo7GRmCK7(CM!m+l-T4b%%VdE-BnvN?XNeN0qa4Cm8Zeg1puH^J+KLAca zir_ncTx|kr&W#6r=MC9a9{ZUl0(~yxE@9HV&nVe8^BQq)mg>S+1elGnDbK;vs?6Q; zJt={wmX_dsB5gAL4Jlvkg_qX6(z`D$7+$%5{kxm)H35<}+;81Xm;G0l?N`!pQAf7b zpUhIkY*D6i>GoQtOx2+1=e4Pp_Bz(d-&>+wF%hY~KtFWr|H9fc6lYDQV*6GF?;cnJ zJ7$j=yQ`UepS9MX|Ge=q=W^rJ+GOnE+-=8B1S`;EK#Y+udC+#(#*nm$00Q^G#^6-`HW2T6#r-QdnHI46ja#cffC4q4~`dVv-if*$sG54$`U=Oewtt1wsmdDO9g1 z$fD*GFIoErq6-S@aod+x2yP{wETo;AtCeLv!Ouk~4HXCsrnqL%QrVKAjG!~@+fzl* zhX%^9b&z19>>;C35jK4dFqU#$+NcDp19RM=)mV^OqiUg_eRK%8T!i@isKJcAP+A+> z+781YVM~EBv5Z@Ex~g#=YE(v!@Z8>z;u?jXg8e`O}KpgoPeGa;w%;T4d zn2z4o^h90%$rj6$bO%cBH*GMrrV>t9MaLN8GY`NdyZ>mAEsb|Vcqmm<9CBBLk1Wiq zyWe6Htp#90_65yzKSkEJ07w!`!nq zRC3#j@#V16Ts(V@$cjHY?6-Sb1lT0aHfxp`LRbJX2Do3hwZ2_tCGFI}~tq z#lZW9(a+Rxv5kMEpB%a^Wc?tP6WPW(o37h1cEEa_Cl3VB8UntT(Dn0txX?(V;|b3H z%>}T4Nm5cZHV{mZC#RNPBa2oc)rK`lT(l zM|t5Zs(WMt3rKNj<$TW2`j;a_=uZ>2rX|*Rb)Cro#rFQtNQ^F+OzgS=WZ{%G*EJ{$ zF6Q&r+?jGK%|@wBxDFieLNpSu%cZw&!+lc;<$N3P!)Aq|T-$@Ed^6Lx~$=s!-mEEaEK0|BfkuKm>2t{`aX* zbQfnL`S;TBzx{exiJe$PiHqWlPzs4q6124cEo1z<)C