Sida 1 av 2

Batteri Temp/V/Ah mätning?

Postat: 6 juli 2007, 13:06:36
av Tomtenirc
Hej!

Jag är helt ny här på forumet, har sysslat en del med EL men det var många många år sedan. Är dock inte helt borta på att löda.

Nu är det så att jag tänkte börja med ett litet projekt, men jag behöver lite experthjälp. Tacksam för den feedback jag kan få :)

Så här ligger det till:
Jag vill bygga "en låda" (brist på fantasi?) som samlar mätdata med 1-10 sekunders intervall. Objektet som ska mätas är några bilbatterier (19st).
( Batteri: http://dagnyshorna.se/dokument/SAFT%20STM%20data.pdf )
(STM 5-100 MRE**)

Det ska ska mätas är:
1) Värmen, hur varmt blir batteriet i drift?
2) Volt
3) Ah

Detta ska kopplas ihop till en LCD display (möjligt med 1?) som visar mätdatan. Skulle vara bra med en lcd-display med 4 rader (16x4?) så det står:
Temp:
Volt:
Ah:
Ledig rad för ev framtida bruk.
En omkoppare för att bläddra mellan "batterierna" samt så tänkte jag koppla 19st dioder så man vet vilket batteri i ordningen man tittar på samt ytterligare 19st "varnings" dioder om det blir överhettning/låg volt (se nedan)

Nivåvakt på Volt, om V understiger 4,5V på batteriet så ska en "varnings" diod tändas som markerar det batteriet, samma sak gäller tempen om den skulle överstiga 75 grader.

I stort sett
19st batterier med övervakning (Temp/V/Ah) ska skicka mätdata hela tiden och det ska gå att bläddra mellan mätdatan med en display samt larmfunktion.

Jag har letat runt på ELFA men det är en djungel för en som inte hållit på i ett antal år nu :cry:

Jag skulle behöva hjälp med att hitta en tempsenor som går att ställa in ett span på max temp och om den överstiger värdet man matat in så lyser en röd diod som markerar vilket batteri som börjar gå sönder. Klarar denna av det?
Lysdioder jag tänkte använda (Röd och Grön)
Display, skulle denna fungera?
Vilken ICL krets/kretsar bör man använda för detta?
Jag hade sneglat lite på ICL 7135 (är inte alls insatt i detta tyvär) samt hur programmer man dom :roll:


Alla tips och idér är välkommna :o

Postat: 6 juli 2007, 14:08:08
av Mindmapper
Jag skulle nog påstå att ditt lilla projekt kanske inte är så litet.
DS1621 är ett vettigt val. Den är programerbar (åtminstone tempgränsen är programerbar.)
LED OK måste ha strömbegränsningsresistorer.
LCD OK
ICL....... nu börjar det krångla till sig LCD och drivkrets är inte kompatibla.
Du skulle behöva en generell enchipsdator, men det blir ett (edit: ganska)omfattande projekt, du behöver mer ändå. Hur mycket jobb vill du lägga ner på programmering?

Postat: 6 juli 2007, 14:14:37
av Tomtenirc
Efter att skrivit ner allt som jag vill göra så blir det inte så litet men man kan ta små steg på vägen :wink:

Självklart skulle jag vilja göra allt, även om detta kräver programmering.
Någon speciell enchipsdator du hade i tanke?

Postat: 6 juli 2007, 14:52:19
av Mindmapper
Själv tycker jag AVR, men andra halvan av forumet säger annat!
Det vore fint att hitta någon som hade mycket Analoga ingångar, men jag tror inte det finns med så många som du skulle behöva då behövs yttre kretsar för att göra omkopplig mellan alla mätpunkter.

En annan väg att gå är att satsa på många små mcu (micro controling unit) som sitter lokalt och mäter dina tre parametrar. Om någon är utanför eller på gränsen så meddelas en central mcu med LCD.

De små är billigare än en DS1621 och kan hantera dina tre parametrar och dessutom kommunikation till centralpunkten. Den vägen skulle jag gå. Jag skulle använda AVR tiny 2313 Edit:(får byta till tiny26 då den har mera Analoga) den kan användas både som de 19 och den centrala. Det är inte prisoptimerat däremot så enkelt som möjligt.
Edit3: http://www.atmel.com/dyn/products/produ ... rt_id=3229
Edit: du sätter då tre lysdioder på varje krets en för temp, V, Ah
Edit2: kanske inte Ah. Kanske en driftindikering som blinkar diskret.

