Teoretisera arduino att "läsa" från givare.

Planering och tankar kring eventuella framtida projekt.
Lehto
Inlägg: 7
Blev medlem: 5 februari 2021, 15:55:24

Teoretisera arduino att "läsa" från givare.

Inlägg av Lehto »

Tjenare.

Skulle behöva lite hjälp med att teoretisera hur jag ska få min arduino uno r3 att läsa ut tryck och temp från två olika givare.
Har läst lite grann och beroende på tryck/temperatur så ändras resistansen i givaren, det lilla jag hittat så har jag sett att folk verkar använda 3,3v från arduinon, men finns även exempel med 1,1v.
Vad är fördelen med 1,1v istället för 3,3v? Och kan arduinon skicka ut 1,1v?
Givarna som jag tänkt använda är dessa, och det som är nice är att dom är "specade" redan, visst man får dubbelchecka dom ändå då det kan skilja lite:
https://vdo-webshop.nl/en/pressure-send ... 90784.html
https://vdo-webshop.nl/en/temperature-s ... c-m14.html

Från början hade jag tänkt hålla detta utanför bilens 12v krets, alltså låta aruinon skicka på 3,3v på ena sensorn som jordar i motorn och läsa av volten på en ingång likt denna bild:
Bild
Fungerar det att göra på detta viset?

Dock så misstänker jag att om jag ska använda ytterligare en givare då kommer inte ovan idé att funka eftersom att det bara finns en 3,3v pinne på arduinon.
Och även om jag splittar den till två så kommer ju volten bli mkt lägre eftersom den nu ska delas på 2st givare med resistans...
Så hur gör man detta på smartast vis med 2st givare? Kanske är bäst att använda sig av bilens 12v (14,8v) ändå? Men vad bör jag tänka på då?

Tacksam för hjälp och idéer.
Mvh
larky
Inlägg: 962
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av larky »

Din arduino mäter en spänning på A/D-ingången, som får vara max 3.3V, lite beroende på version.
Det är nog inget problem att driva två sensorer från en 3.3V-utgång.

Rita upp din krets så att du kan se vad som händer, exempelvis
http://falstad.com/circuit/circuitjs.ht ... buAYiqUsQA
Du kan se strömmar och sätta dit avläsare för spänningar.
Användarvisningsbild
Mickecarlsson
Inlägg: 1410
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av Mickecarlsson »

Köp i stället BMP280, där får du temperatur, luftfuktighet och lufttryck. Sensorn görs av Bosch och är riktigt bra.
Alla mina MySensors-noder kör med denna.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 36959
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av TomasL »

Maximal ström genom givaren blir 8,25 mA, det borde processorn klara, Men varför inte låta givaren ligga på konstant spänning hela tiden?

Dock, får du fuindera på vilken upplösning du får från AD-omvandlaren, då du får ett spänningsområde om
Tryckgivaren 1,06V till 82mV
Tempgivaren 1,5V till 150mV
Eftersom ADn använder 3,3V som referens, med 10 bitars upplösning blir det nog inte så bra kanske. Du utnytttjkar maximalt halva AD-omvandlaren.
Användarvisningsbild
JohnGalt
Inlägg: 796
Blev medlem: 17 maj 2010, 21:16:39
Ort: Helsingborg (omnejd)

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av JohnGalt »

Mickecarlsson skrev:
20 april 2021, 08:06:40
Köp i stället BMP280, där får du temperatur, luftfuktighet och lufttryck. Sensorn görs av Bosch och är riktigt bra.
Alla mina MySensors-noder kör med denna.
Den givaren är väl inte alls användbar här (oljetryck/temperatur), varken i mätområden eller i mekaniskt utförande.
E Kafeman
Inlägg: 2510
Blev medlem: 29 april 2012, 18:06:22

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av E Kafeman »

På en bil så hade jag valt att ha en separat 3,3V spänningsförsörjning till givarna. Det är så pass enkelt och billigt och kan skydda Arduino-kretsen om något går fel i maskinrummet.
VDO's semimekaniska resitans-givare är något som en gång i forntiden fungerade ihop med visarnålar på bimetall-band som upphettades av motståndstråd lindad runt bimetallen med givaren i den ena änden och 12V i den andra.
Man målade dit skalstrecken på mätartavlan för att passa för en viss resistorkurva.
Då instrumentet styrdes av att en metall långsamt värmdes blev det så långsamt att elektriska motor-störningar knappt märktes och de i sammanhanget höga spänningarna med uppåt 6 Volt över sensorn gjorda att spänningsfall i chassits jord vid generatorladdning inte märktes så mycket.
En lite oavsiktlig följd var att om termiska massan var låg värmdes resistansen i termometergivaren en hel del när spänningen legat på ett tag och orsakat effektutveckling direkt vid sensorn.

