Forum: Projekte & Code Transistortester Erweiterung


von Kalle R. (laser_maus)


Lesenswert?

Ich habe den Transistortester (auf Arduino UNO/NANO Basis) von 
plouc68800:

https://create.arduino.cc/projecthub/plouc68000/ardutester-v1-13-the-arduino-uno-transistor-tester-dbafb4

um eine serielle Schnittstelle erweitert,
 auf der ich für Dioden , bipolaren Transistoren (npn/pnp) , MOSfets, 
JFets und IGBTs folgende Daten ausgebe:
 - device-Typ : 1=Diode, 2=bip.Transitor, 3=Mosfet, 4=JFet, 5=IGBT
 - Polarität  : P bzw. N
 - Mode       : E (enhanced) bzw. D (depletion) für Mos-Fets und JFets 
(D)
 - Belegung Pin1 : _,K,A E,B,C, G,D,S G,D,S, G,E,C für Diode, Trans, 
Mosfet ...
 - Belegung Pin2 : _K,A E,B,C, G,D,S G,D,S, G,E,C für Diode, Trans, 
Mosfet ...
 - Belegung Pin3 : _K,A E,B,C, G,D,S G,D,S, G,E,C für Diode, Trans, 
Mosfet ...
 abgeschlossen mit CR / 13

