Tack, jag testade med volatile och tog bort övervarvsvarningen och fick betydligt stadigare avläsning. Nu tetsde jag bara vid bryggan och varvade i friläge. Får se om jag kan köra en "live" test i morgon.
Jag ska ta hänsyn till förslagen. dessutom ska jag trigga på negativ flank i stället för positiv. Tror att avläsningen blir renare så.
Men en variant med Timer library är också lockande. En interrupt som bara räknar pulser och timer på 6 sekunder sedan är det bara att multiplicera värdet med 10 för att få RPM. Båtmotorn ändrar inte varvtalet så ofta/fort.
Den första varianten testade jag genom att låta en annan Arduino vara funktionsgenerator och matat ut olika frekvenser.
Re: Arduino som övervakar båtmotorn
Postat: 3 september 2015, 14:08:30
av BjörnO
Nytt test med även datorn i båten så att jag kunde ändra programmet och testa direkt i drift.
Min gamla variant fungerar tillräckligt bra så den får bli den slutliga. Det slutliga testet får bli när jag kör båten från hamnen till varvet för upttagning, därefter får det bli "torrsim" igen.
Varianten att räkna pulser under 6 sekunder och multiplicera med 10 gav sämre värden. Förmodligen får man med sig en del extra pulser pga. störningar.
Re: Arduino som övervakar båtmotorn
Postat: 3 september 2015, 14:42:45
av Icecap
Nu är det ju viktigt att pulserna är störningsfria men OM man inte klarar det kan man - om man använder Capture-mätning - sortera bort mätningar som går utanför ett visst område. Man kan såklart också filtrera på så vis att om den nya mätningen avviker från de (t.ex.) 3 förra (legala) mätningar kastas mätningen.
Beroende på vilken typ signal givaren ger kan man även kolla pulslängd och se om den är för kort eller inte. Allt detta kräver dock att man måste göra en del eget med interrupt, Capture-enhet osv så det kan bli en del jobb - men sedan får man ett mycket stabilt system som reagerar snabbt och exakt.
Re: Arduino som övervakar båtmotorn
Postat: 3 september 2015, 20:37:05
av BjörnO
Magnetsensorn innehåller redan pulsformande kretsar så utsignalen bör vara ganska ren. Men på vägen från motorn till förarplatsen går signalen parallellt med lite andra ledningar. Ska testa med partvinnad och kanske någon konding. Det är ingen hög frekvens, under 3000/minut, men jag är osäker på pulskvoten.
Jag filtrerar bort för höga värden så jag får ett ganska bra värde. Egentligen skulle jag kunna räkna fram ett vettigt medelvärde, men jag borde räkna på pulsvärdet i stället för RPM-värdet.
Re: Arduino som övervakar båtmotorn
Postat: 4 september 2015, 09:34:55
av Icecap
Att partvinna fungerar inte om det är enkelfas signal. Är det enkelfas ska du använda skärmad kabel och då ska det vara matningen till sensorn, GND + signal som ska vara i den kabel som sedan skärmas.
Men en <signal> -> RS422 Tx -> partvinnad -> RS422 Rx ger en ganska störtålig överföring.
Man kan skapa och läsa RS422 signaler med de vanliga RS422/RS485 drivkretsar.
Re: Arduino som övervakar båtmotorn
Postat: 27 september 2015, 15:41:12
av BjörnO
Nu fungerar det bra. Dessutom har jag lärt mig något om hur man kan använda en Arduino. När jag började hade jag tänkt bygga med "vanliga" IC-kretsar och transistorer, men detta gick ju lätt.
Re: Arduino som övervakar båtmotorn
Postat: 27 september 2015, 18:24:35
av Icecap
Och HUR löste du det? Eller menar du att det ska vara hemligt?
Ja, jag ser att det ska till någon QuickTime-plugin för att se vad det nu är du har lagt in, jag kommer dock inte att installera detta.
Re: Arduino som övervakar båtmotorn
Postat: 27 september 2015, 22:22:21
av BjörnO
Det beror nog på att jag använder paddan till att skriva inlägg. Ska se om jag kam gräva fram en dator och göra om inlägget.
Nu sitter jag med en dator.
Lösningen blev sensorer i motorrummet hopkopplade i en liten apparatlåda till en i2c-buss fram till förarplatsen. Arduinon i en större apparatlåda i ett stuvfack bredvid förarplatsen och slutligen en display på instrumentbrädan i en låda som från början hörde till en golvlampa.