Det går att mappa den inte så linjära kurvan även i en Arduino men för enstaka sensor är den lätt att göra själv.
Ta en kass sensor och borra bort innehållet utan att borra genom botten. Tryck ner en DS18B20 tillsammans med lite kiselfett och fyll resten med epoxy-lim.
Vill man köpa något färdigt som är mer anpassat för att mäta med elektronik så finns en givare på lite högre resistans, typen kallas ofta för "50kOhm".
Väljer man en digital sensor så bortfaller problem med låga resistanser, AD-omvandlare och korrigering av olinjäritet.
Väljer man ändå en resistiv givare så läggs den bäst i serie med en motstånd på samma värde som det område som är mest intressant att avläsa från givaren för att ADC ska omvandla med högst precision.
I lite modernare sammanhang, anpassat för elektronik, använder man ofta givare som brukar kallas för "50kOhm". Lite oklart varför men de har högre resistans och de har ofta separat jord som inte blir beroende av jordspänningen i motorblocket.
Ett exempel på sådan temp-sensor: https://vdo-webshop.nl/en/temperature-s ... 90135.html
Vill man ha VDO's oljetrycksgivare för anpassad för elektronisk avläsning finns motsvarande, också med separat jord, flytande från motorblocket.

Den högra kopplingsvarianten är att föredra då det skyddar Arduinon från spikar och evt. överlagrade störningar, som det lätt blir i en bil, kommer att filtreras. Någon diod och zenerdiod skyddar ytterligare mot överspänningar.
Användarvisningsbild
Mickecarlsson
Inlägg: 1410
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av Mickecarlsson »

Den givaren är väl inte alls användbar här (oljetryck/temperatur), varken i mätområden eller i mekaniskt utförande.
Stämmer, så blir det när man inte klickar på länkarna 8)
Lehto
Inlägg: 7
Blev medlem: 5 februari 2021, 15:55:24

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av Lehto »

Hej alla och verkligen kul med så mkt tips och idéer. Och tack för länken till sidan där man kan lägga in sina komponenter och se alla värden.
Jag ritade ut min krets som jag tror att jag vill ha den:
https://tinyurl.com/ygntpuop

Med detta får jag ut en spänning mellan 82,5mV och 1,042V på tryckgivaren samt mellan 89,1mV och 1,071V på tempgivaren.
(tryckgivaren jobbar mellan 10-184 ohm, och tempgivaren jobbar mellan 18,6-322 ohm).

Om jag inte förstått saker fel så ska man i arduinon kunna använda nått kommando som heter: analogReference(INTERNAL);
Och då kan man läsa sensorn med 1,1v som då ska vara mkt stabilare.

Vad tror ni om detta? Är jag rätt ute eller krånglar jag till det?

Inser nu i efterhand att din ide E Kafeman hade varit smartare, att ta sensorer som har separat jord... Nu har jag tyvärr redan köpt oljetrycksgivaren och den var inte så billig.
Tempmätaren är ännu inte beställd så där skulle jag kunna ta en med separat jord.
Användarvisningsbild
JohnGalt
Inlägg: 796
Blev medlem: 17 maj 2010, 21:16:39
Ort: Helsingborg (omnejd)

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av JohnGalt »

analogReference(INTERNAL) : Jag tror att du är helt rätt ute :tumupp:
E Kafeman
Inlägg: 2510
Blev medlem: 29 april 2012, 18:06:22

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av E Kafeman »

Det är inte främst att det är separat jord, det är ett resistansområde på dessa äldre typer av givare som är sämre lämpade för elektronisk avläsning.
Med tanke på kretsen du ritat med sensorspänningar på 80 mV, vad händer om jorden ute vid sensorn hoppar 100-500 mV pga att generatorn laddar fullt eller att större strömförbrukare såsom kylfläkt kopplas till/från?
Ännu mera lär det hoppa när startmotorn arbetar men det går ju över efter en stund.

