当前位置: 首页 > wzjs >正文

做网站都要学什么编程网站scratch网址

做网站都要学什么,编程网站scratch网址,怎样给网站做seo优化,强生公司网站建设原则TB6612介绍及使用 单片机通过驱动板连接至电机 原因:单品机I/O口输出电流I小 驱动板:从外部引入高电压,控制电机驱动 电源部分 VM:电机驱动电源输入,输入电压范围建议为3.7~12V GND:逻辑电…

TB6612介绍及使用

单片机通过驱动板连接至电机

原因:单品机I/O口输出电流I

驱动板:从外部引入高电压,控制电机驱动

电源部分

VM电机驱动电源输入,输入电压范围建议为3.712V

GND逻辑电源和电机驱动电源的公共地

VCC逻辑电源输入,输入电压为

2.7-5.5V

电机接口

A0 B0可以接两个电机

电机控制端口

PWMA  B分别为两个电机控制的使能端

(可使用PWM调速)

AIN1\AIN2BIN1\BIN2

STBY

使能引脚

IN1

IN2

PWM

STBY

O1

O2

H

H

H/L

H

L

L

制动

L

H

H

H

L

H

反转

L

H

L

H

L

L

制动

H

L

H

H

H

L

正转

H

L

L

H

L

L

制动

L

L

H

H

OFF

-

停止

H/L

H/L

H/L

L

OFF

-

待机

main.c

#include "stm32f10x.h"

#include "led.h"

#include "usart.h"

#include "delay.h"

#include "oled.h"

#include "Motor.h"

#include "key.h"

int key = 0;

int key_state = 0;

int main(void)

{ SystemInit();//系统时钟为72M  

      delay_init(72);

      LED_Init();

      LED_On();

      MOTOR_Init();

USART1_Config();//串口初始化

      Key_Init();

      OLED_Init();

      printf("Start \n");

      delay_ms(1000);

     

OLED_Clear();//显示电机转速

OLED_ShowChinese(0,0,0,16,1);

OLED_ShowChinese(16,0,1,16,1);

OLED_ShowChinese(32,0,2,16,1);

OLED_ShowChinese(48,0,3,16,1);

OLED_ShowChar(64,0,':',16,1);

  while (1)

  {key = Key_GetData();

           if(key)

                 key_state++;

           if(key_state%4==1)

           {Motor_SetSpeed(60);

OLED_ShowNum(56,24,1,1,16,1);

           }if(key_state%4==2)

           {Motor_SetSpeed(80);

OLED_ShowNum(56,24,2,1,16,1);}

           if(key_state%4==3)

           {Motor_SetSpeed(100);

OLED_ShowNum(56,24,3,1,16,1);}

           if(key_state%4==0)

           {Motor_SetSpeed(0); OLED_ShowNum(56,24,0,1,16,1);       //0}}}

Motor.c

#include "Motor.h"

void MOTOR_Init(void)

{

      GPIO_InitTypeDef GPIO_InitStructure;

      RCC_APB2PeriphClockCmd(MOTOR_CLK, ENABLE ); //配置时钟

      GPIO_InitStructure.GPIO_Pin = MOTOR_AIN1_GPIO_PIN;

      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

      GPIO_Init(MOTOR_AIN1_GPIO_PORT,&GPIO_InitStructure);

      GPIO_InitStructure.GPIO_Pin = MOTOR_AIN2_GPIO_PIN;

      GPIO_Init(MOTOR_AIN2_GPIO_PORT,&GPIO_InitStructure);

      PWM_Init();

}

void PWM_Init(void)

{

      RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);

      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);    //开启GPIOA的时钟

/*GPIO初始化*/

      GPIO_InitTypeDef GPIO_InitStructure;

      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

      GPIO_InitStructure.GPIO_Pin = MOTOR_PWMA_GPIO_PIN;

      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

      GPIO_Init(MOTOR_PWMA_GPIO_PORT, &GPIO_InitStructure);                             //PA1PA2引脚初始化为推挽输出

      TIM_InternalClockConfig(TIM2);//配置实际单元

      TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;

      TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;          //时钟分频

      TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;           //计数模式

      TIM_TimeBaseInitStructure.TIM_Period = 100 - 1;               //自动重装ARR      分辨率

      TIM_TimeBaseInitStructure.TIM_Prescaler = 36 - 1;      //预分频PSC   

      TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;

      TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStructure);

      TIM_OCInitTypeDef TIM_OCInitStructure;

      TIM_OCStructInit(&TIM_OCInitStructure);        //给结构体赋予初值

      TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;

      TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

      TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

      TIM_OCInitStructure.TIM_Pulse = 0;               //CCR

      TIM_OC3Init(TIM2,&TIM_OCInitStructure);

      TIM_Cmd(TIM2,ENABLE);} 

