Forum: Mikrocontroller und Digitale Elektronik Oberstufenprojekt HILFE! PIC16F84


von Bernhard Braun (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

momentan bin ich dabei ein Oberstufenprojekt für die Schule zu 
erstellen, da ich diesen Schaltplan und das dazugehörige Programm aber 
aus dem Internet habe muss ich mir noch etwas anderes dazu einfallen 
lassen.

Hat da jemand eine Idee? Mein Lehrer sagte mir das es toll wäre, wenn 
ich an RA4 des Pics (16F84), über eine flexible Leitung auf eine andere 
Platine, eine Transistorstufe (ich weiß nicht was das ist) einbauen 
würde die dann besipielsweise die Heizung einer Ätzanlage oder die 
Leuchtröhren einer Belichtungsmaschine ansprechen und somit ausschalten 
würde.

Am Besten wäre es wenn von RA4 aus ein Signal erzeugt werden könnte, 
wenn die Uhr auf Null heruntergezählt hat. Dieses soll dann diese 
besagte Transistorstufe ansteuern.

Mein Lehrer gab mir noch den Hinweis das Ra4 ein Open Collector Ausgang 
ist, also das dieser nicht so einfach wie die anderen Ausgänges des 
Pic´s zu verwenden ist.

Es handelt sich bei dieser Schaltung übrigens um eine Countdown Uhr, 
diese zählt von 3 Minuten bis Null herunter. Angezeigt wird das 
Herunterzählen durch eine 7 Segment Anzeige, die die verbleibenden 
Minuten angibt und 6 LEDs drum herum die jeweils 10 Sekunden darstellen 
sollen.

von Bernhard Braun (Gast)


Lesenswert?

Achja bei RA4 des Pics handelt es sich übrigens um den freien Pin 3.

von d&g (Gast)


Lesenswert?

ja. aber dann hast Du's ja wieder aus dem Internet ... !?!?

von Edward S. (Gast)


Lesenswert?

Bernhard Braun schrieb:
> für die Schule zu erstellen,

Eigentlich sollte es heißen: ...für die Schule zu kopieren...

von Bernhard Braun (Gast)


Lesenswert?

Ja das weiß ich, aber dann hätte ich ja zwei Sachen zu etwas neuem 
zusammen gefügt. Eine Idee besteht ja, nur leider weiß nicht wie ich 
diese umsetzen kann...

von MaWin (Gast)


Lesenswert?

> Es handelt sich bei dieser Schaltung übrigens um eine Countdown Uhr,

Nicht wirklich, die Schaltung funktioniert nicht.

Vergiss alles oberhalb des PIC16F84,
weder die Schaltung an Pin1, noch die zum Abschalten der Stromversorgung 
funktioniert.

Ein 100nF Keramikkondenstaor zwischen GND und VCC des PIC16F84 wäre aber 
nett.

Die Ansteuerung der 7-Segment Anzeige und 6 weiteren LEDs funktioniert 
im Prinzip, die 6k8 vor den Transistoren sollte man auf 470 Ohm 
verringern.

Auch der alte PIC16F84 kennt übrigens den Sleep-Mode, es ist also nicht 
nötig, einen Schalter in die Stromversorgung zu bauen, am Ende der 
Uhrzeit führt ein SLEEP zum Abschalten des Oszillators und Absenken der 
Stromaufnahme auf ein vernachlässigbares Minimum (wenn man vorher die 
Ausgänge für die LEDs auch ausgeschaltet hat).

Aufwachen kann er dann durch einen Tastendruck (External INTerrupt oder 
PortChange INTerrupt).

Eine Transistorschaltstufe ist ja schon drin, aber nur für wenig Strom. 
Viel Strom schaltet ein MOSFET, man braucht nur LogiocLevel MOSFETs wie 
IRLZ34.

      +--Heizung--+
      |           |
PA4--|I IRLZ34  Batterie
      |S          |
GND --+-----------+

von Edward S. (Gast)


Lesenswert?

Bernhard Braun schrieb:
> zwei Sachen zu etwas neuem
> zusammen gefügt.

Bernhard Braun schrieb:
> eine Transistorstufe (ich weiß nicht was das ist)

Ist das die zweite Sache? Und das nennt sich Abschlussprojekt? Abschluss 
von was denn eigentlich?

von Steffen (Gast)


Lesenswert?

Bernhard Braun schrieb:
> ...Mein Lehrer sagte mir das es toll wäre

mein Doc sagt mir das es toll wäre...

Nein mal im Ernst, was ist die Aufgabenstellung? Was hast du schon? Wann 
soll es fertig sein?

von Davis (Gast)


Lesenswert?

Troll.

von Bernhard Braun (Gast)


Lesenswert?

An MaWin

Also die Schaltung an sich funktioniert, hab sie heute mal geätzt und 
aufgebaut. Der Taster ist tatsächlich sinnlos, da ich den GND Anschluss 
dummerweise vor den Schalter gelegt habe, fällt mir gerade mal so auf...

2 Fragen und 1 Anmerkung:


1. Weswegen würdes du die Vorwiderstände der Basen bei den Transistoren 
verringern?

2. Weswegen ein 100nF Kondensator zwischen VCC und GND des PIC´s?


3. Also der pic wird stromsparend betrieben, er wird durch einen 
externen 32,768KHz Uhrenquarz betrieben und durch das Programm flackern 
die LED´s und die 7 Sgement Anzeige immer nur kurzzeitig auf und 
erlischen danach wieder. Das wiederholt sich dann bis der Countdown 0 
erreicht hat.

Also grundlegend hatte ich zwei Dinge vor, um die ich die Schaltung 
erweitern wollte:

1: Das Ansteuern der Heizung, wenn der Countdown 0 erreicht hat.

2: Eventuell die Schaltung für den Netzbetrieb entwickeln.

von Bernhard Braun (Gast)


Lesenswert?

Aufgabenstellung war es ein Oberstufenprojekt zu entwerfen, als 
Abschluss für das zweite Ausbildungsjahr so gesehen.

Man kann es als Schul und Betriebsarbeit ansehen.


Ich muss bis übernächste Woche Mittwoch fertig sein, möchte aber 
natürlich so schnell wie möglich fertig sein.

von Max H. (hartl192)


Lesenswert?

Wozu brauchst du das ganze Zeug in Schaltplan oberhalb des PICs?
Wenn das zum Ausschalten der Betriebsspannung da ist, dann kann ich 
MaWin rechtgeben: Verwende den Sleep-Mode. Im Datenblatt des PICs steht:
< 0.5 µA typical standby current @ 2V
Vor allem das oben links (R12, R13, R14, Q2, POT1)ist mir ein Rätsel.

Ich beschalte meine PICs immer so:
-  Quarz + 2* 22pf wenn nicht der interne Oszillator verwendet wird
-  100nF zwischen Vcc und Masse so nahe wie möglich an den PINs
-  10kΩ zwischen MCLR und Vcc und einen Taster zwischen MCLR und Masse
-  Und noch eine ICSP Stecker
Und wenn du RA4 verwenden willst musst du einen Pullup an den PIN 
anschließen
Für den Netzbetrieb würde ich ein kleines Steckernetzteil z.B. 
USB-Netzteil (gibt’s billig bei eBay) oder einen >6V Printtrafo + LM7805 
empfehlen. Wenn du die Heizung auch über das Netzteil versorgen willst, 
braust du ein Stärkeres.

Darf ich fragen in welcher Sprache du den PIC programmierst und wie du 
das Programm in de PIC bekommst?

Die Heizung würde ich wenn sie mit nicht mit Netzspannung arbeitet mit 
einem ausreichen starken n-Channel logic level MOSFET schalten, bei 
Netzspannung würde ich auf ein Relais setzten.

Bernhard Braun schrieb:
> besipielsweise die Heizung einer Ätzanlage
Da würde ich eine Regelung mit Sensor, z.B. einen Zweipunktegler 
verwenden. Eine Uhr die die Heizung steuern macht wenig sinn.

Bernhard Braun schrieb:
> die Leuchtröhren einer Belichtungsmaschine ansprechen und somit
> ausschalten würde.
Das macht von mir aus mehr Sinn, am besten wär dann natürlich eine 
einstellbare Zeit. Die Röhren die vermutlich mit 230V AC laufen würde 
ich dann mit einem Relais schalten.
Ich hatte vor mir einen Timer für meinem Eigenbau Belichter zu bauen, 
ich habe es dann aber aufgegeben, da es meiner Meinung nach keinen 
wirklich großen Vorteil bringt, wenn man nur relativ selten eine Platine 
belichtet. Aber als kleines PIC Project wäre es geeignet, da der 
praktische Nutzen nicht so sehr im Vordergrund steht.
Wenn man es einstellbar machen möchte würde die Zahlt der Pins genau 
Passen:
  9 für 7-Segment + LEDs
+ 3 für Tasten: Zeit+ , Zeit - , Start
+ 1 für Relais/Mosfet
+ 2 für Quarz
+ 2 für GND und VCC
+ 1 für Reset
=18 Pins
Wenn du dan RA4 für einen Taster Eingang verwendest ist es egal, dass er 
nur open colector ist.

MaWin schrieb:
>       +--Heizung--+
>       |           |
> PA4--|I IRLZ34  Batterie
>       |S          |
> GND --+-----------+
Pullup vergessen...


Noch ein kleiner Tipp: Der Schaltplan wäre um einiges leichter lesbar, 
wenn du die Pinnamen in Symbol eingetragen hättest.

: Bearbeitet durch User
von Bernhard Braun (Gast)


Lesenswert?

Danke erstmal an dich M.H. für die vielen Gedankengänge und Vorschläge.

Okay, das mit dem sleepmode werde ich mir mal anschauen.
Die Bauteile R12, R13, R14, Q2 und das Poti waren für einen Summer 
gedacht, der ein Signal gibt wenn die Uhr auf Null herunter gezählt hat. 
damit man das Ende wirklich NICHT verpasst :)
Den Summer wollte ich einfach noch in Verbing mit dem Poti einsetzen um 
dessen Lautstärke regeln zu können.

