Forum: Mikrocontroller und Digitale Elektronik Frequenzmessung Erdung


von André K. (deadfish001)


Lesenswert?

Hallo erstmal ich bin neu ihr und da ich schon seit einen sehr langen 
Zeitraum um ein Problem kämpfe. Hab es mal zu Seite gelegt doch es reizt 
mich wieder es zu reparieren.

Also ich versuch es mal ausführlich zu beschreiben.

Es handelt sich ihr um ein altes Schulprojekt es besteht aus einen 
Netzgerät
(altes Ladekabel 5V DC ~100mA), ein PIC16F887 10.000Hz Quarz ein 
LC-Display

Das Programm des µC versuch ich mal zu beschreiben ich habe den Code 
leider nicht mehr. Das Programm liest per TMR0 ein TTL Signal ein und 
liest die Hz Zahl aus und gibt es auf dem LC-Display aus das 
funktioniert ja einwandfrei.

Der einlese punkt ist mit ein Kupferkabel (isoliert Star 0,25) am TMR0 
Port angeschlossen so da ist das Problem.

Das Problem:
Sobald das Kupferkabel (0.25 Quadrat Star) am Pin angeklemmt wird zeigt 
er auf dem LC-Display ein wert von genau 80HZ ohne ein Messung. Ohne 
Kabel zeigt er ein wert  von 0HZ sobald ich aber das Kabel auf dem Minus 
Pol lege zeigt er 0Hz wieder an oder wenn eine Messung durchgeführt wird 
zeigt er den richtigen Wert an.

Die Frage:
Habt ihr eine Lösung ob ich das Kabel vielleicht noch mit einen 
Kondensator auf Minus gelegt lösen könnte ? Bei mir war es ohne erfolg 
und ich weis auch nicht mehr so weiter.

von npn (Gast)


Lesenswert?

André Kä schrieb:
> Ohne
> Kabel zeigt er ein wert  von 0HZ sobald ich aber das Kabel auf dem Minus
> Pol lege zeigt er 0Hz wieder an oder wenn eine Messung durchgeführt wird
> zeigt er den richtigen Wert an.

Bahnhof!

Was ist zum Beispiel ein "Quadrat Star"?
Und welches Kabel willst du auf welches Minus legen?

Versuch doch mal in aller Ruhe das Problem zu beschreiben.
Ein Schaltplan wäre auch gut.

von André K. (deadfish001)


Lesenswert?

Ich entschuldige  ich für die Verwirrung es sollte Quarz heißen.

Es handelt sich hierbei um ein Stares kabel und nicht flexibel.

Auf den 0Kraft Sockel für Pic16F887 habe ich ein kabel zum anschließen 
für die zu mittelnde Frequenz z.b von einen NE555

starte ich das Programm so zeigt er mir ein wert von 0HZ auf dem LCD an 
klemme ich das Kabel dazu am Port TMRO zeigt er mir ein wert von 80Hz an
ohne das ich was messen möchte.

von npn (Gast)


Lesenswert?

Das sieht mir sehr nach einem Programmfehler aus. Aber auch die 
Beschaltung des µC kann man nicht ausschließen (Abblock-Cs, Masseführung 
usw.).
Ich habe allerdings mit PIC noch nicht viel gemacht und kann nicht 
sagen, daß ich mich damit auskenne.
Deswegen würde ich vorschlagen, du stellst mal einen Schaltplan hier 
rein und auch ein Listing des Programmes auf dem PIC. Dann kann dir 
sicherlich irendwie geholfen werden. Vieleicht auch ein Foto von deinem 
Aufbau.

von André K. (deadfish001)


Angehängte Dateien:

Lesenswert?

Stelle mal die Fotos rein den Schaltplan und das Programm muss ich 
suchen ist jetzt fast ein halbes Jahr her

von André K. (deadfish001)


Lesenswert?

Habe das Programm noch gefunden :
1
program Frequenzmessung
2
3
dim LCD_RS as sbit at RB0_bit
4
    LCD_EN as sbit at RB1_bit
5
    LCD_D4 as sbit at RB4_bit
6
    LCD_D5 as sbit at RB5_bit
7
    LCD_D6 as sbit at RB6_bit
8
    LCD_D7 as sbit at RB7_bit
9
10
    LCD_RS_Direction as sbit at TRISB0_bit
