PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Optokoppler oder Transistor? (DZM mit Uc)



hardstyleroxx
30.10.2005, 13:16
Ich bin gerade dabei mir einen Drehzahlmesser mit einem AT90S2313 zu bauen. Nun weiss ich nur nicht wie ich das Signal von meinem Roller auf den Uc geben soll.
Ich habe pro Umdrehung einen Impuls mit einer Spannung von 1V-3V.

Sollte ich nun den Impuls nehmen um damit einen Transistor zu schalten der dann +5V auf den Pin des Uc's legt oder sollte ich das mit einem Optokoppler realisieren?

Das Problem ist halt das ich mit diesem Impuls (1V-3V) eine saubere Spannung von +5V auf den Pin des Uc's bekommen will. Hat jemand vielleicht eine Idee?

Danke schonmal.

uwegw
30.10.2005, 13:29
wie hoch ist die spannung zwischen den impulsen? wenn sie der avr als low erkenenn würde, würde es vielleicth sogar direkt gehen, ansonsten halt nen komparator mit 1v referenz dazwischenpacken...

hardstyleroxx
30.10.2005, 13:31
Die Spannung zwischen den Impulsen sollte eigentlich 0V sein. Ab wann ist es denn für den Uc Low-Pegel und ab wann High-Pegel?

Die Spannung kommt Induktiv von der Zündung. Ich habe leider kein Osziloskop, sonst könnte ich genauere angaben machen.

PICture
30.10.2005, 15:57
hallo hardstyleroxx!
Für TTL ist der L Pegel bis ca. 1,4V und für CMOS ca. 1/3 Vdd. Wenn die Massen (0V) von der Signallquelle und AVR Board verbunden sind brauchst Du kein Opto, dann kannst Du ein Transistor nehmen.
MfG

uwegw
30.10.2005, 16:03
wie kommts du eigentlich ohne oszi auf die 1-3 V???

hardstyleroxx
30.10.2005, 16:07
ok danke für eure hilfe.

