www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Transistor mit Pic ansteuern


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ich bin blutiger PIC-Neueinsteiger und versuche mich derzeit mit einer
einfachen schaltung, bei der lediglich ein transistor als schalter vom
PIC angesteuert werdn soll. Das heißt ich habe mir einen wald und
wiesen Transistor genommen (BC 547C) und dessen basis über einen 10k
widerstand mit einem pin des PIC's (16F628) verbunden. die beiden
kabel die verbunden werden sollen habe ich an c und e des transistors
angeschlossen. ohne den pic in der fassung funktioniert alles wie
gewollt, wenn ich jedoch den pic in die fassung stecke dann
funktioniert es nicht mehr (es sei denn der pic ist komplett gelöscht).
woran kann das liegen?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo, ich nochmal,
vielleicht noch kurz was zum funktionsprinzip: der transistor soll
einfach nur die aufgabe eines knopfes einer fernbedienung übernehmen,
d.h. wenn der pic einen pin high setzt dann soll der
transistor aufmachen und die zwei kontakte verbinden, die auch beim
drücken auf den entsprechenden knopf der fernbedienung geschlossen
werden würden. und dazu habe ich den pin des pic's über einen
vorwiderstand mit der basis des transistors verbunden. der transistor
dient also wirklich nur als schalter der bei einem high am pin des
pic's schalten soll...
vielleicht hab ich einen grundsätzlichen denkfehler drin?
im vorraus danke für eure hilfe

Autor: Feadi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Du musst den Emitter auch mit GND vom PIC verbinden.

Beachte das bei einem NPN-Transistor der Strom nur vom Colletor zum
Emitter fliessen kann.

Feadi

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hy Feadi,

emmiter ist mit gnd verbunden.

wenn ich den pic aus der fassung nehmen und dann mit einem kabel 5v auf
den vorwiderstand des transistors geben (was ja später mal der pic
übernehmen soll), dann schaltet der transistor auch ordnungsgemäß.

aber sobald ich den pic in die fassung stecke, schaltet ein transistor
und scheint dann geöffnet zu bleiben

Autor: Rainer Spitzhirn (rainersp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist denn der Pin des PIC auf Ausgang programmiert? Kannst Du mal den
Quelltext angeben?

Autor: Stefan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ja der zeit hab ich den pic nur initialisiert ... ermacht also noch
nichts ich will erst mal erreichen dass ich den pic in die fassung
stecken kann ohne das ein transistor schaltet

code ist im anhang

Autor: Rainer Spitzhirn (rainersp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du also den PIC in die Fassung steckst, liegen dann am Ausgangpin
auch +5V an? Kannst Du das mal mit einem Multimeter o.ä. prüfen?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein ausgangspin liegen keine 5v an...hab ich mit einem multimeter
geprüft...trotzdem macht der transistor auf sobal ich den pic einstecke

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und der transistor öffnet selbst dann wenn man den PIC einsteckt ohne
dass Spannung am pic anliegt

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan!

Evtl. liegt es ja an deinem PIC Programm.
Ich hab mir mal deinen Quelltext angesehen,
in der ersten zeile hast du list P=16F84 diese
Zeile musst du noch an deinen PIC anpassen.
Das ist aber nicht das Problem, du musst auch noch festlegen
wo dein Programmcode beginnt, damit der PIC weiss
wo er anfangen soll das Programm abzuarbeiten, beispielsweise
so:
       org 0x00    ;Reset Vektor
       goto main        ;Sprung zu Hauptprogramm
       org 0x04    ;Interrupt Vektor
       .....(Interrupt Service Routine)
       org 0x05    ;Hauptprogramm
main:
....... (Programmcode)

Dann musst du noch deinen PIC Konfigurieren dazu
würde ich dir die seite www.sprut.de empfehlen!

Ich vermute nämlich dass dein Problem daran liegt, weil
dein PIC nicht (oder nicht richtig) konfiguriert ist, und dadurch
beispielsweise der Ausgang mit dem du den Transistor schalten willst
nicht als "einfacher" Ausgang eingestellt ist.
An welchen PIN des Portb hast du den Transistor angschlossen?
Hat dieser PIN im unkonfigurierten Zustand (Oder nach einem Reset)eine
andere Funktion?
evtl. LowVolt Prog?

Beispiel bei Porta:
Um Porta.4 als ein/ausgang zu benutzen musst du in der Cofig des PIC
die Reset Funktion deaktivieren, weil porta.4 Standardmäßig als Reset
Pin Konfiguriert ist.

Na dann viel erfolg und viel Spass beim Datenblatt lesen....

mfg. Christian

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo christian,

es handelt sich um rb3 und rb4 also pin 9 und 10 ich glaub die sind für
nichts anderes vorgesehen

aber ich überprüf trotzdem mal was du mir geraten hast

danke

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja und die pic konfiguration mache ich im brennprogramm (interner
Takt, Watchdog aus, Power up timer, brown out enabled)

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Also RB3 hat zusätzlich die CCP Funktion, die ist Standartmässig
desktiviert wenn ich mich nicht irre, sollte also nix machen.
Und RB4 dient als LowVolt Prog PIN du solltest Low Volt Prog in der
Config deaktivieren!! sonst ist RB4 kein E/A Pin!
Sind übrigens Pin 10 und 11 :-)

Außerdem check mal ob die Pullups an PortB deaktiviert sind, nach
einem
Reset sind sie zwar aus, aber sicher ist sicher.

Aber bevor du alles mögliche ausprobierst, schau erstmal dass ein µC
läuft! nicht dass er gar nicht geht bzw, dein programm hängt und
deswegen der Transistor ständig auf macht...

Autor: Stefan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
also laut dieses bildes sind es 9 und 10 (ist aber iegentlich auch
egal..:-))
LV-programmierung deaktiviere ich mit der brennsoftware
und was meinst du mit Pullups an portb?

