Spørgsmål:
Tryktransducer / sensor (0,5 - 4,5 V) usædvanlige analoge pin-aflæsninger
DominicM
2014-03-23 00:50:03 UTC
view on stackexchange narkive permalink

Jeg har en relativt billig 0-15psi tryktransducer. Den har 3 ben - jordet 5V og signal. Signalet afgiver en spænding på 0,5V til 4,5V baseret på tryk fra 0psi til 15psi. Jeg kan kontrollere, at det reagerer på betydelige trykstigninger, så det fungerer i det mindste til et punkt.

Problemet er, at aflæsningen fra arduino kan variere med over 50%, når den er ved et atmosfærisk tryk (hviler på et bord) ). Det skal være betydeligt mere nøjagtigt, hvis sensordataene skal stole på. Koden er grundlæggende:

  void setup () {Serial.begin (9600);} void measurePressure () {int rawReading = analogRead (A0); // Område: 0..1024 // float rawVoltage = (rawReading * (4.5 / 1023.0)) + 0.5; Serial.print ("Rå læsning:"); Serial.println (rawReading);} ugyldig loop () {measurePressure (); forsinkelse (1000);}  

Outputvariationerne er ikke helt tilfældige, det ser ud til, at aflæsningen går ned og op i intervaller på ca. 5-15 sekunder. Nedenfor er et eksempel på output:

  Råaflæsning: 61Raw-læsning: 67Raw-læsning: 70Raw-læsning: 73Raw-læsning: 74Raw-læsning: 78Raw-læsning: 75Raw-læsning: 82Raw-læsning: 85Raw-læsning: 90Raw-læsning: 89 aflæsning: 97Raveaflæsning: 103Raveaflæsning: 119Raw-aflæsning: 146Raw-aflæsning: 165Raw-aflæsning: 171Raw-aflæsning: 168Raw-aflæsning: 163Raw-aflæsning: 150Raw-aflæsning: 143Raw-aflæsning: 118 78Raw-læsning: 80Raw-læsning: 82Raw-læsning: 88Raw-læsning: 92Raw-læsning: 102Raw-læsning: 134Raw-læsning: 160Raw-læsning: 170Raw-læsning: 172Raw-læsning: 166Raw-læsning: 158Raw-læsning: 149 : 61Raveaflæsning: 71Raveaflæsning: 77Raw-aflæsning: 79Raw-aflæsning: 84Raw-aflæsning: 90Raw-aflæsning: 90Raw-aflæsning: 99Raw-aflæsning: 134Raw-aflæsning: 161Raw-aflæsning: 170Raw-aflæsning: 166 læsning: 68Ra w læsning: 63 Rålæsning: 63 Rålæsning: 71
Rå aflæsning: 73Raveaflæsning: 81Raveaflæsning: 83Raveaflæsning: 85Raveaflæsning: 89Raveaflæsning: 98Raveaflæsning: 128Raveaflæsning: 161Raveaflæsning: 171Raveaflæsning: 166 : 63Raw-læsning: 72Raw-læsning: 75Raw-læsning: 83Raw-læsning: 85Raw-læsning: 89Raw-læsning: 97Raw-læsning: 130Raw-læsning: 164Raw-læsning: 172Raw-læsning: 163Raw-læsning: 155 læsning: 72 Rålæsning: 78  

Jeg forsøgte at tilføje 4,7 k trækmodstand uden ændring, men det var bare et blindt forsøg. Jeg har også tilsluttet et multimeter, og læsningen ser ud til at være mere stabil, lige fra ca. 0,495V til 0,535V (variationer synes ikke at matche arduino-output).

Hvad kan forårsage problemet?

Ser du ud til den samme variation med en spændingsdeler, der producerer ~ 0,5 V tilsluttet?
Jeg havde ikke tilsluttet en spændingsdeler, spændingen er inden for arduino-spænding, så jeg er ikke sikker på, hvorfor jeg har brug for en spændingsdeler ..?
Nej, bare en spændingsdeler, absolut intet andet. dvs. med en konstant 0,5 V-indgang, ser du den samme adfærd.
Forsøgte det ikke. Med intet forbundet ser jeg mere tilfældige variationer, men kun op til et par hundrede i modsætning til 0-1023 fuld rækkevidde. Fortæller det dig noget, eller skal jeg stadig bygge spændingsdeleren og teste? Jeg prøvede også en anden pin med samme resultat. Jeg bruger Arduino Pro Micro btw.
En flydende indgang glider. Hvad du skal træne er, hvis det er Arduino, din måler eller sensoren, der forårsager dette. Spændingsdeleren isolerer sensoren.
Jeg tilsluttede 33k og 3,3k, hvilket resulterede i 0,45V (0,417 multimeteraflæsning). Fik lignende resultater, men så fjernede jeg multimeterkabler, og det var stabilt ved 91 med lejlighedsvis 90. Tilsluttet sensoren og intet andet, men fik samme problem. Hvad kan jeg prøve næste gang?
Jeg tror ikke, du kan stole på din meter da - dens inputimpedans skal være flere størrelsesordener højere end spændingsdeleren. Viser sensoren problemet uden måleren?
Ja, sensoren har det samme problem. Hvad angår måleren er det en billig, så der er ingen overraskelser.
Din kode er grundlæggende korrekt. Hvis en resistiv spændingsdeler giver ensartede aflæsninger, er problemet med sensoren og måleren. Uden en arbejdsmåler ville det være svært at finde ud af, hvad der går galt.
Nå måleren fungerer, det tilføjer bare noget interferens, når den er forbundet sammen med arduino. Selve læsningen virker korrekt.
Et multimeter, der forstyrrer enheden, der testes i det omfang, fungerer ikke korrekt. Hvis du slutter det til sensoren og Arduino, er det måleren eller sensoren eller begge, der forårsager et problem?
Jeg prøvede samme opsætning med arduino uno, og problemet er væk. Det fungerer også på micro, så længe GND og 5V pin er forbundet til uno. Uno målt spænding er 4,88V og mikro 4,60V kan en spændingsforskel så lille forårsage dette? Hvad kan dette ellers være?
Ok, så jeg har et nyt multimeter (extech 505). Får stadig variationer med arduino-læsning på trods af en lille variation i spænding. Multimeter forstyrrer ikke signalet mere. Hvad kan jeg ellers prøve?
Hvilket mærke og model af tryktransducer er det?
Også, 5V-forsyningsindgangen til transduceren, vedhæfter du det til Arduinos 5V-forsyning?
@gwideman Det er en ikke-mærket kinesisk sensor. Ja, jeg fastgør den til 5V arduino (4.6V målt).
Kan du pege på ethvert eBay eller andet link til denne sensor?
En svar:
gwideman
2014-04-09 03:34:59 UTC
view on stackexchange narkive permalink

Jeg prøvede samme opsætning med arduino uno, og problemet er væk. Det fungerer også på micro, så længe GND og 5V pin er forbundet til uno. Uno målt spænding er 4,88V og mikro 4,60V kan en spændingsforskel så lille forårsage dette? Hvad kan dette ellers være?

Genindsættelse af forkerte redigeringer af Annonomus Person (AP: Rediger ikke svarene på en sådan måde, at du fuldstændig ændrer deres betydning. I den aktuelle diskussion "bestyrelsen "er meningsløst. Vi forsøger at skelne mellem symptomer set i to forskellige 'boards', en Arduino Uno og en Arduino Micro.)

Ser ud for mig, at problemet er med Arduino Micros 5V-forsyning .

Hvis du tilslutter Micro fra en ekstern forsyning (ikke USB), vil 4.6V på Micros "5V" -udgang indikere, at 5V-regulatoren ikke fungerer inden for det forventede interval.

Hvis du får strøm fra USB, er regulatoren ikke i spil. 4.6V vil indikere et problem med USB's 5V-forsyning.

Sandsynlige muligheder :, enten opstrømsforsyningen er utilstrækkelig, eller micros og hvad der er knyttet til det trækker for meget strøm.

Jeg formoder, at transducerudgangen svinger på en måde, der er for hurtig til at blive set af din måler, men som samples af Arduino Micro, hvilket giver dine varierende resultatnumre.

Enten "4.6 V "er utilstrækkelig til at køre transduceren, hvilket forårsager uregelmæssig transduceroutput, eller selve 4.6V svinger, med lignende resultater ved trans-output.

Og du kan også kontrollere jorden mellem mikro og transducer - er du sikker på, at den er kablet korrekt?

Vil teste det med en anden arduino mini, bliver nødt til at vente på, at mit loddejern skal ankomme, opdateres derefter.
For den opsætning, der producerer de svingende numre, skal du bekræfte, at du har transduceren tilsluttet Arduino Micros + 5V-udgang, og fortæl, om du tilslutter Micro fra USB eller fra en ekstern forsyning, og hvis sidstnævnte, hvilken slags levere?
Hvis du får strøm fra ekstern strøm, såsom batterier, skal du være opmærksom på, at specifikationerne til Micro viser, at 5V-regulatoren ikke er pålidelig under 7V-indgangen.
Både Uno og Mini får strøm fra usb-port, så det er ikke problemet, især da jeg også prøvede en anden port. Transducer skal arbejde med 4,5 til 5,5 V, men du ved aldrig med billige ting. Vil lave nogle flere test, når jeg modtager mit loddejern ...
@DominicM Bemærk, at jeg nævnte flere mulige problemer, ikke kun et enkelt 'it'. En spænding på 4,6 V DC kan være fint for transduceren. Men: (1) en målermåling, der viser 4.6V, kan også skyldes en spænding _fluktuerende_ omkring 4.6V, som vil forårsage uregelmæssig transduce. Eller (2) 4.6V er under USB 2.0 minimumsspecifikation på 4.75V, hvilket i sig selv antyder noget galt med forsyningen eller stien fra USB til transducer. (4.6V er tilsyneladende legit til 3.0 selvom.). Og igen er det værd at kontrollere jordstien mellem mikro og transducer.
Og hvis du tester Uno og Micro-drevet fra den samme USB-port, skal de få samme GND til + 5V spændingsaflæsning fra deres "5V" udgange. 4.88V vs 4.6V er nok af en forskel til at antyde, at der sker noget med strømmen.


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 3.0-licens, den distribueres under.
Loading...