11
    LCD_EN_Direction as sbit at TRISB1_bit
12
    LCD_D4_Direction as sbit at TRISB4_bit
13
    LCD_D5_Direction as sbit at TRISB5_bit
14
    LCD_D6_Direction as sbit at TRISB6_bit
15
    LCD_D7_Direction as sbit at TRISB7_bit
16
17
dim
18
Periodendauer as word
19
20
Ausrechnung  as string[3]
21
Hz as integer
22
wert as char[16]
23
24
sub procedure Port
25
26
       TRISA = %00010000        'PortA.4 ist ein Eingang
27
       PORTB = 0
28
       TRISB = 0
29
       PORTB = 0xFF
30
       TRISB = 0xFF
31
       ANSEL  = 0              'Analogen Eingänge sind aus
32
       ANSELH = 0
33
       TRISC =  %1111111        'PortC ist ein Eingang
34
       TRISD =  %00000000       'PortD ist ein Ausgang
35
       intcon = %10000000       'Aktivierung von TMR0
36
       option_reg = %00101000   'Timer 0 bei steigener Flanke ohne Vorteiler
37
38
end sub
39
40
41
42
sub procedure ausgabe
43
       'Frequensauslessen
44
     Lcd_Cmd(_LCD_CLEAR)                 'Lösche Display Text
45
     WordToStr(Periodendauer,Ausrechnung)'Wandelt Byte in Dezimal um
46
     lcd_Out(1,4,Ausrechnung)            'Gibt den wert auf dem LCD Display aus
47
     lcd_Out(1,9,wert)            'Gibt den wert auf dem LCD Display aus
48
     PORTD = TMR0
49
50
end sub
51
52
Main:
53
54
     Port                        'Procedure Port wird eingefügt
55
     Lcd_Init()                  'LCD-Display wird eingebunden
56
     Lcd_Cmd(_LCD_CURSOR_OFF)    'Schaltet LCD-Display Cursar aus
57
58
     'Begrüsungstext
59
     lcd_Out(1,1,"Frequenzmessung")
60
     lcd_Out(2,2,"Schule 2013")
61
     Delay_ms(2000)
62
     Lcd_Cmd(_LCD_CLEAR)                 'Lösche Display Text
63
     lcd_Out(1,3,"Warte auf")
64
     lcd_Out(2,3,"Frequenz")
65
     
66
     start:
67
while 1
68
      PORTD.7 = 1
69
     TMR0 = 0                         'TMR0 Wert auf 0 gesetzt
70
     intcon.T0IF = 0
71
72
    delay_ms(1000)
73
     
74
    'Frequenzmessung
75
     Delay_ms(1000)                      '1 Sekunde Warte Zeit
76
     PORTA = %00000000
77
     Periodendauer = TMR0                'Speichert den Binären TMR0 Werts
78
     
79
     'Abfrage in Hertz
80
     if intcon.T0IF = 1 then
81
     TMR0 = 0
82
     intcon.T0IF = 0
83
     PORTA = %00010000
84
     delay_ms(100)
85
     PORTA = %00000000
86
     Periodendauer = TMR0                'Speichert den Binären TMR0 Werts
87
     else
88
     
89
     wert = "Hz"
90
     ausgabe
91
     goto start
92
     end if
93
     
94
     'Abfrage für KHertz
95
     if intcon.T0IF = 1 then
96
     TMR0 = 0
97
     intcon.T0IF = 0
98
     PORTA = %00010000
99
     delay_ms(10)
100
     PORTA = %00000000
101
     Periodendauer = TMR0                'Speichert den Binären TMR0 Werts
102
     else
103
104
     wert = "Hz"
105
     Periodendauer =   Periodendauer *10
106
     ausgabe
107
     goto start
108
     
109
     end if
110
     
111
      'Abfrage für KHertz
112
     if intcon.T0IF = 1 then
113
     TMR0 = 0
114
     intcon.T0IF = 0
115
     PORTA = %00010000
116
     delay_ms(1)
117
     PORTA = %00000000
118
     Periodendauer = TMR0                'Speichert den Binären TMR0 Werts
119
     else
120
121
     wert = "Hz"
122
     Periodendauer =   Periodendauer *100
123
     ausgabe
124
     goto start
125
126
     end if
127
     
128
         'Abfrage für kHertz
