Eprom Brenner Programmierspannung schalten

daybyter

Leidenschaftlicher LTspicer
Member
Landesflagge
Hallo!

Bin leider eher ein Coder und sicherlich kein Analog-Profi. Hab noch keine Transistorschaltung dimensioniert, weshalb meine Widerstände wohl fernab vom Optimum sind... :(

Ich versuche mir einen einfachen Eprom Brenner auf Arduino Basis zu basteln. Dieser soll für alte mcm68766 Eproms sein und daher 25 V Programmierspannung benutzen.

Beim Programmieren muss ich von 5 V auf 25 V schalten, und zwar _ohne_ dazwischen auf 0 V zu gehen, weil dadurch die Ausgänge des Eproms aktiv würden. Da dann auch die zu brennenden Daten an den Datenleitungen anstehen, hätte man einen Kurzschluss

Ich versuche gerade mit den Transistoren auszukommen, die ich hier hab. Das wären BC 327, 337, 547, 554 und ein paar (wenige) bs 170 und sa 1244.

Wollte die Schaltung also mit bc 547b und 327-40 basteln.

Ich häng die Schaltung mal an. Vermutlich wäre ein GIF besser, aber ich weiss noch nicht, wie ich das exportiere.

Die Idee hinter der Schaltung:

Mit einem Step Up will ich 25 V auf den 5 V USB Versorgung machen.

Um wahlweise auch 5 V zu bekommen hab ich mit R 5 und R 8 einen Spannungsteiler gebastelt, der 20 V / 5 V teilt. Vpp ist über dem kleineren Widerstand, ist also erstmal 5 V. Um die Spannung wahlweise auf 25 V zu heben, schaltet Q3 durch und überbrückt den 20k Widerstand. Jetzt ist der Spannungsteiler weg und Vpp hebt sich auf 25V.

Um die Spannung auch auf 0 V senken zu können sitzt Q2 über dem Spannungsteiler und trennt bei Bedarf den Teiler von den 25 V. Durch die Verbindung zu Masse wird Vpp dann zu 0 V.

Die Arduino Eingänge schalten ja zwischen 0 V und 5 V. Q2 und Q3 liegen auf einem höhreren Potential, so dass man sie ohne weitere Hilfe nicht schalten könnte.
Q1 und Q4 werden vom Arduino angesteuert und heben die Steuerspannung Richtung 25 an, um Q2 und Q3 schalten zu können.

Die Basiswiderstände erscheinen mir zu klein, aber die Spice Simulation sieht eigentlich recht gut aus.

Was allerdings noch nicht geht: beim Einschalten der 25 V an Q2 ist Q3 zunächste leitend, so dass es einen kurzen Spike so bis ca. 21 V gibt. Den muss ich noch wegbekommen.
Meine 1. Idee war etwas mit nem Kondensator, aber dann gibt es evtl. das Problem, dass das Schalten zu langsam wird.

Die Vorgabe aus dem Eprom Datenblatt ist nämlich, dass die Umschaltung von 5 V auf 25 V innherhalb von 2 Mikrosekunden erfolgen muss. Dann wird die Programmierspannung 2 ms gehalten und es geht danach in 2 Mikrosekunden wieder runter auf 5 V.

Ich müsste als Q3 während der Durchschaltung von Q2 sperren. Muss ich noch schauen, wie das klappt.

Freue mich über jeden Kommentar und jede Kritik zur Schaltung.

Ciao,
Andreas
 

Anhänge

  • ProgrammingVoltage.asc
    2,9 KB · Aufrufe: 18
Hab da mal einen "schnellen" Entwurf. Muss natürlich noch verfeinert werden. Ich muss jetzt mal ins Bett ^^
Kleiner Schönheitsfehler noch: Vpp_on ist invers.
Dafür braucht es weniger Komponenten und nur 1 Transistortyp.
Werde das Ganze dann noch mit der zeitlichen Komponente testen (2us usw).


Am einfachsten ist, wenn Du einen Printscreen machst und anhängst. Das Schema als asc anhängen ist sehr gut und das einzig Richtige.
 

Anhänge

  • eprom_programmer.asc
    1,4 KB · Aufrufe: 3
  • eprom_programmer.raw
    24,3 KB · Aufrufe: 0
Habe da mal eine Simulation im MHz bereich.

Bildschirmfoto zu 2017-03-21_20-38-18.png
 

Anhänge

  • eprom_programmer.asc
    1,4 KB · Aufrufe: 3
  • eprom_programmer.raw
    28 KB · Aufrufe: 0
Zuletzt bearbeitet:
Hmmh...ich versuch noch Deine Schaltung zu verstehen....

Seh ich das recht, dass Du mit Q2 die Programmierspannung auf der Low Side wegschaltest? Sowas hatte ich auch mal, aber das gibt doch das Problem, dass Du damit die Masse anhebst?
Dieses Eprom hat ja nur eine Masse für Programmierspannung, Daten- und Adressleitungen. Und diese Masse ist ja wiederum mit dem Arduino und über USB auch mit dem PC verbunden. Trennt man die Programmierspannung auf der Low Side von dieser Masse hat man ja eine Spannung zwischen Vpp und den anderen Signalleitungen.

Deshalb hab ich beide Transistoren auf der High Side platziert und schalte nur relativ zur Masse runter.
 
Q1 ist als serie Transistor wie bei einer Spannungsstabilisierung drin und der schaltet auch die gesammte Spannung Vout.
Dein Eprom ist an Vout und Masse.
Die Masse verändert sich nicht. Jedes Gerät hat die gleiche Masse.
Was Q2 macht, kann dir im Prinzip egal sein ^^ Mit Q2 verändere ich nur den Spannungsteiler.
Hab ich was falsch verstanden?
 
Wenn Q2 trennt, dann ist doch R4 von der Masse getrennt? Das ist doch ein Low Side Schalter, was doch nicht sein darf?

Mit Q3 überbrückst Du den Widerstand R4 und änderst den Spannungsteiler?

Aber im Grossen und Ganzen steh ich bei Deiner Schaltung noch auf dem Schlauch... ;(
 
Wenn Q2 trennt, steigt U an der Basis Q1 von 5V auf 25V. Somit lässt Q1 voll durch. Also Vout=25V
Wenn Q3 leitet, sinkt U an Basis Q1 auf 0V. Somit sperrt Q1. Also Vout=0V
Ich mache im Prinzip nichts anderes als das: http://www.spicelab.de/laengs_t.htm
Was man in der Praxis dann noch berücksichtigen müsste, wie hoch das low-Signal vom Arduino ist, da low ja bekanntlich nicht = 0V ist. Da müssten dann R2 und R3 noch angepasst werden.
 
Habe nun mal die schlechtesten Werte genommen (low = 0.8V, high = 2V)
Die Schaltung muss mit 2 Transistoren ergänzt werden, damit eine saubere Schaltung entsteht.
So ist das ganze auch nicht mehr invers ;)
 

Anhänge

  • Bildschirmfoto zu 2017-03-23_05-07-41.png
    Bildschirmfoto zu 2017-03-23_05-07-41.png
    93,6 KB · Aufrufe: 10
  • eprom_programmer2.raw
    98,9 KB · Aufrufe: 0
  • eprom_programmer2.asc
    2,1 KB · Aufrufe: 1
Dicken Dank schonmal für Deine Mühe! Leider wird es gerade für mich etwas unübersichtlicher. Hab mir das eben mal ausgedruckt, damit ich es mir heute Nacht unters Kopfkissen legen kann... ;)

