Jump to content
Tuesday 28 June 2022
nossnahoj

Arduino istället för sumloggivare

Recommended Posts

Givaren till hastighetsmätaren, en VDO sumlog från 1980, på min båt har tappat propellern. Jag är inte så sugen på att reparera den och funderar på att ersätta givaren med en gps-lösning som simulerar samma signal till loggen. Men jag fattar inte riktigt hur den gamla lösningen fungerar och därmed inte vad jag behöver simulera: givarpropellern är kopplad via wire till en roterande magnet. Över magneten sitter en liten inplastad komponent som ser ut att bestå av två små bleck. Dessa är strömsatta från in- och utgång på hastighetsmätaren, 12 volt. 
 

Om jag kortsluter givarkablarna gör mätarnålen ett litet hopp och går tillbaka. Jag har inte lyckats få nålen att röra sig genom att skicka strömpulser till mätaranslutningen. Men är det pulser jag ska skicka? Eller modulera motstånd/spänning? Med vilken styrka och frekvens? Vilka komponenter behövs? Någon som har tips?

Eller bara att lägga ner och sätta in en lcd-skärm i hålet i instrumentbrädan istället? Men jag gillar analoga mätare..

Edited by nossnahoj

Share this post


Link to post
Share on other sites

Det finns en lite intressant tråd här , som också länkar vidare till mer intressanta saker.

 

Share this post


Link to post
Share on other sites

Men vänta här nu...sade du sumlogg? Då är det en Wire som snurrar runt å drar med sig visaren däruppe. Som gamla hastighetsmätare i bilar.

Men om den räknar pulser så måste det finnas elektronik å det är det inte en sumlogg.

Räkna pulser, inte svårt, men man måste veta hur många sådan det gives från propellern som nu är borta vid olika hastigheter. De loggarna brukar ha en liten "paddelhjul" å inte propeller.

 

För övrigt funderar jag nästa på att montera tillbaka min sum-logg, eg inget att ha men kul att ha.

  • Like 2

Share this post


Link to post
Share on other sites

Sumlog Electronic, den är halvmekanisk där propellern via vajer driver en magnetrotor.

 

Med hjälp av @GrodanBoll421s tips och en Arduino/mosfet har jag nu lyckats få nålen att röra på sig. Men vilka intervall pratar vi här? Med signal på 5 ms och paus på 5 ms visar loggen ca 20 knop, paus på 20 ger 9 knop. Känns tajt…

8D792C4F-F901-48FC-AC3A-39A8915CB7AC.jpeg

Share this post


Link to post
Share on other sites

Hm. Väldigt kort cykel för att uppdatera loggen (typ 10 millisekunder), ganska lång cykel för att läsa hastigheten från gps (nästan uppåt en sekund ibland) och dålig multitrådningskapacitet i Arduinon känns inte som någon bra kombo. Olösligt?

Share this post


Link to post
Share on other sites
16 minuter sedan skrev nossnahoj:

Hm. Väldigt kort cykel för att uppdatera loggen (typ 10 millisekunder), ganska lång cykel för att läsa hastigheten från gps (nästan uppåt en sekund ibland) och dålig multitrådningskapacitet i Arduinon känns inte som någon bra kombo. Olösligt?

Det som ger utslaget på instrumentet är frekvensen, och för att instrumentet skall känna sig hemma skall dessa pulser komma kontinuerligt (vajern roterar ju hela tiden).

 

Konfigurera en utgång för PWM (kopplat till någon timer) eller om du kan få 50/50 i pulsförhållande i alla fall (minns inte all timerkonfig i Arduino) så fixa helt enkelt en utgång från en intern timer på en pinne så du får ut ett pulståg där med valfri frekvens (beroende på timerregistrets delningstal). Sedan - när du läst GPS - slår du upp vilket delningstal du skall peta in i timern ur en tabell som du yxat till, med GPS-värdet i knop som indata. 

 

Då kan du ägna all "huvudexekvering" åt att plocka ut GPS-hastigheten, uppdatera i den takt du får in nya data och ingen multitasking behövs. Timern ser ju till att instrumentet kontinuerligt får sitt pulståg med senaste informationen.

 

Så hade nog jag lagt upp det 😉

 

  • Like 1

Share this post


Link to post
Share on other sites

Tack! Hoppades att du skulle svara @IngemarE😉

 

Men du menar en digital pinne? För de analoga utgångarna har fast frekvens om jag förstår rätt.. kanske skulle kunna funka ändå för instrumentet verkar mer bry sig om dipparna än nockarna i signalen. Men nä, blir till att läsa på om timers i helgen då!

 

Förresten, behöver jag något motstånd i kretsen från instrumentet till mosfeten? Jag menar, vad händer med de 12 v som matas på i ”viloläge”? Eller kan man lita på att kretsen verkligen bryts?

Share this post


