Welkom  

   

Mijn Menu  

   

What's Up  

Geen evenementen
   

Wedstrijd  

Geen evenementen
   
   
   
   
   
   
   
   
   
   
   
   
   
   
Welkom, Gasten
  • Pagina:
  • 1
  • 2
  • 3

Onderwerp: Zelf een log uitlezen met Arduino?

Re: Zelf een log uitlezen met Arduino? 06 okt 2014 20:19 #557710

dat klinkt heel logisch.... pulsjes tellen.
Moderne open source: "Logisch dat nog niet alles werkt. Het merendeel heb je helemaal niet nodig."
Laatst bewerkt: 06 okt 2014 20:19 door Baasklusje.
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 06 okt 2014 20:22 #557711

  • rooiedirk
  • rooiedirk's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 5294
Denk dat je intuïtie gelijk heeft. Lijkt een simpel magneet je spoeltje verhaal. Durf zo niet te zeggen of alles recht evenredig verloopt. Zou kunnen dat je voor lage snelheden wat moet kompenseren.
Leuk project. Zelf net een paar mpp zonnecel controllers met een atmega168 gebouwd, en nu met een elektrische morsehandle bezig met arduino.
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 06 okt 2014 20:44 #557733

  • 3Noreen
  • 3Noreen's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 9385
Uit de specificatie van een airmar log sensor;
Pulse Rate:
20,000 p/nm* (5.6 Hz per knot)—
*p/nm = pulses per nautical mile
“Het is ontzettend cliché om te zeggen dat het persoonlijke politiek is, maar in een tijd waarin wetenschappers, grote bedrijven en overheden er steeds beter in worden om het menselijk brein te hacken, klinkt het onheilspellender dan ooit. ” Yuval Noah Harari
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 06 okt 2014 20:53 #557738

Super, bedankt.

Nu effe een autocorrelatie algorithme implementeren.. :unsure:
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 03:59 #557786

Zou er nog even een opamp tussen hangen om er een blokgolf van te maken, dan doet ie het tenminste ook nog bij lage snelheden.
Hans Fix, Feeling 29DI
Met elektrische hulpmotor.
hansfix.nl/electric/
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 06:12 #557798

Leuk idee!

Ik denk inderdaad dat je het signaal uit de sensor uiteindelijk om moet zetten naar een frequentie. Werkt je sensor met reed-relais of hall-sensor? Indien het eerste dan heb je al een digitaal signaal wat je nog op het juiste spanningsniveau moet brengen om daarna via een van je digitale inputs in te kunnen lezen. Indien je aan hall sensor hebt (magneet die langs een spoeltje beweegt) dan heb je (ná een buffertrap) wellicht de keuze om het signaal analoog is te lezen en sampelen via een analoge input, of via een comparator hier een digitaal signaal van te maken en dit in te lezen. Het lijkt mij onwaarschijnlijk dat je het huidige singaal uit de sensor direct in kunt lezen: zowel spanningsniveau als impedantie (=de weerstand die je sensor van je Arduino voelt) dienen geschikt te worden gemaakt aan de input van de Arduino die je gaat gebruiken. Dit is niet heel ingewikkeld maar je zult je er wel flink in moeten verdiepen en wat moeten solderen.

Als je analoog inleest zul je iets van een FFT moeten doen om tot een frequentie te komen.
Ik denk dat Chris een stuk meer thuis is in dit soort dingen, maar ik zou eerst eens op zoek gaan naar schema's en service manuals van bestaande sensor/klok combinaties. Daaruit kun je leren hoe dit normaal gebeurt. De moderne loggen zullen ook wel microprocessor gestuurd zijn. Ook zou je eens kunnen kijken bij Elektuur, die deden ook regelmatig iets met toerentellers etc.

Wat uniek is in jouw idee (en een grote plus!) is dat je zelf volledige macht hebt over de signal processing: je kunt dan gaan ijken niet met een simpele vermenigvuldigingsfactor (die het maar op één boatspeed goed doet), maar je kunt met een calibratietabel werken zodat je log zowel bij hele lage snelheden als hoge snelheden goed werkt! Dat lijkt mij best veel waard, zeker als het je om polar performance gaat!
Laatst bewerkt: 07 okt 2014 06:15 door Nachtvlinder.
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 06:25 #557803

  • rooiedirk
  • rooiedirk's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 5294
Bas van Dijk schreef :
Super, bedankt.

