17-Mar-2024, 02:06 PM
(Dit bericht is het laatst bewerkt op 17-Mar-2024, 02:37 PM door HugoW1975.)
Even anders denken;
Het doel is om de metingen te middelen per omwenteling van de trapas. Hoe is ondergeschikt, als dat maar gebeurt. Want tijdens de omwenteling fluctueert die flink, door de stand van de krukken ten opzichte van je beenkracht. OK.
Als we uitgaan van max 120 omwentelingen per minuut, dan zijn dat 2 omwentelingen per seconde. Als ik 24 metingen per omwenteling wil doen, daar was ik eerder tevreden mee, heb ik 48 metingen per seconde nodig. Zeg even 50, voor het gemak, 0,02 seconde per meting. Da's niet zo moeilijk voor de Arduino. En ik plaats alleen een passeersensor op het frame die één van de twee krukken ziet. Dan wordt de code een stuk simpeler:
koppelsensor meten;
koppelwaarde bij vorige koppelwaarde optellen;
teller met eentje verhogen;
0,02 seconde pauze;
etc.
Totdat de kruksensor een seintje geeft (isr), dan;
totale koppelwaarde delen door het opgebouwde tellergetal (en omrekenen naar vermogen);
koppelwaarde terugzetten naar nul;
teller terugzetten naar nul;
berekend vermogen naar disply gooien;
En misschien iets dat als we na 100 metingen nog steeds geen isr hebben, de boel ook resetten en zo;
Zo heb ik minimaal 50 metingen per omwenteling, meer als ik langzamer trap (en ik cruise meestal rond de 90, dan heb ik 67 metingen per omwenteling) en minder als ik boven de 120 omwentelingen trap. Als ik er 200 zou trappen is dat nog steeds 30 metingen per omwenteling van de trapas. Minder accuraat, maar ook niet heel slecht.
Op deze manier wordt de interupperende maar één keer per omwenteling gevraagd, verder void-loopt het ding lekker zelf. Ik denk dat ik dit eens ga uitwerken in code.
Hugo
Het doel is om de metingen te middelen per omwenteling van de trapas. Hoe is ondergeschikt, als dat maar gebeurt. Want tijdens de omwenteling fluctueert die flink, door de stand van de krukken ten opzichte van je beenkracht. OK.
Als we uitgaan van max 120 omwentelingen per minuut, dan zijn dat 2 omwentelingen per seconde. Als ik 24 metingen per omwenteling wil doen, daar was ik eerder tevreden mee, heb ik 48 metingen per seconde nodig. Zeg even 50, voor het gemak, 0,02 seconde per meting. Da's niet zo moeilijk voor de Arduino. En ik plaats alleen een passeersensor op het frame die één van de twee krukken ziet. Dan wordt de code een stuk simpeler:
koppelsensor meten;
koppelwaarde bij vorige koppelwaarde optellen;
teller met eentje verhogen;
0,02 seconde pauze;
etc.
Totdat de kruksensor een seintje geeft (isr), dan;
totale koppelwaarde delen door het opgebouwde tellergetal (en omrekenen naar vermogen);
koppelwaarde terugzetten naar nul;
teller terugzetten naar nul;
berekend vermogen naar disply gooien;
En misschien iets dat als we na 100 metingen nog steeds geen isr hebben, de boel ook resetten en zo;
Zo heb ik minimaal 50 metingen per omwenteling, meer als ik langzamer trap (en ik cruise meestal rond de 90, dan heb ik 67 metingen per omwenteling) en minder als ik boven de 120 omwentelingen trap. Als ik er 200 zou trappen is dat nog steeds 30 metingen per omwenteling van de trapas. Minder accuraat, maar ook niet heel slecht.
Op deze manier wordt de interupperende maar één keer per omwenteling gevraagd, verder void-loopt het ding lekker zelf. Ik denk dat ik dit eens ga uitwerken in code.
Hugo