Blos stellt sich mir nun die Frage welchen Transistor ich nehmen muss ... :(

Der Impuls muss an die Basis, der Collector an den UC und der Emitter an +5V oder?

hardstyleroxx
30.10.2005, 16:18
Ich habe mal ein Plan gemacht.
Stimmt das so alles?
Welchen Transistor brauche ich? (Der inner mitte ist und an PD6 geht)

http://img444.imageshack.us/img444/9113/dzm18pt.th.gif (http://img444.imageshack.us/my.php?image=dzm18pt.gif)

PICture
30.10.2005, 17:19
Hallo hardstyleroxx!
Bei Deinem pnp Transistor fehlt noch ein Resistor seriell im Basis Stromkreis. Ich würde aber lieber ein npn Transistor nehmen. Der invertiert das Signal und Du musst das im Code ändern. Wenn es ein Problem seien sollte, dann skizze ich Dir das mit einem pnp.
Mit dem Potenziometer kannst Du schnell den optimalen Pegel der Umschaltung finden und dann ihn mit zwei Resistoren ersetzen.
MfG


VCC
+
|
|
.-.
| |R
| |1k
'-'
Pickup >------------+ |
| +------------> PD6
.-. |/
P| |<---| T
10k| | |>
'-' |
| |
=== ===
GND GND

hardstyleroxx
30.10.2005, 18:27
Hallo PICture!
Den Code im Programm zu ändern ist für mich ein problem, deswegen wäre es nett wenn du das mal mit einem PNP skizzieren könntest.

Vielen Dank

PICture
30.10.2005, 19:00
Hallo hardstyleroxx!
Sorry, aber mit einem pnp Transistor geht es nicht. Ich denke, dass noch ein npn Transistor und Resistor zu verkraften ist. Der T2 ist einfach ein Inverter. Wenn Du in Deiner Schaltung freie invertierende Gätter hast kannst die auch verwenden.
MfG


VCC VCC
+ +
| |
.-. .-.
| |R1 | |R2
| |1k | |1k
'-' '-'
| |
| +--------> PD6
| |
Pickup >------------+ | |/
| +------| T2
.-. |/ |>
P| |<---| T1 |
10k| | |> |
'-' | |
| | |
=== === ===
GND GND GND

hardstyleroxx
30.10.2005, 23:56
Irgentwie verstehe ich das alles nicht. Klappt es nicht so wie auf dem folgenden Stromlaufplan? Ist doch sozusagen ein Pulldown. Beim Schalten des Transistors wird der Pin vom Uc auf +5V gelegt.

http://img402.imageshack.us/img402/1162/dzm22lm.th.gif (http://img402.imageshack.us/my.php?image=dzm22lm.gif)

SprinterSB
31.10.2005, 01:12
Bei 1-3V hast du an der Basis des pnp -4-(-2) V, so daß er immer schaltet. Das musst du noch anpassen, etwa über Spannungsteiler oder pullup an der Basis. Falls es nicht mit pnp geht und du den Code nicht aufassen kannst, gehen auch 2 npn hintereinander, damit das Signal wieder richtigrum ist.

PICture
31.10.2005, 01:18
Ich sehe es, dass Du es nicht verstehst. Ich versuche Dir das erklären warum es nicht funktionieren kann. Du darfst den Transistor nicht als Schalter betrachten. Um den Transistor abschalten, muss die Spannung zwishen (B)asis und (E)miter niedriger als ca. 0,6 V sein. Das heisst das die Spannung auf B höher als ca. 4,4V seien muss, weil auf dem E 5V ist. Und die Spannung gibt Dein PickUp nicht. Um den Transistor einzuschalten muss die Spannung zwischen B und E grösser als ca. 0,6 V also auf B niedriger als die ca. 4,4V. In B muß unbedingt seriell ein Resistor angeschlossen sein, sonst ist der Transistor sofort kaputt, weil max Basistrom überschritten wird. Die Spannung gibt dein PickUp und seine innere Resistanz gegen Masse begrentzt den Strom. Ich habe Dir doch geschrieben, das es mit einem pnp Transistor nicht geht. Jetzt glaubst Du mir, oder?. Du kannst den Transistor schon so lassen, aber musst Du noch einen npn dazu nehmen.
MfG


VCC VCC
+ +
| |
.-. |
R1| | |
1k| | |
'-' |
| |<
+----| T2
| |\
.-. |
R2| | |
1k| | .|
'-' +---------> PD6
PickUp >---------+ | |
| | |
.-. |/ .-.
P | |<---| T1 | |R3
10k| | |> | |1k
'-' | '-'
| | |
=== === ===
GND GND GND

hardstyleroxx
31.10.2005, 01:21
Wäre es dann nicht echt einfacher mit einem OK zu arbeiten?

Aber danke erst mal für eure Mühen ;)

PICture
31.10.2005, 01:25
was meinst Du mit OK?

hardstyleroxx
31.10.2005, 01:38
Mit OK meine ich Optokoppler.

Ich habe gerade gelesen, dass ich den Eingang am Uc bei jedem Impuls auf Masse schalten muss!

hardstyleroxx
31.10.2005, 13:55
Hallo,
ich habe den Plan nochmals verändert (So wie PICture es mir vorgeschlagen hat).

http://img269.imageshack.us/img269/3779/dzm36ti.th.gif (http://img269.imageshack.us/my.php?image=dzm36ti.gif)


Ist das jetzt alles so richtig?
Welchen Transistor muss ich denn nun nehmen? Ist es egal wie hoch die Spannung am Pickup ist? Da ich kein Oszilloskop habe kann ich leider nicht nachmessen und ich höre von jedem andere werter. Der eine sagt es sind 1V-3V und der nächste sagt es sind 40V, deswegen wäre es gut wenn der Transistor bei jeder Spannung zwischen 1V und 40V schalten würde.

Gruß
Roman

PICture
31.10.2005, 18:02
Hallo hardstyrelox!
Ich wollte Dein Schaltplan anschauen, aber kann ich es nicht mehr. Warum?
MfG

hardstyleroxx
31.10.2005, 18:10
ALso bei mir geht der einwadnfrei. Versuche mal den direkten Link:

http://img269.imageshack.us/my.php?image=dzm36ti.gif

PICture
31.10.2005, 18:21
es geht auch nicht. Na ja, wenn Du alles richtig gemacht hast, dann wird es funktionieren. Jetzt ist mein Urlaub zu Ende und werde nicht so oft online sein. Aber am Wochenende schon mehr.
Viel Spass und Erfolg! :)
MfG

