Autoelektronika - mérések

Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00

fesz mérés

Hozzászólás Szerző: szasza7103 »

Sziasztok!


Nem kicsit kezdő vagyok a témában.
A feladat a következő lenne:
Az autóban lévő üzamanyag szintjelző jelet kellene megmérnem avr-el ,ajd lcd-re ki irni.
Van valamilyen cél áramkör vagy ötlet arra hogyan lehetne leolvasni ezt a 0-12V jelet beolvasni?


Üdv!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Visszakérdezek a fórum alapjai mentén:
- milyen elképzelésed van?
- milyen előismereted?
- mivel akarod megvalósítani?
- milyen nyelven?
- mi áll rendelkezésre?

http://avr.tavir.hu/modules.php?name=Fo ... opic&t=828
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A 60 nap Arduino tanfolyamot meglested?


Ha ADC:
http://avr.tavir.hu/modules.php?name=Co ... age&pid=29
Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00

Hozzászólás Szerző: szasza7103 »

Bocsánat így utólag tényleg elég homályos a kérdésem!
Atmega32 avr az alap bascom nyelven programozva.
Nem is annyira a programozás oldala a nehézkes hanem inkább a megfelelő
megoldás kiválasztása. Az ADC nagyjából tiszta a bascom könyv alapján.
A teljes projekt egy fedélzeti computer lesz régebbi autó tipusokba pl skoda felicia. Mérni kellene a feszültséget ,üzemanyag szintet és motor hőfokot. Kézenfekvő az a megoldás számomra ha a különböző hőmérők helyett használnám az autó saját hőmérőjét mivel az ott van a műszerfalban. Ebből az elgondolásból született az is miért ne használhatnám fel a meglévő üzemanyag szint jelzőt az autóból, hiszen ezek a kis műszerek is feszültséggel működnek. Valahogy le kellene másolnom ezeket az értékeket a műszerekről és az avr által használhatóvá alakítani.
Remélem nem volt túl kusza a leírásom! :wink:

Üdv!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Feszültségérzékelés/másolásra csak az jöhet szóba, ami nem terhel be:
- műveleti erősítő.
- a jelszint 12->5V átalakításhoz a műveleti erősítő "erősítése" 5/12 legyen.
- innen az AVR ADC-jével simán mérsz már....
Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00

Hozzászólás Szerző: szasza7103 »

Hát elgondolkodtató amit írtál és köszönöm!
Kicsit utána kell járnom ennek.
meg kérdezném a véleményed erről a megoldásról is.
http://www.avrprojects.info/files/media ... ircuit.gif
és a kód hozzá:

$regfile = "m8def.dat"
$crystal = 4000000

'$ baud = 2400

Config Timer0 = Timer, Prescale = 8

Dim Timecount As Word: Timecount = 0
Config Adc = Single, Prescaler = Auto, Reference = Internal


Enable Interrupts
Enable Ovf0
On Ovf0 Overflow_isr
Tcnt0 = &H19

Dim I As Byte
Config Pinc.5 = Input

Config Portd = Output
Portd = 0
Config Pinb.0 = Output
Portb.0 = 0
Config Pinb.1 = Output
Portb.1 = 0
Config Pinb.2 = Output
Portb.2 = 0
Config Pinb.3 = Output
Portb.3 = 0

Dim L (10) As Byte
L(1) = &B11111100
L(2) = &B10001001
L(3) = &B10011000
L(4) = &B10110100
L(5) = &B10010010
L(6) = &B10000010
L(7) = &B11111000
L(8) = &B10000000
L(9) = &B10010000
L(10) = &B11000000
Dim Le(10) As Byte
Le(1) = &B01111100
Le(2) = &B00001001
Le(3) = &B00011000
Le(4) = &B00110100
Le(5) = &B00010010
Le(6) = &B00000010
Le(7) = &B01111000
Le(8) = &B00000000
Le(9) = &B00010000
Le(10) = &B01000000
Dim Channel As Byte
Dim W As Long
Dim Ss As Byte
Dim Ad As Long
Dim S (4) As String * 1
Dim Sa As String * 5

Dim Sl (4) As Byte 'Show variables

Do

'------------------------------------ Battery voltage detection
W = 0
Ss = 1
Ad = 0
For Ss = 1 To 20
Start Adc
Channel = 5
W = Getadc (channel)
Stop Adc
Ad = Ad + W
Next Ss
Ad = Ad / 20
Ad = Ad * 2560
Ad = Ad / 1023
Ad = Ad * 10



