Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Lesing av AMS data (AMS/HAN -> IoT)


Anbefalte innlegg

28 minutes ago, xibriz said:

 

Her:

 


7E A0 E3 2B 21 13 98 86 E6 E7 0 F 0 0 0 0 9 C 7 E1 B 1 3 13 28 32 FF 80 0 0 2 19 A E 4B 61 6D 73 74 72 75 70 5F 56 30 30 30 31 9 6 1 1 0 0 5 FF A 10 35 37 30 36 35 36 37 32 37 34 33 38 39 37 30 32 9 6 1 1 60 1 1 FF A 12 36 38 34 31 31 32 31 42 4E 32 34 33 31 30 31 30 34 30 9 6 1 1 1 7 0 FF 6 0 0 12 71 9 6 1 1 2 7 0 FF 6 0 0 0 0 9 6 1 1 3 7 0 FF 6 0 0 0 0 9 6 1 1 4 7 0 FF 6 0 0 1 F5 9 6 1 1 1F 7 0 FF 6 0 0 4 62 9 6 1 1 33 7 0 FF 6 0 0 3 FC 9 6 1 1 47 7 0 FF 6 0 0 6 5B 9 6 1 1 20 7 0 FF 12 0 E4 9 6 1 1 34 7 0 FF 12 0 E0 9 6 1 1 0 12 E4 7E 

Formatert litt bedre:

 


7E A0 E3 2B 21 13 98 86 E6 E7 00 0F 00 00 00 00 
09 0C 07 E1 0B 01 03 13 28 32 FF 80 00 00 02 19 
0A 0E 4B 61 6D 73 74 72 75 70 5F 56 30 30 30 31
09 06 01 01 00 00 05 FF 0A 10 35 37 30 36 35 36 
37 32 37 34 33 38 39 37 30 32 09 06 01 01 60 01 
01 FF 0A 12 36 38 34 31 31 32 31 42 4E 32 34 33 
31 30 31 30 34 30 09 06 01 01 01 07 00 FF 06 00 
00 12 71 09 06 01 01 02 07 00 FF 06 00 00 00 00 
09 06 01 01 03 07 00 FF 06 00 00 00 00 09 06 01 
01 04 07 00 FF 06 00 00 01 F5 09 06 01 01 1F 07 
00 FF 06 00 00 04 62 09 06 01 01 33 07 00 FF 06 
00 00 03 FC 09 06 01 01 47 07 00 FF 06 00 00 06 
5B 09 06 01 01 20 07 00 FF 12 00 E4 09 06 01 01 
34 07 00 FF 12 00 E0 09 06 01 01 00 12 E4 7E 

 

Det ser ut som det er 224 bytes, med FTDI fikk jeg 229 bytes. Jeg kan jo sample litt mer? Men det funket ikke uansett hvor lenge den står å mottar data.

 

Edit: ja.. det ser ut som det er lengden av pakken det er problemer med...

De to første bytes, dvs (A)0 E3 angir lengden, 0 E3 => 227 bytes. Dette er total lengde eksklusive 7E i start og stopp. Her er bare 221 bytes....

Lenke til kommentar
Del på andre sider

2 minutter siden, roarfred skrev:

De to første bytes, dvs (A)0 E3 angir lengden, 0 E3 => 227 bytes. Dette er total lengde eksklusive 7E i start og stopp. Her er bare 221 bytes....

 

Se den siste filen jeg lastet opp.. ser ut som at alle er rundt 221-222 bytes.. ikke alle slutter på 7E.. det var en rar tilfeldighet.

Lenke til kommentar
Del på andre sider

9 minutes ago, xibriz said:

 

Se den siste filen jeg lastet opp.. ser ut som at alle er rundt 221-222 bytes.. ikke alle slutter på 7E.. det var en rar tilfeldighet.

Høyst merksnodig! 