Postat: 6 juli 2007, 15:16:08
av Mindmapper
De här ställena tycker jag är bra om man ska börja med assembler.
http://www.avrbeginners.net/
http://www.instructables.com/id/E5H5UDW ... /?ALLSTEPS
http://www.avr-asm-tutorial.net/avr_en/index.html

En till
http://www.avrprojects.net/
Dessutom Atmel AVR application notes sen är hela havet (Internet) fullt också.

Postat: 6 juli 2007, 15:29:50
av Tomtenirc
Mindmapper skrev:Själv tycker jag AVR, men andra halvan av forumet säger annat!
Det vore fint att hitta någon som hade mycket Analoga ingångar, men jag tror inte det finns med så många som du skulle behöva då behövs yttre kretsar för att göra omkopplig mellan alla mätpunkter.

En annan väg att gå är att satsa på många små mcu (micro controling unit) som sitter lokalt och mäter dina tre parametrar. Om någon är utanför eller på gränsen så meddelas en central mcu med LCD.

De små är billigare än en DS1621 och kan hantera dina tre parametrar och dessutom kommunikation till centralpunkten. Den vägen skulle jag gå. Jag skulle använda AVR tiny 2313 för att den är min standardkrets och den kan jag använda både som de 19 och den centrala. Det är inte prisoptimerat däremot så enkelt som möjligt.
Edit3: http://www.atmel.com/dyn/products/produ ... rt_id=3229
Edit: du sätter då tre lysdioder på varje krets en för temp, V, Ah
Edit2: kanske inte Ah. Kanske en driftindikering som blinkar diskret.
1) Vi kör på AVR då :D

2)Sant, det kanske är bättre att ha 1 mcu per batteri som sedan skickar mätdatan till en annan mcu med display, låter smidigast.

3) Nu tappar jag bort mig lite, DS1621 mäter enbart Temp. Vad rekommenderar du bör mäta V samt Ah?
Jag gissar på att du kanske menar denna när du pratar om "dom små tempmätarna: DS 18S20 som finns här:
Om du tycker ATtiny 2313 är bra så kör jag med den.

Postat: 6 juli 2007, 15:49:21
av Mindmapper
Jag har ändrat mig angående val av mcu.
I det här fallet är edit mega48 (inte tiny48) ett bättre val. Den har Analoga ingångar så det räcker samt seriekomunikation.
Du mäter temp, V och Ah med de analoga ingångarna. Ah ? vet ej riktigt men strömmen måste hållas reda på och mätas.
Det gäller att välja tempsensor som kopplas till AD-omvandlaren, V mäts direkt och I mäts som spänning över ett litet motstånd och räknas om till ström, exvis.
Måste isåfall veta vilka strömmar som kan tänkas komma ifråga?
Det går att använda 18s20 den behöver ingen AD-omvandlare eftersom den redan är digital, men det borde vara enklare och billigare att använda något annat..

Postat: 6 juli 2007, 18:28:52
av v-g
PIC är för de tuffa pojkarna. Sen "råkar" det finnas en på forumet(=sodjan) som säljer den i princip ultimata programmeraren för denna processor. Följer med bra support dessutom.

PIC och AVR är mer eller mindre samma sak finns otroligt mycket att hitta på nätet om dessa. Dessutom har den bättre assemblerutvecklingsmiljö (MPLAB)

Databladet känns bättre och mer arbetade till PIC. Allt man behöver veta står i dem. Lär man sig databladet slipper man nästan fråga om nånting alls.

Postat: 8 juli 2007, 12:40:19
av Tomtenirc
Mindmapper skrev:Jag har ändrat mig angående val av mcu.
I det här fallet är edit mega48 (inte tiny48) ett bättre val. Den har Analoga ingångar så det räcker samt seriekomunikation.
Du mäter temp, V och Ah med de analoga ingångarna. Ah ? vet ej riktigt men strömmen måste hållas reda på och mätas.
Det gäller att välja tempsensor som kopplas till AD-omvandlaren, V mäts direkt och I mäts som spänning över ett litet motstånd och räknas om till ström, exvis.
Måste isåfall veta vilka strömmar som kan tänkas komma ifråga?
Det går att använda 18s20 den behöver ingen AD-omvandlare eftersom den redan är digital, men det borde vara enklare och billigare att använda något annat..

Jag har ändrat mig angående mätning av Ah, det är inte nödvändigt, det viktigaste är Temp samt V.

om man kör mega48 som mcu, vad behöver jag för utrustning att programmera den?
Att programmera får jag helt enkelt lära mig och testa mig fram.

