1508有不同的版本,9楼的那张原理图与其他的电路与模块实物都不符,发贴前建议检查确认一下。 |
你好,我最近在用这个模块的时候出了点问题。我用3.3V供电STC8G2K64S4单片机和mx1508模块,输入1和0也就是高低电平电机并不会转动,只有输入两个高电平的时候电机才转动,而且只能朝一个方向转动,请问这是什么问题 |
上个MX1508的pdf看看? |
【花雕动手做】超迷你哦,用商徽香烟盒做个智能小车! |
|
实验之三:通过D9和D10的pwm引脚来实现16位PWM 使用功能setPWM16(uint8_t预分频器,unsigned int分辨率)的Arduino Nano / Uno引脚9和10的分辨率。 快速pwm频率的公式= MPU(16Mhz)/预分频器/分辨率的频率, F_PWM = 16000000 /预分频器/分辨率 预分频器参数值必须在1-5之间,分别代表1、8、64、256、1024。分辨率必须为0-65535之间的值。 MX1508(uint8_t pinIN1,uint8_t pinIN2,DecayMode衰减模式,NumOfPwmPins numPWM); DecayMode必须为FAST_DECAY或SLOW_DECAY,NumOfPwmPins,对于setPWM16()函数,其值必须为2,PINA和PINB必须!!! 是setPWM16()函数的引脚9和10 。 示例MX1508 myMotor(10,9,FAST_DECAY,2)。 |
MX1508.cpp文件
|
MX1508.h文件
|
MX1508库的几个函数 1、motorGo(pwmVal) 这将设置PWM val(速度)其值为0-200(数值太小,电机只是抖动而无法转动,合适的数值需要通过实验来确定) 2、stopMotor() 只需停止电动机 3、setResolution(pwmResolution) 可以更改pwm的分辨率。要使用此功能,必须使用arduino nano / uno的9和10的pwm可以实现16位PWM。理论上,该值可以在0-65535之间的任何值) 说明: MX1508电机驱动器的主要缺点之一是需要PWM引脚,每1台电机需要2 pwm引脚。通过实验发现,仅使用一个PWM和任何数字引脚,而不是使用2个不同的PWM引脚是可能的。这是一个巨大的折衷。电机转动一个方向所获得的响应不同于电机转动另一个方向所获得的响应。在一种方式中,将获得FAST_DECAY响应(线性响应,看起来像一个“ V”),然后在另一种情况下,将获得SlOW_DECAY响应(积极反应,看起来像个“ U”)。仅当绝对没有更多的PWM引脚时才应使用此功能。 |
|
|