SimpleFOC -位置控制代码

本文详细介绍了使用SimpleFOC库在ARM MCU单片机上实现位置控制的方法,涵盖了从理论到实践的整个过程,适合于嵌入式硬件开发者深入理解电机控制技术。
摘要由CSDN通过智能技术生成
#include <Arduino.h>

#include <SimpleFOC.h>

// 无刷直流电机及驱动器实例
BLDCMotor motor = BLDCMotor(6);
BLDCDriver3PWM driver = BLDCDriver3PWM(9, 5, 6, 8);

// 编码器对象
Encoder encoder = Encoder(2, 3, 4096);
// 通道 A 和 B 回调函数
void doA(){encoder.handleA();}
void doB(){encoder.handleB();}

// 电流传感器
//InlineCurrentSense current_sense = InlineCurrentSense(0.01, 50.0, A0, A2);

// 初始目标角度为0
float target_angle = 0;      


// 命令通信实例
Commander command = Commander(Serial);
// 串口控制指令:目标值
void doTarget(char* cmd) { command.scalar(&target_angle, cmd); } 
// 串口控制指令:电机
void onMotor(char* cmd){ command.motor(&motor, cmd); }

void setup() {
	
	// 初始化编码器传感器硬件
	encoder.init();
	encoder.enableInterrupts(doA, doB);
	// 连接电机与编码器
	motor.linkSensor(&encoder);
	
	// 驱动设置
	// 电源电压 [V]
	driver.voltage_power_supply = 12;
	driver.init();
	// 连接驱动器
	motor.linkDriver(&driver);
	
	// 设置要使用的控制回路类型
	//motor.torque_controller = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值