Das Programm wurde in Assembler geschrieben und wurde via Hex file auf 
den Pic gebrannt.

Deine Idee finde ich richtig super mit der einstellbaren Zeit, nur dann 
müsste ich natürlich die Schaltung komplett abändern und das Programm 
natürlich auch. Ich weiß nicht ob ich das so schnell alles alleine 
hinbekommen würde.


Nochmal zu RA4: Also das ist ja ein open collector Pin... bedeutet das 
die Basis intern im Pic angesteuert wird und dann die Schaltung die von 
außen dran hängt aktiviert wird ,oder?

von Bernhard Braun (Gast)


Lesenswert?

Achso und der Betrieb mit dem Netzteil muss nicht zwingend sein, das 
kann auch später nachgerüstet werden. Ich bin froh wenn die Schaltung 
erstmal funktioniert, auch wenn sie fürs Erste mit einer Batterie oder 
am Labortisch betrieben wird.

von Udo S. (urschmitt)


Lesenswert?

Bernhard Braun schrieb:
> hab sie heute mal geätzt und
> aufgebaut.

Und du weisst nicht was eine Transistorstufe ist?

In etwa wie: "Ich repariere und warte mein Auto immer selbst, aber ich 
weiss nicht was eine Schraube ist".

TROLL!

: Bearbeitet durch User
von Max H. (hartl192)