void PWM_SetCompare3(uint16_t compare)

{TIM_SetCompare3(TIM2,compare);

}void Motor_SetSpeed(int8_t Speed)

{if(Speed >= 0)

      {

      GPIO_SetBits(MOTOR_AIN1_GPIO_PORT,MOTOR_AIN1_GPIO_PIN);

      GPIO_ResetBits(MOTOR_AIN2_GPIO_PORT,MOTOR_AIN2_GPIO_PIN);

      PWM_SetCompare3(Speed);

      }else{

      GPIO_ResetBits(MOTOR_AIN1_GPIO_PORT,MOTOR_AIN1_GPIO_PIN);

      GPIO_SetBits(MOTOR_AIN2_GPIO_PORT,MOTOR_AIN2_GPIO_PIN);

           PWM_SetCompare3(-Speed);}}

Motor.h

#ifndef __MOTOR_H

#define    __MOTOR_H

#include "stm32f10x.h"

#include "delay.h"

#include "sys.h"

/***************根据自己需求更改****************/

// TB6612FNG电机驱动模块 GPIO宏定义

#define    MOTOR_CLK                             RCC_APB2Periph_GPIOA

#define MOTOR_AIN1_GPIO_PIN                    GPIO_Pin_0

#define MOTOR_AIN2_GPIO_PIN                    GPIO_Pin_1

#define MOTOR_AIN1_GPIO_PORT                     GPIOA

#define MOTOR_AIN2_GPIO_PORT                     GPIOA

#define MOTOR_PWMA_GPIO_PIN                     GPIO_Pin_2

#define MOTOR_PWMA_GPIO_PORT                      GPIOA

/*********************END**********************/

void MOTOR_Init(void);

void PWM_Init(void);

void Motor_SetSpeed(int8_t Speed);

#endif

代码放在下述连接里面,通过网盘分享的文件:TB6612电机调速资料

链接: https://pan.baidu.com/s/1D_d506c3pwiRzHCaSq2_Aw?pwd=HHRR 提取码: HHRR

--来自百度网盘超级会员v5的分享

此外还有一种电机驱动,介绍如下

微型双路直流电机驱动基于TB6612FNG驱动IC设计,采用特殊逻辑控制方式,仅需4根管脚即可实现双路电机控制,相比纯芯片而言,减少了两个IO管脚,为Arduino等控制器节约了宝贵的IO资源,可以应用在更多领域中。
TB6612FNG是一块双路全桥驱动芯片,单通道最大连续驱动电流可达1.2A,峰值2A/3.2A(连续脉冲/单脉冲),可驱动一些微型直流电机。控制逻辑与L298N类似,代码上可直接兼容DFRobot L298N电机驱动。标准XH2.54排针可直插面包板,无论是DIY制作,还是新产品开发,都是非常理想的一个选择!

产品参数

  • 逻辑部分输入电压VCC3.3~5V
  • 驱动部分输入电压VM2.5~12V
  • 驱动电机路数:2通道
  • 单通道最大连续驱动电流:1.2A
  • 启动峰值:2A/3.2A(连续脉冲/单脉冲)
  • 接口方式:2.54mm间距排针

模块尺寸:20 × 19.5(mm)

细节说明

电机接口:M1M2 可接入两个电机,其中标注了“+”“-”表示两个电机的接线方向。

指示灯:正面指示灯:电源指示灯

电源部分

VCC:逻辑电源输入,输入电压为5V;

VM:电机驱动电源输入,输入电压范围建议为3.712V;

