Ohne gemeinsame Masse Messen?

Allgemeine Themen rund um den Propeller Mikrocontroller und Elektronik
Antworten
DJLinux

Ohne gemeinsame Masse Messen?

Beitrag von DJLinux »

Ich probiere gerade mein Geburtstagsgeschenk ein einfaches VOLTCRAFT VC170 Multimeter an meinem VGA Treiber aus und stelle fest das ich mit nur einer Messstrippe 59.5 Hz. messe was auch stimmt aber wie funktioniert das ohne gemeinsamer Masse?

Bei meinem Oszi verstehe ich es weil Schaltung und Oszi eine gemeinsame Masse über die 230V haben aber das Multimeter hat ja eine Baterie und keine verbundene Masse zur Schaltung.

Grüsse Joshy
Benutzeravatar
oog
Beiträge: 103
Registriert: Do 30. Jul 2009, 14:12
Kontaktdaten:

Re: Ohne gemeinsame Masse Messen?

Beitrag von oog »

DJLinux hat geschrieben:Ich probiere gerade mein Geburtstagsgeschenk ein einfaches VOLTCRAFT VC170 Multimeter an meinem VGA Treiber aus ...
Na, das ist ja mal ein sinnvolles und nützliches Geschenk. :D
DJLinux hat geschrieben: ... und stelle fest das ich mit nur einer Messstrippe 59.5 Hz. messe was auch stimmt aber wie funktioniert das ohne gemeinsamer Masse?
Stichwort "Brummspannung", würde ich mal annehmen.
Der Eingang des Multimeters (oder Oszilloskops) ist sehr hochohmig. Die 59,5 Hz entsprechen wohl der VGA Bildfrequenz (60 Hz mit etwas Messtoleranz).

Die schwarze Messleitung ist, wenn sie nicht mit der Schaltung verbunden ist, über einen "parasitären Kondensator" mit der Umgebung (Gnd) verbunden. So kann zwischen beiden Messleitungen ein Potentialunterschied auftreten, die einen Messwert liefert.

Durch den hochohmigen Eingang des Messgeräts können beispielsweise auch über die Luft eingefangene Spannungen zu einem Messwert führen. Die Messleitung wirkt dann als Antenne.
DJLinux hat geschrieben:Bei meinem Oszi verstehe ich es weil Schaltung und Oszi eine gemeinsame Masse über die 230V haben aber das Multimeter hat ja eine Baterie und keine verbundene Masse zur Schaltung.
Dein Hive wird wohl über einen Trafo oder ein Netzteil versorgt. :?: Dann hat er keine Verbindung zur Erdung, wenn Du nicht einen Schutzleiter (gelb-grün) mit GND des Hives verbunden hast.

Du hast dann bei der Messung mit Oszilloskop keine Verbindung über den Schutzleiter. Trotzdem siehst Du etwas.

Gruß oog. :B4
DJLinux

Re: Ohne gemeinsame Masse Messen?

Beitrag von DJLinux »

Aha Danke mal wieder etwas schlauer geworden.

PS. Es sind wirklich "nur" 59.5Hz habe es nachgerechnet.

Code: Alles auswählen

CON
  _CLKMODE = XTAL1 + PLL16X
  _XINFREQ = 5_000_000

OBJ
  vga : "obj_vga.spin"
  
PUB Main | i
  vga.start(16)  ' first pin (no param)
  repeat

Code: Alles auswählen

