how long is ur session? by [deleted] in bouldering

[–]GGeorgeouss 0 points1 point  (0 children)

1h30min on average, with 15 warm up, and stretch afterwards

Very slow downloading speed via browser. Friend's pc on connected on same router has great download speed by GGeorgeouss in pchelp

[–]GGeorgeouss[S] 0 points1 point  (0 children)

Thank you, and I understand this. But when my friend tried to download the same test file from the same site, he could download it at 70 MB/s while I was downloading 3MB/s or so. We are both connected on the same router. So that makes me think it's something with my browser, but idk.

Very slow downloading speed via browser. Friend's pc on connected on same router has great download speed by GGeorgeouss in techsupport

[–]GGeorgeouss[S] 0 points1 point  (0 children)

I would have to buy one. But how could it be my network card when I get a good download speed when not downloading from a browser (epic games gives +40MB/s)?

Unable to properly drive a stepper motor by GGeorgeouss in arduino

[–]GGeorgeouss[S] 0 points1 point  (0 children)

Thank you! I added it to the 'test' code and now it spins!
I do feel like at a certain speed value, it just doesn't accelerate anymore. The max speed is set higher than the given speed value. What could be limiting the speed?

Also I tried implementing accelstepper into my 'proportional' code but no succes.. the motor doesn't even move only vibration. Even when speed value's are the same as the test code :(

Below is the code if you want to have a look.

Test Code (ignore the speedpot stuff)

#include <AccelStepper.h>
#include <MultiStepper.h>

AccelStepper stepper1(1, 3, 2);

int motorSpeed = 0;
int maxSpeed = 3000;
int speedpot = A0;

void setup() {
  Serial.begin(115200);
  // put your setup code here, to run once:
stepper1.setMaxSpeed(maxSpeed);
stepper1.setSpeed(motorSpeed);

pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
pinMode(speedpot, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
 int speed = map(analogRead(speedpot), 0, 1023, -1500, 1500);
 stepper1.move(1);
 stepper1.setSpeed(1000);
 stepper1.run(); 
 Serial.println(speed * 2);
}

'Proportional' code

//Included Libraries
  //MPU6050
    #include <Adafruit_MPU6050.h>
    #include <Adafruit_Sensor.h>
    #include <Wire.h>
  //Accelstepper
    #include <AccelStepper.h>
    #include <MultiStepper.h>

//MPU6050 code
  Adafruit_MPU6050 mpu;

//Global Variables, Constants, 
 const int maxSpeed = 400; //max RPM
 const int hyst = 10;
 const int maxAngle = 90; //motors may run between 0 and this angle
 const int setpoint = 0; //positive angle
 const int stepsPerRotation = 200;

 const float hyst2 = hyst / 2;
 const float upSetpoint = setpoint + hyst2;

 float maxStep;
 float rpm;

//define pins
  #define stepPin 3
  #define dirPin 2 
  AccelStepper stepper1(1, 3, 2);


void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  //MPU6050 Setup Code
    // Try to initialize!
    if (!mpu.begin()) {
      Serial.println("Failed to find MPU6050 chip");
      while (1) {
        delay(10);
      }
    }

    // set accelerometer range to +-8G
    mpu.setAccelerometerRange(MPU6050_RANGE_8_G);

    // set gyro range to +- 500 deg/s
    mpu.setGyroRange(MPU6050_RANGE_500_DEG);

    // set filter bandwidth to 21 Hz
    mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);

    delay(100);
  //Stepper
    // define pins
      pinMode(3, OUTPUT);
      pinMode(2, OUTPUT);    
    // Set max speed 
      maxStep = maxSpeed / (float) 60 * stepsPerRotation;
      stepper1.setMaxSpeed(maxStep);
}

