首页 > 其他分享 >1.3.2小车跑起来

1.3.2小车跑起来

时间:2024-07-15 21:27:17浏览次数:15  
标签:起来 函数 1.3 小车 电机 uint8 TIM pwm

引言

上节课我们进行了对电机的初始化,今天我们开始构建电机的使用函数。

电机代码

产生速度

对于小车来说,所有函数都是服务于让小车按照我们的要求移动,所以我们在初始化完就需要写出一个使小车动手起来的函数。

这个函数最好可以给小车的两个电机配速,达到我们变速的要求!!!

先理一下思路!以左面的电机为例·。当我们的IN1为逻辑正IN2为逻辑负时我们的电机正转。所以本质上就是控制IN1与IN2的电压值。我们使用的是PWM模式,所以对电压的控制就是对电压占空比的控制,那么库函数有没有对占空比函数的设置呢!

看这里:287b2c764a494307ae0c719245bf86e2.png

这不就是吗,所以直接操作我们的比较寄存器!但是注意看这是通道一的比较寄存器。我们有的四个通道!

9b88fe27b6914643a96dbd7f6bfca602.png

所以我写一个速度函数,让他们配置四个变量!

 完善一下吧!这样子我们就可以自己设置通道了。

void speed(uint8_t speed1 ,uint8_t speed2 ,uint8_t speed3 ,uint8_t speed4)
{
      TIM_SetCompare1(TIM4,speed1);
      TIM_SetCompare2(TIM4,speed2);
      TIM_SetCompare3(TIM4,speed3);
      TIM_SetCompare4(TIM4,speed4);
}

 小车前进

知道产生速度了你就一定会如何控制小车前进了!我这里不做推理直接附上代码。

void qianjin (uint8_t pwm)
{
if(pwm>100)
  {
	pwm=100;
	}
speed(pwm,0,pwm,0);

}

注意我们这里的pwm一定要控制大小,这里的if函数是为了移植后大家给值给大了!

小车后退

void houtui(pwm)
{
	if(pwm>100)
	{
	pwm=100;
	
	}
speed(0,pwm,0,pwm);
	
}

接下来小车的左转右转,左旋转右旋转你自己会写了吧我就不列举了!

主函数

到了使用部分了,我们一步一步过来的所以你一定不会晕的!

while(1)
{
qianjin(50);
delay_s(5);
tingzhi();
zuozhuan(60);
delay_s(2);
tingzhi();
}

当然在实际使用中一定要加延时!不断的调试!很多问题都是因为延时问题导致代码无法被读取而造成的!!!!

明天就到了我们的布线了!其等待一下吧! 

 

 

 

 

 

 

 

标签:起来,函数,1.3,小车,电机,uint8,TIM,pwm
From: https://blog.csdn.net/2301_76726104/article/details/140424593

相关文章

  • 智能小车开源样例运行
    环境准备前置条件按照官方指导文档完成CANN包安装CANN版本需要>=5.0.4.alpha001(本教程使用5.04alpha005)软件准备源码包:samples:CANNSamples(gitee.com)模型:cplusplus/contrib/Ascbot/README_CN.md·Ascend/samples-Gitee.com建议下载模型,权重和配置文件后本地使......
  • 51小车红外循迹及蓝牙代码
     main.c#include<REGX52.H>#include"time.h"#include"motordriver.h"#include"MoveState.h"#include"follow.h"#include"lanya.h"externunsignedintPWMR;externunsignedintPWML;unsignedi......
  • 小车轮子测试(I2C)
    I2C总线是PHILIPS公司推出的一种在电子通信控制领域常用的串行通信总线,是一种简单、双向通信、二线制、同步的串行总线,具有连接线少、控制简单、通信速率高等优点。端口检测cd/devlsI2C读写操作使用i2cdetect命令检测i2c总线i2cdetect-l如果红色部分出现unknown,则大......
  • 已解决——ROS2开发环境搭建,亚博智能小车
    在实现多机通讯时,官方教程讲的很模糊,具体细节实现主机(ROS2小车),从机(自己的电脑上的Ubuntu系统)首先打开两个terminal,左边的负责连接小车,右边的负责实现从机的接受话题主机terminal输入[email protected]进入后再输入./run_docker.sh然后就进入小车的docker了然后输入sud......
  • 1.3.1小车跑起来
    引言查看前文方式:订阅我的设计自己的STM32智能小车我i们一起完成了选购与接线,但是在上节课中我们还需要A1117芯片!咱们之后再整理。今天我们开始学习构建代码库。(Keil5)寄语很多人喜欢使用CubeMX来生成初始化配置,但是我想说的是,自己构建初始化时你需要去库中自己寻找,自己寻......
  • #BAS3123. 【例21.3】 字符类型判断
    3123:【例21.3】字符类型判断【题目描述】输入一个字符,判断该字符是否大写字母、小写字母、数字字符或其他字符。分别输出对应的提示信息。【输入】输入为一个字符。【输出】如果该字符是大写字母,则输出" upper ";若是小写字母,则输出" lower ";若是数字字符,则输出" di......
  • 松灵机器人scout mini小车 自主导航(3)——建图导航仿真
    松灵机器人Scoutmini小车建图导航仿真在之前的文章中,我们已经介绍了如何在gazebo和rviz对scoutmini小车进行仿真,并且测试了添加自定义的传感器,在本文章中将进一步介绍如何利用scoutmini小车在仿真环境中建图和导航。仓库链接:https://gitee.com/agent-explorer/robotics/tr......
  • 基于安卓手机蓝牙控制的智能小车设计论文,带源程序
    设计(论文)题目:基于安卓手机蓝牙控制的智能小车设计随着物联网的兴起,Android手机以其独有的开放性优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于安卓手机蓝牙控制的智能小车设计,基于手机平台,借助于蓝牙技术,设计和实现了一种无线遥控小车新的解决方案。设计以......
  • 异步编程秘籍:一探std::future的魔法,让代码飞起来
    ......
  • k8s安装v1.30.2(contanerd容器运行时)实录
    一、主机准备主机名NATIP系统配置k8s-master192.168.1.201ubuntu18.04.62C2Gk8s-node01192.168.1.202ubuntu18.04.62C2Gk8s-node02192.168.1.203ubuntu18.04.62C2G   二、前提主机配置好网络、ntp,关闭ufw,swap,安装好containerd,runc服务三......