Link to post
Share on other sites
42 minuter sedan skrev nossnahoj:

Tack! Hoppades att du skulle svara @IngemarE😉

 

Men du menar en digital pinne? För de analoga utgångarna har fast frekvens om jag förstår rätt.. kanske skulle kunna funka ändå för instrumentet verkar mer bry sig om dipparna än nockarna i signalen. Men nä, blir till att läsa på om timers i helgen då!

 

Förresten, behöver jag något motstånd i kretsen från instrumentet till mosfeten? Jag menar, vad händer med de 12 v som matas på i ”viloläge”? Eller kan man lita på att kretsen verkligen bryts?

Skall först villigt erkänna att jag endast lett exjobb och lite annat med Arduino, längesedan jag själv knackade kod till den. Men det du behöver finns i princip i alla processorer, från små PIC och uppåt.

 

Digital pinne - slarvuttryck för en digital utgång, dvs etta/nolla 😉.

Rimligt också att instrumentet är flanktriggat, det är egentligen samma konstruktion som en varvräknare.

 

Du skall inte använda någon analog utgång på Arduinon, se till att den är digital och att den läggs till en intern timer som du kan lägga in lite delningstal i. På denna utgång styr du en optokopplare eller nå't vars transistor kopplas parallellt med tungelementet, för att få en galvaniskt skild ihopkoppling. Visst kan det funka med bara en vanlig transistor (eller MOSFET) direkt över, men då måste en del annat stämma och det finns risk att man kan förstöra något om man inte har full koll på spänningarna/jorden över tungelementet.

 

Du har inte visat något schema, så vilken MOSFET det är du refererar till är lite svårt att veta....

 

Edited by IngemarE

Share this post


Link to post
Share on other sites

Fått det att funka hyfsat i testbänk. Visade sig att oled-displayen som jag också har kopplat till arduinon inte gillar alla typer av timers/interrupts så det blev en hel del trial n error. Två flödessensorer, skärm, gps-modul och pulsgenerator/mosfet till hastighetsmätaren kanske är ungefär så mycket en arduino mäktar med. Blir väl att vänta till våren för att se om det funkar på riktigt.

3B0D4F73-BD89-4EC1-9333-71A5C6EDB735.jpeg

E4B71344-54FB-4694-B4DD-4A58AFBCD6EC.jpeg

  • Like 3

Share this post


Link to post
Share on other sites

Varken skärm eller gps behöver man ju läsa/skriva speciellt ofta så det ska nog gå att få det att funka även i verkligheten. 

 

I exempelkoden till skärmens bibliotek brukar man kunna se vilka timers de använder, men det kan vara lite klurigt att lista ut ändå, jag brukar köra med wemo's och det är sällan exemplen är skrivna för såna. 

 

Kul att du fått det att funka :) 

Share this post


Link to post
Share on other sites

Det som jag märkt inte funkar helt 100 är att när jag ändrar intervallen (frekvensen på pulser till hastighetsmätaren) så startar timern om. Det innebär ett kort avbrott i pulsen, vilket märks genom att mätarnålen gör ett litet dipp ungefär en gång i sekunden. Synligt som ett litet darr på nålen vid lägre ”fart”. Nu är den väl ändå mer stabil med denna lösning än med orginalgivaren, men ändå…

Share this post


Link to post
Share on other sites
44 minuter sedan skrev nossnahoj:

Det som jag märkt inte funkar helt 100 är att när jag ändrar intervallen (frekvensen på pulser till hastighetsmätaren) så startar timern om. Det innebär ett kort avbrott i pulsen, vilket märks genom att mätarnålen gör ett litet dipp ungefär en gång i sekunden. Synligt som ett litet darr på nålen vid lägre ”fart”. Nu är den väl ändå mer stabil med denna lösning än med orginalgivaren, men ändå…

Låter som att timern har en automatisk reset kopplad till skrivning av delningstal.

 

Vet inte hur det är på Arduino, men på de flesta PIC kan man skriva nya data i ett bufferregister vid vissa timerkonfigurationer så nytt delningstal laddas först när det förra s.a.s. löpt ut.

 

En annan variant kan ju vara att du precis före laddningen läser ut timerinnehållet och precis efter skrivning av delningstalet lägger tillbaka det du läste ut.

Share this post


Link to post
Share on other sites

Jag fattar. Men tycker att jag tagit ett ganska stort kliv utanför min bekvämlighetszon i och med C-programmeringen. Nu säger du att jag ska gå Assembler..? Du är en hård mentor @IngemarE😉 Får se, det kanske blir lite sådant mys någon kulen vinterkväll. Kanske att renovering av dieselspridare och byte av lager i drevet ligger högre i backloggen. 

Share this post


Link to post
Share on other sites
22 minuter sedan skrev nossnahoj:

