# uno-stepper **Repository Path**: cedardiao/uno-stepper ## Basic Information - **Project Name**: uno-stepper - **Description**: 基于Arduino UNO主板的步进电机驱动测试程序 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-11-29 - **Last Updated**: 2021-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # uno-stepper ## 介绍 基于Arduino UNO主板的步进电机驱动测试程序 ## 硬件连接 |引脚|驱动信号|电机信号| |---|---|---| |D8|IN1|A+| |D9|IN2|A-| |D10|IN3|B+| |D11|IN4|B-| ## 功能说明 - 开机后马达速度为0,即处于停止状态 - 支持串口命令控制步进马达 - 所有串口命令都是单字符,即:P/R/N/D/+/- - P/R/N/D是模拟自动挡汽车挡位的,分别表示:停车/倒车/空挡/前进 - +/- 分别表示油门 - 挡位切换只允许一些方向: | 起始挡位 | 目标挡位 | |---|---| |P|R/N/D| |N|P/R/D| |D|N| |R|N| - 在D/R挡位时,每输入一次‘+’,速度增加20RPM - 在D/R/N挡位时,每输入一次‘-’,速度减少20RPM - 空挡(N)时,速度会逐渐降低到0. - 只有在D或R档,油门(+)才会有用。 - 在D/R/N档时,刹车(-)都会有用。 ## 程序说明 1. 使用了Arduino官方的stepper库作为核心的驱动库。 2. Stepper构造函数的第一个参数是步数,即:轴转动360度需要走多少步。没有减速齿轮的步进马达一般是20步转动一圈,有减速齿轮的步进马达典型是200步一圈(每一步为1.8度)。 3. setSpeed 方法的参数就是转速,单位为rpm,只要构造函数里的步数没有设错,转速就不会有问题。 4. step 方法的参数是控制马达按照设好的速度走N步,正数表示正传(顺时针CW),负数表示反转(逆时针CCW)。 ## 背景知识 步进电机的转速通常与扭矩成反比关系,即:转速越快时负载能力越差。因此如果负载太高,不建议进行高转速运行。 实际测试小型步进电机的空转转速最高能到4200RPM,但不建议超过4000RPM。