Har sammenlignet litt, og det ser ut som det er helt på slutten at det feiler... Er det mulig at opamp ikke har nok spenning mot slutten? Men da burde også dette vært et problem med FTDI...

 

Se sammenligning i vedlegg. Se uten word wrap. Første linje er fra din måler med FTDI, andre er linje to fra tekstfilen du sendte sist

 

sammenlingning.txt

Lenke til kommentar
Del på andre sider

6 minutter siden, roarfred skrev:

Høyst merksnodig! 

Har sammenlignet litt, og det ser ut som det er helt på slutten at det feiler... Er det mulig at opamp ikke har nok spenning mot slutten? Men da burde også dette vært et problem med FTDI...

 

Se sammenligning i vedlegg. Se uten word wrap. Første linje er fra din måler med FTDI, andre er linje to fra tekstfilen du sendte sist

 

sammenlingning.txt

 

I går når jeg kom hjem etter å ha vært borte noen dager så var kondensatoren "utladdet", dvs nede på 3.3v. Jeg måtte da ladde den manuelt slik jeg har gjort tidligere på en 18v strømkilde som jeg har tilgjengelig.

 

Kan det være at kondensatoren ikke klarer å holde spenningen oppe lenge nok, da den kanskje laddes mer og mer ut over tid?

 

EDIT: kan det være en ide å seriekoble noen batterier til 24v og sette istedet for kondensatoren?

Endret av xibriz
Lenke til kommentar
Del på andre sider

33 minutes ago, xibriz said:

 

I går når jeg kom hjem etter å ha vært borte noen dager så var kondensatoren "utladdet", dvs nede på 3.3v. Jeg måtte da ladde den manuelt slik jeg har gjort tidligere på en 18v strømkilde som jeg har tilgjengelig.

 

Kan det være at kondensatoren ikke klarer å holde spenningen oppe lenge nok, da den kanskje laddes mer og mer ut over tid?

 

EDIT: kan det være en ide å seriekoble noen batterier til 24v og sette istedet for kondensatoren?

Ja, prøv med batterier. Koble gjerne fra motstanden eller dioden da

Lenke til kommentar
Del på andre sider

20 minutter siden, roarfred skrev:

Ja, prøv med batterier. Koble gjerne fra motstanden eller dioden da

 

Prøvde med batteri (målte til litt over 25v) istedet for kondensator... ingen foskjell. Prøvde med å uten diode.. med å uten motstand rett etter diode.

 

Koblet på FTDI mellom ESP8266 og HAN-porten, da får jeg ut pakker på 229 bytes.

Endret av xibriz
Lenke til kommentar
Del på andre sider

3 minutes ago, xibriz said:

 

Prøvde med batteri (målte til litt over 25v) istedet for kondensator... ingen foskjell. Prøvde med å uten diode.. med å uten motstand rett etter diode.

 

Koblet på FTDI mellom ESP8266 og HAN-porten, da får jeg ut pakker på 229 bytes.

Mistenker at dette da ikke er problemet, men det kan godt være at FTDI kretsen er mindre nøye på verdiene for "0" og "1" enn ESP kretsen.

I følge databladet på ESP8266 så skal lav være 0.82V og høy min 2.48V (ved 3.3V driftspenning). R10 og R12 vil kunne spille inn her. Jeg har prøvd å regne på det, men klarer ikke å se at du skal kunne få feil verdier. Likevel, du kunne prøvd å minke og øke begge disse for å se om du får noen forandring. Den mye bedre metoden ville selvfølgelig være å måle med et oscilloscope, men det forstod jeg du ikke hadde tilgang på?

 

En annen test som du kan gjøre er å koble fra HAN porten mens du måler spenningen rett på RX. Sett så en ekstern strømforsyning på HAN-porten og se hvilke spenningsverdier som skal til for at du får skifte på RX porten, og hva spenningen da blir på RX porten (for høy og lav verdi).

 

Lenke til kommentar
Del på andre sider

