Transistor mit Pic ansteuern

Gast #304245
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?
Gast #304246
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
Gast #304248
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
Gast #304254
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
Gast #304257
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...
Gast #304258
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....
Angehängte Dateien:
Gast #304259
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!
Gast #304261
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?
Gast #304262
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?
Gast #304267
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren