利用simplefoc库和ESP32板驱动双电机。

直接上代码
#include <Arduino.h>
#include <Wire.h>
#include <SimpleFOC.h>
#include <iostream>
#include <sstream>
// SDA 21
// SCL 22
// magnetic sensor instance - I2C
MagneticSensorI2C sensor = MagneticSensorI2C(AS5600_I2C);
MagneticSensorI2C sensor1 = MagneticSensorI2C(AS5600_I2C);
BLDCMotor motor = BLDCMotor(7);
BLDCDriver3PWM driver = BLDCDriver3PWM(32, 33, 25, 12);
BLDCMotor motor1 = BLDCMotor(7);
BLDCDriver3PWM driver1 = BLDCDriver3PWM(14, 27, 26, 13);
// angle set point variable
float target_angle = 0;
float target_angle0 = 0;//电机0的值
float target_angle1 = 0;//电机1的值
bool bHassend ;
// attractor angle variable
float attract_angle = 0;
//产生断续阻尼的效果
// distance between attraction points
float attractor_distance = 10*_PI/180.0; // dimp each 45 degrees
float findAttractor(float current_angle){
return round(current_angle/attractor_distance)*attractor_distance;
}
// instantiate the commander
// Commander command = Commander(Serial);
// void doTarget(char* cmd) { command.scalar(&target_angle, cmd); }
void setup() {

4万+

被折叠的 条评论
为什么被折叠?