If Ad <1000 Then
Sa = Str (ad)
Sa = Format (sa, "000")

S (1) = Mid (sa, 3, 1)
S (2) = Mid (sa, 2, 1)
S (3) = Mid (sa, 1, 1)
'S (4) = Mid (sa, 1, 1)
I = Val (s (1))
If I = 0 Then
Sl (1) = L (10)
Else
Sl (1) = L (i)
End If

I = Val (s (2))
If I = 0 Then
Sl (2) = L (10)
Else
Sl (2) = L (i)
End If

I = Val (s (3))
If I = 0 Then
Sl (3) = L (10)
Else
Sl (3) = L (i)
End If


Sl (4) = Le (10)

End If



If Ad> = 1000 And Ad <10000 Then
Sa = Str (ad)
Sa = Format (sa, "0000")

S (1) = Mid (sa, 4, 1)
S (2) = Mid (sa, 3, 1)
S (3) = Mid (sa, 2, 1)
S (4) = Mid (sa, 1, 1)
I = Val (s (1))
If I = 0 Then
Sl (1) = L (10)
Else
Sl (1) = L (i)
End If

I = Val (s (2))
If I = 0 Then
Sl (2) = L (10)
Else
Sl (2) = L (i)
End If

I = Val (s (3))
If I = 0 Then
Sl (3) = L (10)
Else
Sl (3) = L (i)
End If

I = Val (s (4))
If I = 0 Then
Sl (4) = Le (10)
Else
Sl (4) = Le (i)
End If

End If

If Ad> = 10000 And Ad <100000 Then
Sa = Str (ad)
Sa = Format (sa, "0000")

S (1) = Mid (sa, 4, 1)
S (2) = Mid (sa, 3, 1)
S (3) = Mid (sa, 2, 1)
S (4) = Mid (sa, 1, 1)
I = Val (s (1))
If I = 0 Then
Sl (1) = L (10)
Else
Sl (1) = L (i)
End If

I = Val (s (2))
If I = 0 Then
Sl (2) = L (10)
Else
Sl (2) = L (i)
End If

I = Val (s (3))
If I = 0 Then
Sl (3) = Le (10)
Else
Sl (3) = Le (i)
End If

I = Val (s (4))
If I = 0 Then
Sl (4) = L (10)
Else
Sl (4) = L (i)
End If
End If

Waitms 200
'------------------------------------
Loop

End

Ha ez jó akkor a lényeget azaz a mérés részét majd ki vágom belőle és felhasználom.

Bár itt most épp eszembe jutott amit írtál(ez lehet terhelné az áramkört).
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A terheléssel megváltoztatod a mért eredményt.
Az ADC bemenete ~10k terhelést jelent még. Ezért a műveleti erősítő nem elhagyható - ha nem akarsz bezavarni az eredeti mérőkörökbe...
Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00

Hozzászólás Szerző: szasza7103 »

Köszönöm szépen Robert!

Megvan a házi feladatom:))
Elkezdek olvasgatni a műveleti erősítőkről vmi szakirodalmat.

Üdv!
Avatar
muszer
Biztosítékgyilkos
Hozzászólások: 50
Csatlakozott: 2009. december 28. hétfő, 7:00

Hozzászólás Szerző: muszer »

Milyen autóról van szó?
Hagyományos deprez műszer van beépítve a kocsiba?
Meg kellene mérni a műszer belső ellenállását, illetve hogy milyen feszültség esik rajta, különböző tank állásoknál.
A műszer belső ellenállásához képest egy párhuzamos ~10k (AVR bemenete) lehet hogy csak 1-2% hibát okoz, ami bőven belefér szerintem.
Avatar
szasza7103
Biztosítékgyilkos
Hozzászólások: 53
Csatlakozott: 2012. október 10. szerda, 6:00

Hozzászólás Szerző: szasza7103 »

skoda felica 1.3 mpi de ennél többet én se tudok jelenleg. A többi infohoz szét kéne bontani a müszerfalat amit max hétvégén tudok megtenni.
Mutatós analóg műszer de gondolom ez nem segít.
De az ötlet jó 1-2% simán belefér hiszen nem precíziós mérésről van szó.

Köszönöm!
Válasz küldése