uwegw
31.10.2005, 19:14
der transistor ist immer noch nicht richtig angeschlossen!!! bei pnp gehört der emitter an plus... und du brauchst nen basis-vorwiderstand, der den basisstrom soweit begrenzt, dass bei der maximalen eingangsspannung der zulässige basisstrom nicht überschritten wird...

ansonsten würde ich mich nochmal genauer über das signal schlaumachen bzw nachmessen. denn wenn dort wirklich 40V ankommen sollten, könnte das etwas gefährlich für die schaltung werden wenn sie nicht passend ausgelegt wurde...

hardstyleroxx
31.10.2005, 19:43
ups... es soll natürlich ein NPN sein! Habs gleich mal berichtigt.

http://img334.imageshack.us/img334/2517/dzm49oq.th.gif (http://img334.imageshack.us/my.php?image=dzm49oq.gif)


Stimmt es denn jetzt? Welchen Transistor brauche ich genau (Habe jetzt nur irgenteinen eingesetzt...)?

PICture
31.10.2005, 19:54
ich kann die vorherige Schaltpläne sehen, nur die heutigen nicht.
hmm... komisch.
MfG

hardstyleroxx
31.10.2005, 20:15
gehts denn jetzt? habe das Bild mal im Forum als Anlage angehängt.

PICture
31.10.2005, 20:23
ja jetzt geht. Das ist richtig, aber das Signal von PickUp, wie ich schon früher erwähnt habe, wird invertiert. Um das im Code nicht ändern zu müssen, musst Du das Signal noch vor dem MC "umdrehen" (invertieren). Dazu brauchst Du noch einen Transistor, oder Gatter. Das habe ich auch schon erklärt.
MfG

hardstyleroxx
31.10.2005, 20:26
Jetzt ist es doch so: Bei einem Impuls vom Pickup wird PD6 auf Masse gezogen oder?

So soll es auch sein! in der beschreibung vom Code steht drinne man soll einen Pullup verwenden und das ist ja genau das gleiche.


Achja was für einen Transistor brauche ich denn genau?

PICture
31.10.2005, 20:34
Ja, aber steht in der Beschreibung, was für eine Polarisation das Impuls hat? Der Transistor invertiert das Signal im vergleich zum pull-up!. Der Transistor ist nicht kritisch, nimm irgendeiner von dennen die Du zur Hand hast.
MfG

hardstyleroxx
31.10.2005, 20:47
Also kann ich jeden beliebigen Transistor verwenden? Das klingt schonmal gut ;)

Wenn da was von Pullup steht wird der impuls doch immer negativ sein oder?

PICture
31.10.2005, 20:55
logisch, und dann wird der Transistor gesspert und auf dem MC Pin wird ein positives Impuls sein sein. Das dieses Signal von PickUp auf dem MC pin auch negativ wird, muß es noch mal invertiert werden. Es tut mir leid, aber jetzt muß ich mich schon verabschieden, weil ich Nachtschicht arbeite. Ich schaue morgen früh wie weit Du mit Deiner Schaltung bist.
Viel Erfolg und bis morgen! :)
MfG

hardstyleroxx
31.10.2005, 21:04
Auf jeden fall schonmal ein dickes Lob an dich PICture für deine Mühen. Ich habe jemanden mit einem Oszilloskop in meiner nähe ausfindig gemacht und werde da in den nächsten Tagen hinfahren um den Impuls mal genauer zu analysieren.

skillii
31.10.2005, 21:44
du brauchst noch unbedingt einen Basisvorwiderstand!(im obigen Schaltplan nicht vorhanden ...) den Basisvorwiderstand musst du noch an die Spannung die vom Schleifer von R15 kommt anpassen...

hardstyleroxx
31.10.2005, 22:36
So sollte es stimmen oder?

DEAF BOY
01.11.2005, 00:19
Was soll gezählt werden? Von 0, 1,...26, 4164, ... bis 99999?

Weil fünf Segmentanzeigen gleichzeitig am PortB hängen und gleichzeitig von AT90S2313 gesteuert wird, so wird 00000, 11111, 22222, ..., 99999 gleichzeitig angezeigt!? Dann ist das kein richtiges Drehzahlmesser, wenn er 11, 12, 13 usw. nicht hochzählt oder irre ich mich!?