Nu effe een autocorrelatie algorithme implementeren.. :unsure:
zoiets??
www.pjrc.com/teensy/td_libs_FreqMeasure.html
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 06:48 #557812

Bedankt voor alle antwoorden.

De sensor is absoluut analoog, er komt een rommelige sinus uit op de scope. Zowel scope als Arduino is hoogomige ingang dus over impedantie maak ik me geen zorgen, meet gewoon de spanning.

Ik denk dat de 'sensor' gewoon een spoel is waar een magneetje langs draait eigenlijk.

Voltage level is bij een vol lopende keukenkraan ongeveer 600mV.
Ik weet natuurlijk nog niet met welke snelheid dit overeenkomt maar is iig genoeg voor arduino om frequentie te bepalen dus spanningsaanpassing is niet nodig, alhoewel het idee van een opamp om een blokgolf te maken wel aardig is natuurlijk.

De frequentie onder de lopende kraan was ongeveer 40 Hz.
Als de formule van 3Noreen klopt zou dit dus ongeveer overeenkomen met 40/5,6 =7,1 kts dat zou wel aardig kunnen kloppen. (denk dat mijn boot op volle snelheid wel ongeveer een keukenkraan snel gaat :-) ).

Een andere manier om er naar te kijken kan zijn: Stel dat bij lage snelheid het water oneindig viscoos is, dan draait het wieltje 1 maal rond als de boot de afstand van de omtrek van het wieltje aflegt (zoals een fietswiel over de weg, geen 'slip').
De straal van het wieltje is 1,2cm, dus 1 Hz is 2*pi*1,2cm = 7,5cm per seconde = 14,6 kts

Zit bijna een factor 2 verschil tussen, das vast geen toeval.. :-) Misschien zitten er aan beide einde van het wieltje een magneetje, dat zou dubbele frekwentie geven en dan klopt het redelijk goed met de formule van 3Noreen.

Goed, ik ga eerst een frekwentietellertje bouwen met een opamp en dan eens kijken hoe het verband frekwentie - SOG eruit zit. Als ik dat doe tijden de kentering van de stoom zou ik toch al een aardig beeld moeten hebben van hoe het verband is.

Daarvoor moeten nog 2 triviale dingen gebeuren:
1) opampje plaatsen en code schrijven
2) huiddoorvoer voor log maken :->

Groet,
Bas
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 06:49 #557813

Goeie uitleg, bedankt
rooiedirk schreef :
Bas van Dijk schreef :
Super, bedankt.

Nu effe een autocorrelatie algorithme implementeren.. :unsure:
zoiets??
www.pjrc.com/teensy/td_libs_FreqMeasure.html
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 07:17 #557818

Er zijn meer van dit soort dingen gedaan in ieder geval:

Magnetic Tachometer Code - Arduino Forum
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 07:33 #557825

Overigens lijkt een FFT me wat overkill. Een simpele autocorrelatie of zelf (als het signaal goed genoeg is) nuldoorgang teller is goed genoeg. FFT is pas nodig als je meerdere componenten uit elkaar wil trekken lijkt me.

Groet
Bas
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 07:38 #557828

Wellicht wel ja. Als je het electrische deel eenmaal voor mekaar hebt heb je alle vrijheid om van alles te proberen natuurlijk.

Maar wil je nu digitaal of analoog naar binnen?
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 07:51 #557833

Nachtvlinder schreef :

Maar wil je nu digitaal of analoog naar binnen?

De sensor is analoog (zie boven). Dus ik begin met een analoog signaal.
Tenzij ik eerste via elektronica op het bordje dat omzet in een TTL signaal of zo, kan natuurlijk.

Ik weet niet wat het handigste is, als ik het analoge signaal sample heb ik natuurlijk alle info (golfvorm, amplitude, frekwentie) maar de vraag is of dat nuttig is.
Digitaal naar binnen (blokgolf) levert natuurlijk een stuk minder data en geheugen etc en stelt me in staat de interupt routine van Arduino te gebruiken zoals in dat voorbeeld hieronder. Zou dan een timer kunnen laten lopen en de tijd tussen twee opgaande flanken meten of zo.

denk wel dat ik het analoge signaal dan eerst low-pass moet filteren voor het de opamp in gaat.

Dus, stel idd dat 5.6Hz 1 knoop is.
Maximale speed, 10kts? (mijn rompsnelheid is 7.2) = 56 Hz.
Lowpass filtertje erop op 80Hz of zo en dan door een opamp met oneindige gain. Die output op digitale input van Arduino en tijd tussen opgaande flank meten en middelen over 1 seconde of zo.

