SubLink 1 SubLink 2 SubLink 3
ltspiceusers.ch

Zurück   ltspiceusers.ch > Rund um LTspice > Beta Bereich

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21-03-2017, 00:28
daybyter daybyter ist offline
Member
 
Registriert seit: Mar 2017
Beiträge: 72
Abgegebene Danke: 2
Erhielt 9 Danke für 9 Beiträge
Standard Eprom Brenner Programmierspannung schalten

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
Angehängte Dateien
Dateityp: asc ProgrammingVoltage.asc (2,9 KB, 17x aufgerufen)
Mit Zitat antworten
  #2  
Alt 21-03-2017, 02:40
Benutzerbild von spicer
spicer spicer ist offline
Administrator
 
Registriert seit: Jun 2015
Ort: Schweiz
Beiträge: 363
Abgegebene Danke: 77
Erhielt 78 Danke für 61 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

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.
Angehängte Dateien
Dateityp: asc eprom_programmer.asc (1,4 KB, 3x aufgerufen)
Dateityp: raw eprom_programmer.raw (24,3 KB, 0x aufgerufen)
__________________
Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
(Murphys Gesetz)
Mit Zitat antworten
  #3  
Alt 21-03-2017, 21:43
Benutzerbild von spicer
spicer spicer ist offline
Administrator
 
Registriert seit: Jun 2015
Ort: Schweiz
Beiträge: 363
Abgegebene Danke: 77
Erhielt 78 Danke für 61 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

Habe da mal eine Simulation im MHz bereich.
Versteckter Inhalt
Du musst Dich bedanken um zu sehen was versteckt ist
Miniaturansicht angehängter Grafiken
Bildschirmfoto zu 2017-03-21_20-38-18.png  
Angehängte Dateien
Dateityp: asc eprom_programmer.asc (1,4 KB, 2x aufgerufen)
Dateityp: raw eprom_programmer.raw (28,0 KB, 0x aufgerufen)
__________________
Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
(Murphys Gesetz)
Mit Zitat antworten
  #4  
Alt 21-03-2017, 23:48
daybyter daybyter ist offline
Member
 
Registriert seit: Mar 2017
Beiträge: 72
Abgegebene Danke: 2
Erhielt 9 Danke für 9 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

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.
Mit Zitat antworten
  #5  
Alt 21-03-2017, 23:58
Benutzerbild von spicer
spicer spicer ist offline
Administrator
 
Registriert seit: Jun 2015
Ort: Schweiz
Beiträge: 363
Abgegebene Danke: 77
Erhielt 78 Danke für 61 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

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 es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
(Murphys Gesetz)
Mit Zitat antworten
  #6  
Alt 23-03-2017, 01:06
daybyter daybyter ist offline
Member
 
Registriert seit: Mar 2017
Beiträge: 72
Abgegebene Danke: 2
Erhielt 9 Danke für 9 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

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... ;(
Mit Zitat antworten
  #7  
Alt 23-03-2017, 01:39
Benutzerbild von spicer
spicer spicer ist offline
Administrator
 
Registriert seit: Jun 2015
Ort: Schweiz
Beiträge: 363
Abgegebene Danke: 77
Erhielt 78 Danke für 61 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

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.
__________________
Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
(Murphys Gesetz)
Mit Zitat antworten
  #8  
Alt 23-03-2017, 06:00
Benutzerbild von spicer
spicer spicer ist offline
Administrator
 
Registriert seit: Jun 2015
Ort: Schweiz
Beiträge: 363
Abgegebene Danke: 77
Erhielt 78 Danke für 61 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

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
Miniaturansicht angehängter Grafiken
Bildschirmfoto zu 2017-03-23_05-07-41.png  
Angehängte Dateien
Dateityp: asc eprom_programmer2.asc (2,1 KB, 1x aufgerufen)
Dateityp: raw eprom_programmer2.raw (98,9 KB, 0x aufgerufen)
__________________
Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
(Murphys Gesetz)
Mit Zitat antworten
Folgender Benutzer sagt Danke zu spicer für den nützlichen Beitrag:
daybyter (23-03-2017)
  #9  
Alt 23-03-2017, 23:06
daybyter daybyter ist offline
Member
 
Registriert seit: Mar 2017
Beiträge: 72
Abgegebene Danke: 2
Erhielt 9 Danke für 9 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

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
Mit Zitat antworten
  #10  
Alt 23-03-2017, 23:54
Benutzerbild von spicer
spicer spicer ist offline
Administrator
 
Registriert seit: Jun 2015
Ort: Schweiz
Beiträge: 363
Abgegebene Danke: 77
Erhielt 78 Danke für 61 Beiträge
Standard AW: Eprom Brenner Programmierspannung schalten

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.
__________________
Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen, und eine davon in einer Katastrophe endet oder sonstwie unerwünschte Konsequenzen nach sich zieht, dann wird es jemand genau so machen. Alles, was schiefgehen kann, wird auch schiefgehen.
(Murphys Gesetz)
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist an.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:27 Uhr.
Powered by vBulletin®
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
LTspice ist ein Warenzeichen von © Linear Technology