hardstyleroxx
01.11.2005, 00:27
Die 7 Segmentanzeigen werden ja auch per multiplex gesteuert! Über die gemeinsame Kathode wird die Anzeige gewählt die beschreiben werden soll, mit den leitungen a-g wird die gewünschte Zahl auf der aktiven Anzeige ausgegeben. Das Geht alles so schnell das du denkst das alle Anzeigen gleichzeitig was Anzeigen.

PICture
01.11.2005, 07:12
Hallo hardstyleroxx!
So passt es jetzt wunderbar. Ich nehme an, dass die Spannung von PickUp von einer Spule kommt (so steht´s zumindest in Deinem erstem Beitrag). Wenn nicht, dann hat der @skillii recht. Wenn Du nicht sicher bist, dann skizze mir, bitte, die PickUp Schaltung. Das Programm zum Skizzen (das ich benutze) kannst Du von dem link holen:
AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de
Wenn ich nicht online bin, dann schlafe ich noch.
Mfg

hardstyleroxx
01.11.2005, 11:12
Hey PICture,

hier ist ein Bild vom Aufbau und er Funktion des PickUps

http://www.speedmike.de/phpkit/include.php?path=content/content.php&contentid=45

PICture
01.11.2005, 11:59
Alles klar. In dem Fall, wen die Spule von PickUp sogar eine kleine Birne zum Leuchten bringen kann, kann auch den ersten Transistor vernichten. Deswegen müsste man das vermeiden. Am einfachsten wäre ein Resistor seriell mit dem Potentiometer schalten, der den Basisstrom begränzt wenn der Schleifer von P ganz oben ist. Mir ist auch noch eingefallen, dass man sich ein Resistor "sparren" kann, wenn man als T2 auch npn Transistor nimmt. Hier eine Skizze dazu.



VCC VCC
+ +
| |
.-. .-.
| | | |
R1 R2| | | |R3
ca.1k 1k'-' '-'1k
___ | | PD6
PickUp >---|___|-+ +----+ +------>
| | | |
.-. |/ | |/
P | |<---| T1 +---| T2
10k| | |> |>
'-' | |
| | |
=== === ===
GND GND GND

hardstyleroxx
01.11.2005, 12:20
Stimmt jetzt so alles (Richtige Transistoren, Wiederstandswerte etc.)?
Ich habe jetzt als Transistoren "BC547A" genommen weil ich davon noch welche habe glaube ich, die sollten gehen oder?

PICture
01.11.2005, 13:17
Stimmt alles wunderbar, die Transistoren auch. Das hast Du aber noch nicht aufgebaut oder? Möchte gerne wissen ob es geht! :)

hardstyleroxx
01.11.2005, 14:03
Bin gerade am Layouten... Das kann erst mal dauern. Bin da drinne nämlich nicht sehr fit. Weil ich Eagle so unübersichtlich finde bin ich wieder auf Sprintlayout umgestiegen (Da fehlen leider zimelich viele Makros, also muss ich die auch noch erstellen).

PICture
01.11.2005, 14:37
Ich spare mich das ganze. Ich nehme einfach eine Lochrasterplatine und zig meter fädeldraht und "nähe". Ich habe noch nie eine Platine geätzt, weil ich nur ein Stück für mich mache. Die "genähte" Platinen sind dann immer noch entwicklungsfähig und sieht man beim "layout" keine Fehler. Ich habe mir auch Eagle vom inet runtergeladen, aber nach dem anschauen der Bibliothek von Bauteilen habe ich festgestellt, dass mir das Skizzprogramm reicht. Dann viel Spaß noch! :)
MfG

hardstyleroxx
01.11.2005, 15:30
Eagle ist auch ziemlich kompliziert aufgebaut. Zum Pläne Zeichnen kann ich SPlan empfehlen und zum Layouten Sprintlayout. Ich habe die ganzen Schaltpläne hier im Beitrag zwar mit eagle gemacht, aber das nur um das Programm mal etwas kennenzulernen.

PICture
01.11.2005, 15:47
Vielen Dank für die Tips! SPlan würde ich sicher probieren, aber mit den Layuoten da bleibe ich lieber beim fädeln.

