PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC richtig anschliessen



tornado
02.07.2006, 12:09
Hallo,
ich wollte mit den PICs noch mal ganz von vorne anfangen.
Ich wollte mir den Schaltkreis fúr meinen nächsten Roboter jetzt mal selber machen. Dafür müsste ich aber erst wissen wie der PIC Überhaubt richtig funktioniert. Also dachte ich, dass ich erst eine Experimentierplatiene mache, um verschiedene Sensoren usw. anzuschliessen.
Ich benutze den PIC 16F876.
Pin 20 (VCC) --> 5V
Pin 8 und 19 (GND) --> -
Pin 9 und 10 (OSC 1 und OSC 2) --> an den Quarz und zwei Konsensatoren. Von da aus zu Masse.
Pin 1 (MCLR) --> Zu Masse (mit einem Schalter als Resettaste)

Jetzt muss ich doch nurnoch die Pins von den Ports an VCC anschliessen (über einen Sensor oder Schalter), oder?

Bei meinem jetzigen Roboter kommt zwichen Portpin und Sensor noch ein 40106. Das ist doch nur ein inverter, oder? Kann ich den nicht auch weg lassen? Dann wäre doch nur low und high vertauscht. DAnn wäre beim programieren doch nur die 1 eine 0 und die 0 eine 1...

Sagt mir bitte ob das so stimmt, oder ob das so gar nicht funktionieren kann.

Achso, programieren könnte ich den Pic so nicht, das ist mir schon klar, der müsste halt schon programiert sein... das kann ich aber mit meiner alten Platine und 3 Kabeln machen.

Vielen Dank,
Tornado

PicNick
02.07.2006, 12:24
Pin 1 (MCLR) --> Zu Masse (mit einem Schalter als Resettaste)

Mclr ist "active low", d.h. normalerweise hängt man den mit ein paar k an Plus. (Die Reset-taste zieht in dann auf Masse)

kalledom
02.07.2006, 15:59
Hallo Tornado,
der 40106 hat Schmitt-Trigger-Eingänge für langsam ansteigende / abfallende Signale; ob Du die so einfach weglassen kannst ? Außerdem schützen solche vorgeschalteten Inverter die PIC-Eingänge.
Zu Deiner 'Pinbeschreibung' solltest Du angeben, um welches Gehäuse es sich bei Deinem PIC handelt: DIL, TQFP oder PLCC.
Warum willst Du die Portpins an Vcc anschließen ? Meinst Du Aus- oder Eingänge ? Eingänge kommen (über einen Inverter) an die Ausgänge der Sensoren. Dazu müßtest Du allerdings auch angeben, um was für Sensoren es sich handelt.

PICture
03.07.2006, 00:16
Hallo Tornado!

Ich möchte Dir aus meiner eigener Erfahrung ein paar Sachen zum andenken geben. Ich habe mir eine Entwicklungsplatine für die meisten PICs, die ich benutzen will (bis zum 28 pins) auf einer Lochrasterplatine aufgebaut.

Sie hat DIL IC Fassungen: 14 pin (für 8 oder 14 pinner) , 18 pin und 28 pin (schmal aus 2x14 pin). Die Programmierpins sind zur 9-pin ICSP Buchse am Rande der Platine zugeführt.

Die OSC pins und I/O Portpins von allen PIC Sockel sind entsprechend miteinender verbunden. Die alle I/O pins sind danach mit einem Textool 28-pin Sockel verbunden. Dort wird ein Steckadapter mit daran hängender Entwicklungshardware gesteckt.

Mit der Platine kann ich schnell sowohl den PIC als auch die Hardware wechseln und entsprechende Software "einbrennen". Wenn meine Hardware schon entwickelt und fertig auf einer Zielplatine aufgebaut ist, kann ich sie ebenfals mit dort vorhandenem gleichen ICSP Anschluss genauso "brennen".

Ich habe kein Resetschalter, weil es für mich kein Sinn hat. Mein ICSP Anschluss ist vielleicht mehr ausgebaut, aber dafür brauche ich mir keine Gedanken machen, was ich auf den Prigrammierungspins hängen darf.

Mein ICSP Anschluss ist dort:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=13619&start=22

Wenn nötig, kann ich Dir ein Schaltplan der Platine skizzen.

MfG

