基于STM32的3D打印信号接收器( T0 ~3 z% C0 S% z5 l2 {+ C / F, b) C0 Q6 E3 n! r 描述6 L4 d9 q \: t. P: V 为了我的FPV的小爱好,我需要信号接收器。我 尝试过Ardupilot,但是他只能在波特率57600的双向调制解调器上工作。 不过我在GitHub上发现了廉价的开发项目,他在Atmel 和 Arduino上进行的配置。% b- [$ b8 J; ?, y# p* Z8 V 所以我决定在STM32上制作自己的信号接收器。我用了GitHub上计算方位和航向的方法。 l& t) _/ r) \/ Z( t% ~ 我使用Nema 17电机进行360度运动。和一个20kg的伺服系统来上下移动天线。- Z1 P A" H. I; r 详情请见GitHub4 `' S7 X4 {: U. R6 {) ^. D 细节 支持的遥测协议:1 H2 {) b7 |$ i4 a2 L* X MavLink9 K( ~* O/ d$ B e& t, l - (进行中)- LTM 定位步长为0.2度( GhettoStation只有1度) 元件 1 × 17hs4401 NEMA 17步进电机9 x' a7 S$ B' c0 A' p 1 × tmc2130 步进电机驱动器 1 × jx 20kg舵机7 {: o% X' k$ J. d 1 × stm32f1037 V2 I8 h3 T0 @' S 1 × 0.96 SSD 1306 I2C屏幕 1 × bn - 880 GPS) G" A: F/ B0 G# v9 m. s 2 × mini - 360 DC-DC 1 × 40x40 mm风扇,用于nema17冷却7 O0 M9 ~$ o! g/ M 1 × 20x20毫米风扇 r8 Y1 R+ C. [# c 1 × esp8266* c8 ^" h* D! o. e+ c9 i 步进电机温度& e, U3 k: y% P8 V; r 刚刚测试了步进机和驱动器的温度。: @: d6 T0 s( {+ z' R; w 2 |. _, V* c0 [ y L 工作一小时后,TMC2130的温度为88℃。我检查了数据表,没问题。(过热保护应从100度开始至120度。)我认为我们这里不需要主动冷却。 c) A. Z0 x& I 也许在将来我会在盒子里增加一些额外的洞。
步进机的不同情况:( {2 i' c0 y- f, k" _
对于NEMA 17步进机来说,72℃不算太差(取决于等级工作温度是105 - 180℃),但是由于它是3d打印的,所以PTEG最大值是72℃。 我决定增加40mm的风扇作为冷却器。 2 e5 Y; X/ J; N" [
工作一小时后,图像改变了41℃。' _! F* a6 |3 x, l3 |4 ~5 f1 g 0 _7 A8 t+ h; O$ m* I2 ]: h
% s E( O H6 x5 D3 | 平滑运动的改进. K7 [. L, t. I0 G: D: K( D 我花了一些时间让动作更加流畅。因为由于我使用步进电机,我有时会跳过一步。 所以我决定将Arduino步进库移植到STM32。我在Arduino库中使用的微秒延迟方面遇到了一些问题,我稍微改变了实现方式。 现在我可以控制步进机的速度加速和减速。 此外,我将步进驱动器从A4988切换到TMC2130,现在我拥有无声的精度和平稳的轴承移动。/ I. ]! L# M1 N' V; t& u( {! \ 我喜欢它的移动方式,并考虑用减速器将20公斤的伺服系统改为步进器。 * p7 u, P1 |2 q/ p; c+ l 详情请见视频 |
赞一个 |
| 支持一下 |
微信公众号
手机版