Waardering:
  • 0 stemmen - gemiddelde waardering is 0
  • 1
  • 2
  • 3
  • 4
  • 5
DHZ vermogensmeter
#46
@LigfietsWilsum; dank voor je reactie. Ik heb weer wat aangepast, zie hieronder. Ik heb geen idee wat 'casten naar float' betekent, en google helpt me niet heel veel. Kan jij het uitleggen? Ik heb nu torqueFactor maar een float genoemd. Leek me leuk...

@Hardloper; dank voor je reactie. Ik heb het aangepast, snap ook een beetje waarom. Ik lees dat de millistimer 52 dagen blijft tellen, als ik 52 dagen nonstop fiets dan kijk ik tegen die tijd wel naar een oplossing. Tot dan denk ik dat ik vaker dan eens in de 52 dagen het ding herstart.

@JanBurp; dank voor je reactie. Ik snap wat je bedoelt, heb de code aangepast. Ik snap nog niet waarom ik iets in een buffer moet plaatsen, en ook niet hoe. Wel valt me op dat jij in je eigen voorbeeld in je eerste post in dit topic wel Millis() gebruikt in je interrupt (eerste link, regel 516). Waarom mag jij dat wel en ik dat niet? Wink

Code:
Citaat:/*
16-03-2024 HugoW
This is the sketch for my Arduino based bicyle power gauge.
It uses an Arduino Nano, a TM1637 display, an inductive sensor on the bike's main sprocket
and a load cell with a wheel pressing on the power-part of the chain.
The harder you push on the pedal, the bigger the chain tension.
The sketch records the load cell value at each passing of a tooth and adds those numbers together.
After one full revolution, the accumulated number is devided by the number of teeth, is the average torque (with a bit of
calculating to get from load cell amplifier signal to real torque in Nm). The average torque multiplied by RPS(revolutions per second) is Watts.
*/

// Include libraries:
#include <Arduino.h>
#include <TM1637Display.h>
#include <HX711.h>

// Declare variables and pins:
// For torque measurement and power calculation:
const int LOADCELL_DOUT_PIN = 5;
const int LOADCELL_SCK_PIN = 6;
long torque;
HX711 scale;
int torqueSum;
int torqueTare;
float torqueFactor;
int wattage;
// For TM1637 display:
#define CLK 9
#define DIO 10
TM1637Display display = TM1637Display(CLK, DIO);
// For tooth pulse input:
volatile int trigger = 2;
volatile int triggerState;
int triggerCount;
int numberOfTriggers;
int mainGearTeeth;
int sprocketTeeth;
int sprocketSpokes;
// For cycle time:
unsigned long startTimer;
unsigned long stopTimer;
unsigned long cycleDuration;

void triggered()
{
triggerState = 1; // Set triggerState high, so the loop knows what to do
}


void setup()
{
// Declare pins and such:
Serial.begin(9600);
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
pinMode(trigger, INPUT);
// Setup display:
display.clear();
display.setBrightness(7);
// Set changing values to zero
torqueSum = 0;
startTimer = 0;
stopTimer = 0;
triggerState = 0;
triggerCount = 0;
display.showNumberDec(0, false);
// Set fixed values:
mainGearTeeth = 52;
sprocketTeeth = 13;
sprocketSpokes = 6;
numberOfTriggers = (mainGearTeeth / sprocketTeeth * sprocketSpokes);
torqueTare = 0;
torqueFactor = -0.001;
attachInterrupt (digitalPinToInterrupt(trigger), triggered, RISING);
}

void loop()
{

if ((triggerState == 1) && (triggerCount < numberOfTriggers))
{
torque = scale.read(); // Read torque sensor.
torqueSum = (torqueSum + torque); // Add torque to sum.
triggerCount = (triggerCount + 1); // Raise counter by one.
triggerState = 0; // Reset trigger state.
}

if ((triggerState == 1) && (triggerCount >= numberOfTriggers))
{
torque = scale.read(); // Read torque sensor.
torqueSum = (torqueSum + torque); // Add torque to sum.
triggerCount = (triggerCount + 1); // Raise counter by one.
triggerState = 0; // Reset trigger state.
triggerCount = 0; // Reset trigger count to zero.
stopTimer = millis(); // Read millis at stop of cycle, determine duraton of cycle.
cycleDuration = ((stopTimer - startTimer) / 1000);// Subtract starting value of millis to determine duraton of cycle.
startTimer = millis(); // Reset cycle.
wattage = (((torqueSum / numberOfTriggers) - torqueTare) * torqueFactor / cycleDuration);// calculate wattage by dividing the torquesum by the triggerCount, subtracting the tare value and multiplying a factor to get real Newton meters, divide by cycle duration.
torqueSum = 0; // reset torque sum to zero.
}

display.showNumberDec(wattage, false);
Serial.println(triggerState);
delay(250);
}