Du bist nun mit den Basiswiderständen hochgegangen, was meiner Meinung nach Sinn macht, wenn ich die Sache mit der Stromverstärkung richtig verstanden hab. Andererseits ist der 547 ja nur ein recht schwächlicher Transistor. Ich glaub er kann 100mA, wenn ich mich recht entsinne. Das Eprom soll beim Brennen 85mA brauchen. Aber das ja nur kurzzeitig. Hoffe mal, das kommt so hin? Alternativ könnte man die Transistoren direkt an Vout durch den 337 ersetzen? Der kann 0,8A.

Am besten wäre jetzt vielleicht ein Praxistest, oder was meinst Du? Mal auf nem Steckbrett aufbauen und schauen, ob es anfängt zu qualmen? :)

Danke nochmal,
Andreas
 
Dank der serie-Transistor Schaltung spielt es keine Rolle, was für ein Typ der Q1 ist.
Einzig die Geschwindigkeit. Der BC337 ist nur minim langsamer. Abgesehn von diesem Faktor könntest sogar einen Leistungstransistor nehmen ;)
Ist eigentlich normal, dass je stärker je langsamer. Der "beta" (Verstärkungsfaktor) wird auch kleiner je stärker, spielt aber wie gesagt hier keine Rolle.
Achte noch darauf, wie sich Q1 unter Last verhält. Habe mal ein 300 Ohm Widerstand an Vout gehängt (80mA). Der BC337-40 verhält sich etwas besser.
Habe noch R1=5k und R4=1.5k ausgetauscht.
 
Habe Dir hier nun meine Final-Version.
Scheint stabil und ohne Rauch zu laufen ^^
Wenn Du Deinen StepUp noch auf 26V trimmen kannst, erreichst Du sogar exakt 25V. Natürlich dann den Spannungsteiler so anpassen, das die 5V auch 5V sind.
Wieviel Strom zieht das Eprom im 5V Modus?
Im 5V Modus wird Q1 am meisten durchgenudelt, weil er da 20V "verbrennen" muss. Das wäre dann 1W bei 50mA.


Edit:
Habe gerade bemerkt, dass in Deiner ursprünglichen Schaltung die 5V unter Belastung versagen! Der Einschaltspitz geht bis 5V, nachher ist 0.32V.
Habe einen 250 Ohm Widerstand als Last an VppOut gehängt.
 

Anhänge

  • Bildschirmfoto zu 2017-03-24_17-34-21.png
    Bildschirmfoto zu 2017-03-24_17-34-21.png
    94,1 KB · Aufrufe: 10
  • eprom_programmer_final.asc
    2,4 KB · Aufrufe: 2
  • eprom_programmer_final.raw
    177,2 KB · Aufrufe: 0
