fesz, ellenállás mérés -> AVR

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
pajapan
DrótVégénSzéndarab
Hozzászólások: 21
Csatlakozott: 2008. január 3. csütörtök, 7:00

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

Köszönöm, ezzel fogok bírkózni!
paja
Avatar
pajapan
DrótVégénSzéndarab
Hozzászólások: 21
Csatlakozott: 2008. január 3. csütörtök, 7:00

Feszültség kijelzése

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

Hali!
Lehet senkit sem érdekel, de számomra nem volt világos a sok példából, hogy hogy is kell megépíteni egy fesz.mérőt.
Az ADC tized pontosságú, azt mérem műszerrel amit az AVR-is mutat az LCD-n.
Nehezen megszültem, s most kirakom ide. Bár biztosan lehet egyszerűbben/másképpen, de ez működik a demo panelomon.

' Mérési tartomány: 00.0V - 55.1V(képesség, én csak 25V-ig próbáltam)
' Feszültség osztó :22k/2.2k
' Mért fesz:(Pl.: )19V=(W)353; 24.6V=(W)456;
' PC5-re jutó fesz. 19V esetén=1.72V (nekem 19V-24.6Vközött van szükségem a mérésre)
' W= WORD változó
' Uref=5V;100nF kondival; bemenet 5.1V-os zenerrel védve,
' 1024=5V ;1024/5V= 204.8; (Pl.:19V)353/204.8 =1.72V;
' 19V/1.72V= 11.04
' W/204.8= U osztó;
' U osztó*11.04=LCD kiirja a feszt 0.00 alakban.
' ---------------------------------------------------------------------------
'$sim
$regfile = "m88def.dat" ' Atmega 88 PU 20
Config Adc = Single , Prescaler = Auto
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6
Config Lcdpin = Pin , Db7 = Portd.7 , E = Portb.2 , Rs = Portb.7
Config Lcd = 16x2
Dim W As Word
Dim B As Single
Dim B1 As Single
Dim P As String * 4
Cls
Start Adc
Cursor Off Noblink
Do
W = Getadc(5) 'PC5/28-as láb
B = W / 204.8 ' W/204.8= Uosztóról lábra jutó fesz.
B1 = B * 11.04 ' osztón fesz *11.04
P = Fusing(b1 , "00.0") ' Kapott eredmény formázása
Home
Lcd "Fesz: " ; P ; " Volt" ' Kiírása
Loop
End 'end program
Avatar
pajapan
DrótVégénSzéndarab
Hozzászólások: 21
Csatlakozott: 2008. január 3. csütörtök, 7:00

Feszültség kijelzése

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

Nem vagyok gyakorlott fórumozó, így az előbb elfelejtettem írni, hogy köszönöm a segítséget, nem tudtam volna "megszülni"a megoldást nélküle!
Viszont remélem, tudtam valakinek segíteni!
További jó munkát/szórakozást kívánok: Paja
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

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

Jobb későn írni mint soha.

Szóval én is ilyent csinálgatok és én olyant találtam ahol 20* leolvassák összeadják. Gondolom a pontosság miatt. Még nem teszteltem hogy pontosabb e valóban. Ők erre esküszek.

Kód: Egész kijelölése

      Config Adc = Single , Prescaler = Auto , Reference = Aref       
      Vd(1)=0
      For B = 1 To 20
         Start Adc
         Channel = 0
         V = Getadc(channel)
         Stop Adc
         Vd(1) = Vd(1) + V
      Next B
Válasz küldése