基于STM32的3D打印信号接收器$ M, g' K) N* h, K9 J 描述 q% v! I: N4 X$ `& V" F9 C( l 为了我的FPV的小爱好,我需要信号接收器。我 x" ^& _% J5 E5 K 尝试过Ardupilot,但是他只能在波特率57600的双向调制解调器上工作。) T" k1 j! ~( `$ U9 j 不过我在GitHub上发现了廉价的开发项目,他在Atmel 和 Arduino上进行的配置。- H% ?- W) r% J4 K0 [# ?! ~) f7 u 所以我决定在STM32上制作自己的信号接收器。我用了GitHub上计算方位和航向的方法。, a' w8 I e3 M! U p( ~0 K X( h1 b 我使用Nema 17电机进行360度运动。和一个20kg的伺服系统来上下移动天线。 . k: o) ]0 p6 @; X 详情请见GitHub ; C$ y5 \$ B2 y. M/ e+ l% k b 细节 支持的遥测协议:/ j- l6 |" y- p2 z/ a! T8 ], y+ d / s+ {# c/ M6 a6 p1 x MavLink - (进行中)- LTM 定位步长为0.2度( GhettoStation只有1度), P$ X$ ~: q. A! r0 I0 k) ]* o . @* W! X' |# I" T 元件# G( n5 j. a; @8 k7 ? 1 × 17hs4401 NEMA 17步进电机 1 × tmc2130 步进电机驱动器 1 × jx 20kg舵机 1 × stm32f103& m7 K" ]: E) g' ^& h( ?" K 1 × 0.96 SSD 1306 I2C屏幕8 e0 Y5 c2 C3 w) \6 Z) K9 Z0 Y+ Q 1 × bn - 880 GPS* q0 K$ U& _9 A1 `) s5 l. R4 I 2 × mini - 360 DC-DC 1 × 40x40 mm风扇,用于nema17冷却$ d$ n+ c% c7 i1 Q5 ~0 C3 N9 K8 @ 1 × 20x20毫米风扇0 H6 B: q/ V: z0 p% K0 A9 l 1 × esp8266 步进电机温度 刚刚测试了步进机和驱动器的温度。 % t, k6 _* }( n* [ 工作一小时后,TMC2130的温度为88℃。我检查了数据表,没问题。(过热保护应从100度开始至120度。)我认为我们这里不需要主动冷却。 也许在将来我会在盒子里增加一些额外的洞。 F' t, \" Z4 f0 ^ ^0 j3 F
步进机的不同情况:* w! m5 l! F2 ~* ~. w1 t8 l) e
& l1 y9 f( i1 t' M 对于NEMA 17步进机来说,72℃不算太差(取决于等级工作温度是105 - 180℃),但是由于它是3d打印的,所以PTEG最大值是72℃。7 B5 c7 J3 t* ?3 j4 J% e) r 我决定增加40mm的风扇作为冷却器。- T4 l5 V) p* c4 s. }) m
工作一小时后,图像改变了41℃。 $ M+ @( Q) g" S" z! N5 v, |7 U
平滑运动的改进# s' \5 q* X6 R7 d 我花了一些时间让动作更加流畅。因为由于我使用步进电机,我有时会跳过一步。8 `9 D9 S) v8 A- w" [) a% Y 所以我决定将Arduino步进库移植到STM32。我在Arduino库中使用的微秒延迟方面遇到了一些问题,我稍微改变了实现方式。' ]9 D$ T1 ?/ Z0 Z D/ | 现在我可以控制步进机的速度加速和减速。 此外,我将步进驱动器从A4988切换到TMC2130,现在我拥有无声的精度和平稳的轴承移动。 我喜欢它的移动方式,并考虑用减速器将20公斤的伺服系统改为步进器。 ! d! a9 t3 A+ R/ D, R; b 详情请见视频 ; a' g0 X# ~/ a4 E# D/ L; I( {6 ` |
赞一个 |
| 支持一下 |
微信公众号
手机版