Lesenswert?

Bernhard Braun schrieb:
> Das Programm wurde in Assembler geschrieben und wurde via Hex file auf
> den Pic gebrannt.
Nimmst du den PIC dann jedes Mal aus der Schaltung wenn du ihn 
Programmieren willst? Ich würde aus Praktischen Gründen eine ICSP 
Schnittstelle empfehlen.
http://www.sprut.de/electronic/pic/icsp/icsp.htm

Bernhard Braun schrieb:
> Nochmal zu RA4: Also das ist ja ein open collector Pin... bedeutet das
> die Basis intern im Pic angesteuert wird und dann die Schaltung die von
> außen dran hängt aktiviert wird ,oder
Hier steht was über den RA4 Ausgang: 
http://www.sprut.de/electronic/pic/grund/ioports.htm#tx

Bernhard Braun schrieb:
> Deine Idee finde ich richtig super mit der einstellbaren Zeit, nur dann
> müsste ich natürlich die Schaltung komplett abändern und das Programm
> natürlich auch.
An der Schaltung musst du keine so großen/komplizierten Änderungen 
machen:
Die Schaltung zum Abschalten der Betriebsspannung lässt du weg und an 
Pin 1,2 und 6 kommen 2 Taster + Pullups. An einen der Taster Pins müsste 
man auch den Summer anschließen und den Pin, wenn der Summer 
eingeschalten ist als Ausgang konfigurieren. Dann darf man aber die 
Taste nicht drücken, wenn der Summer eingeschalten ist.

