Hallo,
ich möchte aus einem wiederkehrenden Schaltimpuls zwei verzögerte
Impulse generieren. Das interessante ist, dass die Zeitdifferenz zum
ersten und zwischen beiden zwischen 500 µs und 5 ms getrennt einstellbar
sein soll.
Wäre hier ein kaskadierter Ansatz (erste Stufe als Impulsverzögerung,
die dann den Eingang der zweiten darstellt) sinnvoll mit einem NE556?
Geht das einfacher? Wie sähe ein sinnvolle Schaltung aus?
Vielleicht kurz zur Veranschaulichung:
Ich würde das Problem mit einem 74HC4538 lösen. Der erste Timer
generiert T1. Wenn er wieder auf Low geht triggert er den zweiten Timer.
Wenn die Zeiten variabel eingestellt werden soll reichen Potis.
Oder nimm einen kleinen uC wie den Attiny85.
Joachim B. schrieb:> kleiner 8-beiner µC braucht weniger Beschaltung> als ein 556
Gottseidank ist der Beschaltungsaufwand das einzige
sinnvolle Kriterium, da Wissen, Können und Erfahrung
jedermann unbeschränkt zur Verfügung stehen.
Tagelange Einarbeitung in die Toolchain bzw. monatelanger
Lernaufwand für die Programmiersprache machen sich sofort
bezahlt, wenn man vier SMD-Widerstände zu je 0.05ct
einsparen kann!
Possetitjel schrieb:> Gottseidank ist der Beschaltungsaufwand das einzige> sinnvolle Kriterium, da Wissen, Können und Erfahrung> jedermann unbeschränkt zur Verfügung stehen.>> Tagelange Einarbeitung in die Toolchain bzw. monatelanger> Lernaufwand für die Programmiersprache machen sich sofort> bezahlt, wenn man vier SMD-Widerstände zu je 0.05ct> einsparen kann!
Es gibt eine Menge Gründe, warum man sich nicht in
die aufwändige Programmierung von Mikroprozessoren
einarbeiten will. Irgendwie vermisse ich ein spezi-
elles Unterforum "Elektronik ohne uC". :-)
Possetitjel schrieb:> Gottseidank ist der Beschaltungsaufwand das einzige sinnvolle Kriterium,> da Wissen, Können und Erfahrung jedermann unbeschränkt zur Verfügung> stehen.
Die kann man erlernen, und deren Kenntnis kann einem auch in späteren
Projekten hilfreich sein, wäre also nicht für den Haustiger.
Eine der Fragen des TE war ja: "Geht das auch einfacher?"
Ironischerweise hatte er sein Eröffnungsposting ja auch im Forum für
Controller und Elektronik und nicht im Analogforum gepostet. :-)
Harald W. schrieb:> Es gibt eine Menge Gründe, warum man sich nicht in> die aufwändige Programmierung von Mikroprozessoren> einarbeiten will.
Ich könnte euch tausend Gründe nennen, wenn ich nur welche wüsste. :.)
Harald, dein Problem beginnt allerdings bereits damit, dass du das
Wort „Programmierung“ sofort automatisch mit dem Attribut „aufwändig“
versiehst …
ps: Einen wesentlichen Grund für die analoge Lösung würde ich übrigens
dann sehen, wenn es um Pegel jenseits von TTL geht. NE555 und Co gehen
halt bis 15 V oder so, Controller nur bis 5 V.
Jörg W. schrieb:> Harald W. schrieb:>> Es gibt eine Menge Gründe, warum man sich nicht in>> die aufwändige Programmierung von Mikroprozessoren>> einarbeiten will.>> Ich könnte euch tausend Gründe nennen, [...]
Nicht notwendig.
Es gibt genau einen Grund -- allerdings einen zwingenden:
Den Lernaufwand.
Die von den Technikern so gerne verachteten BWLer kennen
das Problem in Gestalt von Fixkosten und variablen Kosten.
Lernaufwand gehört zu den Fixkosten -- und die haben hier
eine BETRÄCHTLICHE Höhe.
> Harald, dein Problem beginnt allerdings bereits damit, dass> du das Wort „Programmierung“ sofort automatisch mit dem> Attribut „aufwändig“ versiehst …
Das ist sie auch, denn Du musst den Lernaufwand mitrechnen.
Dass begeisterte Programmierer das nicht verstehen können,
ändert nichts an der Tatsache.
Possetitjel schrieb:> Das ist sie auch, denn Du musst den Lernaufwand mitrechnen.
Erstens weiß bislang keiner, inwiefern der TE in dieser Hinsicht
eine Vorbildung hat. Zweitens schrieb ich ja schon, dieser Aufwand
ist letztlich eine Investition, die über das laufende Projekt hinaus
geht. Damit kannst du den nicht 1:1 umlegen.
Die Zeiten, da man gänzlich ohne derartige Kenntnisse durchs
Elektronikerleben wandeln konnte, dürften allmählich so ziemlich
endgültig vorbei sein. Wer also nicht gerade kurz vor der Rente ist,
der sollte das so oder so zumindest in Grundzügen können, wenn er in
diesem Gebiet was machen möchte.
Possetitjel schrieb:> Gottseidank ist der Beschaltungsaufwand das einzige> sinnvolle Kriterium, da Wissen, Können und Erfahrung> jedermann unbeschränkt zur Verfügung stehen.>> Tagelange Einarbeitung in die Toolchain bzw. monatelanger> Lernaufwand für die Programmiersprache machen sich sofort> bezahlt, wenn man vier SMD-Widerstände zu je 0.05ct> einsparen kann!
da ich in beidem nicht der Überflieger bin wäre es bei mir egal mit
Tendenz eher zu µC
ob ich auf dem Steckbrett die geeignete Verschaltung teste mit
zusammensuchen aller Teile oder ob ich den Code einklimper.
Versuchen muss man immer es sei denn man beherrscht den 555/556 im
Schlaf, aber wenn der TO schon fragt bezweifel ich dieses.
Jörg W. schrieb:> Possetitjel schrieb:>> Das ist sie auch, denn Du musst den Lernaufwand>> mitrechnen.>> Erstens weiß bislang keiner, inwiefern der TE in> dieser Hinsicht eine Vorbildung hat.
Das stimmt natürlich.
Ich bin aufgrund der Fragestellung davon ausgegangen,
dass er keine hat.
> Zweitens schrieb ich ja schon, dieser Aufwand ist> letztlich eine Investition, die über das laufende> Projekt hinaus geht.
Sei mir nicht böse, aber das ist eine schlechte Ausrede.
Es nützt mir für das laufende Projekt GAR NIX , dass ich
das über-über-übernächste Projekt dann in der halben Zeit
bewältigen kann.
Der Lernaufwand ist JETZT zu leisten.
Jörg W. schrieb:> Possetitjel schrieb:>> begeisterte Programmierer>> Btw., ich bin Elektroniker, sowohl von Herkunft als> auch Ausbildung her.
Aber nicht von der beruflichen Tätigkeit und der
Mentalität her... :)
SCNR
Kommt halt immer wieder, die Diskussion Monoflop/µC.
Professionell war ein Monoflop - zumindest in der von mir erlebten Welt
- verpönt bzw. verboten.
Bei kurzen Zeiten, wie oben vom TO genannt (0.5...5ms), ist das aber
imho die bessere Methode. Bei langen Zeiten (<10s o.ä.) ist der µC im
Vorteil und auch flexibler als z.B. eine Zählervariante.
Bei einer Anforderung "möglichst klein bauen" auch.
Zugegeben, wenn nur dafür Programmieren und die Toolchain erlernt werden
muss, wäre mir der Aufwand auch zu groß. Wenn das jedoch über kurz oder
lang sowieso eine Option ist, dann ist es ein schönes Einstiegsprojekt.
Jörg W. schrieb:> Wer also nicht gerade kurz vor der Rente ist,> der sollte das so oder so zumindest in Grundzügen können, wenn er in> diesem Gebiet was machen möchte.
Ich war nicht weit vor der Rente, als ich damit begann ...
Joachim B. schrieb:> ob ich auf dem Steckbrett die geeignete Verschaltung> teste mit zusammensuchen aller Teile oder ob ich den> Code einklimper.
Du vergisst dabei, dass Du
1. offensichtlich schon weisst, welchen Code Du ungefähr
einklimpern musst (=programmieren kannst) und
2. schon weisst, "in welches Fenster" Du den Code
einklimpern musst (= die notwendigen Werkzeuge schon
kennst und installiert hast).
Versuche bitte, Dir -- auch wenn es schwerfällt -- vorzu-
stellen, dass es Menschen gibt, die beides NICHT können.
HildeK schrieb:> Professionell war ein Monoflop - zumindest in der von mir erlebten Welt> - verpönt bzw. verboten.
Richtig. Da fand man dann "damals" schon mal am Montag die
Wochendausgabe der Süddeutschen auf dem Schreibtisch, die mit dem großen
Stellenanzeigenteil.
MfG Klaus
Possetitjel schrieb:> Es nützt mir für das laufende Projekt GAR NIX , dass ich das> über-über-übernächste Projekt dann in der halben Zeit bewältigen kann.> Der Lernaufwand ist JETZT zu leisten.
Klar. Aber es nützt mir für das laufende Projekt auch nicht viel,
mich erst in Altium einzuarbeiten, ein Contractor wäre dafür billiger.
Langfristig ist es dennoch sinnvoll, es zumindest auch selbst zu
können.
Dieses Dilemma hast du immer irgendwo.
HildeK schrieb:> Bei kurzen Zeiten, wie oben vom TO genannt (0.5...5ms)
"kurz" ist relativ. Ich hätte dir bei Zeiten unterhalb 10 µs sofort
zugestimmt :), 500 µs popelt selbst ein lahmer AVR mit 1 MHz noch
passend zurecht. Wenn man die Zeit mit einem Poti einstellen können
will, geht ja auch das, ratiometrisch mit dem ADC messen. Alternativ
kann man die Zeit halt auch irgendwie digital genau einstellen dann,
etwas, was man mit dem 555 nicht tun könnte.
Possetitjel schrieb:>> Btw., ich bin Elektroniker, sowohl von Herkunft als auch Ausbildung her.>> Aber nicht von der beruflichen Tätigkeit und der Mentalität her... :)
50:50. Daher kann ich beide Welten ganz gut beurteilen. Auch
weiß ich, wie vielen Anfängern wir hier schon für solche Dinge das
Grundgerüst zurechtgelegt haben, sofern sie das natürlich auch wollten
und lernwillig waren.
Jörg W. schrieb:> Possetitjel schrieb:>> Es nützt mir für das laufende Projekt GAR NIX , dass>> ich das über-über-übernächste Projekt dann in der>> halben Zeit bewältigen kann. Der Lernaufwand ist JETZT>> zu leisten.>> Klar. Aber es nützt mir für das laufende Projekt auch> nicht viel, mich erst in Altium einzuarbeiten, ein> Contractor wäre dafür billiger.
Ähh... ja. Richtig. -- Zusammenhang?
Einen NE556 oder einen 4538 kann man mit einem Brateisen
auf einer Lochrasterplatte "programmieren". Das dauert
vielleicht einen oder zwei Tage, aber dann ist die Sache
gegessen.
Notwendige Investition: Nahezu Null.
> Possetitjel schrieb:>>> Btw., ich bin Elektroniker, sowohl von Herkunft als>>> auch Ausbildung her.>>>> Aber nicht von der beruflichen Tätigkeit und der>> Mentalität her... :)>> 50:50. Daher kann ich beide Welten ganz gut beurteilen.> Auch weiß ich, wie vielen Anfängern wir hier schon für> solche Dinge das Grundgerüst zurechtgelegt haben, sofern> sie das natürlich auch wollten und lernwillig waren.
Ganz anderes Thema.
Mikrocontroller sind sehr sinnvoll, keine Frage.
Der Ausgangspunkt war aber "einfach"! Und das sind sie ganz
gewiss nicht.
Possetitjel schrieb:> Der Ausgangspunkt war aber "einfach"!
Wobei er sich nicht darüber ausgelassen hat, was für ihn nun genau
"einfach" ist. Sind es wenige Bauteile? Muss es möglichst schnell
fertig sein?
Wer weiß, ob wir's erfahren werden.
> Ähh... ja. Richtig. -- Zusammenhang?
Dass permanente Weiterbildung für unsereins immer notwendig ist. Die
Einarbeitung in Altium ist dabei durchaus nicht weniger Aufwand als
ein paar erste Schritte in der Programmierung von Mikrocontrollern.
Jörg W. schrieb:> Possetitjel schrieb:>> Der Ausgangspunkt war aber "einfach"!>> Wobei er sich nicht darüber ausgelassen hat, was> für ihn nun genau "einfach" ist. Sind es wenige> Bauteile? Muss es möglichst schnell fertig sein?
Das stimmt.
Insofern war schon die Fragestellung ungeschickt.
> Wer weiß, ob wir's erfahren werden.>>> Ähh... ja. Richtig. -- Zusammenhang?>> Dass permanente Weiterbildung für unsereins immer> notwendig ist. Die Einarbeitung in Altium ist dabei> durchaus nicht weniger Aufwand als ein paar erste> Schritte in der Programmierung von Mikrocontrollern.
Sehr gutes Beispiel.
Die Antwort "Mach einfach eine kleine 8-Lagen-Platine"
ist im Allgemeinen genauso bescheuert wie die Antwort
"Nimm einfach einen Mikrocontroller".
Possetitjel schrieb:> Die Antwort "Mach einfach eine kleine 8-Lagen-Platine" ist im> Allgemeinen genauso bescheuert wie die Antwort "Nimm einfach einen> Mikrocontroller".
Nein. Ersteres ist tatsächlich eine komplexe Aufgabe, egal wie du's
drehst und wendest (zumindest, wenn die 8 Lagen gerechtfertigt sind
und nicht nur vor sich hin gammeln). Selbst, wenn du es kannst,
brauchst du ein paar Wochen dafür.
Letzteres ist für die gewünschte Aufgabe dagegen "Peanuts". Wenn man
es kann, stoppelt man das in einem Abend zusammen. Daher eignet es
sich durchaus sogar dann, wenn man bislang damit noch nichts zu tun
hatte, als Einstieg in die Thematik – wie HildeK ja schon bemerkte.
Für einen Anfänger würde ich sagen, dass er das (mit Hilfe von Leuten
hier bspw.) nach einer Woche zusammen hat und dabei auch einigermaßen
verstanden hat, was er da tut, sodass er dieses Wissen hoffentlich dann
auch selbstständig weiter nutzen kann.
Ich mag dem TO Unrecht tun, aber für mich sieht es nach Hausaufgabe aus.
Kein eigener Lösungsansatz, bis auf die Nennung des 556, und die Bitte
nach einer Schaltung.
Fabian schrieb:> ...sinnvoll mit einem NE556?> Geht das einfacher? Wie sähe ein sinnvolle Schaltung aus?...
Jörg W. schrieb:> HildeK schrieb:>> Bei kurzen Zeiten, wie oben vom TO genannt (0.5...5ms)>> "kurz" ist relativ. Ich hätte dir bei Zeiten unterhalb 10 µs sofort> zugestimmt :), 500 µs popelt selbst ein lahmer AVR mit 1 MHz noch> passend zurecht.
Ich dachte eher an den Umkehrschluss: (sehr) lange Zeiten sind mit dem
Monoflop schlechter zu machen als die oben gewünschten. Diese gehen mit
beiden problemlos.
War schlecht formuliert ...
Hardwarelösungen haben den Nachteil, daß die Aufgabenstellung schon
genau definiert sein muß, da spätere Änderungen schwer sind. Hier fehlen
z.B. noch die Pulslängen.
Die 555/556 sind von Haus aus nur dumme Komparatoren, die viel
Außenbeschaltung benötigen. Wesentlich flexibler sind da echte
Monoflops, z.B. 74HC123.
Für die 2 Impulse könnten 2 * 74HC123 reichen, jeweils 1 Monoflop für
die Verzögerung und einer für die Pulsdauer.
Eine Lösung mit µC ist jedoch deutlich flexibler.
Ein µC könnte auch noch die Fälle absichern, wenn das Signal prellt,
bzw. die Abstände kleiner sind, als bis der 2. Ausgang wieder aus ist.
Und man könnte die Zeiten z.B. per Poti einstellen und dann im EEPROM
abspeichern. Die Zeiten könnten auch voneinander abhängen, z.B. der 2.
Puls kommt immer nach der doppelten Zeit bis zum 1. Puls.
Hallo Fabian,
ein wenig Spezifikation und daraus resultiert ein langer Thread mit
supervielen Vorschlägen.
Mir ist z.B. nicht klar, wie du später die Zeiten einstellen willst -
Poti, Jumper,...
Im Jahr 1980 hätte ich pro Verzögerung 3 Stück 7490 genommen und mit
NAND-Gattern oder Vergleichern das ganze aufgebaut.
Seit etwa 2005 würde ich einen MSP430F2011 nehmen. Die Anlernphase kann
man über einen Eingangspin einschalten und über ein eingeprägtes Signal
die internen Timer Register setzen. Beim Normalbetrieb werden die zuvor
ermittelten Timer-Werte dann für den Ablauf verwendet.
So etwas habe ich bereits bei einem elektronischen Metronom realisiert.
Der Nutzer hat an Tasten sozusagen den Takt geschlagen (Anlernphase),
der dann im Normalbetrieb ausgegeben wurde. Auch eine Gruppierung
erfolgte und wurde durch Tonhöhenänderung und Led angezeigt.
Fazit: Steckbrett nehmen und spielen. Anschließend das für sich optimale
Ergebnis verwenden.
Happy coding (and soldering)
Bernd
Da habe ich ja eine hitzige Diskussion losgetreten. :)
Ein paar zusätzliche Infos:
- Es ist keine Hausaufgabe, sondern wird für den Trigger zweier
Abstandssensoren genutzt.
- Die Sensoren werden testweise am PC mit RS485-Konvertern genutzt und
das Trigger-Signal wird über den DE eines der Konverter abgegriffen,
damit es möglichst einfach bleibt. So war zumindest meine jetzige
Überlegung.
- Programmierkenntnisse in C# sind reichlich vorhanden, C/C++
rudimentär, es reicht um ein paar Schnittstellen mit einem Nucleo zu
programmieren aber noch ist da nicht mehr vorhanden.
- Es sollte eine einfache Lösung sein in der Form, dass ich das einen
Praktikanten löten lassen kann oder vielleicht auch eine fertige Platine
nutzen kann.
- Mit µCs und selber verlöten habe ich noch nicht gearbeitet.
Ich fasse dann mal das bisherige zusammen:
- Nutzbar dürfte der NE556 sein
- Flexibler wäre wohl ein µC
Alternativ wäre evtl. eine fertige Platine mit µC (irgendwas winziges
von Arduino o.ä.) die direkt per USB als COM-Port angesteuert werden
dann später auch ohne den USB sinnvoll nutzbar.
Fabian schrieb:> Alternativ wäre evtl. eine fertige Platine mit µC (irgendwas winziges> von Arduino o.ä.) die direkt per USB als COM-Port angesteuert werden> dann später auch ohne den USB sinnvoll nutzbar.
nano, micro, mini
4 Taster für die 2 up/down zeiten
ggflls. noch LCD zur Anzeige
Hallo Fabian,
übertreibe es nicht!
Einerseits bewegst Du Dich bei den Monoflops auf unterster Ebene,
andererseits bei den µC auf recht hohem Niveau, vielleicht mit LCD und
allem Pipapo.
Hier einmal ein Beispiel für einen MSP430F2013, den man bei Reichelt und
so weiter bekommen kann. Das Evaluationskit kann man ebenso wie die
Muster des MSP430 bei Texas Instuments im Shop bestellen. Ich glaube zur
Zeit läuft eine Aktion wegen Sonnenwende, d.h. alles ohne Versandkosten
aus den U.S.A.
Du siehst auf angehängtem Foto, man kann die im USB integrierte Platine
entfernen und über ein kurzes Kabel in die Applikation zum Debuggen
gehen (spy bi wire).
Der Prozessor läuft mit recht guter Genauigkeit auch ohne Quarz bei
diversen und programmierbaren Frequenzen recht stabil oder über einen
Uhrenquarz supergenau (durch Frequenzkalibrierung - alles in der Doku
beschrieben -> lesen, lesen, lesen...)
Randbedingungen: Prozessor beim Elektronikhöker etwa EUR 2,00 (ich habe
meine für unter einem EUR in der Stange gekauft - Preise im Internet bei
TI).
DIP-Gehäuse erlauben Lochrasterplattenaufbau -> ideal für Praktikanten
Software kostenlos, z.B. von IAR über die TI-Seite
Programmcode wird unter 10k-Limit bleiben, auch in C
Verfügbarkeit aller Teile und Tools sehr gut
Lerneffekt ausgeprägt gut, wenn man es nur macht
Für einen Praktikanten empfehle ich beide Aufbauten. Einerseits die alte
Methode mit Monoflops und Potis und Kondensatoren und Platzbedarf und
Unflexibilitäten. Andererseits empfehle ich den Aufbau mit einem MSP, da
die Kosten überschaubar sind (Zeit gleich Kosten) und er den Unterschied
lernt.
Falls bei Euch der Bedarf nach einer schnellen Lö$ung be$teht, melde
Dich bitte. Ich bin mir $icher, da$$ wir zu guten Konditionen
zu$ammenkommen.
Happy coding and soldering!
Bernd
Nur so, damit's nicht unerwähnt ist: statt des MSP430 kann man natürlich
so ziemlich jeden AVR benutzen, der genügend Pins hat.
Einarbeitungsaufwand ist vergleichbar, Angebot an Tools bisschen
vielfältiger. (Sicher würde es auch irgendwas Cortex-M0-basiertes tun,
aber da ist der Einarbeitungsaufwand dann etwas höher.)
Falls du die Controller-Lösung aufbauen willst und nicht recht weißt, wo
und wie du anfangen sollst, dann mach hier einfach einen separaten
Thread auf, um Ideen zu sammeln für eine Implementierung.