hardstyleroxx
01.11.2005, 16:06
Splan ist echt simpel. Einfach per Drag&Drop alles auffe Fläche ziehen, verbinden, beschriften und fertig.

PICture
01.11.2005, 16:13
Habe mir schon Demoversion runtergeladen, aber um das zu installieren, muß ich alle laufende Programme beenden, mache ich später.

PICture
01.11.2005, 16:51
Ich habe sPlan schon kurz ausprobiert. Gefällt mir sehr und muß ich nur ein bischen üben. Noch mal vielen dank für einen tollen Tip!

hardstyleroxx
01.11.2005, 19:39
Kein Problem PICture, bei deiner kompetenten hilfe hier :)
Achja mein Layout ist fast fertig!!! *freu*

PICture
01.11.2005, 20:24
Bist Du aber schnell! :)

hardstyleroxx
01.11.2005, 22:28
Ich habe mir gerade eine kleine auszeit gegönnt, aber jetzt wird alles fertig gemacht. Will am liebsten morgen schon ätzen. Bin mir nur noch nicht sicher wie ich die beiden Platinen (Eine mit den Anzeigen und die andere mit dem ganzen Rest) verbinde. Denke mal mit Flachbandkabeln.

PICture
01.11.2005, 23:29
Ich benutze dafür meistens alte Floppy- oder Festplattenkabel, weil sie dünn und biegsam sind. Es lasst sich auch benötigte Zahl Leitungen leicht abtrennen und die Länge mit normaler Schere abschneiden.

hardstyleroxx
02.11.2005, 00:52
ja das sind ja Flachbandkabel! Es gibt extra Verbinder für Printmontage, die man dann auf die beiden zu verbindenen Platinen lötet. Das ist denke ich mal die eleganteste Lösung.

PICture
02.11.2005, 16:37
Natürlich, aber ich benutze Stecker nur für universelle Hardware. Das heist, wenn ich verschiedene Schaltungen da einstecken brauche. für permanente Verbindungen löte ich die Kabel nur einmal ein.

hardstyleroxx
02.11.2005, 16:46
Mein Layout ist sogut wie fertig, blos muss ich etwas umbauen, da die Platine mit den Anzeigen nicht in meinen Roller passt... Muss die Anzeigen jetzt Freiluftverdrahten :(

PICture
02.11.2005, 16:59
Da hast Du nur mit dem Layout geübt. Deswegen mache ich es nicht und so kann ich die Zeit für was interesantes nutzen. Meine Regel: Du machst eine Leiterplatine erst wenn die Entwicklung abgeschlossen ist. Ich halte mich dran, aber bin ich noch nie so weit gekommen, deswegen auch keine Leiterplatine gemacht. :)

hardstyleroxx
02.11.2005, 17:04
hehe lol :) Aber deine "Näh-Techik" habe ich noch nie gehört. Früher habe ich immer Streifenraster Platinen genommen.

PICture
02.11.2005, 17:26
Ja, ich nehme sie auch. Dann plaziere ich die IC´s so das die kürzeste Verbindungen sind. Als nächstes löte ich IC Sockel und diskrete Teile (R,L,C, Transistoren, Dioden u.s.w.) ein und entferne ich alle nichtgelötete Lötpunkte um Kurzschlüsse zu vermeiden. Am Ende verbinde ich entsprechende Lötpunkte miteinander und kontroliere ich gleich mit einem Durchgangsprüfer jede Verbindung und ev. Kurzzschlüsse zu "Nachbarpins", so dass ich am Ende sicher bin, das es alles richtig verbunden ist. Wenn ich die IC´s in die Sockel reinstecke und es nicht geht, dann sind nur Entwicklungsfehler zu beseitigen. Ich habe auch dieser Weise schon viele sehr kompliezierten Schaltungen erfolgreich realisiert.

hardstyleroxx
02.11.2005, 23:04
Hey PICture (oder jemand anders wenn er will ;) ), ich habe mich nun mal etwas mehr informiert. Der Mikrocontroller reagiert imemr auf eine Steigende Flanke. Nun habe ich gelesen das es viel einfacher ist das Signal Induktiv vom Zündkabel abzugreifen (Also einfach einen Draht um das Zündkabel wickeln). Was muss ich an meiner Schaltung ändern damit ich das Signal auch Induktiv abgreifen kann?

