PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seltsames "Nicht Starten" des PIC



m0
26.03.2007, 21:10
Hallo!

Ich habe mir eine LED-Tachobeleuchtung für mein auto gebaut. Soweit funktionniert die auf einem PIC16F877A basierende Steuerung auch tadellos. Selten aber scheint es, als würde der PIC beim einschalten abstürzen, die Ausgänge gehen auf High und er tut nichts weiter, obwohl ganz normal Spannung anliegt. Was auch seltsam ist, dass wenn ich über einen zweiten Schalter, der über ein längeres Kabel den PIC mit Spannung versorgt, einschalte dieses "abstürzen" immer passiert. Kann das an der Kabellänge liegen, aber Spannung ist ganz normal da. Das Kabel, das die Spannung liefert hat noch einige I/O pins in sich (20-Adriges Kabel davon 4 Adern spannung und 10 I/O pins das ganze etwa 15m lang). was mich wundert, dass wenn ich die Spannungsversorgung von der Platine ablöte und dann den schalter an schalte und dann erst die kabel direkt auf die platine halte, geht es wieder (meistens zumindest).
ich werde später noch einen schaltplan nachreichen!

hat irgendwer eine idee woran das liegen könnte?

ich wäre euch sehr dankbar!!
m0

kalledom
26.03.2007, 21:29
Hallo,
leider hast Du nicht angegeben, welche Spannung Du über die 15m schickst, 5V oder 12V.
Du solltest auf jeden Fall 12V über das Kabel schicken. Dann ist es sinnvoll, über eine Diode einen Elko 100...1000µF zu laden, damit keine 12V-Spikes mehr zum PIC durch können. Nach Diode - Elko folgt die Stabilisierung auf 5V mit den für einen Regler üblichen Kondensatoren.
Dann noch auf kürzestem Wege an den Versorgungspins des PIC 100nF und 10µF anschließen.
Um keine Störspitzen von den geschalteten Lasten zu bekommen, den GND schalten und die Last an +12V anschließen.
Mit der Diode hast Du übrigens gleichzeitig einen Verpolungsschutz.

Der Gärtner
26.03.2007, 21:57
Hallo!
20-Adriges Kabel davon 4 Adern spannung und 10 I/O pins das ganze etwa 15m lang. was mich wundert, dass wenn ich die Spannungsversorgung von der Platine ablöte und dann den schalter an schalte und dann erst die kabel direkt auf die platine halte, geht es wieder (meistens zumindest).


Wundert mich echt nicht.
15m Langes kabel, Hin und Rückleitung ~30m, damit kann man mehr als nur Radiohören... Ich hab schon einen Elko für nen TSOP mit 15cm Leitung gebraucht....

1) wie oben beschrieben Spannung stabilisieren.
2) hast du den "BrownOutReset" aktiviert? könnte nützlich sein...
3) klingt nach ner klaren Resetsache, falls das alles nicht nützt könnte der Schalter nicht entprellt sein oder sowas....

m0
27.03.2007, 06:06
Vielen Dank für eure Ideen, tut mir leid, aber mit so langen Kabeln kenne ich mich licht aus, hätte nicht gedacht, dass das was aus macht, ingendwann ist eben immer das erste mal.
Nunja die Spannung geht von haus aus erstmal durch ne Diode bei mir, danacht komen die Elkos von 7805 und zwei Schaltreglern (10µF und 2mal 100µF) reicht das vorerst, oder soll ich noch nen größeren Elko davor klemmen? und die Kondensatoren an die Vdd/Vss Pins mache ich heute nachmittag gleich mal rein.

@Der Gärtner: Wie meinst du das mit dem schalter? Wie soll ich den entprellen, der schaltet mir doch "nur" meine 12V zu den Spannungsreglern.

Vielen Dank!!
m0

Der Gärtner
27.03.2007, 09:02
Das mit dem Schalter war nur so eine Idee, da du ja die Kiste mit "Schalter an, Kabel dran" zum laufen kriegst. bau mal einen Reset (Schalter von VPP/MCLR gegen Masse) ein, und drück den wenn mal wieder alles steht. Wenn es nach nem Druck geht, dann wars ein Resetproblem.

So ein Schalterproblem hatte ich noch nie bei der Versorgung, aber beim Taster an nem Pin, ein Mechanischer Drücker kann kein sauberer Wechsel von von I auf 0 oder umgekehrt sein, für den PIC sind das mehere Schaltvorgänge. um das zu verhindern muss man den Schalter mit nem Kondensator entprellen.

Versuch erstmal BOR (Brown Out Reset) und den PowerOnTimer (hat das der 876er?), das könnte schon was bringen. beides in den Fusebits zu stellen.

Zum Kabel:
Hin und Rückleitung bilden eine Leiterschleife. Schleifen sind automatisch Spulen. bei dir bildet die Spule eine Fläche von ~30cm², und L=PHI/I, und PHI steigt mit der Fläche... das reicht mehr als nur aus um Probleme zu machen... hast du keine Probs mit den Datenleitungen?

kalledom
27.03.2007, 09:56
Empfohlen hatte ich 100...1000µF als Elko nach der Diode. Die Diode alleine bringt nichts.
.... danacht komen die Elkos von 7805 und zwei Schaltreglern (10µF und 2mal 100µF) Am Regler sitzen 10µF und 100nF, nicht 10µF und 100µF, am PIC ebenfalls.

m0
27.03.2007, 12:43
Also Am 7805 sitzen eingangsseitig 10µF und ausgangsseitig 1µF diese Werte sind ja unkritisch.
Was ich aber nicht ganz verstehe, wieso an den PIC 2Elkos sollen, da kann ich doch dann gleich einen größeren nehmen, oder wie meinst du das?

Resettaster ist drin aber da bringt das drücken nichts, und Power on Timer hab ich auch an nur den burn out muss ich gleich mal testen. Die Datenleitungen habe ich noch nicht getestet, aber das sind "nur" PWMs um die LEDs zu versorgen und zu dimmen, sollte also kein großes Problem machen, oder?

Der Gärtner
27.03.2007, 12:52
hab ich auch lange zeit nicht verstanden. aber sehe die Leitung nicht als idealen stromleiter, sonder als Mischung aus Ohmschen, Kapazitiven und Induktiven Elementen. d.h. es ist nicht egal oder der Kondensator am Anfang oder am Ende der Leitung sitzt. Der "Brumm" oben drauf kann vorallem LogikICs nerven. das machen die kleinen 100nF-Dinger weg. Deswegen vorsorgen und NAHE am PIC mind. den 100nF an die Versorgung hängen. Ohne einen "Koppelkondensator" hätten/haben 2 meiner letzten Schaltungen nicht funktioniert. Eine war mit USB du die andere nur ein Simpler TSOP1738, dur einen 4u7 am eingang wollte....

poste mal deinen Schaltplan, dann können wir dir mehr helfen

m0
28.03.2007, 21:32
Hej!!
Vielen Vielen Dank für eure HIlfe!!
Nachdem ich nen 220µF Elko nach die Diode geklemmt hab und dann noch 100nF und 10µF an den PIC und dann den Power on Timer eingeschaltet habe läft alles genial!!!

Vielen Vielen Dank, hätte nicht gedacht dass n paar elkos so ein Wunder vollbringen können!!

m0

P.S.: Das Ergebnis könnt ihr sobald ich mit Programmieren Fertig bin online sehen, ich stell dann mal n Link rein!