Musste auf ein grösseres Steckbrett ausweichen und deshalb nochmal von vorne anfangen.
Aber nun nähert sich das Projekt dem ersten Testlauf (muss u.a. noch Testsoftware schreiben).

Was mir immer noch Gedanken macht, sind die 200 Ohm, mit denen Q4 und Q5 auf den 25V liegen (hab vorhin die Leerlaufspannung meines Stepup auf 25,8V eingestellt. Wird man im Betrieb noch anpassen müssen). Weil damit würden ja durch die 2 BC547 mehr als 100mA fliessen, was über dem Maximalstrom ist?

Ciao,
Andreas
 

Anhänge

  • IMG_20170326_191538.jpg
    IMG_20170326_191538.jpg
    1,5 MB · Aufrufe: 1
So...mal nen ersten Test mit Strom gemacht und hat gleich streng gerochen... :Cry:

Aus der 25 Schiene auf dem Steckbrett kam auch bisserl Qualm.

Ich hatte einen 3k3 Widerstand zwischen Vpp und Masse gemacht und hatte so ein kleines Testprogramm geschrieben, dass so umschaltet 0V, 5V, 25V, 5V und dann wiederholt. Jede Spannung sollte 1 ms gehalten werden. Aber das Signal an dem Widerstand war eigentlich nur Rauschen.

Ich hatte ein USB Steckernetzteil genommen und dahinter so ein Strom/Spannungsmessgerät gesteckt. Das hat mir schon über 1A bei Leerlauf angezeigt, was wohl auf ein ernsthaftes Problem hinweist.

Der R2 Widerstand ist auch bisserl dunkel geworden, hat aber noch 387 Ohm.

Bei meinem ersten Versuch, das Problem einzugrenzen, hab ich mal die stabilisierten 25V (hab eher 25,8V eingestellt) gemessen, und das sieht wie in den Anhängen aus...

Da ist wohl ne kleine Ripplespannung, die aus dem VR kommt...

:scared:
 

Anhänge

  • vr_out.png
    vr_out.png
    39,7 KB · Aufrufe: 4
  • vr_out2.png
    vr_out2.png
    45 KB · Aufrufe: 5
Aber da hast doch iwo einen Kurzschluss gebaut. R2 ist ja ein 380 Ohm. Bei 25V können da max 65mA fliessen (1.7W).
"Ich hatte ein USB Steckernetzteil genommen und dahinter so ein Strom/Spannungsmessgerät gesteckt." ....das verstehe ich jetzt nicht ganz....
 
Also dass der R2 stinkt macht schon Sinn. Der hat so 390 Ohm, und wenn Q4 durchschaltet, fliessen da also knapp 64 mA. Es fallen die 25 V theoretisch komplett über R2 ab, also knapp 1,6W. Viel zu viel für nen 0,25W Widerstand.
Rechnet man mit 25V, dann würden bei einem 2500 Ohm Widerstand 10 mA fliessen und dann 0,25 W über den Widerstand abfallen.
Bei Sättigung soll Ic/IB = 20 sein, also der Basisstrom 1/20 vom Kollektorstrom. Das wären dann 0,5 mA. Rechnet man Uein = 4,5V - 0,8 V als Basis-Emitter-Abfall, wären das 3,7V / 0,5 mA = 7400 Ohm . Der Basiswiderstand sollte also kleiner als 7,4 kOhm sein.
 
Aber da hast doch iwo einen Kurzschluss gebaut. R2 ist ja ein 380 Ohm. Bei 25V können da max 65mA fliessen (1.7W).
"Ich hatte ein USB Steckernetzteil genommen und dahinter so ein Strom/Spannungsmessgerät gesteckt." ....das verstehe ich jetzt nicht ganz....

Ich hab so ein USB Messgerät:

amazon.co.uk/HeroNeo-Charger-Battery-Detector-Voltage-x/dp/B00LHBFINK/ref=pd_sim_107_3?_encoding=UTF8&psc=1&refRID=RGVQDRRXQ9MM9F6Y4T1X
 
Zuletzt bearbeitet von einem Moderator:
Es sind in der Schaltung 2 Strecken, über die jeweils 65 mA bei 25 V abfliessen. Wären 130 mA bei 25V = 3,25 W. Der Step-Up erzeugt die aus 5 V, braucht dazu also mindestens 3,25 / 5 = 650 mA. Das schafft der aber nicht verlustfrei, also zieht er vielleicht 10%, wären also so ca 700 mA. Dazu muss er noch den Ausgangstransistor speissen und auch noch den Arduino. Dann sind wir schon bei Richtung 1A.

Ich hab nochmal Kurzschluss gesucht und auch gemessen, aber bis jetzt nix gefunden.
 
R2 und R3 auf 500 Ohm geht auch noch. Da komme ich bei V1 auf gut 200mA.
Basisströme sind nirgends über 6mA.
Als Last hab ich immer noch einen 250 Ohm dran.
 

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Wer hat diesen Thread gelesen

Zurück
Oben