您的位置:首页 > 娱乐 > 八卦 > 赣州网站设计哪家强_一键生成淘宝主图的软件_如何查询百度收录情况_b2b电子商务平台排名

赣州网站设计哪家强_一键生成淘宝主图的软件_如何查询百度收录情况_b2b电子商务平台排名

2025/2/23 10:43:36 来源:https://blog.csdn.net/m0_49156395/article/details/143455311  浏览:    关键词:赣州网站设计哪家强_一键生成淘宝主图的软件_如何查询百度收录情况_b2b电子商务平台排名
赣州网站设计哪家强_一键生成淘宝主图的软件_如何查询百度收录情况_b2b电子商务平台排名

欢迎入群共同学习交流
时间记录:2024/11/2

一、模块解析

1.uln2003
uln2003
E脚:接GND
COM脚:接VCC外部电源
1-7B:输入引脚
1-7C:输出引脚,输入与输出反向
    无法输出高电平,外围电路需要接上拉电路输出高电平,是一种反向达林顿管,用于高电流高电压器件控制
2.28BYJ-48步进电机
四相五线步进电机
四相八步示意图,正为公共端接5V,然后A-D端低电平线圈会通电产生电磁推动转子转动,由于步进电机内部是由多个齿轮组成的,根据手册控制齿轮转1圈360°外部转子齿轮转动5.625°,8拍(步)减速比为64,即1步的步距角为5.625°/64。

电压A-B-C-D
10-1-1-1
20-0-1-1
31-0-1-1
41-0-0-1
51-1-0-1
61-1-0-0
71-1-1-0
80-1-1-0

转动顺序A->AB->B->BC->C->CD->D->DA
四步转动顺序A->B->C->D或者AB->BC->CD->DA,减速比为32

二、STM32单片机示例程序

头文件

#ifndef __STEPMOTOR_H__
#define __STEPMOTOR_H__#include "stm32f10x.h"typedef enum __STEPMOTOR_ROTATION
{STEPMOTORGO = 0,STEPMOTORBACK
}STEPMOTORDIR;#define STEPMOTORMAXSPEED 0.9
#define STEPMOTORMINSPEED 4.5void stepmotorInit(void);
void stepmotorRotate(float angle, STEPMOTORDIR dir, float speed);#endif

源程序

#include "stepmotor.h"
#include "delay.h"
#include "math.h"#define IN1A(bit) GPIO_WriteBit(GPIOA, GPIO_Pin_0, bit)
#define IN2B(bit) GPIO_WriteBit(GPIOA, GPIO_Pin_1, bit)
#define IN3C(bit) GPIO_WriteBit(GPIOA, GPIO_Pin_2, bit)
#define IN4D(bit) GPIO_WriteBit(GPIOA, GPIO_Pin_3, bit)static void stepmotorSetDuty(u8 step, u8 direction); // A->AB->B->BC->C->CD->D->DAvoid stepmotorInit(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);
}static void stepmotorSetDuty(u8 step, u8 direction)
{u8 tempStep = step; // 1个脉冲对应5.625/64°if(direction == STEPMOTORBACK)tempStep = 7-step;switch(tempStep){case 0:IN1A(Bit_SET);IN2B(Bit_RESET);IN3C(Bit_RESET);IN4D(Bit_RESET);break;case 1:IN1A(Bit_SET);IN2B(Bit_SET);IN3C(Bit_RESET);IN4D(Bit_RESET);break;case 2:IN1A(Bit_RESET);IN2B(Bit_SET);IN3C(Bit_RESET);IN4D(Bit_RESET);break;case 3:IN1A(Bit_RESET);IN2B(Bit_SET);IN3C(Bit_SET);IN4D(Bit_RESET);break;case 4:IN1A(Bit_RESET);IN2B(Bit_RESET);IN3C(Bit_SET);IN4D(Bit_RESET);break;case 5:IN1A(Bit_RESET);IN2B(Bit_RESET);IN3C(Bit_SET);IN4D(Bit_SET);break;case 6:IN1A(Bit_RESET);IN2B(Bit_RESET);IN3C(Bit_RESET);IN4D(Bit_SET);break;case 7:IN1A(Bit_SET);IN2B(Bit_RESET);IN3C(Bit_RESET);IN4D(Bit_SET);break;}
}void stepmotorRotate(float angle, STEPMOTORDIR dir, float speed)
{int stepNum = (int)round(angle*64/5.625);for(int i=0;i<stepNum;i++){stepmotorSetDuty(i%8, dir);delayUs(speed*1000);}
}

主程序

#include "stm32f10x.h"
#include "delay.h"
#include "stepmotor.h"int main()
{delayInit();stepmotorInit();stepmotorRotate(360.0f, STEPMOTORBACK, STEPMOTORMINSPEED);while(1){}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com