Jump to content

Båtautomasjon med batteriovervåking og Zigbee


Sjøbliss

Recommended Posts

Og jeg glemte et par svar 😁

 

Både 180/22 eller 5, og 200(som du ikke har)/22 eller 5 bør fønke greit!

 

Jeg er usikker på hvordan du har koplet når du prøver å måle referansespenning? Du bruker da en annen ADC pinne for denne antar jeg? 4 x 860k er nok for store verdier, og vil gi ustabile målinger. Fint om du evt tegner en sånn slurvet skisse av denne biten. Dersom det er spenning på 3.3V pinne du vil måle ville jeg prøvd med feks en 2k og en 10k fra 3.3V pinne til GND og koplet ADC pinne mellom de to. Dette vil flytte spenning inn på ADC pinne litegrann ned fra 3.3V (til 3.3 * 10000/12000 = 2.75V som er i rett område for ADC-en (innspenninger bør ligge mellom 0.1 og 3.2V i praksis pga dårlig lineæritet i ytterpunktene av skalaen som sagt). 
 

Men jeg ville startet med å finne ut av dette med GND og minus på Hobbywing. Prøv å måle spenning mellom disse to pinnene. Skal helst være 0V der.

Link to post
Share on other sites

:lol: Vi lider av den kjente sykdommen søndagshode... Jeg har funnet ut av jordingen, det var den ene jordpinnen på ESP-en som ikke ga jord ut. Jeg koblet jord via fellesjorden på 5V-siden av Hobbywingen, men det ser ikke ut til å ha påvirket verdiene noe som helst. Hvis du ser på det bildet jeg la på forrige side, kan du se at jeg har tatt referansen ut før 180-motstanden, altså ren 3,3. Så kjører jeg den gjennom fire motstander på forsøkskortet og inn på pinne 32 (indikatoren er koblet på 34). Så teoretisk sett burde det gitt samme spenning som multimeteret viser, men det gjør er altså ikke i nærheten.

Link to post
Share on other sites

Ok, søndagshode her også men 2 ting må endres: De 860k motstandene er for store (og vil gi feil/ustabile målinger) og de må koples fra 3.3V til GND, så tar du ut spenningen til ADC pinne mellom mostandene. Foreslår å bytte til 2k + 10k og ta ut spenning til ADC mellom disse som sagt.

 

Intern ADC er egentlig 0-1V så den har en intern spenningsdeler også, men det finnes ikke pålitelige tall på impedans på denne, antakelig fordi den er multiplekset internt og derfor kan variere. Så derfor må du ha ekstern spenningsdeler. På esp8266 er det bare en pinne og ingen multipleksing så der er impedans oppgitt og en kan måle spenning ved å kople direkte med en passende motstand. Mulig dårlig forklart men kort sagt så må du alltid ha en spenningsdeler bestående av 2 motstander mellom spenning som skal måles og GND og ta ut spenningen til ADC pinne mellom disse (dersom spenningen er utenfor intervallet 0.1-3.2V som ESP er tilpasset for). For sensoren så velger en lav verdi fordi den i seg selv har veldig lave Ohmske verdier men for referansespenningen er dette unødvendig og en velger da noe høyere verdier for å minimalisere strømtrekk, men ikke så store at målinger blir ustabile. 

Link to post
Share on other sites

DER satt den! :thumbsup: Jeg måtte bare bytte om 2K- og 10K-motstanden, så satt den der, 2,75V fjellstøtt! Så da er det bare å finne ut hvordan jeg kan sammenligne dem i ESP-en, hvis det går. Jeg har lagt inn en forespørsel om det på Hass-forumets ESP-del, siden du bruker Arduino skal jeg ikke plage deg med det.

Link to post
Share on other sites

Mastiff skrev 13 minutter siden:

DER satt den! :thumbsup: Jeg måtte bare bytte om 2K- og 10K-motstanden, så satt den der, 2,75V fjellstøtt! Så da er det bare å finne ut hvordan jeg kan sammenligne dem i ESP-en, hvis det går. Jeg har lagt inn en forespørsel om det på Hass-forumets ESP-del, siden du bruker Arduino skal jeg ikke plage deg med det.


Så bra! Alltid kjekt når en får ting til å fønke. Dersom den målingen alltid er dønn stabil så kan du vurdere å bare la være å måle den. Den er jo regulert, men forsyner jo ESP som vil ha varierende strømtrekk så er usikker på hvor stabil den er når det kjøres WiFi aktivitet osv, så jeg ville hatt den med enn så lenge til oppsettet er klart. Hass er upløyd mark for meg ja, men ingen plaging. Nørding er jo gøy. Spenning over sensor/referansespenning bør gi et tall mellom 0 og 1 som evt kan ganges opp med 100 og brukes som tall for posisjon av sensorarm. Pass på å få med nok desimaler i kalkulasjonen så ikke du mister nøyaktigheten der. 

Link to post
Share on other sites

Det var egentlig ESPHome-delen jeg mente, ikke Hass. Det beste forumet for ESPHome er avdelingen for det på Hass/Home Assistant-forumet.

 

Ganget med ti blir tallet 1,9 til 4,9/5 (vakler litt der). Men jeg er språkmann, matte er et av de språkene jeg ikke kan. Hvordan i alle dager regner jeg det om sånn at det går fra 1 til 10? Det forsvever meg at man kan bruke en slags prosentregning, men det hjelper ikke så mye... Her er koden for sensorene sånn som de er nå:

 

sensor:
  - platform: adc
    pin: 35
    attenuation: auto
    name: "Motorheisspenning"
    id: motorheisspenning
    update_interval: 5ms
    filters:
      - sliding_window_moving_average:
          window_size: 100
          send_every: 100

  - platform: adc
    pin: 32
    attenuation: auto
    name: "Referansespenning"
    id: referansespenning
    update_interval: 5ms
    filters:
      - sliding_window_moving_average:
          window_size: 100
          send_every: 100

  - platform: template
    name: "Motorheisposisjon"
    lambda: |-
      return (id(motorheisspenning).state / (id(referansespenning).state)) * 10;
    update_interval: 1s

 

Så nest siste linje deler motorheisspenningen (altså rorindikatoren) på referansespenningen og ganger med ti, så det blir et tall mellom 2,5 og 5. Så skulle jeg gjerne gjort det om til tall mellom 1 og 10. Går nørdingen din så langt? :giggle:

Link to post
Share on other sites

Jeg ville vel ganget den opp med 100 for å få med ett ekstra siffer - skulle tro oppløsningen var god nok til det? Men er gjerne ikke behov?

 

Ser ikke bort fra at det finnes en mapping-funksjon som skalerer for deg, det gjør det i Arduino IDE. Men formelen:

 

skalatall0-10 = aktuell måling * (90/25) - 8 bør gjøre susen så sant max måling er 5 og min måling er 2.5.

 

Red: ble nysgjerrig på mappefunksjon i ESPhome. Ut fra disse to eksemplene kan du antakelig bare legge til lineær mapping i koden din:

 

https://community.home-assistant.io/t/map-values/462202

 

https://esphome.io/components/sensor/index.html#calibrate-linear

 

Link to post
Share on other sites

Det funket flott, takk! Merkelig nok fikk den ESP-en jeg holdt på med hikke, men jeg lurer på om det var for mye på en enhet, for den funket igjen da jeg flashet uten motorheisen, men sluttet å funke da jeg la inn de siste beregningene. Den har noe BLE-greier, og jeg mener å ha lest noe om at de tar mye plass. Uansett, koden på templatesensoren ble til slutt sånn (alt annet er likt). Tusen takk for all hjelpen! :thumbsup:

  - platform: template
    name: "Motorheisposisjon"
    lambda: |-
      return ((id(motorheisspenning).state / (id(referansespenning).state)) * 100);
    update_interval: 100ms
    filters:
      - sliding_window_moving_average:
          window_size: 10
          send_every: 10
      - calibrate_linear:
            - 17.3 -> 0.0
            - 48.5 -> 100.0
      - lambda: return 5*round(x/5);
      - clamp:
          min_value: 0
          max_value: 100

      - lambda: |
          if (x < 0.1) return {0}; 
          else return x;

 

Den siste linja gjør at det ikke veksler mellom -0 og 0, som det merkelig nok gjorde. Det eneste jeg gjerne skulle gjort, var å hatt den til å vise "Topp" på 100 % og "Bunn" på 0 %, jeg har lagt inn spørsmål på ESP-delen av Home Assistant-forumet. Får se om det er noen som har en lur løsning der.

 

Link to post
Share on other sites

Knall! Dette begynner jo å ta form. Den mappefunksjonen var jo enkel og grei. Antar -0 er når verdien blir litt under null, kan være noen lesninger går under minimum. For å bytte 0/100 til topp/bunn tenker jeg å kjøre verdien gjennom en sløyfe og konvertere tallet til en streng og så bare dytte inn topp/bunn i strengen når verdien er lik 0/100. Pass evt på at ikke-synlige desimaler kløner til en sammenligning. Kanskje like greit å lage integer av variabelen først. Men dette er Arduino-tenking, kan garantert realiseres i ESPhome uten at jeg aner hvordan 😁

Link to post
Share on other sites

Ja, hadde dette vært LUA eller Python, skulle jeg klart det på et par minutter. ESPHome-YAML er mer som gresk for en som snakker norsk... Men om jeg må nøye meg med dette, kan jeg jo kjøre det innom Node-RED og ta konverteringen der (en switch som ved 0 setter payload til topp, 100 til bunn og bruker andre verdier i payloaden). Men jeg håpte at jeg kunne kjøre det direkte inn. Vi får se om noen ESPHome-folk kan gi meg et tips der. De beste har en tendens til å si noe i retning av RTFM, men det betinger jo både at man forstår alt som står der og vet hvor man skal lete... :giggle:

Link to post
Share on other sites

Sikkert. Men jeg stresser ikke med det, det er jo ren kosmetikk. Jeg har nå gått over fra breadbord-oppsettet. og jeg må si at det fins noen milepæler i enhver manns liv. Det første skrittet. Begynne på skolen. Begynne på ungdomsskolen. Begynne på videregående. Det første skrittet. Å bli russ. Og størst av alt: Det første egenloddede kretskortet, som til og med fungerer! 😁

 

Ingen beskrivelse er tilgjengelig.     Ingen beskrivelse er tilgjengelig.

 

image.png.c57b103f36a0d764eec25df4e6a9e528.png

 

Jeg har tenkt å bruke smeltelim på baksiden for å sikre de tynne ledningene og på forsiden over loddingene. Men kan jeg støpe inne hele greia i smeltelim, så jeg også dekker motstandene med det? Eller går de varme når de ikke har noen luftkjøling?

Link to post
Share on other sites

Helt klart en viktig milepæl med egenloddet kretskort 😅 Jeg pleier også å sause litt inn med smeltelim når jeg er helt fix ferdig med testing. Men jeg ville vært litt skeptisk til de små motstandene i kretsen med sensor der det går litt mer strøm. Hvis de blir merkbart varme når dingsen står på en stund så kan det gjerne være greit å ikke kapsle de inn. 

Link to post
Share on other sites

Det var en av feilkoblingene mine da jeg misforsto ohm og K. Nybegynnertabbe, og det blir nok flere av dem... For neste skritt er å lage en tilsvarende til en annen føler. :giggle: Tror du forresten jeg kan bruke 3.3V fra den ene Pi-en til to følere, eller bør jeg ha en egen pi på den andre? Den andre er en amerikansk system, 33-240 ohm, istedenfor 180-0.

Link to post
Share on other sites

Mastiff skrev for 13 timer siden:

Det var en av feilkoblingene mine da jeg misforsto ohm og K. Nybegynnertabbe, og det blir nok flere av dem... For neste skritt er å lage en tilsvarende til en annen føler. :giggle: Tror du forresten jeg kan bruke 3.3V fra den ene Pi-en til to følere, eller bør jeg ha en egen pi på den andre? Den andre er en amerikansk system, 33-240 ohm, istedenfor 180-0.


Fort gjort det ja! Klarte selv å lage litt fyrverkeri for ikke så lenge siden da jeg hadde fått meg noen flotte tantal-kondensatorer men ikke fått med meg at disse har + og - side (i motsetning til keramiske..).

 

Det går såpass lite strøm i de kretsene at det bør være null problem å rigge en til på samme pi. På 240-33 Ohm bør det holde med en stk 180 Ohms motstand i serie da selve sensoren aldri går til 0 så problemet med unøyaktig avlesning i topp/bunn løser seg av seg selv. 

Link to post
Share on other sites

Har endelig fått litt fortgang på prosjektet som har ligget og blokkert køen på laben: teller for antall meter utlagt kjetting på ankervinsj foran. Den var ferdig rigget på breadboard for flere år siden men tapte kampen mot Lithiumeventyret en stund. I mellomtida gikk jeg bort fra fysisk display og over til web-grensesnitt. Og da var det like greit å legge til fjernkontroll for vinsjen også. En pulsteller og magnet teller omdreininger på aksling på vinsjmotor. Et bistabilt dobbeltrelé sørger for at den slås på automatisk når jeg er bortpå vinsjeknappen (som jeg må uansett for å løsne ‘haikjeften’). Slår seg av automatisk etter 30 min evt kan holdes ‘i live’ om jeg ønsker å trekke båten ut og slakke av senere. Strømtrekk i standby ca 12 mA.

 

 

 

IMG_4423.jpeg

IMG_4418.jpeg

IMG_4420.jpeg

IMG_4421.jpeg

IMG_4422.png

Link to post
Share on other sites

Det blir vel som med alt annet vanntett... :lol: Jeg har nesten bare Clas' vanntette bokser av denne typen, som fins i to størrelser:

 

68115867009054.jpg

 

Og så borer jeg og smeltelimer gjennomføring av vanlige kabler uten store plugger, mens jeg bruker vanntette Scan Strut-kabelgjennomføringer fra Maritim til blant annet USB, der jeg vil kunne ta ut pluggen om jeg trenger å ta boksen ut av båten:

 

SCANSTRUT DS16-P Kabelgjennomføring Grå, kompositt, kabel 2-8mm

 

Etter tre år har ingenting blitt skadet så langt i disse boksene.

 

Jeg bruker denne fra Biltema til USB-nettverkskortet på taket:

 

active image

 

Men siden den står så utsatt til, har jeg brukt Gorillas gjennomsiktige teip rundt overgangen mellom lokket og boksen. Det ser ut til å funke greit så langt.

Link to post
Share on other sites

Har også brukt CO boksen og den gjør for øyeblikket tjeneste i kjølsvinet på kameratbåt der den har blitt dynket i regnvann opptil flere ganger.

 

For gjennomføring bruker jeg ofte de grønne koplingene som skimtes på bildene. Hanndelene har små stifter på baksida som jeg borer litt trange hull til og så smekker jeg de på plass med smeltelim. Er veldig greit når en skal kople for slipper å ha boksen hengende i kablene hele tida!

 

Når er det bare en ørliten innspurt igjen på dette prosjektet, så kan jeg begynne på radabasert septikmåler som jeg har hatt liggende delene til en stund 😎 I mellomtida ser jeg at Globius har tatt til vettet og laget en modell med dette måleprinsippet 😇

Link to post
Share on other sites

4 hours ago, Fantino said:

Globius har tatt til vettet og laget en modell med dette måleprinsippet

 

Har installert en slik. Hadde litt plunder med det. Tenkte å bruke den ohmske utgangen mot min Cerbo GX. Viste seg at den ikke var lineær slik som web grensesnittet. Skuffet. Klaget til produsent og fikk byttet til en versjon 2 av denne. Da fungerte det en kort stund. Ga opp den utgangen, og har nå kjøpte en Victron Tank 140 med 4-20ma inngang. foreløpig virker dette. Så får vi se.. Funker det stabil, blir det slike på alle tankene ombord.

Link to post
Share on other sites

Delta i diskusjonen

Du kan skrive innlegget nå, det vil bli postet etter at du har registrert deg. Logg inn hvis du allerede er registrert.

Guest
Svar på dette emnet

×   Du har postet formatert tekst..   Fjern formattering

  Only 75 emoji are allowed.

×   Innholdet du linket til er satt inn i innlegget..   Klikk her for å vise kun linken.

×   Det du skrev har blitt lagret.   Slett lagret

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...