lijkt dat wat?
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 13:03 #557941

  • tp
  • tp's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 151
Heeft je log maar twee aansluitingen?
Mijn oude analoge log heeft er drie (+12v, gnd, pulse) en de pulsjes zijn daardoor ook 12V.
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 13:25 #557948

Bas van Dijk schreef :
lijkt dat wat?

Ik zou het op een klein printje op TTL niveau brengen en dan digitaal inlezen. Je kunt verder toch niets met dat signaal. Ben wel benieuwd hoe het signaal er precies uit ziet wat uit je log komt. Zal wel lastig op te triggeren voor je scoop?

Indien jouw sensor ook een +12V voeding heeft dan gebeurt dat misschien wel al in de sensor? Daarom: zoek eens wat schema's of probeer te kunnen meten wat er in je log gebeurt. Een sinus zal het wel niet zijn, denk meer pulsjes die je op nuldoorgangen moet zien te pakken..
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 13:38 #557952

Het hangt volledig af van je scoopbeeld welke oplossing te kiezen. Je moet voorkomen dat je dubbele pulsjes krijgt, of pulsjes mist. Nou kan je in software flink filteren, maar het moet wel betrouwbaar zijn natuurlijk.
Ontwerper van de RoosMux, en andere apparaatjes.
Geen sponsor meer alhier.
www.star-tracking.com www.star-safety.com www.viax.nl

It's been said that a boat is a vessel continually looking for ways to sink itself..
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 13:48 #557961

  • 3Noreen
  • 3Noreen's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 9385
Je hebt duidelijk nog een oude analoge sensor. Spoeltje + magneet. De info die ik eerder gaf is voor nieuwere waar een raid in zit. Zie hier.
De oudere types zijn puur analoog bedoeld. Versterkertje er op en een een volt meter. Natuurlijk kun je iets digitaal doen. Echter het zal allemaal wel niet lineair zijn. Maar dat zijn de nieuwere ook niet echt.
“Het is ontzettend cliché om te zeggen dat het persoonlijke politiek is, maar in een tijd waarin wetenschappers, grote bedrijven en overheden er steeds beter in worden om het menselijk brein te hacken, klinkt het onheilspellender dan ooit. ” Yuval Noah Harari
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 14:22 #557976

Bas zegt in z'n openingspost dat het signaal wat ie ziet sinusachtig is, waarbij zowel amplitude als frequentie oplopen het het toerental. Die frequentie kan niet anders dan lineair met het toerental oplopen, qua spanning weet ik dat zo net nog niet. Ik zou dus die spanning laten voor wat het is, die sinus netjes in een blokgolf omzetten, inlezen, flanken detecteren en flanken tellen.
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 16:23 #558027

  • 3Noreen
  • 3Noreen's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 9385
Je moet mijn opmerking over lineariteit niet al te serieus opvatten. :silly: Heeft iets te maken met hoe sneller hoe groter de inductie en dus de weerstand in het water. Allemaal niet zo spannend in het bereik waar het in gebruikt wordt. (40Hz is al over de 7 kn). Ook al lees je uit met een hoge impedantie zal de kabel wel een waarde hebben nietwaar. Daarbij kun je in het verwerken een een vergelijking met 4 of 5 constanten er in gooien en kun je alle kanten op. Of een tabel. Het laatste vind ik echter zelf altijd lastiger. Liever de tabel 1 maal omzetten in een vergelijking dan het processortje zich rot laten werken.
“Het is ontzettend cliché om te zeggen dat het persoonlijke politiek is, maar in een tijd waarin wetenschappers, grote bedrijven en overheden er steeds beter in worden om het menselijk brein te hacken, klinkt het onheilspellender dan ooit. ” Yuval Noah Harari
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 16:45 #558037

Het is een analoog signaal, het ziet eruit als een sinus met een 'bultje', moet idd oppassen voor dubbele pulsen.
Er zijn maar 2 draden aan ja, denk niet dat hij voeding nodig heeft aangezien er maar 2 draden zijn en er al >500mV uitkomt zonder voeding.

Denk dat het een spoel is met 2 magneetjes diametraal tegenover elkaar, dat zou de vreemde vorm verklaren (de spoel ziet 2 velden van de 2 spoeltjes, het is dus de som van 2 sinussen met andere fase en amplitude maar zelfde frekwentie) en klopt ook met de 40Hz = 7 knopen.
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 18:09 #558070