von Karl H. (kbuchegg)


Lesenswert?

Bernhard Braun schrieb:

> Deine Idee finde ich richtig super mit der einstellbaren Zeit, nur dann
> müsste ich natürlich die Schaltung komplett abändern und das Programm
> natürlich auch. Ich weiß nicht ob ich das so schnell alles alleine
> hinbekommen würde.

?
Das wäre in meinen Augen aber wichtiger als alles andere.
Eine Countdown-Uhr, der man die Zeit nicht vorgeben kann (und zwar ohne 
umprogrammieren), mag zwar im Einzelfall tatsächlich nützlich sein, aber 
im Allgemeinen ist das eine recht sinnfreie Sache. Jeder Timer einer 
Frisöse kann da mehr. Und die kriegt ihn als Werbegeschenk vom 
freundlichen BLeichmittelvertreter.
Da hast du dir IMHO eine recht unbrauchbare Vorlage im Web gesucht um 
das nachzubauen.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

PS.
In Schaltplänen werden die Punkte nur an den Stellen gesetzt, an denen 3 
oder mehr Leitungen zusammentreffen. Es ist nicht sinnvoll einfach 
überall einen Punkt zu setzen. Der Sinn der Punktes ist es eine 
zufällige und nicht vermeidbare zeichnerische Überkreuzung von Leitungen 
(die aber nicht verbunden sind) von einem gewollten Knotenpunkt 
unterscheiden zu können. Wenn eine grüne Leitung zb in einen Widerstand 
mündet, dann ist die Sache sowieso eindeutig und dann wird dort kein 
Punkt gesetzt. Denn sonst hat man soviele Punkte im Schaltbild, dass man 
erst recht die neuralgischen Stellen nicht sieht.

: Bearbeitet durch User
von Bernhard Braun (Gast)


Lesenswert?

Ich kann mir darunter nur eine starke Verstärkung des Stromes 
vorstellen, aber nein, genau weiß ich nicht was eine Transistorstufe 
ist.

von Max H. (hartl192)


Angehängte Dateien:

Lesenswert?

Wenn du Summer und Taster an einem Pin betreibst würde ich das so 
machen:
Der Widerstand in Serie zum Taster verhindern dass der Ping 
kurzgeschlossen wenn er als Ausgang konfiguriert ist und der Taster 
gedrückt wird.
Der IOs kann max. 25mA ausgeben: R=U/I=5V/0.025mA=200Ω --> 220Ω (E12).
Du musst den Pullup jetzt z.B. 10kΩ machen das der Eingang trotz des 
Spannungsteilerss zuverlässig auf low geht.

von Karl H. (kbuchegg)


Lesenswert?

Bernhard Braun schrieb:
> Ich kann mir darunter nur eine starke Verstärkung des Stromes
> vorstellen, aber nein, genau weiß ich nicht was eine Transistorstufe
> ist.

Vorsicht.
'Verstärkung' ist ein großes Wort. Und ja, das wird oft so benutzt.

Tatsächlich ist die Sache aber so (NPN-Transistor):
1
                Collector
2
                  |
3
       Basis    |/
4
    ------------|\
5
                  >
6
                   | Emitter
7
                   |
8
   ----------------+------ GND
hier gibt es 2 Strimkreise.
Der eine geht von der Basis zum Emitter, der andere vom Collector zum 
Emitter.
Die interessierende Strecke ist die Collector-Emitter Strecke. Am 
Collector hängt der Verbraucher, die Collector-Emitter Strecke fungiert 
(in der Digitaltechnik) wie eine Art Schalter. D.h. wenn die leitet, 
dann kann Strom von + über den Verbraucher, durch die Collector-Emitter 
Strecke nach Masse fliessen - der Verbraucher hat Strom und 'arbeitet'.
Leitet die Collector-Emitter Strecke nicht, dann kann auch kein Strom 
fliessen, der Verbraucher kann nicht arbeiten.
Die 'Leitfähigkeit' der Collector-Emitter Strecke wird durch den 2-ten 
Stromkreis eingestellt. Der geht von der Basis zum Emitter.
Rinnt da ein (kleiner) Strom, dann kann über die 
Collector-Emitter-Strecke ein um den Verstärkungsfaktor größerer Strom 
fliessen.

