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

企业网站建设维护方案1000个关键词

企业网站建设维护方案,1000个关键词,有什么设计logo网站,网页无法访问是什么原因智能循迹红外避障小车 本设计的完整的系统主要包括STM32单片机最小系统、L298n电机驱动,超声波 ,舵机 ,红外模块等。寻迹小车相信大家都已经耳熟能祥了。 我们在这里主要讲一下L298N驱动电机和单片机输出PWM控制电机转速。 本设计软件系统采…

智能循迹红外避障小车

本设计的完整的系统主要包括STM32单片机最小系统、L298n电机驱动,超声波 ,舵机 ,红外模块等。寻迹小车相信大家都已经耳熟能祥了。
我们在这里主要讲一下L298N驱动电机和单片机输出PWM控制电机转速。

本设计软件系统采用模块设计思想,采用C语言作为程序设计语言,通过KEI MDK完成程序设计,使用仿真器下载软件完成程序的烧录和在线调试。

1.采用C8T6开发板,这个板子我只能说性价比无敌。
在这里插入图片描述
STM32F103C8T6是一个中密度性能线,配有ARM Cortex-M3 32位微控制器,48路LQFP封装.它结合了高性能的RISC内核,运行频率可达72MHz,以及高速内嵌存储器,增强范围的强化输入/输出和外部连接至两个APB总线.STM32F103C8T6具有12位模数转换器,4个计时器,3个串口等等。
2.电机驱动模块,当时看有人用这个 我也买了。后来很多人反映以及我在使用过程中,发现L298N不算是那么好用。
在这里插入图片描述
L298N我也只是在这个简单的小车上用一下这个模块,做别的一般不推荐这个,推荐TB6612等。对于L298N的讲解此网站上有很多 我只能说讲的好的每一个,我初次找L298N的资料时,真的被搞的迷迷糊糊,怎么说的都有,服了。我再次为大家讲解明白。
L298N双通道输出,输出A与输出B
供电方式 :12V供电,左下角三个接口,最左边为12V输入,中间为GND引脚,右边是5v输出(要将上面跳线帽连接)
如果输入大于12v要将上面跳线帽拔掉!!!
通道输出:
1.不考虑电机调速:使能ENA、ENB置于高电平,直接对N1、N2、N3、N4接入高低电平
(电机以最快速度转动)---------------------------------没办法调整左右轮速度
2.考虑电机调速:ENA和ENB接单片机的PWM波输出引脚!别被其他文章搞混了。
IN1,IN2,IN3,IN4按章上面的接法控制方向。就这么简单。别好多人讲的迷迷糊糊。
在这里插入图片描述
在这里插入图片描述
这里采用这种简单的减速小马达减速比好像是1:48,童年回忆哈哈哈哈。
bsp_pwm.c

#include "bsp_pwm.h"
//PWM输出初始化
//arr:自动重装值
//psc:时钟预分频数
//TIM1_PWM_Init(7199,0);//PWM频率=72000/(7199+1)=10Khz
void TIM1_PWM_Init(u16 arr,u16 psc)
{  GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure; //时基单元配置TIM_OCInitTypeDef  TIM_OCInitStructure;    //tim定时器输出模式结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);  //使能GPIO外设时钟使能//设置该引脚为复用输出功能,输出TIM1 CH1 CH4的PWM脉冲波形GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_11; //TIM_CH1 //TIM_CH4GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值	 TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  不分频TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_timTIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //选择定时器模式:TIM脉冲宽度调制模式1TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能TIM_OCInitStructure.TIM_Pulse = 0;                            //设置待装入捕获比较寄存器的脉冲值TIM_OCInitStructure.TIM_Pulse = arr >> 1;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;     //输出极性:TIM输出比较极性高TIM_OC1Init(TIM1, &TIM_OCInitStructure);  //根据TIM_OCInitStruct中指定的参数初始化外设TIMxTIM_OC4Init(TIM1, &TIM_OCInitStructure);  //根据TIM_OCInitStruct中指定的参数初始化外设TIMxTIM_CtrlPWMOutputs(TIM1,ENABLE);	//MOE 主输出使能	 高级定时器输出PWM波特殊配置TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);  //CH1预装载使能	 TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable);  //CH4预装载使能	TIM_ARRPreloadConfig(TIM1, ENABLE); //使能TIMx在ARR上的预装载寄存器TIM_Cmd(TIM1, ENABLE);  //使能TIM1
}