''****************************************
''* VGA 640x480 ~60Hz. (2D gfx driver)   *
''* (C) 2009, DJLinux (d.j.peters@web.de *
''****************************************
CON
  PixelFreq      =   25 'MHz = 59.5Hz.  

  'Horizontal line timing
  'Scanline part   Pixels     Time [µs] 
  LineVisibleArea  = 640 ' 25.422045680238 
  LineFrontPorch   =  16 '  0.63555114200596 
  LineSyncPulse    =  96 '  3.8133068520357 
  LineBackPorch    =  48 '  1.9066534260179 
  'Whole line      = 800 ' 31.777557100298 

  'Vertical frame timing
  'Frame part       Lines     Time [ms] 
  FrameVisibleArea = 480 ' 15.253227408143 
  FrameFrontPorch  =  10 '  0.31777557100298 
  FrameSyncPulse   =   2 '  0.063555114200596 
  FrameBackPorch   =  33 '  1.0486593843098 
  'WholeFrame      = 525 ' 16.683217477656
 
  'Polarity of V/H sync pulse
  HSS     = 1  ' horizontal sync state (0|1)
  VSS     = 1  ' vertical   sync state (0|1)
  HVSSOFF = (HSS << 1 + VSS) * $0101

VAR
  long Cog

PUB Start(Pin)
  Stop
  CFG := %0_01_1_00000_00000000000_000_0_11111111 + (Pin & %111000) << 6
  DIR := $FF << (Pin & %011000)
  if (Cog := CogNew(@entry,0) + 1)
    return TRUE
  
PUB Stop
  if Cog
    CogStop(Cog~ - 1)
    Cog:=0

DAT       ORG 0
Entry
  mov     DIRA,DIR                   
  movi    CTRA,#%00001_101 ' videomode PLLDIV=VCO/4
  movi    FRQA,#(PixelFreq/5)<<3
  mov     VCFG,CFG ' config
                          
FrameLoop
  mov     LineCounter,FVA ' frame_visible_area
  mov     ColorCounter,#0
  call    #fSync
  :LineLoop
    mov     LongCounter,LVA  ' line_visible_area
    shr     LongCounter,#4   ' longs_per_visible_area
    mov     VSCL,SCL         ' 1 clocks per pixel 16 clocks per long
    mov     Color,ColorCounter
    shl     Color,#2
    and     Color,M_COLOR
    or      Color,hvOff
    add     ColorCounter,#1
    and     ColorCounter,#63
    :LongLoop
      waitvid Color,Pixel1
    djnz    LongCounter,#:LongLoop
    mov     Syncs,#1
    call    #hSync
  djnz    LineCounter,#:LineLoop
jmp     #FrameLoop

' create frame sync impulse
fSync
  mov     Syncs,FFP  ' frame_front_porch
  call    #lSync
  mov     Syncs,FSP  ' frame_sync_pulse
  call    #tSync
  mov     Syncs,FBP  ' frame_back_porch
  call    #tSync
fSync_ret
  ret
  
' togle sync bits
tSync
  xor     hvSync,hvTogle     ' togle sync bits
lSync
  mov     VSCL,LVA           ' line_visible_area
  waitvid hvSync,#0          ' colordef 0
  
' create line sync pulse   
hSync
  mov     VSCL,LFP           ' line_front_porch
  waitvid hvSync,#0          ' colordef 0
  mov     VSCL,LSP           ' line_sync_pulse
  waitvid hvSync,#1          ' colordef 1
  mov     VSCL,LBP           ' line_back_porch
  waitvid hvSync,#0          ' colordef 0
  djnz    Syncs,#lSync
hSync_ret
lSync_ret
tSync_ret
  ret
  
' line
LVA       long LineVisibleArea
LPVA      long LineVisibleArea >> 4  
LFP       long LineFrontPorch 
LSP       long LineSyncPulse 
LBP       long LineBackPorch
' frame 
FVA       long FrameVisibleArea
FFP       long FrameFrontPorch 
FSP       long FrameSyncPulse 
FBP       long FrameBackPorch
 
DIR       long 0
CFG       long 0
SCL       long 1 << 12 + 16 ' 1 clocks per pixel 2 BPP = 16 clocks per long

M_COLOR   long $FCFCFCFC
hvTogle   long %%0001_0001_0001_0001
hvOff     long  HVSSOFF<<16 | HVSSOFF
hvSync    long (HVSSOFF<<16 | HVSSOFF) ^ $200

Pixel1    long %%0000_0000_0000_0000
Pixel2    long %%3333_2222_1111_0000

ColorCounter    long 0
LongCounter     RES 1
LineCounter     RES 1
Color           RES 1
Pixel           RES 1
Syncs           RES 1

                FIT 496
Zuletzt geändert von DJLinux am So 4. Okt 2009, 02:25, insgesamt 1-mal geändert.
DJLinux

Re: Ohne gemeinsame Masse Messen?

Beitrag von DJLinux »

Ich messe und teste lieber auf dem Steckbrett und habe mir einen SD, VGA und TV Adapter gebastelt.

Grüsse Joshy
Dateianhänge
VGA_SD_BreadBoard.JPG
DJLinux

Re: Ohne gemeinsame Masse Messen?

Beitrag von DJLinux »

Wenn ich mit obrigem Code alle 64 Farben ausgebe jede Zeile eine andere dann sind die Ränder ziemlich ausgefranst zwar nicht so doll wie auf dem Bildschirmfoto das ist größer als die Wirklichkeit.

Ist das auf Euren Monitoren auch?

Bunte Grüsse

Joshy
Dateianhänge
ausgefranst.JPG
DJLinux

Re: Ohne gemeinsame Masse Messen?

Beitrag von DJLinux »

DJLinux hat geschrieben:Ist das auf Euren Monitoren auch?
Kann das nicht mal jemand BITTE testen?

Grüsse und Danke

Joshy
Ingo
Beiträge: 42
Registriert: Sa 12. Sep 2009, 18:10

Re: Ohne gemeinsame Masse Messen?

Beitrag von Ingo »

auf 12"-TFT - Ausfransen ist nicht direkt erkenbar, der Monitor extrapoliert ja die 640 x 480 Punkte auf 1024 x 768.

Die linke Kante sieht aber etwas schräg <edit: besser treppenförmig> aus, siehe Foto <edit: "schräg" hielt ich den Fotoapparat>.

Gruß Ingo.
Dateianhänge
auf 12&quot; 1024 x 768 Pixel Monitor
auf 12" 1024 x 768 Pixel Monitor
Zuletzt geändert von Ingo am Do 8. Okt 2009, 20:07, insgesamt 1-mal geändert.
_____________________________________________________________________
Bitte bestätigen Sie den Verlust Ihrer Daten mit <ENTER>.
Press any key to continue, or any other key to abort. . . . . . . . . . // Drohne103
Benutzeravatar
oog
Beiträge: 103
Registriert: Do 30. Jul 2009, 14:12
Kontaktdaten:

Re: Ohne gemeinsame Masse Messen?

Beitrag von oog »

Ja, dann teste ich mal, hab gerade etwas Zeit... :)