D.h. der Transistor an sich verstärkt nicht einen Strom. Sondern ein 
kleiner Strom steuert einen größeren Strom.

Es ist wie ein Wasserhahn, bei dem der Drehknopf sinnigerweise mit einem 
Wasserstrahl auf und zu gemacht werden kann. Mit einem kleinen 
Wasserrinnsal kann man den Durchfluss der Hauptwasserleitung einstellen.

Zurück zum Transistor: Wann rinnt denn ein Strom von der Basis zum 
Emitter? Wenn die Spannung an der Basis höher ist als die am Emitter. 
Technologisch muss die Spannung mindestens um einen bestimmten Betrag 
höher sein (bei Bipolar Transistoren rechnet man zb mit 0.7V), dann 
rinnt Strom von der Basis durch den Emitter. Dieser Strom 'öffnet das 
Ventil' der Collector-Emitter Strecke und ein entsprechend höherer Strom 
kann dann über diese Strecke laufen.

Wie stellt man nun den Basisstrom ein?
Dazu muss man wissen, wieviel Strom man über die Collector-Emitter 
Strecke braucht (ruhig ein wenig großzügig sein).
Dieser Strom, dividiert durch den Verstärkungsfaktor, sagt dir, wieviel 
Strom du durch die Basis brauchst, damit der Transistor soweit 
durchsteuert. In der Praxis nimmt man dann diesen Basisstrom noch mal 2 
oder 3, damit man auf der sicheren Seite ist, und der Transistor voll 
duchgesteuert wird.
Wie stellt man den Basisstrom ein?
Das geht über einen Widerstand. Laut ohmschen Gesetz gilt ja U = R*I
U ist aber bekannt
1
               ---+----- +
2
                  |
3
             Verbraucher
4
                  |
5
                  |
6
    5V          |/
7
    --- R  -----|\
8
           0.7V  | >
9
                   | Emitter
10
                   |
11
   ----------------+------ GND

denn vom µC-Pin kriegst du 5V. Diese 5V liegen auf der einen Seite vom 
Widerstand R an. Auf der anderen Seite müssen 0.7V sein, denn das ist 
das, was der Transistor mindestens an seiner Basis braucht, damit 
überhaupt mal Strom rinnt.
D.h. über dem Widerstand fallen 5 - 0.7V gleich 4.3V ab.
Schön. Jetzt hast du zb ausgerechnet, dass du 1mA an Basisstrom brauchen 
würdest. D.h. der Widerstand muss R = U / I gleich 4.3/0.001 gleich 4300 
Ohm groß sein. Machst du den Widerstandf kleiner, dann fliest auch mehr 
Strom in die Basis und damit wird die Collector-Emitter Strecke immer 
mehr in die Sättigung getrieben (also so weit es geht aufgesteuert)


Das ist ein NPN Transistor, wie er zb in deiner Schaltung bei Q3 verbaut 
ist. Die beiden Transistoren an den LED sind aber PNP Typen (der Pfeil 
zeigt es). Bei denen ist es genau anders rum. Der Tarnsistor wird 
leitend, wenn vom Collector ein Strom zur Basis fliessen kann. D.h. die 
Basis muss um 0.7V negativer als der Collector sein, damit die 
Collector-Emitter Strecke leitend wird. Der Rest ist aber gleich (der 
Verbraucher kommt auf die Emitter Seite anstatt auf die Collector Seite)

: Bearbeitet durch User
von Max H. (hartl192)


Lesenswert?

Karl Heinz schrieb:
> Es ist wie ein Wasserhahn, bei dem der Drehknopf sinnigerweise mit einem
> Wasserstrahl auf und zu gemacht werden kann.
Hier habe ich das mal als Bild: 
http://de.academic.ru/pictures/dewiki/116/transistor_animation.gif

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.