129
     if intcon.T0IF = 1 then
130
     TMR0 = 0
131
     intcon.T0IF = 0
132
     PORTA = %00010000
133
     delay_us(100)
134
     PORTA = %00000000
135
     Periodendauer = TMR0                'Speichert den Binären TMR0 Werts
136
     else
137
      Periodendauer =   Periodendauer *1000
138
     wert = "Hz"
139
     ausgabe
140
     goto start
141
     end if
142
          'Abfrage für kHertz
143
     if intcon.T0IF = 1 then
144
     TMR0 = 0
145
     intcon.T0IF = 0
146
     PORTA = %00010000
147
     delay_us(10)
148
     PORTA = %00000000
149
     Periodendauer = TMR0                'Speichert den Binären TMR0 Werts
150
     else
151
      Periodendauer =   Periodendauer *1000
152
     wert = "Hz"
153
     ausgabe
154
     goto start
155
     end if
156
157
     
158
159
160
161
  wend
162
end.

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

André Kä schrieb:
> Stelle mal die Fotos rein ...

Respekt für die zwei Bilder mit wenigen Millibytes an Informationen 
verballerst du je 6 MegaByte!!! Damit bist du der Depp der Woche!

Nur schlau wird daraus trotzdem keiner.

von André K. (deadfish001)


Lesenswert?

Entweder man macht ein vernümftiges Bild oder man lässt es ganz sein.

von Marian (phiarc) Benutzerseite


Lesenswert?

André Kä schrieb:
> Entweder man macht ein vernümftiges Bild oder man lässt es ganz sein.

Ooooder man stellt sich nicht blöde an. Das geht auch. Manchmal.

von Helge A. (besupreme)


Lesenswert?

Die PIC-Eingänge sind hochohmig. Wenn da ein nackter Draht ohne 
irgendwas dranhängt, mißt der Timer irgendwas. Vielleicht dein Netzteil, 
vielleicht die Lampe auf dem Tisch, was auch immer. deswegen 
verschwindet die Fehlmessung auch, wenn du den Draht an eine 
Signalquelle anschließt oder an Masse.

von Axel S. (a-za-z0-9)


Lesenswert?

Amen. Die einzige offene Frage wäre noch, warum es gerade 80Hz sind.
Ich hätte 50Hz erwartet.

von Mobilist (Gast)


Lesenswert?

André Kä schrieb:
> 20140725_203325_HDR.jpg
> 6 MB
>
> 20140725_203253_HDR.jpg
> 6 MB

Das ist mal wieder eine reife Leistung, 12 Megabyte für eine 
Information, die sich in 2 Byte übermitteln läßt.

... und nur, weil das tolle Huawei P6-U06 einen so toll großen 
Kamerasensor hat und der Nutzer unfähig ist, drüber nachzudenken, wie 
die Forenregeln über Bildformate wohl zu solchen absolut unsinnigen 
Bildgrößen stehen.

von Kopfschüttel (Gast)


Lesenswert?

Welch reife Leistung all derjeniger, die sich mal wieder über die Größe 
eines Fotos aufregen können.
Schön daß es noch immer genügend Hilfssheriffs im Forum gibt, die einen 
User durch Beleidigungen auf die Bildgröße hinweisen können.
Schön daß der Forenbetreiber scheinbar unwillig  zu blöd  unfähig / 
nicht in der Lage / oder was auch immer ist, die Forensoftware so 
anzupassen, daß nur Bilder mit einer maximalen Größe zugelassen sind, 
denn so sterben die Hilfssheriffs hier nie aus.

von Marian (phiarc) Benutzerseite


Lesenswert?

Kopfschüttel schrieb:
> Welch reife Leistung all derjeniger, die sich mal wieder über die
> Größe
> eines Fotos aufregen können.
> Schön daß es noch immer genügend Hilfssheriffs im Forum gibt, die einen
> User durch Beleidigungen auf die Bildgröße hinweisen können.
> Schön daß der Forenbetreiber scheinbar unwillig  zu blöd  unfähig /
> nicht in der Lage / oder was auch immer ist, die Forensoftware so
> anzupassen, daß nur Bilder mit einer maximalen Größe zugelassen sind,
> denn so sterben die Hilfssheriffs hier nie aus.

Manchmal können hochauflösende und wenig komprimierte Fotos sinnvoll 
sein. Hier nicht.

