FOC系列(四)----重新绘制DRV8301驱动板

这篇具有很好参考价值的文章主要介绍了FOC系列(四)----重新绘制DRV8301驱动板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

   声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。

一、前言

  由于之前DRV8301的驱动板出现了问题,而且在结构上也出现了部分问题,所以最近又重新绘制了一版,不过还是存在一些小问题,后面我还会重新绘制一版,并且修改控制板和驱动板“上-下”的结构,采用平行线的结构进行连接,修改后的DRV8301原理图如下:
FOC系列(四)----重新绘制DRV8301驱动板,FOC系列学习,DRV8301,FOC
   PCB如下:
FOC系列(四)----重新绘制DRV8301驱动板,FOC系列学习,DRV8301,FOC
FOC系列(四)----重新绘制DRV8301驱动板,FOC系列学习,DRV8301,FOC
  实物如下:
FOC系列(四)----重新绘制DRV8301驱动板,FOC系列学习,DRV8301,FOC
  由于改版还不是最后一版,所以有些地方使用了比较便宜的元器件,不过测试都正常:
  GVDD:12V
  AVDD:6.8V
  DVDD:3.3V
  下图是C相上下两个MOS管栅极的信号(蓝色为上管的栅极驱动信号为24V;黄色为下管的栅极驱动信号,为12V):
FOC系列(四)----重新绘制DRV8301驱动板,FOC系列学习,DRV8301,FOC
  DRV8301代码:

#include "DRV8301.h"
#include "spi.h"
#include "math.h"

uint16_t tx, rx=10;
static uint8_t tx_buff[14];

// uint8_t status[10] = {100,100,100,100,100,100,100,100,100,100};
uint8_t addr,dat;


uint8_t MCT8316_read_buffer(uint8_t const regAddr, uint8_t *pData, uint8_t len)
{
  CS_LOW;
  tx = regAddr | 0x80;
  tx_buff[0] = tx;
  HAL_SPI_TransmitReceive(&hspi1, (uint8_t *)&tx, (uint8_t *)&rx, 1, 55);
  HAL_SPI_TransmitReceive(&hspi1, tx_buff, pData, len, 55);
  CS_HIGH;
  return 0;
}
 
 
uint16_t DRV8301_read_reg(uint8_t *pData, uint8_t len)
{
	CS_LOW;
	HAL_SPI_Receive(&hspi1, pData, len,55);
	CS_HIGH;//源代码发送的是ff
	
	return rx&0xFFFF;
}

uint8_t MCT8316_write_reg(uint16_t reg)
{
	CS_LOW;
  HAL_SPI_Transmit(&hspi1, (uint8_t *)&reg, 1,55);
	CS_HIGH;
 
	return 0;
}

uint8_t MCT8316_read(uint16_t reg)
{
	uint8_t result;
	MCT8316_write_reg(READ | reg << 11);
	DRV8301_read_reg((uint8_t *)&result,1);
	return  result;
}

void DRV8301_Init(void)
{
	uint8_t dat1,dat2;
	dat1 = 0x03; // B10~B8
	dat2 = 0xF1; // B7~B0
	tx = WRITE | Control_Register_1<<11 | ((dat1<<6| dat2)&0x07FF);
//	tx = 0x13F1;
	MCT8316_write_reg(tx);
	HAL_Delay(10);
	
	dat1 = 0x00;
	dat2 = 0x0F;
	tx = WRITE | (Control_Register_2<<11)|((dat1<<6|dat2)&0x07FF);
//	tx = 0x180F;
	MCT8316_write_reg(tx);
	HAL_Delay(10);
}

二、下版需要修改之处

  1. 修改MR30和XT60尺寸
  2. DRV8301的封装需要注意一下
  3. 驱动板、控制板修改连接线
  4. 使用STM32F405RGT6重新绘制控制板

三、往期回顾

FOC系列(一)----DRV8301芯片的学习
FOC系列(二)----继续学习DRV8301芯片
FOC系列(三)----AS5600磁编码器文章来源地址https://www.toymoban.com/news/detail-812359.html

