Sida 1 av 1

Övervakning för tankar....

Postat: 13 januari 2007, 13:33:43
av anlamotte
Hej hallå..

Jag postar en tråd om ett projekt jag har hållt på med ett tag nu.
Det är så att min pappa har en segelbåt (han bor i Spanien) och
i en segel båt har man ett antal tankar för bla. färskvatten, disel m.m.

Jag har tagit på mig att hjälpa honom bygga en enkel övervakning för dessa tankar. Tanken är att man ska kunna se hur mycket som finns kvar i respektive tank, 'overfill' alarm samt få en indikering på 'öppen ventil'.

Dessutom måste enheten kunna anpasas för olika tankar. Man ska kunna
ge tankarna namn, ställa in volym, alarm och även kunna kalibrera för olika form som kan tankarna kan ha.

Jag har endast brytt mig av den digitala delen i detta projekt då min pappa själv är ganska duktig på analog elektronik och kan själv lösa givare och sådant.

Enheten består av en ATmega128 som valdes för sitt stora EEPROM mine, detta används för att spara kalibreringstabeller.

Enheten har 6 kanaler.

Lite bilder tyvärr ganska dålig pga usel kamera:
Bild
Kretskort.....


Bild
Färdiglött....


Bild
Baksidan...första gången jag löder TQFP :)

Bild
Display och sköna knappar..

Bild
Power on och 2 tankar inställda på prov

Bild

Bild

Bild
Jag gjorde även ett windows program för att kunna kommunicera
med enheten (rs.232) Bra vid felsökning!

Postat: 13 januari 2007, 13:36:53
av Limen
Ser ju kanoners ut! Vilken typ av givare kommer användas?

Postat: 13 januari 2007, 15:09:23
av sebastiannielsen
Vet inte hur du har löst kalibreringen, men om du har givare med väldigt bra upplösning, alternativt "analoga" givare, så kan man lösa kalibreringen så här:

Calibrate:
display1 = "1: Add 1 L to Wa1"
display2 = "Abort Redo Full Done"

(Användaren häller i exakt en liter vätska till tanken, med en literkanna, och trycker sedan på Done)

Display1: "2: Add 1 L to Wa1"

(detta upprepas till att användaren trycker på Full)

Abort = Avbryt kalibering
Redo = Starta kalibering på nytt (kräver att tanken är helt tom)
Full = Ange att tanken nu är full
Done = Kaliberingssteg utfört


När man tryckt på Full:

Display1 = "Rest of 1L> 00 cl"
Display2 = "Next Up Down Done"

första 0:an blinkar....
Med Up/Down-knapparna väljer man hur mycket som blev kvar av literkannan efter att man fyllt tanken helt, i tiotal.
Sedan Next för att gå till nästa siffra, för att ange ental, av det som blev kvar.
Sedan Done för att avsluta kaliberingen...

Postat: 13 januari 2007, 16:20:52
av anlamotte
Kalibreringen är gjord så att man inte måste ange kalibreringsdata för alla nivåer.

Om man t.ex har en 'standard' tank med raka kanter räcker det med att ange ett värde för lägsta och högsta nivå.

Programmet räknar sen ut verklig nivå linjärt mellan det närmaste lägre och det närmaste högre kalibreringsvärdet.

Detta är detta som syns på den sista displaybilden..

L:001 D:00100 A:0456

knappar i detta läge:

[prev] [next] [copy] [delete]

L = liter
D = data som finns i tabellen
A = data från AD omvandlaren

Här kan man välja att kopiera datan från AD till tabellen eller
tabort kalibreringsdatan för denna positionen...

Annars skulle det bli ganska jobbigt om man t.ex har en tank som rymmer 100liter att sitta och fylla 1 liter...trycka, fylla en till...trycka..osv....

Angående givare så vet jag inte ritkigt än. Det kan ju bli lite knepigt med tanke på att segelbåtar rör på sig och lutar ganska mycket..

Postat: 13 januari 2007, 16:43:03
av cosmox
Imponerande bygge!

:bravo: :tumupp:

Postat: 13 januari 2007, 17:08:54
av JimmyAndersson
Instämmer med föregående skrivare. :)

Gillar lösningen för monteringen av displayen och knapp-kortet. :tumupp:


När det gäller givare så fick jag en snabb tank(e) om att ha givare i varje hörn av tanken. Det blir lite mer uträkningar, men det kanske skulle fungera?

Postat: 14 januari 2007, 00:23:58
av Dennis_F
jag skulle inte överarbeta precisionen i systemet. Vattnet ligger ytterst sällan stilla i tanken då den är placerad i en båt.

Många kommersiella tankmätare för dricksvatten och avloppsvatten använder kapacitiva givare i form av 2st folieremsor som klistras på utsidan tanken. Detta fungerar ju dock bara om tanken inte är av metall =)

Anledningen till detta är att många givare som placeras innuti tanken oxideras bord eller täcks av sörja (om de sitter i avloppstanken dvs).

Kalibreringen brukar oftast skötas genom att man trycker in en knapp när tanken är tom, fyller tanken och trycker på knappen en gång till, klart.
Dock så får man inte direkt exakta värden om tanken är konformad eller liknande. Men det är ju sällan man behöver veta om det är 50 eller 60 liter kvar i en 100 liters tank. Finns det möjlighet att bunkra så gör man ju det.

Postat: 14 januari 2007, 09:17:01
av AndLi
Vi gjorde en givare för Spillolja och Gasol (EX klassad), Funkade genom att man körde en 1Mhz signal upp genom tanken underifrån, denna studsa sen på ytan och man mätte tiden. Funkade, men jag skulle nog inte rekomendera tekniken i en gungande båt, ekona studsar nog lite som de själv vill då.

Vi hade även överliggande 120Khz Givare som monterades i ett hål i toppen av tanken. Använders för smörjolja och annat inte så brandfarligt.

Tyvärr tror jag tillverkningen är nerlagd av dessa enheter nu... Men det är en ide om man gillar analogelektronik och filterteknik..

Postat: 14 januari 2007, 14:06:05
av dar303
snyggt bygge!

Min första tanke när jag såg rubriken var att det var nån "foliehatt" som var rädd för att någon avlyssnade hans tankar... :)