Jag fattar. Men tycker att jag tagit ett ganska stort kliv utanför min bekvämlighetszon i och med C-programmeringen. Nu säger du att jag ska gå Assembler..? Du är en hård mentor @IngemarE😉 Får se, det kanske blir lite sådant mys någon kulen vinterkväll. Kanske att renovering av dieselspridare och byte av lager i drevet ligger högre i backloggen. 

Nejdå det sade jag inte, läsa/skriva processorregister kan du göra i C 😉

 

Sedan är det ju utanför ens bekvämlighetszon det börjar bli spännande och intressant, eller hur ?  Fast tidskrävande....🤔

Edited by IngemarE

Share this post


Link to post
Share on other sites
2021-11-05 vid 11:48 skrev IngemarE:

Du skall inte använda någon analog utgång på Arduinon, se till att den är digital och att den läggs till en intern timer som du kan lägga in lite delningstal i. På denna utgång styr du en optokopplare eller nå't vars transistor kopplas parallellt med tungelementet, för att få en galvaniskt skild ihopkoppling. Visst kan det funka med bara en vanlig transistor (eller MOSFET) direkt över, men då måste en del annat stämma och det finns risk att man kan förstöra något om man inte har full koll på spänningarna/jorden över tungelementet.

 

Du har inte visat något schema, så vilken MOSFET det är du refererar till är lite svårt att veta....

 

”Kan förstöra något om man inte har full koll”… check! Delar av lösningen brann upp i lördags på premiärturen. Upptäckte som tur var rökutveckling innan något allvarligt hände, men mosfet och delar av kablaget är bortom räddning. Alltid tecken på en spännande dag när man kommer hem och luktar diesel och elbrand! 
 

Jag har tidigare testkört lösningen hemma och i hamn utan problem just för att kolla värmeutveckling. Branden uppstod under fart, dvs vid en högre frekvens på impulsen till mosfet:ten. Går väl att räkna på strömmar och dränering, men vet inte om jag vill labba mer med den lösningen nu.. Optokopplare är kanske en säkrare lösning för oss som inte har full koll? 

Share this post


Link to post
Share on other sites
11 timmar sedan skrev nossnahoj:

”Kan förstöra något om man inte har full koll”… check! Delar av lösningen brann upp i lördags på premiärturen. Upptäckte som tur var rökutveckling innan något allvarligt hände, men mosfet och delar av kablaget är bortom räddning. Alltid tecken på en spännande dag när man kommer hem och luktar diesel och elbrand! 
 

Jag har tidigare testkört lösningen hemma och i hamn utan problem just för att kolla värmeutveckling. Branden uppstod under fart, dvs vid en högre frekvens på impulsen till mosfet:ten. Går väl att räkna på strömmar och dränering, men vet inte om jag vill labba mer med den lösningen nu.. Optokopplare är kanske en säkrare lösning för oss som inte har full koll? 

Tråkigt att olyckskraxandet från min sida besannades. Även om man kan låta negativ så hoppas man ju inte på det....

 

Optokopplare emellan är ofta riktigt bra, som säkerhetsåtgärd då det lyfter isär jorden., En jord/referens som annars kan riskera bli en loop med inblandningar och nivåer från andra håll, influens som man inte riktigt räknat med.

 

Hoppas du kan rädda det hela, de nya komponenterna är ju inga stora pengar. Ett tips kan också vara att då sätta några extra småmotstånd i serie med ledningarna där de kommer in/ut i konstruktionen. Då begränsar de strömmen OM något går fel. I bästa fall försvinner bara signalen, i värsta fall brinner de till avbrott i en liten odramatisk rökpuff. Men det är ju mycket bättre än att kablar och annat börjar ta stryk.

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Följer tråden så där. 

 

Men vad menas med små motstånd? 

 

2 ohm, 2 ohm 2 Mohm, eller typ 6 mm långt? 

 

- Vet en som tillverkar propellrar, om det är intressant i sammanhanget. 

Edited by Hybro
  • Confused 1

Share this post


Link to post
Share on other sites
Posted (edited)
29 minuter sedan skrev Hybro:

Följer tråden så där. 

 

Men vad menas med små motstånd? 

 

2 ohm, 2 ohm 2 Mohm, eller typ 6 mm långt? 

 

- Vet en som tillverkar propellrar, om det är intressant i sammanhanget. 

Små till fysisk storlek och/eller värde. Lämpligt valda för att gå sönder innan kablarna gör det.

 

@Hybro, skrivklåda nu igen 😉 ?

TS, som har kunskap om sin konstruktion och elektronikkompetens nog att ha pillat ihop det så långt, lär förstå vad som menas.  

Edited by IngemarE

Share this post


Link to post
Share on other sites
Posted (edited)

Ja, det är härligt😚

Tydligen inte fel med klåda. 

O de e ju vår. 

Edited by Hybro
  • Haha 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Du behöver som gäst även vara medveten om våra Terms of Use och GDPR policy Privacy Policy