>Nu har jag tyvärr redan köpt oljetrycksgivaren och den var inte så billig.
Så du har köpt en ny VDO-sensor som reservdel? Ja då har man gott om pengar.
Att köpa en sådan av den gamla sorten, kostar några tior på bilskroten. Även modernare varianten kan vara bra att köpa på bilskroten då man lämpligen även klipper av en bit av kablaget med kontakten på.
Vill du absolut ha splittter ny givare så behöver det inte bli jättedyrt, kan köpas för 200kr från Kina:
https://www.ebay.com/itm/Universal-5-vo ... 3095770152
https://alitapneumatic.en.made-in-china ... ensor.html
Som du ser i länken ovan, det är något av en standard numera att oljetryckssensorn ska matas med 5Volt och lämnar utsignalen 0.5-4.5 Volt. Skyddar du ingångarna på Arduinon mot överspänning och området 3-4.5 Volt inte är intressant så behöver du inte ändra något annars fungerar vanlig resistordelare för anpassning av tryckområdet så du kan nyttja hela AD-omvanlingens arbetsområde.
Tror att Delcos oljetrycksgivare som också lämnar utsignal 0.5-4.5 Volt ska ha 12Volt. Delco hittas mest på USA-bilar, men matningsspänning får du kolla upp för varje bilmodell om du köper begagnat på skroten och det är möjligt att olika bilmodeller har olika arbetsområden på givaren.
Det kan vara möjligt att nya givare kan köpas för ett specifikt bilmärke på välsorterad Mekonomen eller liknande och det är typiskt pryl för eftermontering på större båtar så båttillbehörssfirmor mm kan säkert ha billigare alternativ än att köpa ny givare från VDO.


Tilllägg:
Här kan du se en lista med 3000 bil-modeller somn har sådan givare: https://www.ebay.com/itm/5-Volt-Oil-Fue ... 3016466518
Bra att veta om du ska köpa svenskt nytt/begagnat som reservdel.
Senast redigerad av E Kafeman 20 april 2021, 16:29:25, redigerad totalt 1 gång.
Lehto
Inlägg: 7
Blev medlem: 5 februari 2021, 15:55:24

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av Lehto »

Mja gott om pengar vet jag inte, den kostade mig 500kr med frakt... Och ja med den inputen jag fått nu så var de väl inte så smart, skulle haft en med separat jord. F*n.
Anledningen till att jag vill ha dessa VDO givare är att dom sitter original på B230 motorer, och jag vill helst använda original delar.

Så du tror jag är rökt då om jag kör med analogReference(INTERNAL) och jordar i motorblocket..?
Ja som du/ni hör så är jag långt ifrån någon världsmästare på det här... Då får jag väl försöka tänka om på nått vis. Eller köpa ännu en givare :badgrin:

Skulle nog gärna vilja ha VDO-givare... Men dom verkar inte ha någon tryckgivare med andra resistansnivåer.
När jag klicka i mina kriterier så var denna den enda jag hitta och den har precis samma resistans som den givaren jag redan har vilket du anser inte är bra resistansnivåer.
https://vdo-webshop.nl/en/pressure-send ... 91224.html

Kraven jag har på tryckgivaren är:
Pressure range: 0 to 10 Bar
Thread: 1/8 - 27 NPTF

Och på tempgivaren är det:
Temperature range: +50°C to +150°C
Thread: M14 x 1.5
E Kafeman
Inlägg: 2510
Blev medlem: 29 april 2012, 18:06:22

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av E Kafeman »

>Skulle nog gärna vilja ha VDO-givare... Men dom verkar inte ha någon tryckgivare med andra resistansnivåer.

VDO har aldrig tillverkat modernare oljetrycks-sensorer, sådana som levererar en spänning istället för en resistans.
Modernare varianter av bilsensorer är lätta att känna igen. De har lite mer avancerat kontaktstycke, fukt och damm-tätad.
Man får gå tillbaka många år i tiden för att hitta oljetrycksgivare med nakna flatstift eller anslutning för ringkabelskor på en ny bil.
Varför just VDO när de inte har något som passar bra med modernare elektronik?