von Ulrich (Gast)


Lesenswert?

Warum es gerade 80 Hz sind Wundert mich auch. Normal sollte so ein Draht 
als "Antenne" eher 50 Hz oder ggf. noch 100 Hz aus der Netzfrequenz 
empfangen. Das Problem könnte das recht schlechte Programm zur Messung 
sein: da sind mit den 80 Hz ggf. 100 Hz gemeint.

von Thomas R. (tinman) Benutzerseite


Angehängte Dateien:

Lesenswert?

André Kä schrieb:
> Entweder man macht ein vernümftiges Bild oder man lässt es ganz sein.

nöö, beides geht auch, siehe anhang.


Kopfschüttel schrieb:
> Schön daß der Forenbetreiber scheinbar unwillig  zu blöd  unfähig /
> nicht in der Lage / oder was auch immer ist, die Forensoftware so
> anzupassen, daß nur Bilder mit einer maximalen Größe zugelassen sind,
> denn so sterben die Hilfssheriffs hier nie aus.


bist du senil? ist die suchfuktion kaputt? reicht dein iq nicht um es zu 
verstehen? Die bildergröße ist locker 100 mal angesprochen worden, und 
es gab immer wieder eine sehr gute begründung, wenn es dir nicht passt 
na dann pech gehabt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

André Kä schrieb:
> Habe das Programm noch gefunden :
Na gut, schon wieder eine Latte gerissen...
1
Wichtige Regeln - erst lesen, dann posten!
2
    ...
3
    Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
4
    ...
5
Dateianhang:
6
     ...
7
     Siehe Bildformate.

Kopfschüttel schrieb:
> Schön daß der Forenbetreiber scheinbar unwillig  zu blöd  unfähig  nicht
> in der Lage  oder was auch immer ist, die Forensoftware so anzupassen,
> daß nur Bilder mit einer maximalen Größe zugelassen sind
Es gibt durchaus Fälle, wo ein 3MB Bild genau 3MB Information enthält. 
Und da wäre es blöde, wenn das dann automatisch auf 300kB 
zusammengedampft wird. Du solltest das Ding zwischen den Ohren ruhig mal 
ab&an benutzen und nicht nur hin-und-her schütteln...

Zurück zur Sache:
André Kä schrieb:
> Habt ihr eine Lösung ob ich das Kabel vielleicht noch mit einen
> Kondensator auf Minus gelegt lösen könnte ?
Du hast herausgefunden, dass ein offener CMOS Eingang alles mögliche 
einfängt. Mach einen Pulldown an den uC Eingang. 100kOhm könnten da 
Wunder bewirken...

Axel Schwenke schrieb:
> Amen. Die einzige offene Frage wäre noch, warum es gerade 80Hz sind.
> Ich hätte 50Hz erwartet.
Ich auch. Mitten in Deutschland...

von Dietrich L. (dietrichl)


Lesenswert?

Axel Schwenke schrieb:
> Amen. Die einzige offene Frage wäre noch, warum es gerade 80Hz sind.
> Ich hätte 50Hz erwartet.

Das könnte auch an einem HW- oder SW-Fehler liegen ...

von Michael L. (michaelx)


Lesenswert?

André Kä schrieb:
> ...
> (altes Ladekabel 5V DC ~100mA), ein PIC16F887 10.000Hz Quarz ...
                                                ^^^^^^^^
Das werden wohl eher 10 Mega Hertz sein. ;-)

Axel Schwenke schrieb:
> Amen. Die einzige offene Frage wäre noch, warum es gerade 80Hz sind.
> Ich hätte 50Hz erwartet.

Liegt doch auf der Hand. - Simple Mathematik!

Der PIC wird mit 10 MHz betrieben. Wenn die Software aber von einer 
Taktfrequenz von 16 MHz ausgeht, wird sie nun 80 Hz statt 50 Hz 
anzeigen.

Ist ein typischer Anfängerfehler bei Frequenzzählerprojekten, deshalb 
hab ich mir die SW nicht angeschaut.

8-)

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Michael L. schrieb:
> Der PIC wird mit 10 MHz betrieben. Wenn die Software aber von einer
> Taktfrequenz von 16 MHz ausgeht, wird sie nun 80 Hz statt 50 Hz
> anzeigen.

Das kann natürlich sein.


XL

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.