到了这里,关于FOC系列(四)----重新绘制DRV8301驱动板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【扩展】电机驱动(DRV8870)

    本电路为电机驱动模块,可以用来实现电机的驱动或者其它动力部件、LED灯亮度等的控制。此外,8870自带过流保护功能,通过采样电阻可以控制触发保护的电流阈值。 DRV8870是TI公司出品的一款电机驱动芯片,具体可以到TI官网或者AllDATASHIT搜索数据手册。以下贴出芯片手册概述

    2024年02月15日
    浏览(55)
  • 智能小车 - DRV8833电机驱动模块

    基本兼容TB6612模块管脚 ,可驱动1.5A以下的直流电机和4线步进电机。 芯片中共有两个全H桥。因此最多可以同时驱动两个直流电机或一个步进电机。 (如果将4个电机中两个两个正负极相接,一个芯片也可带动4个电机) 管脚说明: ANI1:AO1的逻辑输入控制端口,电平0-5V。 AI

    2024年02月02日
    浏览(52)
  • DRV8833直流电机驱动模块代替 TB6612FNG电机驱动

    江科大自化协TB6612使用DRV8833代替,以及使用方法 购买了国产DRV8833模块驱动直流电机,单片机3.3V的GPIO口无法直接驱动直流电机,需要外接高电压的电源,使用驱动模块即可实现 DRV8833管脚说明以及驱动真值表 注意此处的空脚,DRV8833是没有单独的PWM接口的,从IN中的电平变化

    2024年02月11日
    浏览(45)
  • 【STM32篇】DRV8425驱动步进电机

    【STM32篇】4988驱动步进电机_hr4988-CSDN博客         在上篇文章中使用了HR4988实现了步进电机的驱动,在实际运用过程,HR4988或者A4988驱动步进电机会存在电机噪音太大的现象。本次将向各位友友介绍一个驱动简单且非常静音的一款步进电机驱动IC。         DRV8424/25 是适

    2024年04月11日
    浏览(58)
  • DRV8825步进电机驱动详细说明书————含接线图

    最近玩步进电机时候,发现步进电机驱动种类多;A4988,drv8825,tb6600,lv8731……;tb6600驱动电流可达4A,1600细分,十分强大,但是体积大,用在平衡车上不太合适。 drv8825加散热器驱动电流可达2.5A,32细分,还不错。 如图是它的说明书中对引脚的解释 在这里把它翻译成中文。

    2023年04月09日
    浏览(68)
  • FOC——无刷电机的简单驱动

       写这个是为了记录学习过程,为了方便日后快速理解所以话比较通俗,当然也会有些许理解错误,欢迎各位大佬指正,小弟在此感激不尽   无刷无刷,跟有刷电机的区别就是有无电刷(电刷的作用是导电换向),在有刷电机中电刷会随着使用时间的增加逐渐磨损,所

    2024年02月10日
    浏览(48)
  • 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(3)-FOC控制原理矢量控制

    无刷电机是矢量控制,是交流电机调速的核心,也是Foc控制的核心 以下内容学习自【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术 以电流闭环控制为例,也就是让电机始终产生一个恒定的力矩(也就是恒定的电流,因为力矩和电流成正比) 可以看到控制器的输入是最左边

    2024年02月02日
    浏览(85)
  • FOC无感驱动算法—BEMF磁链模型讨论

    目录 母线单电阻电路—电流环 反电动势检测电路 (back EMF)—位置环速度环 参考 附录 以下图单电阻无感PMSM FOC电路设计为例  图1 单电阻FOC sensorless典型电路 以mΩ级别的精密电阻,串联进母线,通过放大器放大单电阻两端的电压信号,计算得出放大后的母线电流起两个目的

    2024年02月06日
    浏览(46)
  • 【STM32】BLDC驱动&控制开发笔记 | 07_SPI通信测试 - STM32F407用SPI配置DRV8323驱动芯片

    最近在埋头搞STM32 + 无刷直流电机控制,想实现用自己的STM32F407VGT6芯片板子,外加一块驱动板(目前选用到TI的DRV8302或者DRV8323驱动芯片),搞定电机驱动,最后实现比较好的控制效果。如果不是同一块芯片的同学也不用急着走,大体上都是可借鉴哒~ 本文主要实现使用SPI通信

    2024年02月08日
    浏览(55)
  • 【DRV8323】电机驱动芯片寄存器配置指南,通过STM32F407的SPI通信配置

    笔者计划使用一块使用到STM32F407控制芯片与DRV8323s驱动芯片的板子,驱动BLDC。了解到需要使用SPI通信来配置DRV8323s驱动芯片,配置过程中涉及DRV8323数据手册中提及的几个寄存器,故写此文做个记录。 另外,DRV8323芯片和DRV8302、DRV8303、DRV8353都有极大的相似之处,可以相互参考

    2024年02月02日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包