Jag hade ett liknande problem en gång i tiden, byggde egen sensor för bränslenivån för Volvo rallybilar. Resistansområdet på givaren var typ 10-100 Ohm, dvs alldeles för lågt.
I rallybilen sätts ofta batteriet i bagaget vilket påverkar chassi-strömmarna.
Resultatet blev att bränslegivaren visade att bränslet ökade med 15 liter när man tryckte på bromsljuset på grund av att chassi-jorden ändrade sej.
Lösningen blev att bygga spänningstabilisator och en OP som omvandlade resistiva värdet till ett signalområde 1-8 Volt. Detta placerades direkt ovanpå bränsletankens givare och spänningssignalen samt lokal jord leddes fram till mätaren som anpassades för detta spänningsområde.Nu fungerade mätaren stabilt oavsett om jag tände all belysning där fram, 600W, eller laddade batteriet fullt från generatorn.

Vill du absolut ha äldre tiders givare så går det på liknande sätt modernisera dom, med en lokal spänningsstabiliserad buffert-förstärkare, vilket nog är ungefär vad som finns i dessa givare med 5-Volts matning och spänningsutgång.
Vad gäller just oljetrycksgivare så är VDO's givare en mekanisk anordning likt bränsletankens givare, trådlindat med en hävarm som påverkas av oljetrycket. Sådana går ibland sönder i mekaniken.
Modernare varianter får oljetrycket påverka ett piezo-element som ger en avläsningsbar spänning. Det ger lite mindre mekanik och mer kompakt givare och dessa anses vara mer driftsäkra.

Vad gäller tempgivaren, är det bara för en enda motor så hade jag stoppat dit en DS18B20 i en begagnad temp-givare. Kostar ett par kronor och jobbet är lätt gjort. Vill man köra något mer basic så skulle man kunna köra med NTC-motstånd men nej det är bara bekymmer om man ändå ska ha resultatet i digital form.
Oljegivarens gänga är inga problem, det finns gott om adaptrar.. För B23, om det nu är en marine eller race-motor, man brukar ändå vilja plugga givarens hål i blocket då den kommer ivägen för mycket i synnerhet om man har oljefilter-adapter/förflyttare. På det nya filterhuvudet brukar finnas alternativt uttag för tryckgivare och temperaturgivare för att kunna styra fläkt til oljeluftkylen om oljetrycket sjunker, elller veta att oljan inte är för kall efter kylaren innan man ska belasta motorn. I filterhuvudet finns ofta en bypass-termostat och det är efter den man helst vill mäta både tryck och temperatur.
Lehto
Inlägg: 7
Blev medlem: 5 februari 2021, 15:55:24

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av Lehto »

Hmm, jag tror du har "övertalat" mig faktiskt :P
Jag hittade den här:
https://www.ebay.com/itm/0-3m-Cable-Pre ... SwdUVdZirB
12v så kan dra direkt från batteriet till den
signal ut 0,5-4,5v = perfekt att läsa med arduinon.
1/8"
0-10 bar

Ska försöka hitta något liknande med för oljetemp, det du skrev om DS18B20 känns lite överkurs för mig, vill nog hitta någon färdig faktiskt.

Tack för tipsen och förklaringen varför jag bör ha modernare givare :P
E Kafeman
Inlägg: 2510
Blev medlem: 29 april 2012, 18:06:22

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av E Kafeman »

Ja det verkar vara ett bra val av oljetrycksgivare till bra pris.

>12v så kan dra direkt från batteriet till den
Aldrig någonsin dra 12V direkt från batteriet till givaren. Vore något av en dödssynd av både störnings och driftsäkerhets-skäl.
Även matningsspänningen på 12Volt dras till Arduinon som förmodligen via spänningsregulator är matad med batteri-spänning så man anordnar så att Arduinon och sensorer matas med 12Volt från samma punkt.
Där anordnar man gärna med separat 1A finsäkring på särskilt uttag just för spänningsmatning av sensorerna. Arduinon har gärna helt egen avsäkring separerad från dess givare.
Med lite otur, felkopplat i maskinrummet och man skickar 12V Volt batterispänning baklänges in på Arduinon.
Behövs det förbättra ur störningssynpunkt från annat i bilen så kopplar man in någon kondensator och rörferrit på en enda 12Volts ledning och även jord-potentialen är gemensamt kopplade till samma punkt för samtliga enheter som är kopplade till Arduinonon inklusive Arduinonen självt.
Du har aldrig sett en elektronisk motorstyrenhet vars givare får spänning direkt från batteriet, alla kablar från sensorer , även sensorernas spänning och jord, går till samma elektronikbox. Sensorspänningen kan vara unik för varje sensor, ha egen spänningsregulator men alla kablar ska vara med till boxen där alla regulatorer och avsäkring finns samlat.
Utöver driftsäkerhet, samlad översikt av kablage, och det praktiska att ha anpassad avstörning och avsäkring på ett ställe om alla kablar dras till samma elektronikbox så tillkommer att om man drar spänningen till annan plats i bilen så bygger man en jätte-loop-antenn som samlar störningar. Detta är anledningen till att man inte längre använder givare som jordas i bilen eller motorn, det fungerar uselt med elektronik och givetvis ska spänningsmatningen följa jordkabeln, inget annat.
Om 12Volts kabeln går 10 mm från jordkabeln är den på rymmen.