tornado
03.07.2006, 11:39
@picnick ok, danke, dann werde ich den halt so anschliessen

@kalledom den 40106 werde ich dann wohl doch besser benutzen
Das Gehäuse ist... keine Ahnung wie das heist. 2x14
Pins ist das nicht DIL?
Mit Port Pins meinte ich Ein- und Ausgänge
Es soll halt eine Platiene zum experimentieren sein. Da sollte
man von allem etwas dranhängen könnten (Ir Dioden,
Schalter, LDR, Display, Tastatur, Ultraschall, Servos,
Relais...)

@Picture Das ist ungefähr so etwas wie ich machen wollte, nur halt "in
kleiner".
Ich brauche im moment nur eine Fassung für diesen einen
PIC. Den Brenner würde ich dann gerne mit drei Kabeln nur
noch an diese Platiene anschliessen wenn ich den brauche.
Ich wollte diese Platiene eigentlich so einfach wie möglich
machen, damit ich auch richtig verstehe wie dort alles
funktioniert.

PICture
03.07.2006, 13:59
Hallo tornado!

Meine Platine ist nur 100x50 mm gross. Ich kann aber mehrere PICs nutzen. Wenn man sich für einen PIC enscheidet ist die Platine naturlich kleiner.

Ich habe 2x14 geschrieben, es sind zwei 14 pin DIL Sockel beinander, weil für den 28 pin schmalen PIC gibt es beim Reichelt keine Sockel.

Viel Spass und Erfolg. :)

MfG

tornado
04.07.2006, 11:53
@ Picture
Kannst du mir als Anregung mal ein Foto von deiner Platiene zeigen?

Ich wollte mich erst durchfragen und selbst so eine Platiene machen, deshalb habe ich oben diese Fragen gestellt. Bin euch für die Hilfe dankbar.
Falls ich es trotzdem nicht alleine schaffe, werde cih euch dann nach einen Schaltplan fragen :-)

kalledom
04.07.2006, 23:40
Ich habe 2x14 geschrieben, es sind zwei 14 pin DIL Sockel beinander, weil für den 28 pin schmalen PIC gibt es beim Reichelt keine Sockel. GS 28P-S (S wie schmal) heißen die beim Reichelt.

PICture
05.07.2006, 09:27
Hallo!

@kalledom

Vielen Dank für Deine Information, werde ich zukunftig sicher brauchen.

@tornado

Die Platine wurde ursprunglich nur für den PIC18F252 geplannt, deswegen habe ich 28-pin Textool Fassung gewählt und den 28-pin IC Sockel mit dem Textool Sockel 1:1 verbunden.

Danach bin ich auf die Idee gekommen, dass ich noch genug Platz für Fassungen für die kleinere PICs habe und sie noch oben (18-pin für z.B. PIC16F84) und unten (14-pin für z.B PIC16F630 oder PIC12F629) des Textool Sockels eingebaut. Du kannst auch mit einem PIC anfangen und nach Bedarf später erweitern. Ich habe irgendwann gelernt nur das zu machen, was ich wirklich brauche.

Mein ICSP mit zwei Relais ist oben links eingesteckt und durch 5-adriges Flachkabel mit dem "Brenner" verbunden. Von der linken oberen Ecke geht 2-adriges Kabel zum Netzteil.

Die 14-pin Fassung unter dem 28-pin ist für ein Quarzgenerator. Wenn ich ihn benutzen will, muss ich den Quarz und dazugehörige Kondensatoren ausstecken. Man kann da einen Umschalter einsetzen, wenn man oft wechselt.

Rechts und links des 14-pin Sockels unter dem Textool sind Stifte fürs Anschlessen der Versorgungsspannung an Messgeräte mit Abgreifklemmen (z.B. Logic Analyser).

An jeder Ecke ist ein "Beinchen" aus PC-Motherboard, damit die Platine nicht direkt auf dem Tisch liegt, weil ziemlich starker Druck auf die Platine beim Einsetzen des "grossen" PICs oft zu Beschädigung des Fädeldrahtes und schwerauffindbaren Kurzschlüssen geführt hat.

In der Mitte des Textool Sockels ist ein gelber Aufkleber mit Beschriftung der Portpins, GND und VCC, damit ich die Hardware schnell und fehlerfrei an den Steckadapter anlöten kann.

