Forum: Mikrocontroller und Digitale Elektronik BC557 (THT) durch BC807-40 ersetzen?


von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Ich habe für die tinyAVR 0-series eine "Reset-Schaltung" erstellt, die 
es mir erlaubt, zum einen über einen Taster sowie über einen Impuls 
einer USB2UART Bridge en Controller zu reseten (eben in 
"Arduino-Manier"). So ist es möglich, einen tinyAVR mit einem Bootloader 
zu betreiben und einen Upload zu erzeugen, ohne dass ich auf eine Taste 
drücken muss, eben wie das auch mit einem Arduino funktioniert.

Die Schaltung ist "dirty" funktioniert aber tadellos. Ich weiß, dass die 
22nF an der VCC des Controllers als Blockkondensator eigentlich zu klein 
sind, werden diese aber vergrößert, überbrückt der Kondensator den 
"Spannungseinbruch" ausreichend, so dass der Controller nicht neu 
startet.

Da ich für diese Schaltung ein PCB erstelle, möchte ich den 
THT-Transistor BC557 durch einen BC807-40 ersetzen. In Ermangelung eines 
solchigen kann ich das jedoch nicht testen ob das mit diesem auch 
funktioniert.

Gewählt habe ich den 807-40, weil:

- er statt 100mA (BC557) sogar max. 500mA ab kann. Somit kann dieser 
einen Controller garantiert mit ausreichend Strom versorgen, selbst 
dann, wenn daran einige LEDs angeschlossen sind.

- er einen "DC current gain" von min. 250 in dem Rahmen hat, in dem er 
betrieben werden soll.

Die Zeitkonstante tau von 22nF zu 4,7k um einen Impuls zu erzeugen ist 
zeitkritisch. Ein Ersetzen des 22nF zu einem 100nF bewirkt einen zu 
langen negativen Peak, bis ein positiver Peak an der Basis erscheint, 
der die Betriebspannung daraufhin kurz ausschaltet. Ein Aussetzen der 
Betriebsspannung am Controller erfolgt somit später als es notwendig 
ist.

Der BC807-40 ist bestellt und nächste Woche werde ich das überprüfen 
können, aber an euch ist die Frage gestellt, ob der BCC557 in dieser 
Anforderung problemlos durch einen BC807-40 ersetzt werden kann?

Bitte, bitte erspart mir die Aussage, dass man mit einem zusätzlichen 
Baustein (ich hatte einen 555 - Timer eingesetzt gehabt) auch einen 
Impuls erzeugen kann, der definierter bestimmt werden kann. Das hätte 
aber einen weiteren Baustein erfordert, den ich einsparen möchte.

: Verschoben durch Moderator
von Pferd O. (pferdo)


Lesenswert?

Ja geht locker, hättest auch den BC857 nehmen können, dann wärst noch 
näher am BC557.

Gibt's eigentlich einen Grund für den Schaltvorgang keinen p-Kanal FET 
zu nehmen? Z.B. NX3008PBK?

von Michael B. (laberkopp)


Lesenswert?

Prinzipiell funktioniert der BC807 in dieser Schaltung.
Praktisch wäre ein BISS low sat Transistor wie PMMT591A oder besser 
PBSS5120T oder noch besser NSS30101LT1G oder NSS20200LT1G an der Stelle 
richtig gewesen wenn man ihn eh bestellen muss.

von Ralph S. (jjflash)


Lesenswert?

Pferd O. schrieb:
> Gibt's eigentlich einen Grund für den Schaltvorgang keinen p-Kanal FET
> zu nehmen? Z.B. NX3008PBK?

Ich hatte einfach keinen P-Kanal da !

Pferd O. schrieb:
> hättest auch den BC857 nehmen können

Der kann halt nur 100 mA (wie der BC557). Von den Daten her sehe ich 
gerade, dass das ja im Grunde ein 557 im SMD Gehäuse ist. Bei der 
nächsten Bestellung werde ich auch BC857 ordern (und auch P-Kanal) um 
meinen Bestand etwas zu erhöhen.

von Andreas M. (amesser)


Lesenswert?

In der Schaltung tuts jeder Wald und Wiesen PNP. Ich habe dafür immer 
ein paar Platinen zum Ausweiden auf Lager :-)

Edit: PNP meinte ich.

: Bearbeitet durch User
von M. K. (sylaina)


Lesenswert?

Ralph S. schrieb:
> Ich habe für die tinyAVR 0-series eine "Reset-Schaltung" erstellt,

Warum genau hast du eigentlich nicht den Reset-Pin des AVRs benutzt?

von Ralph S. (jjflash)


Lesenswert?

M. K. schrieb:
> Warum genau hast du eigentlich nicht den Reset-Pin des AVRs benutzt?

Weil die tinyAVR(R) 0/1-series einen gemeinsam genutzten Pin für 
entweder UPDI oder Reset oder GPIO verwendet. Konfiguriere ich diesen 
Pin als Reset über Fuse 5 sperre ich mich der Programmierung mittels 
UPDI gegenüber aus und ich benötige dann einen HV Programmer für 
tinAVR(R) series, den ich nicht habe!

von M. K. (sylaina)


Lesenswert?

Aber wolltest du nicht via Bootloader die Tinys programmieren? Da 
brauchste UPDI doch nicht mehr. Erst den Bootloader programmieren und 
dann die Fuses setzen. Naja, so hat es wirklich was von 
Quick&Dirty...ok, Quick eher weniger, dafür mehr Dirty :D

von Ralph S. (jjflash)


Lesenswert?

M. K. schrieb:
> Aber wolltest du nicht via Bootloader die Tinys programmieren?

Das wollte ich, das will ich, aber das will ich nicht immer !

M. K. schrieb:
> Erst den Bootloader programmieren und
> dann die Fuses setzen.

Das weiß ich natürlich !

Aber wenn ich eben nicht immer den Chip mit einem Bootloader betreiben 
will und ich den UPDI Pin als Reset konfiguriere, sperre ich mich von 
UPDI aus und komme nur noch mit einem HV-Programmer da dran (den ich - 
noch - nicht habe).

Das war z.Bsp. beim Experimentieren mit dem Optiboot-Bootloader schon 
sinnvoll, weil der nicht immer zuverlässig mit 115200 Bd (aufgrund der 
Takttoleranzen) zu betreiben ist und deswegen ein geänderter Bootloader 
mit 57600 Bd (der dann zuverlässig läuft) betrieben werden kann.

Außerdem: sollte mal gerade ein einzelner I/O Pin fehlen, kann ich den 
UPDI Pin auch als GPIO umfunktionieren und habe dann nach der 
"Spannungsabschaltmethode" dennoch einen Reset.

M. K. schrieb:
> Naja, so hat es wirklich was von
> Quick&Dirty...ok, Quick eher weniger, dafür mehr Dirty :D

Na ja, Quick war es schon, wie "Dirty" das ist, sollen andere 
beurteilen. Auf jeden Fall funktioniert das hervorragend.

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.