Das Binary heißt bei mir testvga.bin ... mal starten... (Bild 1)

Mein Gott ... ist das ausgefranst ... (Bild 2)

... und auf dem TV! Am VGA-Port tut sich nix. :shock:

Nach einem Blick ein den Quellcode

Code: Alles auswählen

PUB Main | i
  vga.start(16)  ' first pin (no param)
  repeat
checke ich nochmal den Schaltplan... VGA fängt doch mit Pin 8 an.

Also schnell geändert, neu compiliert und getestet, ;)

(Bild 3-5)

Am linken Rand ist alles glatt bzw. der Strahl wird ab dem ersten Pixel gezeichnet.
Am rechten Rand gibt es einen Treppeneffekt. Die Länge der horizontalen Linie scheint mit der Helligkeit zuzunehmen.

Joshy, lass doch mal eine senkrechte Linie in der Mitte zeichnen und sieh, ob sie gerade ist oder auch diese Stufen hat.

Gruß, oog :B4
Dateianhänge
Test1_tv.jpg
Test2_tv.jpg
Test3_vga.jpg
Test4_links.jpg
Test5_rechts.jpg
DJLinux

Re: Ohne gemeinsame Masse Messen?

Beitrag von DJLinux »

Danke Euch für das Testen.
Ich habe eine VGA Verlängerung zwischen Switchbox und Monitor gegen eine hochwertigere getauscht damit sieht das Signal hier schon viel brauchbarer aus.

Grüsse Joshy
Antworten