Folgende Testplatinen stelle ich hier vor zur Ergänzung gibt es dann noch Platinen, die in die Testplatinen eingesteckt werden können, und spezielle Funktionen bereitstellen: |
Das ist die Minimalversion einer Testplatine. Der PIC
sitzt in einer Normalen IC-Fassung. Beide Ports sind auf die
schon oben beschriebenen 10-poligen Buchsenleisten geführt.
Als Taktgenerator kann nur ein Keramikschwinger eingesetzt
werden. Wer unbedingt einen Quarz verwenden will, kann einen Adapter für die Fassung des Keramikschwingers basteln. Als Stromversorgung muss eine stabilisierte 5 V
Gleichspannung über eine 10-polige Buchsenleiste oder über
eine zusätzliche 2-polige Buchsenleiste eingespeist
werden. Billig-Steckernetzteile liefern oft zu hohe
Spannung und können den PIC zerstören! Auch ein
Vertauschen von '+' und '-' tötet den PIC in Sekunden.
|
Die 16F876-Testplatine war ein überhasteter Entwurf und
müsste dringend überarbeitet werden, aber die neuen PICs
waren angekündigt, und ich brauchte schnell eine neue
Testumgebung.
Das Grundkonzept ist das der 16F84-Platine. Die Klemmleisten sind schwer beschaffbar und teuer. Deshalb werde ich sie erst auf einer überarbeiteten Platine bestücken. Die Treiberschaltkreise der für die LED-Zeilen sind weggefallen. Das hat aber zur Folge, das hochohmige Eingangssignale stark belastet werden. In diesem Fall ist die dem PIC näher stehende Buchsenleiste zur Signaleinspeisung zu verwenden, und der DIL-Schalter des Eingangs auf OFF zu stellen, um die LEDs vom PIC zu trennen. Dann sieht man allerdings auch die Signale nicht mehr an der LED. Als Taktgenerator hatte ich ursprünglich nur noch Keramikschwinger vorgesehen. Als ich den 16F876 aber bis 20 MHz ausreizen wollte, musste ich feststellen, dass 20 MHz-Schwinger nicht so ohne weiteres zu bekommen waren. Deshalb habe ich einen Steckplatz für einen Quarzoszillator nachgerüstet. Wer unbedingt einen Quarz verwenden will, kann einen Adapter für die Fassung des Keramikschwingers basteln. |
Diese Testplatine dient dem Austesten der 8-beinigen und
14-beinigen Flash-PICs.
Das Grundkonzept ist das der verbesserten 16F84-Testplatine. 2x6 LEDs zeigen den Zustand der I/O-Pins an. Zwei Klemmfassungen sowie vier meiner 10poligen Standardbuchsen ermöglichen den Anschluss anderer Baugruppen. Eine Reset-Taste und ein ICSP-Steckverbinder runden das Design ab. Die Schaltung kann mit AC oder DC von 8..20V gespeist werden. Als Treiberschaltkreis der für die LED-Zeilen verwende
ich nun die einfach beschaffbaren 74LS245. Als Taktgenerator ist ein Keramikschwinger oder ein Quarz vorgesehen. Natürlich können auch die internen Generatoren des 12F6xx verwendet werden. Um einen Quarz zu nutzen sind alle drei Jumper des Jumperfeldes JP3 zu setzen. Um einen Resonator zu verwenden, ist nur der mittlere Jumper zu stecken. |
|
Diese Testplatine dient dem Experimentieren mit den
40-beinigen Flash-PICs.
Bei 5 PIC-Ports wäre eine Komplettausstattung mit
mehreren Steckerleisten, DIL-Schaltern, Klemmen
LED-Treibern und LEDs groß und teuer geworden. Deshalb
befindet sich auf der Platine neben dem 40-poligen
Testsockel, dem Reset-Taster, der Taktquelle und der
Stromversorgung nur Buchsenleisten für die Ports. Als Taktgenerator kann ein Keramikschwinger oder ein Quarz eingesetzt werden. Dafür müssen in einem kleinen Jumperfeld die beiden äußeren (Quarz) oder der mittlere (Keramikschwinger) Jumper eingesetzt werden. Bei der Montage von C1 und C2 bitte darauf achten, dass sie den Hebel der Testfassung nicht behindern. Eventuell müssen sie etwas verlegt werden (siehe Foto).
|
Das ist ein im Prinzip eine
PLCC-Version der 40-pin Testplatine. Sie eignet sich für
PIC16Fxxx und PIC18Fxxxx im 44-poligen PLCC44-Gehäuse. Alle
Ports sind auf jeweils 2 meiner 10-poligen Buchsenleisten
herausgeführt worden. Es können Resonatoren oder Quarze als
Taktquelle eingesetzt werden. Ein ICSP-Eingang ist
vorhanden. Als Stromversorgung eignen sich 8..20V AC oder DC. Bei hoher Versorgungsspannung und viel angeschlossener Peripherie könnte der 7805 heiss werden, dann sollte er mit einem Kühlkörper versehen werden.
|
Diese Platine ist für die
Nutzung mit PIC18F2550/2455/2458/2553 mit Bootloader
ausgelegt. Man kann Programme entwickeln, und diese dann
ohne Programmiergerät einfach per USB-Bootloader in den PIC
übertragen. Die Platine versorgt sich aus dem USB-Bus mit
der nötigen Betriebsspannung (max. 100mA). Die Ports A und B sind auf meine Standard-Steckverbinder herausgezogen. Die verbleibenden 5 Pins des PosrtC stehen an separaten Steckverbindern zur Verfügung. Die Platine lässt sich auch mit der USB4all-Firmware verwenden. |
Diese Platine ist für die
Nutzung mit PIC18F4455/4550/4458/4553 mit Bootloader
ausgelegt. Man kann Programme entwickeln, und diese dann
ohne Programmiergerät einfach per USB-Bootloader in den PIC
übertragen. Die Platine versorgt sich aus dem USB-Bus mit
der nötigen Betriebsspannung (max. 100mA). Die Ports A, B, C und D sind auf meine Standard-Steckverbinder herausgezogen. Der Kondensator C1 ist ein SMD-Typ, und befindet sich auf der Leiterseite der Platine. Die Platine lässt sich auch mit der USB4all-Firmware verwenden. |
Diese kleine Platine kann auf die 10-poligen
Buchsenleisten der Test-Platinen gesteckt werden. Die
Leuchtdioden zeigen dann den Ausgangspegel des PIC-Ports an.
Der Port selbst ist durchgeschliffen, und steht an der
Buchsenleiste der Platine zur Verfügung. (überarbeitet am
24.03.2010)
|
Diese kleine Platine kann auf die 10-poligen
Buchsenleisten der Test-Platinen gesteckt werden. Die
Leuchtdioden zeigen dann den Ausgangspegel des PIC-Ports
an. Durch den Einsatz eines Treiberschaltkreises wird der PIC-Port kaum belastet. 3,3kOhm-Widerstände ziehen den Port im Ruhezustand auf low, falls das Port-Pin als Input initialisiert wurde. Das Layout eignet sich auch sehr gut für den Aufbau auf einer Streifenleiterplatine. (korrigiert am 17.03.2006)
|
Blinkende Leuchtdioden sind zwar ganz nett, aber viel
besser ist doch eine alphanumerische
LCD-Anzeige . Auch eine Matrixtastatur, zur
Zahleneingabe verspricht einen akzeptablen Bedienkomfort.
Sowohl die LCD-Anzeige wie auch die Tastatur benötigen
relativ viele Anschlusspins des PICs. Deshalb nutze ich
einen einfachen Adapter, der die Tastatur über Widerstände
vom Display entkoppelt, und es erlaubt, beide gemeinsam an
ein 8-Bit Port, also z.B. PortB, an den PIC
anzuschließen.
Die Platine besitzt Buchsenleisten für das Display und die Tastatur, eine Reihe SMD-Widerstände und ein Kabel mit 10-poligem Steckverbinder, der auf die Buchsenseisten der Testplatinen passt. Die Stromversorgung des Displays erfolgt von der Testplatine aus, die Kontrasteinstellung des Displays ist mit Widerständen auf einen guten Wert eingestellt.
|
Die Displaystellen haben gemeinsame Anoden, die mit
pnp-Schalttransistoren angesteuert werden. Die low-aktiven
Steuereingänge der Transistoren sind auf eine separate
Buchsenleiste herausgeführt. Von hier aus kann man für jede
Displaystelle einen Draht zu dem PIC-Pin legen, der diese
Displaystelle ansteuern soll. Ein PIC-Port steuert low-aktiv die einzelnen Segmente der Displays an. Die Zuordnung der Segmente zu den Port-Bits entspricht meinem Standard, den ich auch in anderen Projekten einhalte.
|
Wenn nur Ziffern ausgegeben werden sollen, sind
7-Segment-LED-Anzeigen besser ablesbar als LCDs. Diese
Platine enthält eine 4-stellige LED-Anzeige, die mit
VQE14-Anzeigen aus DDR-Beständen billig aufgebaut werden
kann (manchmal noch bei Pollin zu bekommen). Andere Displays
mit gemeinsamer Anode können sinngemäß verwendet werden,
natürlich ist das Layout dann anzupassen. Um das Layout einfach zu halten, verwende ich 6 Drahtbrücken. Die Displays haben gemeinsame Anoden, die mit pnp-Schalttransistoren angesteuert werden. Die low-aktiven Steuereingänge der Transistoren sind auf eine separate Buchsenleiste herausgeführt. Von hier aus kann man für jede Displaystelle einen Draht zu dem PIC-Pin legen, der diese Displaystelle ansteuern soll. Ein PIC-Port steuert low-aktiv die einzelnen Segmente der Displays an. Die Zuordnung der Segmente zu den Port-Bits entspricht meinem Standard, den ich auch in anderen Projekten einhalte.
|
Mit dieser kleine Platine kann man bis zu 4 separate
analoge Spannungen erzeugen und auf die analogen Eingänge
eines PIC mit ADC oder Komparator geben. Die
Platine wird auf den PortA (bei 8-Pin-PICs Port GP)
gesteckt, und mit den 4 Potentiometern können Spannungen
zwischen Vss und Vdd eingestellt werden. Die unteren beiden
Potis sind fest für RA0/AN0 und RA1/AN1 vorgesehen, die
anderen beiden können als Referenzspannungen (RA2/Vref-,
RA3/Vref+) oder weitere Eingangsspannungen (RA2/AN2,
RA3/AN3, RA5/AN4) benutzt werden. Mit Jumpern werden die Potis mit den Port-Pins verbunden bzw. die oberen Potis auf je eines von 2 möglichen Portpins zugeordnet. Schutzwiderstände verhindern eine Beschädigung von PIC oder Poti, falls versehentlich ein Poti mit einem digitalen Ausgangspin verbunden wird.
|
Diese Platine enthält 8 Taster, mit denen Signale an alle
8 Pins eines Ports gegeben werden können.
Pull-Up-Widerstände (100kOhm) ziehen die Pins normalerweise
auf High-Pegel. Wird eine Taste gedrückt, verbindet sie das
Pin mit Vss (Masse) und erzeugt somit einen Low-Pegel. Falls ein I/O-Pin des PICs auf output gestellt ist, so stört die angesteckte Taster-Platine nicht. Man sollte aber den zugehörigen Taster nicht drücken, um das Pin nicht zu überlasten. Im Layout bin ich von einem Taster-Anschlussraster von 5mm x 7,5mm ausgegangen. In Wirklichkeit sind die Anschlüsse der Taster aber etwas enger gesetzt. Deshalb passen die Taster nur mit Gewalt in die Platine. Wer will, kann das Layout an die realen Taster-Maße anpassen.
|
Diese Platine enthält 2 Reed-Relais (Schließer, 15W, 200V,
1A) mit Schalttransistoren. Durch Jumper kann jedes Pin
eines Ports zur Steuerung eines Relais verwendet werden.
LEDs zeigen den aktuellen Zustand des Relais an. Die Relais-Kontakte sind galvanisch vom Rest der Schaltung getrennt auf eine Klemmleiste geführt. Es müssen Relais mit interner Schutzdiode verwendet werden.
|
Diese Platine enthält 2 Solid-State-Relais
(SSR) (400W, 230VAC). Durch Jumper kann jedes Pin
eines Ports zur Steuerung eines SSR verwendet werden. LEDs
zeigen den aktuellen Zustand des SSRan. Die SSR-Kontakte sind galvanisch vom Rest der Schaltung getrennt auf eine Klemmleiste geführt. Bei der gewählten Dimensionierung ergibt sich ein Steuerstrom von ca. 18 mA für das SSR. Das ist für den hier eingesetzten Typ ausreichend. Beim Einsatz anderen Typen könnte ein kleinerer Vorwiderstand nötig sein. Beim Umgang mit Netzspannung ist höchste Vorsicht geboten. Teile des Layouts, die Anschlussklemmen sowie die metallischen Teile an der Oberseite der SSR führen Netzspannung!
|
In vielen Schaltungen wird der Timer1 eines
28- oder 40-Pin-PIC mit 32 kHz betrieben. Dazu muss ein
32-kHz-Uhrenquarz an die Pins RC0 und RC1 angeschlossen
werden. Meine Testplatinen für 23- und 40-PinPICs enthalten
diesen Quarz nicht, aber dafür kann diese kleine
Adapterplatine an den Steckverbinder des PortC angeschlossen
werden. Sie enthält den Quarz und die nötigen Belastungskondensatoren für den Quarz. Die Pins RC2 bis RC7 sowie Vss und Vdd werden an eine Buchsenleiste durchgeschliffen, an die weitere Testplatinen angeschlossen werden können.
|
Für Experimente mit dem USB-Interface der
PIC18Fxx5x-Typen benötigt man einen USB-Anschluss. Da der im
Wesentlichen nur eine USB-Buchse vom Typ B beinhaltet, ist
das Ätzen einer Leiterplatte dafür etwas übertrieben. Ich
verwendete einfach eine Lochrasterplatine mit einer
10-poligen Steckerleiste, einer USB-Buchse und einem 100nF
Keramikkondensator. Die Platine muss an den Port C der 28-Pin-Testplatine (z.B. für den
PIC18F2550) oder der 40-Pin-Testplatine
(z.B. für den PIC18F4550) gesteckt werden. Die
USB-Signalleitungen sind dann mit den entsprechenden Pins
des PIC verbunden, USB_GND liegt an Vss und USB_VBUS ist mit
Vdd verbunden.
Dadurch versorgt der USB-Bus die Testplatine mit Betriebsspannung (Bus powered). Die eigene Stromversorgung der Testplatine darf nicht verwendet werden! Der entsprechende Kippschalter auf der Testplatine muss in "aus"-Stellung bleiben! Der Kondensator liegt zwischen dem VUSB-Pin des PIC und Vss. Dadurch wird die Ausgangsspannung des 3,3V-USB-Spannungsregulators des PIC gesiebt. |
Für Experimente mit dem CAN-Bus-Interface
der PIC18Fxx8x-Typen
benötigt
man einen CAN-Anschluss mit einem CAN-Transceiver. Meine
CAN-Bus-Platine enthält einen Transceiver vom Typ MCP2551
und einen SUB-D-9-Anschluss. Die Platine trägt zwei Jumper.
JP1kann bei Bedarf das Pin 9 der SUB-D-Buchse mit Vdd (5V)
verbinden. JP2 dient der Terminierung des CAN-Busses mit 120
Ohm und ist nur nötig, wenn diese Platinen den Busabschluss
darstellt. Im Normalfall sollten beide Jumper offen bleiben. Der Transceiver-IC befindet sich auf der Platinenunterseite (SMD). Die Platine muss an den Port B der 28-Pin-Testplatine oder der 40-Pin-Testplatine gesteckt werden. Die CAN-Signalleitungen sind dann mit den entsprechenden Pins des PIC verbunden. |
Ein DAC ist eine
Schaltung, die eine binäre Zahl in eine ihr proportionale
Spannung wandelt. Leider haben PICs in der Regel keine
integrierte DAC-Hardware. Aber ein DAC lässt sich mit
externer Hardware nachrüsten. Es gibt eine ganze Reihe
verschiedener technischer Lösungen. Das hier ist ein DAC mit
R2R-Widerstandsmatrix. Parallele DACs mit Widerstandsnetzwerken sind schnell, billig und haben eine begrenzte Genauigkeit. Ihre Ausgangsspannung ist betriebsspannungsabhängig, weshalb Auflösungen über 8-Bit reine Augenwischerei wären. Solche DACs lassen sich aber schnell zusammenbasteln, und eignen sich auch für die Erzeugung von bis zu einigen 10kHz in einfachen Signalgeneratoren. Die 8 Widerstandspärchen auf der linken Platinenseite lassen sich durch 8 Widerstände von je 20kOhm ersetzen. Es ist aber einfacher, einigermaßen genaue 10 kOhm-Widerstände in großer Zahl zu erwerben. Ich habe 1%-Metallschichtwiderstände eingesetzt. Die 2-poligen Buchsen sind die analogen Ausgänge. An JP1 liegt das unverstärkte Signal mit 0V...5V an. Es darf nur gering belastet werden. An JP2 liegt ein Signal an, das zwar eine geringere Spannung hat (0 ... 3,3V) aber problemlos mit bis zu 8mA belastet werden kann. Wer höhere Ströme braucht, muss einen anderen OPV auswählen. Die Platine wird normalerweise an einen Port einer Testplatine gesteckt. Sie benötigt alle 8 Bits des Ports. |