Angående valet av tempsensor 18s20 så skriver du att den ska kopplas till A/D omvandlaren och sedan att den inte behövs det då den är digital. Har du lust att utveckla?
Eller tror du att det är bäst att köra med DS1621?

Som jag förstår ska det även gå att programmera 18s20/DS1621 att den ska larma om temp överstiger en viss nivå, hur programmerar man denna? Är det även möjligt att koppla in en liten högtalare som larmar om temp blir för hög samt V blir för låg?
Samt hur programmerar man tempsensorn?

Vilken sensor/mätare kan man använda för att mäta V?
Det räcker om den kan mäta mellan 0-10V, mer behövs inte.
Samma sak här, om det finns larmfunktion som man kan ställa in om V går under 4.5V.


Tack för hjälpen än så länge för en som håller på att lära sig (igen) :D

Postat: 8 juli 2007, 12:47:37
av björn
Ds18s20 kommunicerar du med via en digital io-pinne på processorn enligt 1-wire protokollet. För spänningsmätning använder en av AD-ingångarna på ATmegan. För att få 0-10 V så får du göra en spänningsdelning med motstånd innan ingången och sedan programmerar du processorn för att larma vid vald spänning.

Postat: 8 juli 2007, 13:58:13
av Tomtenirc
björn skrev:Ds18s20 kommunicerar du med via en digital io-pinne på processorn enligt 1-wire protokollet. För spänningsmätning använder en av AD-ingångarna på ATmegan. För att få 0-10 V så får du göra en spänningsdelning med motstånd innan ingången och sedan programmerar du processorn för att larma vid vald spänning.
Hej Björn, kul att man får mer tips och idér :wink:

Så DS18s20 kan användas bägge som Temp OCH V mätare?
(Trodde den enbart användes som tempmätare.)

Så med andra ord får man köra 2st DS18s20 per batteri, 1 för digital(temp) mätning och den andra för analog V mätning?

Postat: 8 juli 2007, 14:09:23
av squiz3r
Jag tror du har miss förståt. För volt mätning behöver du ingenDs18S20 :) (?)

Postat: 8 juli 2007, 14:28:50
av björn
Nej, jag menade inte att du kunde använda ds18s20 för voltmätning. Du använder ds18s20 för temperaturen och sen använder du en av atmegans AD-ingångar för att mäta spänningen på batteriet.

EDIT: Du frågade efter programmerare för processorn, OM du väljer Atmels AVR serie (tex ATMega48) så kan du kolla ter lämpliga på www.lawicel.se -> programmerare. Har du fler frågor så e det bara att ställa dom, det finns alltid någon som har ideér/svar här :)

EDIT2: DS18S20 är en trevlig tempsensor men den är dyr som *** och det finns andra alternativ tex KTY 81 (kolla på elfa) eller LM335, dock är dessa analoga och kräver många AD.kanaler när du ska mäta på så många batterier. Ett sätt för att få "fler" AD-ingångar till din processor är att koppla en MUX till ingångarna (se tex 4051).

Postat: 8 juli 2007, 15:10:52
av Mindmapper
Tar man billigaste varianten av LM335 så kostar den runt 7kr. Då måste man nog förstärka signalen i en OP-förstärkare för att få den mera hanterbar för AD-omvandlaren. En OP samt ett par motstånd kostar ca 15kr.
Tar man en kapsel som har 4st OP så blir det billigare TL084 kostar 9kr. Att jämföra med 19 st 18S20 a' 60kr exkl moms.
Nu är kanske inte TL084 idealisk för den här tillämpningen men den fixar det.
Edit: Priser tagna från ELFA.

Postat: 8 juli 2007, 18:51:10
av Tomtenirc
LM335 med TL084 blir "lite" billigare än ds18s20 och det är juh en fördel :)
Men går det fortfarande att koppla larm till Temp i så fall?

För att mäta V från batteriet så kopplar man tråd direkt från Batteri + till ATMega48:ans analoga ingång, alltså ingenting imellan om jag förstår det rätt?? Alltså, från batteriet ---> mcu:n ?

Klarar ATMega48 av 19st analoga ingångar samt att man kopplar LCD:en till digital utgång? (se första post). Det blir inte för mycket jobb för den?

Frågor angående LM335
Vad är NC ut/ingångarna för något?
Vad betyder ADJ?

Frågor angående TL084
Man kopplar de 2 kablar som kommer från LM335 till 1IN- samt 1IN+ (exempel) och sedan från 1OUT till en av de analoga ingångarna på mcu:n ?


Tack för hjälpen och hoppas ni står ut med mina nybörjar frågor :D