经常有客户碰到产品死机问题,下面从硬件角度讲解处理上电死机这类问题的解决思路。一、BOOT状态若晶振原因排除,可以查看一下客户boot脚电平状态。若想要正常运行用户代码,需要保证BOOT0为低电平、BOOT1为低电平才行。要严格保证电平状态。(评估板接法BOOT0、BOOT1接10K到地) 二、晶振
如BOOT脚状态正确,可以检查硬件是否外接晶振?若外接了晶振,接了多大的晶振?原因是因为
STM32 TIM高级定时器的互补PWM支持插入死区时间,本文将介绍如何计算以及配置正确的死区时间。文章目录什么是死区时间?数据手册的参数如何计算合理的死区时间?STM32中配置死区时间什么是死区时间?死区时间主要是在逆变电路中,防止一个桥臂的上下两个开关器件同时导通,那么会导致电路电流上升,从而对系统造成损害。因为开关元器件的和严格意义并不是相同的。所以在驱动开关元器件门极的时候需要增加一段延时
本人采用的是607325的无刷直流电机和607513的编码器,以及STM32的RS232作为MCU与电机的通讯。 以下的内容作为刚开始接触Maxon电机可以学习一下,大佬就不必看了。第一步,准备好相关文档 EPOS4-Application-Notes-Collection(应用字典)-En EPOS4-Firmware-Specification(固件手册)-En EPOS4-Firmware-
最近,刚接触STM32CubeMX,感觉功能非常强大,特别是对于ETH、USB、FAT等特别方便,不用再像以前那样去找各种移植方法(移植起来既麻烦也耽误时间)。此处,我以自己手头上的一个板子(STM32F207VCT6)为例,记录一下以太网的配置过程,中间也走了一些弯路,希望其他同志今后在配置ETH的时候可以借鉴参考,以节省自己的开发周期。具体配置过程:1、打开STM32CubeMX,并选择好相应
脉冲信号可以分为AB相脉冲,脉冲+方向,CW/CCW脉冲。这三种信号格式,在十几年前或者还有明显的相对优缺点和适用场合,现在就已经无所谓了,即使在使用上还是有所区分,也基本上是由于历史习惯。1、A/B信号: 位置传感器最喜欢的格式。因为,早期的编码器直接就是用两个传感器输出两路信号的。靠传感器安装的相对位置确保两个信号的相对相位关系。在传感器后面直接加上两个电压比较器,就直接得到了A/B的方波信
之前说过只要能控制高低电平就可以控制电机的正反转,我想通过修改友善官方的LED驱动程序来达到控制GPIO高低电平的目的,但是看了很久都没有怎么看懂,就去网上找看有没有比较好理解的程序,找到一个,原帖地址如下,十分感谢intel版主的无私分享:原帖作者的小车是通过左右轮子的差速来实现转向的,可我的小车是后轮驱动,靠前轮转向的,所以对源程序做了些修改:C代码#include
#include
#i
01--全局首先看看搭建完成后的模型 根据PMSM的转矩方程,转矩主要跟q轴电流有关,如果是面装式PMSM,那么Lsd=Lsq,转矩只跟q轴电流相关,如果是插入式PMSM的话,Lsd!=Lsq,但是此时我们可以令d轴电流为0来控制扭矩,这样更方便控制,模型就是基于这一原理进行搭建。可以看到在转速闭环控制中,请求转速为850转,如下图 扭矩请求非常平滑,所以转速起来后不会有明显的
最近做了几个小东西,其中用到了步进电机。 就来谈谈步进电机,写给小白看的,只是浅谈如何使用,其中的原理不做细致的讲解。 我们从步进电机驱动器上的东西一个个看1. SW1-SW8开关 SW1-SW4:通过拨动开关,选择16种细分模式(或者其他X种细分模式) 什么叫细分模式呢? 电机转动一圈是360度,电机的步距角是1.8度 那么我们知道360/1.8=200,就是电机转动一圈需要200 个脉冲数。细
转载
2024-02-20 10:06:25
103阅读
stdint.h简介stdint.h是从C99引进的一个标准C库的文件。
需要重点掌握的定义类型别名如下/* exact-width signed integer types */
typedef signed char int8_t;
typedef signed short int int16_t;
typedef signed in
步进驱动器细分控制原理: 在步进电机步距角不能满足使用要求时,可采用细分驱动器来驱动步进电机。细分驱动器的原理是通过改变A,B相电流的大小,以改变合成磁场的夹角,从而可将一个步距角细分为多步。步进电机最常见的分为两相步进电机(1.8°),或者三相步进电机(1.2°),将“电机固有步距角”细分成若干小步的驱动方法,称为细分驱动,在不细分步距角的情况下(1细分),驱动接收一个脉冲信号电机就走1.8度
智能小车PWM控制直流电机 在汽车行业,我们不仅要通过CAN总线来控制汽车的运行,那么在智能遥控汽车市场就需要直流电机来控制小车的速度:平时我们可以通过PWM波,硬件改变电压等方法来改变小车电机两端的电压值,进而达到控制电机转速的调整。 PWM波来控制电机的转速,PWM就是脉冲宽度调制,也就是占空比可变的脉冲波形. 通过其对半导体电力器件的导通和关断进行控制,使输出端得到一些列幅值相同而宽度不相同
概述: 编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位移或者速度信息。编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。增量型编码器一般给出两种方波,它们的相位差存在一定的角度(不一定是90°),通常称为通道A和通道B。它们的输出信号如图8所示,通常只需一个通道的读数给出与转速有关的信
最近调试中发现,死区补偿对电流谐波和电流带宽影响挺大,于是对死区补偿产生浓厚兴趣,找来几篇文章粗读并做一下笔记。传统做法无非就是根据电流方向补偿,假如svpwm计算出的A相理论导通实践为T1,死区时间是Td,则实际导通时间T = T1-Td(when ia > 0 ),于是在svpwm计算出的导通时间T1的基础上加上Td。这样经过PWM模块后,实际的导通时间即为T1.但
FOC笔记前言一、FOC的优势二、简单的入门磁场判断1.左手定律2.右手定律3.右手螺旋定律三、PMW信号1.什么是PWM信号四、无刷电机的六步启动法 前言FOC控制原理简要笔记提示:以下是本篇文章正文内容,下面案例可供参考一、FOC的优势1,可以将转速控制在非常低的情况下。 2,可以进行电机的正反控制。 3,能够闭环控制无刷电机的力矩,速度,位置。 4,低噪声。二、简单的入门磁场判断1.左手定
接法一、20101021_cd8bbb393038c5c0f8aay2MAUM4PmykU.jpg (35.09 KB, 下载次数: 14)2013-11-11 20:16 上传接线是:1+12、3+8、5+10绕线是:1-2-7-8 逆 顺 顺 逆3-4-9-10 顺 逆 逆 顺6-7-11-12&nb
转载
2024-10-31 20:09:09
43阅读
OdriveFOC-无刷电机控制(指令篇) 文章目录前言一、打开Odrivetool1.Odrivetool二、配置1.报错处理2.设置编码器、电机参数3.校准编码器、电机参数三、闭环模式1.进入闭环模式2.位置环3.速度环四、json配置(用现有例程直接用)1.准备json文件2.加载json文件3.配置电机参数4.控制指令五、备用指令总结 前言现在硬件平台已搭建,软件已安装,接下来就是关键的给
采用定时器TIM3来控制PWM的输出来产生频率变化的脉冲。 过程:加速——匀速——减速——停止文件:stepmotor.c //用到的tim2为了实现另外的功能可以忽视
#include "stepmotor.h"
#include // TIM3脉冲计数
vu32 step_done;
vu32 run_state; #define run_state_stop 0
#d
转载
2024-06-03 10:15:58
290阅读
编码器是什么玩意呢,它可是一个好玩的东西,做小车测速必不可少的玩意,下面,我将从编码器的原理讲起,一直到用stm32的编码器接口模式,测出电机转速与方向。1.编码器
图1 编码器示意图
图1为编码器的示意图,中间是一个带光栅的码盘,光通过光栅,接收管接收到高电平,没通过,接收到低电平。
电机旋转一圈,码盘上有多少光栅,接受管就会
前言 在上一讲我们讲了无感无刷电机控制的算法,其中我们通过按键的方式来控制启停和速度控制。在这一讲我们将为大家讲解如何使用电位器来控制无感无刷电机转速的变化。 在这一讲中我们主要涉及以下几个功能,按键控制电机启停
转载
2024-10-14 22:42:02
215阅读
目录前言一、PWM调速原理二、STM32编程实现总结 前言原来做的差速小车是基于Arduino控制的,感觉有些简单,也有些基础,Arduino方便简单的同时,可操作性感觉也少了很多,所以想将控制器换成STM32,然后将树莓派作为上位机,STM32作为下位机,通过树莓派和STM32进行通讯,实现对差速移动小车的控制,本人也是寒假期间初学STM32,也是奔着应用去的,所以对于STM32编程原理方面可能