PICture
03.11.2005, 08:03
Hallo hardstyleroxx!
Solches Abgreifen ist nicht induktiv sondern es entsteht ein Kondensator. Die Isolation des Zündkabels ist ein Dielektrikum. Eine Fläche ist der Innenleiter des Zündkabels und zweite der umwickelnde Draht. Die Kapazität des Kondensators ist sehr klein, und die Spannung wird dann zwischen den Kondensator und die effektive Kapazität des Anschlusses gegen Masse, geteilt. Man könnte das nur mit Osci messen und die Anzahl der Wicklungen um das Zündkabel experimentiell finden. Warum möchtest das jetzt ändern wenn Du schon die Spule PickUp hast?

hardstyleroxx
03.11.2005, 12:36
Hmm also überall im Internet steht das es ein Induktives Abgreifen ist wenn man einen Draht um das Zündkabel wickelt.

Hier mal ein paar Zitate:

..... Ein Kabel führt nach vorne in den Motorraum und greift induktiv das Signal vom Zündkabel ab....

....wie hast denn Du die "Hardware"-Anbindung im Auto gemacht, Zündverteiler
oder induktiv am Zündkabel?....

....Ich habe aber vor das ganze
Induktiv abzutasten.
Es müsste ja ein draht reichen, den man ein paar mal um ein Zündkabel
wickelt, und damit einen Optokoppler über einen transistor ansteuert....


Ich wollte es nur ändern weil es dann leichter ist das ganze anzuschliessen. Ein paar Freunde von mir hätten auch gernen einen DZM und einer von denen hat z.B keinen externen PickUp.
Wenns zu große Umstände macht lasse ich das ganze aber so. Bin froh wenns überhaupt funktioniert (Wo ich echt stark drann zweifel).

PICture
03.11.2005, 14:15
Hallo hardstyleroxx!
Das kann induktiv heißen, ist aber kapazitativ. Es ist ziemlich gefählrich und unstabil. Wenn die Isolation des Zündkabels sich verschlechtet, dann kann man noch parallel zu dem "Kondensator" ein Widerstand haben, dessen Wert aúch nicht stabil (also nicht zum Ausrechnen ist). Wenn ich so ein DZM machen würde, dann greife ich die 12V rechteckige Spannung von Unterbrecher. Da sind noch kurze Impulse von höheren Spannung, die entstehen durch Selbstinduktion beim unterbrechen des Stromes der durch die Zündspule fliest. Das kann man aber sehr einfach mit Tiefpass (R,C) Filtern und somit "abschneiden". Die Spannung auf R2 kann man dann direkt an MC pin anlegen. Hier eine Skize um das zu erklären:


Batterie +12V
o
|
|
|
| +--------------> Hochspannung zum Verteiler
| |
C|C
C|C Zündspule
C|C
| |
Zündkondensator |===
|GND R1
|| | ___
+----||---+-------|___|-+---+----------------> zum DZM
| || | | | A
=== | | .-. |
GND 0,22µF | --- | | |
| C --- | | R2 | Uout= R2/(R1+R2)
| | '-' |
\ o | | |
\ === === ===
Unterbrecher \. GND GND GND
o
|
===
GND

hardstyleroxx
03.11.2005, 17:05
hmm ok dann lass ichs doch beim PickUp ;)

Aber danke dir trotzdem. Wenn ich was für dich tun kann sag einfach bescheid!

PICture
03.11.2005, 17:34
Momentan noch nichts, aber vielleicht? Ich weiß nicht wie weit Du mit dem Layoten bist. Wenn Du Leiterplatinnen erstellen kannst, dann können wir vielleicht etwas zusammen machen, was für uns und noch ein paar Leute interessant wäre. Meine schon ziemlich vortgeschrittenen Pläne: Handheld Logic Analyser und Handheld Osci mit Nokia Grafikdisplay. Ich bin vielleicht ein gute Elektroniker, aber ein totales Antitalent wenn es um mechanische Sachen geht.

hardstyleroxx
03.11.2005, 17:46
Kannst mir ja mal eine Private Nachricht schreiben :)

PICture
03.11.2005, 17:50
Ok, danke. Du mir auch!
MfG :)