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
[split] Nieuw of tweedehands? Ik ben we...
Die zijn trouwens ...Hoekie — 10:50 PM
[split] Nieuw of tweedehands? Ik ben we...
Dit krijgt een ver...Merijn — 09:52 PM
Fietsongeluk uit ''vandaag ben ik niet ...
In de anderhalf jaar...Lig-hen — 09:34 PM
Fietsongeluk uit ''vandaag ben ik niet ...
Eigenlijk is het nog...Hoekie — 09:24 PM
Leasen van een velomobiel
Tja die doen dat voo...Hardloper — 09:14 PM
Leasen van een velomobiel
Dank je wel voor je ...GerDilven — 09:07 PM
[split] Nieuw of tweedehands? Ik ben we...
• niet de bedoel...datakneder — 08:40 PM
Alve's minivizier
Ik rij helemaal niet...quattrovelootje — 08:26 PM
Eitje
@ fietsbennie …. Ki...Lig-hen — 08:14 PM
[split] Welke motor in QV? - Met een 50...
Gemiddeld genomen zi...Willeke_IGKT — 08:09 PM
[split] Nieuw of tweedehands? Ik ben we...
Een verzekeraar ka...Hoekie — 08:07 PM
Leasen van een velomobiel
Ik ben ook erg benie...Hardloper — 07:47 PM
Eitje
Lig-hen met kippenve...Fietsbennie — 07:44 PM
Leasen van een velomobiel
Hier en daar lees ik...GerDilven — 07:31 PM
[split] Nieuw of tweedehands? Ik ben we...
De uitsluiting gel...Bacchus — 07:19 PM
[split] Welke motor in QV? - Met een 50...
ik wil nou ook niet ...Veloquest — 06:49 PM
Nieuw hier!
De Quest heb ik nu i...bucovaina — 06:06 PM