DS18B20 på kopplingsbräda med en Arduino, jord till jord, 3,3V till spänningsmatningen och signalpinnen direkt in på en arduino-pinne, inga andra komponenter behövs. inga motstånd eller kondensatorer.
Inkopplingen kan inte bli så mycket enklare.
Är det programmeringen eller mekaniska jobbet att gjuta in den i en befintlig sensor och förse den med olje och temperatur-tålig kabel som oroar att göra själv?
Det finns färdiga bibliotek för att läsa av den i Arduino och är en av de vanligare temperatursensorerna.
Den finns att köpa i liten transistor-kapsel där man får löda på kablar själv eller som redan inmonterad i plåthylsa med kablar monterade.

Jag rekommenderar ändå att du köper en näve sådana i transistor-kapslar. 3kr/st. Dessa har ett serie-interface som gör att man kan koppla in 100 givare eller fler på samma kabel.
För att läsa av temperatur så ropar först Arduinon på dess nummer-identitet och givaren svarar med aktuell temperatur. På det viset kan man mäta en hel rad temperaturer från t.ex. olja,vatten, kylluft,insugs-temperaturer på endast tre kablar från Arduinon.
Man får förhållandevis noggrann temperatur-avläsning utan att behöva använda Arduinons adc vilket avlastar den till annat.
Svårighetsgraden av programmering är på den nedre skalan då det finns en uppsjö av färdiga exempel och egna insaten består i att koppla tre pinnar direkt till arduinon och i mjukvaran tala om vilken pinne man kopplat in den på.
Eftersom dess matningsspänning kan variera inom 3-5V DC och den tar ytterst liten ström kan den kopplas direkt till Arduinonens 3.3Volt.
Så serieinterfacet in på önskad pinne, samt till arduinonens lokala jord till 3:e tråden. Ingen jord eller spänningsmatning från annat håll utan allt kopplas in vid Arduinon.

Inkoppling av en temp-sensor: https://create.arduino.cc/projecthub/Th ... ino-9cc806
Inkoppling av flera sensorer: https://www.tweaking4all.com/hardware/a ... re-sensor/

Vill man hellre bygga själv men av någon anledning absolut använda egen ADC så finns det också för småpengar om man kan gjuta in sensorn i begagnat givarhus.
Exempel: http://www.esp8266learning.com/wemos-lm ... sensor.php
Denna varianten måste ha egen kabel för varje temperatur-givare.
Denna temperaturgivare är också vanlig men inte längre så populär just därför att den inte har något digitalt interface. Är rätt vanlig där man vill bygga enklare temperatur-styrning typ reglera fart på dator-fläktar utan behov av omvandling till digitala värden.

Vill du ha en modernare givare helt färdig så finns det med precis samma typ av koppling som för oljetrycksgivaren men det kan vara lite jobb att hitta bra data-blad som beskriver värdena. Även dessa är numera rätt ofta anpassade för 5Volt iEuropa medans USA kör med 12Volt.
ktm_micke
Inlägg: 94
Blev medlem: 24 juni 2009, 09:34:27
Ort: Halmstad

Re: Teoretisera arduino att "läsa" från givare.

Inlägg av ktm_micke »

Hej
Har använt denna typ av givare Honeywell PX2 till några ”sprut” för att logga bränsletryck o oljetryck matas med 5v från sprutet
Skriv svar