GND:逻辑电源和电机驱动电源的公共地。

电机控制端口

PWM1,PWM2:分别为两个电机控制的使能端(可使用PWM调速)

DIR1,DIR2:正反转控制信号输入端。比如,DIR1=1M1电机正转; DIR1=0M1电机反转。

引脚说明

管脚映射

标号

名称

功能描述

1

DIR1

电机M1的方向控制引脚

3

PWM2

电机M2的速度控制引脚

4

DIR2

电机M2的方向控制引脚

5

GND

逻辑部分电源负极

6

VCC

逻辑部分电源正极

7

M1+

M1路电机输出1

8

M1-

M1路电机输出2

9

M2+

M2路电机输出1

10

M2-

M2路电机输出2

11

GND

电机电源负极

12

VM(<12V)

电机电源正极

模块尺寸:20 × 19.5(m\


文章转载自:

http://dHgVpTo4.hcbky.cn
http://7YnY1bte.hcbky.cn
http://BX2RRdzp.hcbky.cn
http://o8GdsQMB.hcbky.cn
http://w9JosJUe.hcbky.cn
http://4f28dzJu.hcbky.cn
http://3e8Cylie.hcbky.cn
http://kajAQ8a6.hcbky.cn
http://ynHiBZpT.hcbky.cn
http://1dnHvIi4.hcbky.cn
http://qr5KEZXL.hcbky.cn
http://cf9wcxbq.hcbky.cn
http://JwKNdv3c.hcbky.cn
http://Aw7lraF3.hcbky.cn
http://Dyt1Zy7q.hcbky.cn
http://6B7YSlis.hcbky.cn
http://c1cP6ZEM.hcbky.cn
http://mo53bkMc.hcbky.cn
http://99hjdWeg.hcbky.cn
http://znlCGoP1.hcbky.cn
http://QaKth20P.hcbky.cn
http://BiTNG7cU.hcbky.cn
http://ZcwKNOE6.hcbky.cn
http://JI4rlIAT.hcbky.cn
http://H4QjXpnw.hcbky.cn
http://1YTNokZQ.hcbky.cn
http://cSkxTPHd.hcbky.cn
http://O09jCp6g.hcbky.cn
http://Y9RwJy0l.hcbky.cn
http://O9JYMZXx.hcbky.cn
http://www.dtcms.com/wzjs/771110.html

相关文章:

  • 网站建设计划图公司网络组建设计与方案
  • 昆明电商网站建设网站的交流的功能怎么做
  • 用阿里云建站wordpressWordPress 长文 阅读
  • 做网站拿来卖中国购物网站排行榜
  • 社交网站实名备案wordpress获取主页路径
  • 浙江电信关于网站备案信息核实的公告永州网站制作
  • php自建网站天机seo
  • SEO网站建设全方位部署seo项目培训
  • 淘宝客做网站可行么响应式网站源码.net
  • 内蒙古网站建设公司网站前期准备
  • 网站后台管理密码忘了学网站建设专业前景
  • 花园桥网站建设wap网站生成微信小程序
  • 微信官方网站是多少钱wordpress 首页幻灯片
  • 中山网站设计制作山东建设监理协会网站无法登录
  • 网站建设与制作教学计划建设银行e路通网站
  • 郑州哪里教做网站湖南这22人被点名通报
  • 做淘宝要用的网站吗常用seo站长工具
  • 网站开发所遵循装修公司报价
  • 网站网址怎么找dw怎么做自我展示网站
  • 沈阳网站建设公司多少钱代做道具网站
  • 网站如何制作学校的做做论坛网站好吗
  • 网站ui设计是什么工程公司logo图片大全集
  • 整网站代码 带数据 免费 下载自助友链平台
  • 网站 常见推广南京华佑千家装饰工程有限公司
  • 政务网站建设目标h5源码
  • 襄樊网站建设重庆网站建设letide
  • 网站交接需要哪些小米的推广软文
  • 汕头中小企业网站制作网页建设多少钱
  • 网站开发目录结构群晖企业解决方案
  • 学习电子商务网站建设与管理的感想凯里市黎升网络推广公司