Helaas reageert triggerState nu helemaal niet op de trigger. Iets met Jans buffer, gok ik.

Hugo
Antwoord }
Bedankt door: Willeke_IGKT


Berichten in dit topic
DHZ vermogensmeter - door HugoW1975 - 21-Feb-2024, 09:17 PM
RE: DHZ vermogensmeter - door Hardloper - 21-Feb-2024, 10:02 PM
RE: DHZ vermogensmeter - door Tijanus - 21-Feb-2024, 10:38 PM
RE: DHZ vermogensmeter - door 365cycle - 21-Feb-2024, 11:59 PM
RE: DHZ vermogensmeter - door JanBurp - 21-Feb-2024, 10:56 PM
RE: DHZ vermogensmeter - door Hardloper - 21-Feb-2024, 11:01 PM
RE: DHZ vermogensmeter - door HugoW1975 - 22-Feb-2024, 09:26 AM
RE: DHZ vermogensmeter - door LigfietsWilsum - 22-Feb-2024, 12:37 PM
RE: DHZ vermogensmeter - door 365cycle - 22-Feb-2024, 12:01 PM
RE: DHZ vermogensmeter - door HugoW1975 - 22-Feb-2024, 12:40 PM
RE: DHZ vermogensmeter - door LigfietsWilsum - 22-Feb-2024, 01:47 PM
RE: DHZ vermogensmeter - door HugoW1975 - 22-Feb-2024, 01:54 PM
RE: DHZ vermogensmeter - door LigfietsWilsum - 22-Feb-2024, 02:17 PM
RE: DHZ vermogensmeter - door HugoW1975 - 22-Feb-2024, 02:34 PM
RE: DHZ vermogensmeter - door JanBurp - 22-Feb-2024, 02:59 PM
RE: DHZ vermogensmeter - door HugoW1975 - 22-Feb-2024, 03:15 PM
RE: DHZ vermogensmeter - door JanBurp - 22-Feb-2024, 05:36 PM
RE: DHZ vermogensmeter - door Jeroen S - 22-Feb-2024, 07:37 PM
RE: DHZ vermogensmeter - door HugoW1975 - 22-Feb-2024, 09:33 PM
RE: DHZ vermogensmeter - door Merijn - 23-Feb-2024, 12:31 PM
RE: DHZ vermogensmeter - door Wim -de roetsende - 23-Feb-2024, 12:40 PM
RE: DHZ vermogensmeter - door melle z - 23-Feb-2024, 01:11 PM
RE: DHZ vermogensmeter - door Wim -de roetsende - 23-Feb-2024, 01:26 PM
RE: DHZ vermogensmeter - door HugoW1975 - 23-Feb-2024, 01:39 PM
RE: DHZ vermogensmeter - door melle z - 23-Feb-2024, 02:47 PM
RE: DHZ vermogensmeter - door datakneder - 23-Feb-2024, 02:54 PM
RE: DHZ vermogensmeter - door Merijn - 23-Feb-2024, 02:25 PM
RE: DHZ vermogensmeter - door Tijanus - 23-Feb-2024, 05:35 PM
RE: DHZ vermogensmeter - door HugoW1975 - 03-Mar-2024, 09:31 AM
RE: DHZ vermogensmeter - door datakneder - 03-Mar-2024, 09:57 AM
RE: DHZ vermogensmeter - door Tijanus - 03-Mar-2024, 02:23 PM
RE: DHZ vermogensmeter - door 365cycle - 04-Mar-2024, 09:32 AM
RE: DHZ vermogensmeter - door Merijn - 03-Mar-2024, 02:39 PM
RE: DHZ vermogensmeter - door Merijn - 03-Mar-2024, 03:51 PM
RE: DHZ vermogensmeter - door Hardloper - 04-Mar-2024, 08:35 PM
RE: DHZ vermogensmeter - door HugoW1975 - 07-Mar-2024, 09:43 AM
RE: DHZ vermogensmeter - door Wim -de roetsende - 07-Mar-2024, 10:20 AM
RE: DHZ vermogensmeter - door Willeke_IGKT - 07-Mar-2024, 11:03 AM
RE: DHZ vermogensmeter - door JanBurp - 07-Mar-2024, 08:32 PM
RE: DHZ vermogensmeter - door HugoW1975 - 16-Mar-2024, 06:02 PM
RE: DHZ vermogensmeter - door LigfietsWilsum - 16-Mar-2024, 06:39 PM
RE: DHZ vermogensmeter - door Hardloper - 16-Mar-2024, 07:03 PM
RE: DHZ vermogensmeter - door JanBurp - 16-Mar-2024, 07:30 PM
RE: DHZ vermogensmeter - door Josligfiets - 16-Mar-2024, 08:00 PM
RE: DHZ vermogensmeter - door Hardloper - 16-Mar-2024, 08:37 PM
RE: DHZ vermogensmeter - door HugoW1975 - 16-Mar-2024, 08:37 PM
RE: DHZ vermogensmeter - door Merijn - 16-Mar-2024, 09:34 PM
RE: DHZ vermogensmeter - door HugoW1975 - 16-Mar-2024, 09:52 PM
RE: DHZ vermogensmeter - door LigfietsWilsum - 16-Mar-2024, 09:59 PM
RE: DHZ vermogensmeter - door Hardloper - 16-Mar-2024, 10:35 PM
RE: DHZ vermogensmeter - door Merijn - 16-Mar-2024, 10:43 PM
RE: DHZ vermogensmeter - door HugoW1975 - 17-Mar-2024, 09:50 AM
RE: DHZ vermogensmeter - door JanBurp - 17-Mar-2024, 11:21 AM
RE: DHZ vermogensmeter - door Merijn - 17-Mar-2024, 12:11 PM
RE: DHZ vermogensmeter - door HugoW1975 - 17-Mar-2024, 12:21 PM
RE: DHZ vermogensmeter - door Merijn - 17-Mar-2024, 12:42 PM
RE: DHZ vermogensmeter - door HugoW1975 - 17-Mar-2024, 12:52 PM
RE: DHZ vermogensmeter - door Willeke_IGKT - 17-Mar-2024, 12:54 PM
RE: DHZ vermogensmeter - door LigfietsWilsum - 17-Mar-2024, 01:00 PM
RE: DHZ vermogensmeter - door Merijn - 17-Mar-2024, 01:11 PM
RE: DHZ vermogensmeter - door HugoW1975 - 17-Mar-2024, 02:06 PM
RE: DHZ vermogensmeter - door Merijn - 17-Mar-2024, 03:16 PM
RE: DHZ vermogensmeter - door HugoW1975 - 17-Mar-2024, 05:59 PM
RE: DHZ vermogensmeter - door LigfietsWilsum - 17-Mar-2024, 09:45 PM

