Arduino Bluetooth båt speed log (1 / 5 steg)
Steg 1: Hur man gör en mycket liten puls till en logik
Utmaningen:
Sensorn på bilden är den gamla som jag rivit. En NASA Marine Clipper loggsensor. Paddeln är en jag smällen för att spela med som gammal en sköts.
Det är en mycket enkel två tråd passiv konstruktion som består av en spole med en järnstång ner centrum av den statiska delen. Paddlewheel har magneter i två av paddlarna som genererar en liten ström i spolen när de passerar.
Du kan se på omfattning tracen utdata från sensorn. Det är en mycket liten signal, inte alls lämplig som en digital ingång. Dessutom visar desto långsammare paddeln, desto lägre amplituden.
Vi behöver konvertera detta till en konsekvent och pålitlig logik nivå puls innan vi kan fortsätta.
Lösningen:
Definitivt en uppgift för op förstärkare.
Kretsen jag kom med kan delas in i fem faser. Jag kommer att beskriva varje steg kort, vad den gör, och varför det finns.
1. en hög vinst instrumentation förstärkare konfiguration.
Vi behöver vissa allvarliga vinst på detta avsnitt om vi ska förvandla denna signal till användbart. Lyckligtvis vi inte särskilt intresserade av att bevara formen på pulsen så det ingen spelar roll om vi kör op-förstärkare till rälsen och klipp extremiteter av pulserna. I själva verket funkar det till vår fördel att göra så.
2. en första order lågpassfilter
Frekvensen av pulserna vi är intresserade av är relativt låga.
Bluetooth-modul (HC-06) sändaren skapar högre frekvens brus runt 10KHz som visas på ingången på förstärkaren. Detta resulterar i felaktiga avläsningar av runt 1900Kts
100Hz motsvarar om 18Kts. Hull hastigheten på min båt är runt
6.5Kts, så 100 Hz verkade som en bra punkt att rulla ut de högre frekvenserna.
Filtret (en monolitminneskrets och en resistor) visas efter förstärkare scenen och inte före det av goda skäl.
Om det vore framför amp scenen skulle det bilda en avstämd krets med spolen från sensorn och genljuder bort producerar en stadig ström av oönskade pulser. Efter amp scenen finns det ingen risk för att detta inträffar.
3. en buffert
Bufferten kunde i detta fall tas bort. Det är närvarande eftersom jag hade en ledig op-förstärkare och jag ville inte det gå OBERÄKNELIG och påverkar de andra i paketet. Jag kunde bara har knutit ingångarna till virtuella marken, men det var lättare att ta med det som en buffert.
4. en Schmitt-trigger
Nu vet vi vad vi kan förvänta oss vid utgången av de första stegen, kan vi tänka på förvandla det till en lämplig logik formade signal.
En Schmitt-trigger är ett utmärkt sätt att göra detta. Utan att gå in alltför detaljerat här, utlöser det på två ställen. Först, när indata når en angiven spänning skickar utdata låg. Och andra, när indata sjunker under en angiven spänning skickar utdata hög.
Eftersom vi söker endast efter en puls och logik gates utlösare på en stigande eller fallande kant, är vi inte brytt sig om signalen är inverterad eller inte. När det händer, är signalen inverterad av instrumentering förstärkaren, och igen av schmitt avtryckaren så det slutar på samma sätt upp.
5. en Zener diod
Det finns smärre problem med kretsen så långt eftersom vi använder en enda järnväg 9V leverans.
För att köra en op-förstärkare, kräver + och - tillförsel rails. Sedan hängde en 9V regulator av båtar 12V tillförseln, har vi inte detta.
Sättet att lösa detta är att skapa en virtuell marken som sitter på 1/2 matningsspänningen. Detta ger oss + 4.5V och -4.5V i förhållande till vår ny mark och våra op-förstärkare att svänga positiva och negativa.
För logik signal men vill vi en gunga för 0V 5V från själva marken.
I steg Zener dioden till undsättning! Det klipp utdata till 4.7V i detta fall.
Nu eftersom vi vet vad produktionen av Schmitt-trigger är vet vi nu att vi kommer att ha en pålitlig gunga mellan en logik 0 och en logik 1.
Jag har tagit ett spår från LTSpice modell jag används för att simulera kretsen innan jag fick min lödkolv.
Nyckeln är följande:
Grön - insignal
Blå - produktion av instrumentering förstärkaren arrangerar
Röd - utdata efter Schmitt avtryckaren och Zener diod.
Om inte du är bekant med LTSpice, är det väl värt att ta del av. Det är lätt att använda, mycket kraftfull och gratis.
Du har fortfarande att göra dina beräkningar, men när du är i rätt ball park, tweaking är snabbt och enkelt, och du inte slutar med en stor hög av komponenter på din bänk när du är klar.