der µC an sich läuft ich hab vorher damit eine led zum blinken
gebracht...da lief die gebrannte software ohne probleme

...ich verzweifle bald....

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja Stimmt hab mich in Datenblatt verguckt Pin 9 und 10 passen!
10 und 11 sind es bei einem SSOP gehäuse!

Der PIC hat interne PULL UP widerstände für Portb die sind aber nach
einem Reset Deaktiviert. Hast du schon mal versucht in deinem Programm
den Portb auf 00h zu setzen, dass du sicher sein kannst dass kein PIN
aktiviert sein kann!? kannst du mal deine schaltung Posten? evtl ist da
ja irgendein fehler, auch wenns ohne PIC funktioniert!

Autor: Stefan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo christian,

hier ist die schaltung...hab mal versucht sie grob aufzuzeichnen

die rs232 buchse wird noch nicht gebraucht und die 2 stecker gehen dann
in die fernbedienung an die kontakte der knöpfe

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Strichzeichnung mit 553 kByte, das wäre mit 5kB auch gegangen.

Messe mal die Spannung zwischen Basis und Emitter  und Collector und
Emitter. Evtl. einen Widerstand ca. 10-47 KOhm zwischen B und E.

Wenn die Tastatur eine Matrix ist (weiß ich nicht), dann kannst Du
nicht einfach eine Leitung nach Masse schalten.

Ich habe auch die internen PullUps in Verdacht. Wieviel ist denn die
Spannung an den beiden Ausgängen?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja sorry ich hab die zeichnung einfach nur eingescannt ohne dabei auf
die einstellungen zu achten und hab das bild dann auch nicht weiter
bearbeitet...

Spannung zwischen Basis und Emitter : 0.01V (gemessen) also 0V
Spannung zwischen Collector und Emitter: 0.53V
Spannung zwischen Basis und Collector : 0.53V

die tastatur ist eine fertige fernbedienung von deren platine ich die
kontakte abgegriffen habe, die beim tastendruck geschlossen
werden...vielleicht liegt es ja daran dass ich einen kontakt der
tastatur auf masse schalte, aber ich muss doch den emitter des
Transistors irgendwie auf masse schalten?!?

die spannung an den beiden ausgängen des PIC's ist 0V
(gemessen)...daher schließe ich die PullUps mal aus, oder?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stefan hab gerade deinen tipp ausprobiert:
ein 10k widerstand zwischen b und e bewirkt dass die transistoren auch
ohne den PIC aufmachen

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wäre es denn vielleicht besser in diesem fall relais zu verwenden, die
vom pic angesteuert werden und dann den kontakt herstellen?

wenn ja, welche wären dafür geeignet?

Autor: marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

Hdu schonmal über einen optokoppler nachgedacht? zumindest hast du dann
galvanische trennung und es kann dir rückwärts nichts in die schaltung
reinfliessen. Auch wenn du unterscjiedliche Spannungen in der schaltung
hast.

Marc

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hy marc,

optokoppler wäre auch ein gute idee, reichen dem denn die 20mA vom pin
des PIC's um zu schalten?

wenn ja wäre es ja eine gute lösung

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die beiden
kabel die verbunden werden sollen habe ich an c und e des transistors
angeschlossen.
____________________________

Du schaltest deine "Taste" mit dem BasisCollektorstrom. Nimm einen
PNP Transistor zusätzlich und invertiere. Also E an pos vom Schalter
und C an neg vom Schalter.
Ansonsten poste dein Schaldbild mit Tastendaten/spannungen.

MfG Manfred Glahe

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ich habs endlich hinbekommen und zwar mit optokopplern...alles läuft
wie gewünscht...ich danke euch für die Hilfe

mfg
Stefan

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.