STM32F103实现小车的转动 首先,我们要明白:电机转动的实质其实是对PWM波的控制输出;8 f) n D- K! d5 z" n4 v* F; ^( 库函数直接调用封装好的函数 TIM_SetCompare1()或者用CCR调节占空比)# u6 ?9 [2 T4 C5 z 3 Q7 ~2 i8 ~, J% f; x6 ?; ^7 z0 d + Y! a% H6 r O PWM波输出的原理图如下:2 h9 i K8 F m7 i% ` 下面我从网上找到了一个L298N电机驱动实物图,进行详细的描述:(通过此图可以进行实物连接) 注:千万小心,不要把引脚接反了,会少了芯片。0 Y! |+ [( P! q: o' H1 K 我小车是直接控制两个电机,四个电机分成两组。让其中一侧电机的状态相同,另一个状态相同,,没有分别单独控制。- e' S9 d& R0 r 通过下图可以参考:IN1 IN2 IN3 IN4 1 0 1 0 实现电机的正转 小车前进 0 1 0 1 实现电机的反转 小车后退4 ] U* b1 s2 z6 t# ~0 z 1 0 0 1 小车右转 0 1 1 0 小车左转 % a5 b, p* v9 `1 D3 y+ C+ x1 x; G 但所有的前提是要先学会时钟实验和GPIO的初始化,这个时候就要补上上次STM32学习的内容了。8 O, B, E* L2 _' u f/ O; P 先进行STM32时钟和GPIO的学习0 y2 z) e& v+ g6 w: h% j3 E5 d 附上电机初始化代码' P! G3 z; R* _% f$ c! u( _
需要注意的是PWM时钟输出的arr和psc的关系: 系统时钟设置为72MHz;& _8 E6 W) f, ?) v' G/ J9 _! D9 ?: L* ` PWMFre=Sys/(arr+1)(psc+1)" p0 t# [1 u; l9 P TIM1_PWM_Init(999,71);//分频。PWM频率=72000/(999+1)*(71+1)=1Khz 周期为:1/1khz;8 k& l& k, H5 Q2 H* c6 D ) _/ R& l/ u5 d$ { + s; z/ U' H0 j) \$ U . s ^9 c5 \8 w ' [- D2 `2 ]9 D- x. {0 K" |3 o, y |
小马哥STM32F103开源小四轴RoboFly全部资料大放送
STM32固件库分享,超全系列整理
【MCU实战经验】+STM32F107的USB使用
基于STM32F103两轮平衡小车设计(开源)
STM32F107VCT6官方原理图和PCB
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
基于STM32F10xx存储器和系统架构经验分享
基于STM32F1的CAN通信之BH1750
基于STM32F1的CAN通信之OLED
基于STM32F1的CAN通信之之串口IAP