Jeg venter på en spenningsregulator i posten så jeg kan prøve med litt forskjellige inn-verdier.

 

Har ikke oscilloscope nei..

 

Får sette meg ned i morgen å prøve litt forskjellige motstander. Hvilke intervall på de burde jeg prøve? +- 1k om gangen? +-10k om gangen?

Lenke til kommentar
Del på andre sider

54 minutes ago, xibriz said:

Jeg venter på en spenningsregulator i posten så jeg kan prøve med litt forskjellige inn-verdier.

 

Har ikke oscilloscope nei..

 

Får sette meg ned i morgen å prøve litt forskjellige motstander. Hvilke intervall på de burde jeg prøve? +- 1k om gangen? +-10k om gangen?

Jeg tror det holder om du prøver med halvering og dobling av begge to. (Sånn ca, bare ta den nærmeste du kommer halv og dobbel verdi, men prøv systematisk alle 9 kombinasjoner)

 

 

Lenke til kommentar
Del på andre sider

På 1.11.2017 den 23.07, roarfred skrev:

Jeg tror det holder om du prøver med halvering og dobling av begge to. (Sånn ca, bare ta den nærmeste du kommer halv og dobbel verdi, men prøv systematisk alle 9 kombinasjoner)

 

 

 

Jeg lurer på om at det ikke er feil på kretsen men at jeg får en slags RX Overflow: https://github.com/esp8266/Arduino/issues/2237

 

Dette kan forklare hvorfor det funker hos deg med miniputtpakker men ikke hos meg med monsterpakker.

Lenke til kommentar
Del på andre sider

18 minutes ago, xibriz said:

 

Jeg lurer på om at det ikke er feil på kretsen men at jeg får en slags RX Overflow: https://github.com/esp8266/Arduino/issues/2237

 

Dette kan forklare hvorfor det funker hos deg med miniputtpakker men ikke hos meg med monsterpakker.

Kan være en god teori, men også enkel å få bekreftet. Et sted i koden gjøres en if (hanPort.available()) ... Kunne du lest denne inn i en egen variabel og sjekket for verdi 128? Noe slik (ikke testet):

 

byte available = hanPort.available();

if (available == 128)

  debug.PrintLn("Serial port overflow!");

else if (available)

{

  ... // eksisterende kode her

}

Lenke til kommentar
Del på andre sider

1 hour ago, roarfred said:

Kan være en god teori, men også enkel å få bekreftet. Et sted i koden gjøres en if (hanPort.available()) ... Kunne du lest denne inn i en egen variabel og sjekket for verdi 128? Noe slik (ikke testet):

 

byte available = hanPort.available();

if (available == 128)

  debug.PrintLn("Serial port overflow!");

else if (available)

{

  ... // eksisterende kode her

}

Ser de sier at hardware buffer er 128 bytes. Med 2400 baud vil det ta 53ms å fylle bufferet. I sample-koden min (KamstrupTest.ino) hadde jeg noen delay linjer nederst i loop-funksjonen, for at samples skulle skrives ut litt støtvis.

 

Har du noen delay inne i loop? I tilfelle burde disse fjernes...

Lenke til kommentar
Del på andre sider

3 timer siden, roarfred skrev:

Ser de sier at hardware buffer er 128 bytes. Med 2400 baud vil det ta 53ms å fylle bufferet. I sample-koden min (KamstrupTest.ino) hadde jeg noen delay linjer nederst i loop-funksjonen, for at samples skulle skrives ut litt støtvis.

 

Har du noen delay inne i loop? I tilfelle burde disse fjernes...

 

BINGO! Nå fungerer det :D Testet med vannkokeren :P ? ?

 

Ble jeg nr. 2 i Norge mon tro? Nr. 1 på Kamstrup? ?

  • Like 1
  • Thanks 1
Lenke til kommentar
Del på andre sider

1 minutt siden, roarfred skrev:

 

NICE!!!

 

Good catch dette med buffer size, dette var jeg ikke klar over :)

 