Ich nutze die Daten zur automatischen Steuerung meines 
Kennlinienschreibers ("TransistorCurveTracer".

von Christoph M. (mchris)


Lesenswert?

Schön, dass jemand den Transistortester-Code in eine Arduino verwertbare 
Form gebracht hat.
Vielleicht könntest Du den Code auf GitHub platzieren, dass wird er 
sicherlich geforkt und erweitert.

von Christoph M. (mchris)


Lesenswert?

BTW: weiß jemand zufällig, wie groß der Kapazitätsbereich und die 
Genauigkeit des Transistortesters sind?

von Alexander S. (alesi)


Lesenswert?

Christoph M. schrieb:
> BTW: weiß jemand zufällig, wie groß der Kapazitätsbereich und die
> Genauigkeit des Transistortesters sind?

https://www.mikrocontroller.net/articles/AVR_Transistortester
Die wichtigsten Eigenschaften:
...
* Ein angeschlossener Kondensator kann gemessen werden im Bereich 35pF 
bis 100mF mit einer Auflösung von bis zu 1 pF.
* Wenn 32K Flash Speicher verfügbar sind, können mit der SamplingADC 
Methode von Pieter-Tjerk Kondensatoren unter 100pF mit einer Auflösung 
von bis zu 0,01 pF gemessen werden.
...

Die Genauigkeit wird nicht angegeben, nur die Auflösung.

Siehe auch
https://github.com/Mikrocontroller-net/transistortester/raw/master/Doku/trunk/pdftex/german/ttester.pdf

von Christoph M. (mchris)


Lesenswert?

>https://www.mikrocontroller.net/articles/AVR_Transistortester
Danke für den Link.

>* Ein angeschlossener Kondensator kann gemessen werden im Bereich 35pF
>bis 100mF mit einer Auflösung von bis zu 1 pF.
>* Wenn 32K Flash Speicher verfügbar sind, können mit der SamplingADC
>Methode von Pieter-Tjerk Kondensatoren unter 100pF mit einer Auflösung
>von bis zu 0,01 pF gemessen werden.

Gibt es irgendwo eine Beschreibung zur Sampling-Mthode von Pieter-Tjerk?
Ich hatte vermutet, dass man vielleicht die Methoden zum Charge-Transfer 
wie bei Q-Touch verwenden könnte.

Die Inspiration kam von diesen Thread:

Beitrag "Was ist bzw. war Atmel QTouch?"

Und daraus insbesondere der Hinweis auf die Arduino Realisierung:

https://www.best-microcontroller-projects.com/arduino-capacitive-sensor.html

von Alexander S. (alesi)


Lesenswert?

Christoph M. schrieb:
> Gibt es irgendwo eine Beschreibung zur Sampling-Mthode von Pieter-Tjerk?

Suche nach "Pieter-Tjerk Sampling" führt auf 
http://www.pa3fwm.nl/technotes/tn11b.html   :-)

von Kalle R. (laser_maus)


Lesenswert?

der Arduino-Source-Code des Transistor-Tester mit seriellem Interface
steht auf github:

https://github.com/mausi-mick/TransistorTester-with-Serial-Interface/tree/main

von Christoph M. (mchris)


Lesenswert?

Alexander S. (alesi)
>Suche nach "Pieter-Tjerk Sampling" führt auf
>http://www.pa3fwm.nl/technotes/tn11b.html   :-)

Danke für den Link.

>der Arduino-Source-Code des Transistor-Tester mit seriellem Interface
>steht auf github:

Danke für's Ablegen auf Github. Jetzt kann man gut die einzelnen Module 
einsehen.
Ich habe den Code mal in der Arduino IDE compiliert.
1
Der Sketch verwendet 27100 Bytes (88%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
2
Globale Variablen verwenden 182 Bytes (8%) des dynamischen Speichers, 1866 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Während im RAM noch ziemlich viel Platz ist, ist das Flash des Atmega328 
schon ziemlich voll. Ich überlege, ob es nützlich sein könnte, dem 
Transistortester eine rudimentäre Oszilloskopfunktion zu verpassen. Ab 
und zu ist es nützlich, ein sehr einfaches Oszilloskope für die Timings 
von TestLEDs oder ähnlichem zu haben, wenn man unterwegs ist und gerade 
kein besseres Messgerät zur Verfügung hat.

von Kalle R. (laser_maus)


Angehängte Dateien:

Lesenswert?

Ich bin etwas skeptisch, ob das mit dem Mini-Osci geht.
Da braucht man ja eher ein Grafik-Display, was wohl mehr Space benötigt 
als
die LCD-Anzeige. Sinnvoll wäre vielleicht auch die LCD über I2C ("Wire") 
anzusteuern, dann hat man zumindest wieder ein paar Pins frei.
Plouc68000 hat aber auch eine "Millenium Edition" ins Netz gestellt,
auch als Arduin-Mega - Version.

https://create.arduino.cc/projecthub/plouc68000/ardutester-millenium-the-ultimate-uno-mega-versions-c81db4

Da hat man genügend Pins und auch im Vergleich zum UNO/NANO beliebig
Speicherplatz für Experimente.

Hab mittlerweile das Gehäuse für den Tester fast fertig,

seitlich hab ich eine sechs-polige Buchse für die Versorgung des 
Kennlinienschreibers.
Neben den Masse, TX und den drei Leitungen (1,2,3) hab ich auch noch die 
Switch - Leitung (an A3 ?) zum Kennlinienschreiber, um eventuell von 
dort aus den Transistortester zu starten.

: Bearbeitet durch User
von Nachtmensch (Gast)


Lesenswert?

Hallo,

hast du ein paar mehr Informationen zu dem Kennlinienschreiber?

Gruß Nachtmensch

von Alexander S. (alesi)


Lesenswert?

Nachtmensch schrieb:
> hast du ein paar mehr Informationen zu dem Kennlinienschreiber?

Von

Kalle R. schrieb:
> der Arduino-Source-Code des Transistor-Tester mit seriellem Interface
> steht auf github:
>
> https://github.com/mausi-mick/TransistorTester-with-Serial-Interface/tree/main

über

https://github.com/mausi-mick/

und

https://github.com/mausi-mick/Transistor-Curve-Tracer-MapleMini

kommt man auf

https://www.instructables.com/Transistor-Curve-Tracer/

von Christoph M. (mchris)


Angehängte Dateien:

Lesenswert?

Kalle R. (laser_maus)
>Ich bin etwas skeptisch, ob das mit dem Mini-Osci geht.
>Da braucht man ja eher ein Grafik-Display, was wohl mehr Space benötigt
>als die LCD-Anzeige. Sinnvoll wäre vielleicht auch die LCD über I2C
>("Wire") anzusteuern, dann hat man zumindest wieder ein paar Pins frei.

Da hast Du schon recht, das LCD ist als Oszidisplay eher ungeeignet.
Es gibt den Transistortester ja aber auch als mit einem Graphikdisplay 
und sogar gesockeltem Prozessor für knapp 20 Euro.
Und das DSO138 hat auch nur ein kleines TFT Display, wobei das vom 
Transistortester schon noch etwas kleiner ist.
Ich frage mich, ob die RX/TX Pins des gezeigten Transistortesters noch 
frei sind. Dann könnte man einfach einen Arduino-Bootloader auf den 
Atmega machen und mit dem Tester über einen Seriel-Adapter 
kommunizieren.

von Kalle R. (laser_maus)


Lesenswert?

Es hat vor 4 Jahren angefangen mit dem Transistor Curve Tracer von Hr. 
Balcher, der einen einfachen, aber recht guten (auch gut dokumentierten) 
Kennlinienschreiber auf instructables.com vorgestellt hat.

Ich hab ihn damals nachgebaut und etwas verbessert (auf Arduino Nano)
 und dann eine Version auf STM32F103 Basis (MapleMini) entwickelt,
die u.a. schneller (Grafik) war , statt 12 V mit bsi zu 28V lief und 
speziell für Dioden-Vergleich (auch LED und Zener) und 
Transistorvergleich (auch komplementär) erweitert wurde. Auch hab ich 
andere Verstärker verwandt und anstelle des 8-bit DACs einen 12-bitter 
(McP4822) verwandt

Im Zusammenhang mit dem Transistor-Tester bin ich seit ein paar Wochen 
an einer neuen Version des Kennlinienschreibers auf Nano-Basis dran, die 
mit Präzisions-Stromquelle für Basisströme ab ca 10 µA arbeiten soll .

Wird aber im Vergleich zur Balcher-Version etwas aufwändiger, da ich
die 3 Leitungen vom TT mit einer 3x3 Matrix switchen muss.
Ich nehme als Schalter PhotoMos-Relays (z.B. TLP222A von Toshiba), die 
mit ca 3mA sauber schalten.

von Christoph M. (mchris)


Lesenswert?

>Ich frage mich, ob die RX/TX Pins des gezeigten Transistortesters noch
>frei sind. Dann könnte man einfach einen Arduino-Bootloader auf den
>Atmega machen und mit dem Tester über einen Seriel-Adapter
>kommunizieren.

Falls ich den richtigen Schaltplan erwischt habe, sind die Pins durch 
das TFT-Display belegt:
https://github.com/Upcycle-Electronics/AVR-Transistor-Tester/blob/master/AY-AT%20J1.3.pdf

von Kalle R. (laser_maus)


Lesenswert?

Ich habe mittlerweile den Kennlinienschreiber modifiziert (anderer 
Prozessor (ATMega4908 anstelle ATMega328), bessere bipolare 
Präzisions-Konstantstromquelle, Ausgabe auf PC / Smartphone per Rx,Tx 
bzw BLE, ...) und auch die Schnittstelle zum Transistortester (TT) 
überarbeitet.

Ich habe, da auf dem TT mehr Programmspeicher und mehrere Pins frei 
waren,
die 3x3 Schalt-Matrix ( TP1,TP2,TP3 -> E,B,C ) auf den TT verlegt.
Angesteuert werden die 9 Leitungen über einen Portexpander MCP23017,
4 weitere Pins des Expanders verwende ich für einen 4-bit DAC 
(R2R-Netzwerk), der die Bauteilinformation (npn,nMosfet, nJfet, ...) als 
analoges Signal ausgibt.
Dieses Analogsignal wird am Kennlienienschreiber ausgewertet.
Gestartet wird der Messvorgang am TT (Taster am ext. ISR-Pin 2)

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.