Das MCLR/VP Pin (bei mir 1) ist durch seriell verbundenen 10k Widerstand + Diode (sie verhindert das während des "Brennens" VP auf VCC kommt) mit +VCC verbunden. Wenn Du es brauchst, kannst Du zwischen dem Pin und GND ein Reset-Taster anschliessen.

Auf der Verdrahtungsseite, ausser ein paar Drahten ( :) ), ist nur ein 0,1uF vielschicht Kerko zwischen GND und +VCC direkt am 28-pin Sockel des PICs angelötet.

Ich hoffe das hilft Dir bei Entwicklung Deiner Platine.

Viel Spass und Erfolg dabei. :)

MfG

tornado
10.07.2006, 11:02
Was ist eigentlich ein "Textool"?

Meine Platiene wollte ich eigendlich etwas anders machen. Ich wollte alles voller pins machen um da sachen anzuschliessen.

die 40106 (Schmitt-Trigger-Eingänge ) soll also an alle PIC Eingänge gehen? also brauche ich 3 oder 4 von denen, oder?

PICture
10.07.2006, 12:04
Hallo tornado!

Ein "Textool" ist ein IC Sockel mit einem kleinem Hebel. Wenn der Hebel senkrecht ist, sind alle Einsteckkontakte offen. Nach dem Einstecken eines ICs oder (wie bei mir) eines Steckadapters dreht man den Hebel in die wagrechte Position und die alle Einsteckkontakte sind zu (so wie auf dem Foto). Das hat den Vorteil, dass man ohne Kraft ein IC oder Steckadapter wechseln kann.

Es ist mir klar, dass Deine Platine anders wird. Ich habe mich entschieden, dass ich auf der Platine nur einen PIC haben und die ganze Hardware durch das Textool anschliessen werde. Ich wollte es also voll univesal haben.

Wenn ich z.B. Schmitt-Trigger Eingänge für irgendwas brauche, dann werden sie auf der Hardwareplatine montiert. Es ist bei mir kurz gesagt so, als ich einen beschalteten PIC in die Hardwareplatine einstecken würde.

Meine Platine hat sich für mich in der Praxis schon mehrmals als optimale Lösung bewertet, da ich oft eine Entwicklung für kurze Zeit unterbreche und ein Program für was anderes schreibe (z.B. ein Testprogramm für ein LCD Display, u.s.w). Das ist meistens mit einer anderen Portpins Zuweisung verbunden. Bei mir gibt es also kein festdefinierten PIC und keine festdefinierte Ein- und Ausgänge.

MfG

tornado
17.07.2006, 11:58
@Picture
Mit deiner Platiene hast du mir schon einige Ideen gegeben. Danke
das mitdem Textool will ich auch machen, wusste garnicht, dass es so etwas gibt...

BigWumpus
19.08.2006, 21:55
40-polige Nullkraft-Sockel (ZIF oder auch Textool von 3M Scotch) habe ich letztens bei Reichelt für unter 10 Euros gesehen, und sogar in einer Ausführung, wo schmale und breite ICs reinpassen.

Mein Programm-Adapter hat einen 40-Pol-Sockel, der 28, 14, 16, 8-polige PICs kann. Da gibt es eine passende Kombination der Pins, die dann funktioniert (8-polige EEPROMs inklusive). Siehe auch hier im Manual: http://www.my-japan.de/electronics/microchip_prog.html

Meinen ICSP führe ich immer so aus, daß der MCLR mit 22k an VCC liegt, so daß der Adapter einen sauberen Reset geben kann. PB7 und PB6 sind an den ICSP-Anschluß geführt und in der Schaltung selbst über einen Widerstand angeschlossen, damit die Signale bei der Programmierung nicht so sehr abgeschwächt werden.

PB3 sollte man mit einem Widerstand gegen Masse schalten, damit kein LVP eingeleitet wird. Schaltet der Anschluß im Betrieb auf Output, wird der Widerstand (z.Zt. 100k) locker übersteuert.

Und dann gebe ich dem PIC seine VCC über eine 1N5818 aus der Schaltung, damit beim Programmieren über ICSP nicht die ganze Schaltung mit Spannung versorgt wird. Darauf reagieren die Programmer eher allergisch.

Siehe auch http://www.sprut.de