Ser jeg du også allerede er på MQTT bakom der?

 

Jepp, MQTT bak der :)

 

Nå er det eneste problemet at kretsen ikke klarer å ladde kondensatoren. Det var større motstand på R9 som kanskje er løsningen der? 10k?

Lenke til kommentar
Del på andre sider

1 minute ago, xibriz said:

 

Jepp, MQTT bak der :)

 

Nå er det eneste problemet at kretsen ikke klarer å ladde kondensatoren. Det var større motstand på R9 som kanskje er løsningen der? 10k?

Tror ikke egentlig det... Tror heller det må ha noe med dioden å gjøre. Hvilken type er det? Kan den stå feil vei?

Lenke til kommentar
Del på andre sider

2 minutes ago, xibriz said:

 Det er samme som i delelisten din. Svart kant bort fra HAN-porten.

 

Altså en 1N4148? (Hadde i tidlige lister noen zener-dioder, men det skal ikke brukes lenger)

Kan du måle med multimeter over denne? det bør vise ca. 0.6V med mest positive pinne er den uten strek (anoden)

 

 

Lenke til kommentar
Del på andre sider

3 minutter siden, roarfred skrev:

 

Altså en 1N4148? (Hadde i tidlige lister noen zener-dioder, men det skal ikke brukes lenger)

Kan du måle med multimeter over denne? det bør vise ca. 0.6V med mest positive pinne er den uten strek (anoden)

 

 

 

Ja det stemmer. Måler 0.61v over den. Nede i mellom -5 og -6v når pulsen kommer.

Lenke til kommentar
Del på andre sider

1 minute ago, xibriz said:

 

Ja det stemmer. Måler 0.61v over den. Nede i mellom -5 og -6v når pulsen kommer.

Høres riktig ut det. Den negative verdien er fordi inngangen synker, men kondensatoren holder tilbake spenningen. Dioden sørger for at det ikke "lekker" tilbake.

 

Da ville jeg sjekket R9. Hvis denne virkelig er 330 ohm, så prøv med en mindre verdi, f.eks. 100 ohm. Håper den er av feil verdi eller blåst eller noe...

Lenke til kommentar
Del på andre sider

11 minutter siden, roarfred skrev:

Høres riktig ut det. Den negative verdien er fordi inngangen synker, men kondensatoren holder tilbake spenningen. Dioden sørger for at det ikke "lekker" tilbake.

 

Da ville jeg sjekket R9. Hvis denne virkelig er 330 ohm, så prøv med en mindre verdi, f.eks. 100 ohm. Håper den er av feil verdi eller blåst eller noe...

 

Den har riktig verdimerking. Prøvde med en 100 ohm.. ingen forskjell.

 

Når jeg kobler fra HAN-porten detter spenningen jevnt og trutt ned mot 0v over kondensatoren, når jeg kobler til HAN-porten går spenningen bare opp til 2.6v og stopper der (med 100 ohm).

 

Med 330 ohm går spenningen over kondansatoren kun opp til 2.5v.

Endret av xibriz
Lenke til kommentar
Del på andre sider

Just now, xibriz said:

 

Den har riktig verdimerking. Prøvde med en 100 ohm.. ingen forskjell.

 

Når jeg kobler fra HAN-porten detter spenningen jevnt og trutt ned mot 0v over kondensatoren, når jeg kobler til HAN-porten går spenningen bare opp til 2.6v og stopper der.

Hvor mange volt var denne kondensatoren merket med? Klarer du å finne noe annet å bytte den ut med?

Lenke til kommentar
Del på andre sider

Akkurat nå, roarfred skrev:

Hvor mange volt var denne kondensatoren merket med? Klarer du å finne noe annet å bytte den ut med?

 

470uF 50v. Denne var helt ny.

 

Min andre brukte kondensator som jeg fant på en strømforsyning gir samme resultat. Den er 220uF 35v.

Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.