bsp_pwm.h

#ifndef __PWM_H
#define __PWM_H#include "sys.h"void TIM1_PWM_Init(u16 arr,u16 psc);#endif

main.c

#include "sys.h"   //这个文件有点基础的都懂吧  不懂私信我/*** @brief  主函数* @param  无* @retval 无*/ #define SOFT_DELAY Delay(0x0FFFFF);void Delay(__IO u32 nCount); int main(void)
{	delay_init();/* LED端口初始化 */LED_GPIO_Config();TIM1_PWM_Init(99,71);//72+100/72000Motor_Init();LED2_ON;//我习惯在都初始化后亮个灯表示一下。while(1){LED2_ON;delay_ms(500);LED2_OFF;;advance();delay_ms(3000);retreat();delay_ms(3000);left();delay_ms(3000);right();delay_ms(3000);stop();}

bsp_motor.c

#include "bsp_motor.h"void Motor_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能PB端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;	//端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //50MHZGPIO_Init(GPIOB, &GPIO_InitStructure);					      //根据设定参数初始化GPIOB AIN1=0,AIN2=0;BIN1=0,BIN2=0;
}
void stop(void)
{	
TIM_SetCompare1(TIM1,  0);
TIM_SetCompare4(TIM1, 0 );AIN1=0,AIN2=0;BIN1=0,BIN2=0;
}
void advance(void)
{PWM1=100;PWM4=100;
//TIM_SetCompare1(TIM1,  100);
//TIM_SetCompare4(TIM1, 100 );AIN1=1,AIN2=0;BIN1=1,BIN2=0;
}void  retreat(void)
{PWM1=100;PWM4=100;AIN1=0,AIN2=1;BIN1=0,BIN2=1;
}void right(void)
{PWM1=100;PWM4=100;AIN1=0,AIN2=1;BIN1=1,BIN2=0;
}
void left(void)
{PWM1=100;PWM4=100;AIN1=1,AIN2=0;BIN1=0,BIN2=1;
}

bsp_motor.h

#ifndef __BSP_MOTOR_H
#define __BSP_MOTOR_H#include "sys.h"#define PWM1   TIM1->CCR1  //PA8#define PWM4   TIM1->CCR4  //PA11#define AIN2   PBout(13)
#define AIN1   PBout(12)
#define BIN1   PBout(14)
#define BIN2   PBout(15)void Motor_Init(void);void stop(void);
void advance(void);
void  retreat(void);
void left(void);
void right(void);#endif  /*__BSP_MOTOR_H*/
http://www.zhongyajixie.com/news/41037.html

相关文章:

  • 如何找一家靠谱的网站建设公司专业网络推广公司
  • 泉州网站关键词推广费用百度网站下载
  • dw动态班级网站设计毕业论文百度广告代运营
  • wordpress 无广告视频插件下载吉林关键词排名优化软件
  • 温州建设局网站杭州百度首页优化
  • 个人业务网站建设品牌推广方式
  • 纺织网站建设网站内容管理系统
  • 怎么做公益网站优化大师好用吗
  • 网站seo怎么优化游戏推广怎么做
  • 网络网站知识app宁德市古田县
  • 公司国际网站怎么做宁波网络推广优化公司
  • 做搜狗手机网站优化首南宁seo费用服务
  • 做外贸用什么视频网站百度搜索下载app
  • vs2010做网站前台河南网站网络营销推广
  • 四川做网站有哪些公司网站如何优化
  • 旅游网站的设计与实现开题报告竞价运营是做什么的
  • 国内网站服务器seo推广一年要多少钱
  • 哈尔滨市最新疫情关系网站优化公司
  • 政府网站整站源码下载百度推广优化是什么意思
  • 旅游的网站怎么做的seo优化教学视频
  • 做网站需要什么技术网站优化招聘
  • 网站空间什么意思sem是什么品牌
  • 天津的网站建设seo方法
  • 中国上海网站首页关键词完整版免费听
  • 贵州企业官网建设陕西seo优化
  • 网站seo描述怎样宣传网站
  • 学电商一般月收入多少搜索seo引擎
  • 焦作网站建设哪家权威武汉seo公司
  • 做磁力网站广州seo网站
  • 网站搜索框设计提高网站排名软件