【STM32+CUBEMX】TMC5160电机驱动简要配置

您所在的位置:网站首页 步进电机驱动线路图讲解 【STM32+CUBEMX】TMC5160电机驱动简要配置

【STM32+CUBEMX】TMC5160电机驱动简要配置

2023-07-08 20:24| 来源: 网络整理| 查看: 265

TMC5160简介

                1.1、引脚图

         1.2、关键引脚

               1.2.1 模式选择引脚

                 1.2.2 时钟和SPI引脚

                  1.2.3 驱动使能引脚

 2.SPI发送数据结构

        发送到 TMC5160 的每个数据报由一个地址字节和四个数据字节组成。 这方便对 TMC5160 的寄存器组直接进行 32 位数据字通信。 每个寄存器有 32 位数据, 即使少于 32 位。

        结合寄存机表格总结下:一次发送40位数据 先发送8位寄存器地址,32位数据位

注意:

        1、读和写选择由地址字节的最高位( SPI 数据报的第 39 位 )控制。 读为 0, 写为 1。 因此, 0x80 必须加到地址中才能进行写操作。

        2、在整个 SPI 总线通讯期间, CSN 必须为低。 当 CSN 变高时, 内部移位寄存器的内容被锁存到内部控制寄存器中, 并被识别为从主设备到从设备的命令。 如果发送超过 40 位, 则只有 CSN 上升沿之前接收的最后 40 位被识别为有效命令。  

3.STM32驱动

采用硬件SPI方式

发送函数如下:

void SPI_SendByte(uint8_t add , uint32_t datagram) { HAL_GPIO_WritePin(CSN_GPIO_Port, CSN_Pin, GPIO_PIN_RESET); //SPI_CS片选拉低 uint8_t Data[5]; Data[0] = add; Data[1]=(uint8_t)(datagram >> 24); Data[2]=(uint8_t)(datagram >> 16); Data[3]=(uint8_t)(datagram >> 8); Data[4]=(uint8_t)(datagram); //Data[4]=(uint8_t)(datagram >> 8); if(HAL_SPI_Transmit(&hspi1,Data,5,1000) == HAL_OK) { HAL_GPIO_WritePin(CSN_GPIO_Port, CSN_Pin, GPIO_PIN_SET); //SPI_CS片选拉1 } else; HAL_GPIO_WritePin(CSN_GPIO_Port, CSN_Pin, GPIO_PIN_SET); //SPI_CS片选拉1 __NOP(); }

主函数调用时,自行添加 0X80。

配置完成后,可参照数据手册验证硬件连接

 发送模式:

SPI_SendByte(0x80,0x00000004);//stealthchop

鱼翻藻鉴,鹭点烟汀。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3