Bas van Dijk schreef :
Omdat het me na de mux, Raymarine St70s en nieuwe zeilen wel even mooi is qua kosten wil ik een low cost oplossing voor mijn STW.

Leuk!
Heb zelf een Arduinootje draaien om een offset van 40 cm bij de dieptemeter (Airmar DT800) op te tellen.

Maar qua kosten kan je beter een paar uurtjes extra voor de baas werken en dan een 'echte' kopen. :-)

Zo heb ik zelf al verlekkerd naar een ultrasoon-windmeter zitten kijken om zelf te bouwen. Maar ja, ik kom nu al zwaar tijd te kort...
Niet doen dus? 'tuurlijk wel, maar die kostenargumenten kan je beter achterwege laten :-)
Hans Fix, Feeling 29DI
Met elektrische hulpmotor.
hansfix.nl/electric/
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 18:09 #558071

  • rooiedirk
  • rooiedirk's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 5294
Er zijn maar 2 draden aan ja, denk niet dat hij voeding nodig heeft aangezien er maar 2 draden zijn en er al >500mV uitkomt zonder voeding.
Sterkernog als je daar een voedingspanning op zet, krijg je een magnetischveld en draait je schoepenwieltje niet meer.
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 19:06 #558090

  • joeri_01
  • joeri_01's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 81
Als ik het zou mogen oplossen zou ik een referentie creëren die de halve voedingsspanning is (2.5 volt ingeval de microcontroller gevoed wordt met 5 volt?).
De referentie zou gerealiseerd kunnen worden door een een spanningsdeler te maken met twee weerstanden en vervolgens te buffer met een opamp.
Deze referentie uitgang verbind je met de de ene aansluiting van de log.

Wat je nu aan de andere aansluiting van de log hebt is een sinus die rond je halve voedingsspanning hoog en laag wordt.
Deze zou ik vervolgens verbinden met de ingang van een zogenaamde schmitt trigger opamp schakeling (opamp met drie weerstanden).

De uitgang van de schmitt trigger zal een blokgolf zijn met een frequentie die gelijk is aan die van de ingaande sinus.
Let op: de blokgolf zal geen 50% duty cycle hebben, maar is geen probleem.

Door middel van input capture op het adruino board kan de tijd tussen twee opgaande flanken gemeten worden...

Het benodigde materiaal is dus een dual opamp (of twee single opamp's) en vijf weerstanden ;)

Joeri
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 07 okt 2014 20:25 #558131

  • Tony2920
  • Tony2920's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 6879
It Paradyske schreef :
Bas van Dijk schreef :
Omdat het me na de mux, Raymarine St70s en nieuwe zeilen wel even mooi is qua kosten wil ik een low cost oplossing voor mijn STW.

Leuk!
Heb zelf een Arduinootje draaien om een offset van 40 cm bij de dieptemeter (Airmar DT800) op te tellen.

Maar qua kosten kan je beter een paar uurtjes extra voor de baas werken en dan een 'echte' kopen. :-)

Zo heb ik zelf al verlekkerd naar een ultrasoon-windmeter zitten kijken om zelf te bouwen. Maar ja, ik kom nu al zwaar tijd te kort...
Niet doen dus? 'tuurlijk wel, maar die kostenargumenten kan je beter achterwege laten :-)
Een ultrasoon-windmeter. Dat wou ik ook al doen, mede omdat ik (nog) geen windmeter heb.
Ik heb wel wat meer tijd beschikbaar, en zo kunnen we misschien een deel van de kosten delen?
Had je al iets bedacht, onderdelen, frequenties . . . ?
I run a tight . . .
Shipwreck !
Laatst bewerkt: 07 okt 2014 20:26 door Tony2920.
Alleen ingelogde leden kunnen reageren.

Re: Zelf een log uitlezen met Arduino? 08 okt 2014 06:14 #558174

  • Calidris
  • Calidris's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 20535
It Paradyske schreef :
Zou er nog even een opamp tussen hangen om er een blokgolf van te maken, dan doet ie het tenminste ook nog bij lage snelheden.

Maak van die opamp een comperator, dan wordt zelfs die rommelige sinus een mooi blokje.
Actieve & handige vrijwilligers gezocht: www.palingaak.nl/

ZF informatie kanaal Telegram: t.me/zeilersforum
Alleen ingelogde leden kunnen reageren.
  • Pagina:
  • 1
  • 2
  • 3
Tijd voor maken pagina: 0.183 seconden
Gemaakt door Kunena
   
   
   
   
© Zeilersforum.nl