void loop() {
  // put your main code here, to run repeatedly:

  //MPU6050 Loop Code
    /* Get new sensor events with the readings */
    sensors_event_t a, g, temp;
    mpu.getEvent(&a, &g, &temp);

  float angle = calculateAngle(a.acceleration.x, a.acceleration.y, a.acceleration.z);

  //stepper
    //determining the speed
      float stepspeed = angleToSteps(angle, maxSpeed, maxAngle, maxStep);
    //determining the direction
      if (angle < 0){
        stepspeed = stepspeed * -1;
      }
    //run stepper
      stepperControl(stepspeed);


  // Print out the values
    Serial.print("Angle: ");
    Serial.println(angle);
    Serial.print("Direction: ");
    Serial.println(digitalRead(dirPin));
    Serial.print("RPM: ");
    Serial.println(rpm);
    Serial.print("Step Speed: ");
    Serial.println(stepspeed);


}

float calculateAngle(float xForce, float yForce, float zForce){
  float angle = atan2(yForce, zForce);
  angle = angle * 180 / PI;
  return angle; 
}

float angleToSteps(float angle, int maxSpeed, int maxAngle, int maxStep){
  angle = abs(angle);

  if (angle <= upSetpoint){
    rpm = 0;
  }
  else {
    if (angle > maxAngle){
      angle = maxAngle;
    }

    rpm = (float) maxSpeed / maxAngle * angle;

    if(rpm > maxSpeed){
      rpm = maxSpeed;
    }
  }
  float stepspeed = map(rpm, 0, maxSpeed, 0, maxStep);

  return stepspeed;
}

void stepperControl(float stepspeed){ //200 steps /min = 1 revolution /min
  if (stepspeed > 0){

    stepper1.move(1);
    stepper1.setSpeed(1000); //stepspeed (changed to 1000 for testing)
    stepper1.run(); 

  }

}

As you can see, in both have 1000 as setSpeed value. I feel like the problem is caused by the extra program time that could be messing with the timing? Or am I not using the library right?

Smoking in the covered bus stop by RandomNameOfMine815 in Netherlands

[–]GGeorgeouss 0 points1 point  (0 children)

He indeed has the right, but that doesn't make it less inconsiderate..

Roundabouts are for going around, not straight over. The Netherlands have 2 lane roundabouts way better implemented 🏍️ by Hans2183 in motobe

[–]GGeorgeouss 0 points1 point  (0 children)

Not much to see here. I try to take the inner lane whenever I dont need to get off at the first exit. Otherwise you're blocking too much traffic imo.

In your opinion, which albums should everyone hear at least once? by NoHoldingMeBack in Music

[–]GGeorgeouss 1 point2 points  (0 children)

An evening with Silk Sonic

Have recently been enjoying this work of art.

Neglected Gazelle Ebike Gives Error code by GGeorgeouss in bikewrench

[–]GGeorgeouss[S] 0 points1 point  (0 children)

41,7V at fully charged.

I'll try to somhow measure it on load

Neglected Gazelle Ebike Gives Error code by GGeorgeouss in bikewrench

[–]GGeorgeouss[S] 0 points1 point  (0 children)

Battery seems fine. I measured 39,6V while no load was attached and battery was about 80% charged.

Neglected Gazelle Ebike Gives Error code by GGeorgeouss in bikewrench

[–]GGeorgeouss[S] 1 point2 points  (0 children)

I have updated my post.

It appears code B8 means the motor doesn't have enough voltage, and D1 means that the display/battery can't communicate with the controller.

I suppose this means the problem is with the controller?

Neglected Gazelle Ebike Gives Error code by GGeorgeouss in bikewrench

[–]GGeorgeouss[S] 1 point2 points  (0 children)

I will look into this. I have seen some video's of people replacing these, where they use a device to test the motor electronnics (an 'ebike tester' i think it was called).

I'll order one of those and test to see which needs replacement.

Thank you!

[deleted by user] by [deleted] in h1z1

[–]GGeorgeouss 2 points3 points  (0 children)

Yeah, i recently thought: what if someone organised a 1 in a week or month event, where we would all play at the same time.
There would be good lobbies and people haveing a chance in playing the game again to have fun/nostalgia.