Ga naar locatie:


Gebruikers die dit topic lezen:
Welkom
Je moet jezelf aanmelden voor je een bericht kunt plaatsen.

Gebruikersnaam:


Wachtwoord:





Nieuwe berichten
Nieuw hier!
De Quest heb ik nu i...bucovaina — 06:06 PM
Alve's minivizier
Onder andere omd...Wim -de roetsende — 05:26 PM
Kilometer topic
Ik heb mijn huidige ...Willeke_IGKT — 05:04 PM
[split] Welke motor in QV? - Met een 50...
Same here (reactie o...voodoo — 04:44 PM
[split] Welke motor in QV? - Met een 50...
We hebben nu dus e...Hardloper — 04:40 PM
[split] Welke motor in QV? - Met een 50...
Oei, burgerlijke ong...ZoefZoef — 04:17 PM
[split] Welke motor in QV? - Met een 50...
We hebben nu dus een...365cycle — 03:52 PM
Vandaag ben ik niet blij omdat.....
..een verkoper opeen...ZoefZoef — 03:40 PM
[split] Welke motor in QV? - Met een 50...
Bij 500 watt zonder ...Jeroen S — 03:40 PM
Alve's minivizier
Op de houten had ik ...Jeroen S — 03:35 PM
Welke motor in QV?
En misschien nog e...bucovaina — 02:40 PM
Welke motor in QV?
Zo'n bafang motor sl...Gideonaut — 02:36 PM
Alve's minivizier
Ik vroeg mij ook a...Hoekie — 02:35 PM
[split] Welke motor in QV? - Met een 50...
Ik wilde het niet pr...bucovaina — 02:35 PM
Welke motor in QV?
Ik vermoed dat het d...bucovaina — 02:31 PM
Alve's minivizier
Ik heb bergen van di...Gideonaut — 02:29 PM
Welke motor in QV?
Ik was niet helemaal...Hoekie — 02:26 PM