Wir haben folgendes Problem. Und zwar wollen wir einen Schalter zum Tasten benutzen: Die Schaltung soll einen Schaltimpuls geben, wenn der Schalter eingeschaltet wird und ebenfalls einen Schaltimpuls geben, wenn er wieder ausgeschaltet wird. Der Schaltimpuls soll ungefähr eine 1/100-Sekunde dauern. Die Schaltung soll bei 9 Volt laufen. Für jede Hilfe wären wir dankbar. Wir haben schon eine Reihe Schaltungen gefunden (Monostabiler Multivibrator), allerdings berücksichtigten diese nicht, dass der Schalter von Ein- auf Ausgeschaltet ebenfalls ein Signal triggern soll. Vielen Dank.
schnapp dir nen 1200A AVR für nen Oiro und dann schreibst ein paar zeilen code dafuer und du hast deine gewünschte funktion. wenn du magst kann ich dir das programm auch schnell in AVR ASM schreiben.
Hi also bitte! Für sowas triviales eine µC zu verwenden ist absoluter und totaler Overkill. 74HC123 + ein bischen Hünerfutter reicht vollkommen. Matthias
sorry, matthias, ich liebe overkills! meine Waschmaschine läuft auch mit nem AVR :) habe nur keinen anderen Tip geben können, da ich Programmierer bin und eigentlich mit Elektronik nur Hobbymaessig zu tun habe und mich mehr auf Controller stürze, mit dem Elektronikgewurschtel rund um die uC's habe ich nicht so ganz den 100%igen Durchblick, aber das wird mit der zeit :)
Hey Matthias, los gehts... Wer sich soweit aus dem Fenster lehnt (74HC123 mit Hühnerfutter)... Wo ist denn jetzt Deine Schaltung, hm?
Hi im Anhang. Rechnung kommt :-) Allerdings kommt hier zur Ausgangszeit noch die Prellzeit der Taster hinzu. Ist das nicht erwünscht muß man einen 74HC221 verwenden. Der ist nicht nachtriggerbar. Allerdings muß dann die Ausgangszeit größer als die Prellzeit der Taster sein. Evtl. reicht sogar 1/2 74HC123. Müßte ich mal durchdenken. Da fehlt mir jetzt aber die Zeit zu. Matthias
Moin, moin, ohne lange nachzudenken, nur mal so als Idee ... Gruß, Olaf
Genau sowas suche ich auch, allerdings nicht mit soviel Bauteilen. Ich habe 32 Schalter und möchte dass beim Einschalten kurz ein Impuls rausgeschickt wird (wie lange der Impuls dauert ist egal, solange es unter 1 Sekunde dauert). Beim Ausschalten natürlich das gleiche Problem. Bei 32 Schaltern wäre natürlich für jeden Schalter so eine Schaltung nachzubauen auch ein Overhead, hat jemand evtl. eine Idee wie man das möglichst wenig Bauteilen realisieren kann?
Bei 32 Schaltern könnte sich ein Mikrocontroller doch lohnen. Man könnte über Dioden alle Schalter mit einem Interrupt-Pin verbinden und beim Auslösen des Interrupts per Shiftegister die Schalter abfragen und den entsprechenden Impuls ausgeben. Wenn man zwei Shiftregister(kaskaden) (Ein- und Ausgabe) und einen Interrupt-Pin hernehmen möchte (= 9 Pins), würde ein ATmega 8 o.ä. passen. (Falls du damit nicht klarkommst, kann ich versuchen, dir sowas zu programmieren.)
Danke n-regen, ich werde es wohl erstmal über den 74hc123 probieren. Habe bei Conrad einen 74hct123 bekommen, hatte hier noch paar Kondensatoren und Widerstände rumliegen und hab mal mit paar Krokodilklemmen den oberen Teil der Schaltung von Matthias nachgebaut (1C1B). Allerdings sobald ich die Batterie anschliesse leuchtet die LED ganze Zeit, wenn ich den Schalter schliesse geht und bleibt die LED aus, bis ich denn Schalter wieder öffne. Mein 74hct123 hat 16 Beinchen, laut Datenblatt sind also 2 Monoflops verbaut, wobei Pin 16 = VCC und Pin 8 = GND ist (http://www.nxp.com/documents/data_sheet/74HC_HCT123.pdf). Das CLR in Matthias Schaltung soll doch das 1RD aus dem Datenblatt sein, oder? Wo könnte der Fehler liegen? Also ich wäre erstmal zufrieden wenn beim Schalter-Schliessen ein Impuls geschickt wird. Wenn das klappt wäre es natürlich schön auch beim Öffnen ein Impuls zu kriegen. Hoffe ihr könnt mir helfen.
Beim Anschließen kannst du nicht viel falsch machen. Im Schaltplan von Matthias stehen ja die Pin-Nummern direkt an den Anschlüssen. Diese Pin-Nummern entsprechen genau denen deines ICs. Also ja, 1RD ist RES vom unteren Block (IC1A) des Schaltplans. Beachte vielleicht, dass die Pins des oberen Blocks im Schaltplan (IC1B), den Pins mit der vorangestellten 2 im Datenblatt entsprechen und die des unteren denen mit der vorangestellten 1. Aber wenn du genau nach den Pin-Nummern im Schaltplan anschließt, brauchst du darauf nicht achten ;) Ich würde den Fehler dann (wenn die Anschlüsse stimmen) vielleicht bei den Werten des Kondensators und des Wiederstandes suchen (C1+R1 und C2+R2). Laut Datenblatt sind da sehr kurze Zeiten von einigen Nanosekunden möglich. Schau dir dazu im Datenblatt mal Table7 und Figure7 an (am besten den ganzen Abschnitt 10). Aus Figure7 kann man leider nur Zeiten bis nichtmal 1ms entnehmen. Das entspräche dann ungefähr 100k und 10nF. Auf Seite 10 des Datenblattes findest du unter der Tabelle bei Anmerkung 2 eine Formel, um Zeiten für Cext > 10nF zu berechnen. Diese wist du wahrscheinlich benötigen, da dein C viel größer als 10nF sein sollte um 1. die gewünschten 100ms zu erreichen und 2. den Widerstand kleiner zu dimensionieren. Beachte dass in der Formel C in pF und R in kOhm eingesetzt wird...was red ich eigendlich...steht da ja alles. Gutes Gelingen! Florian
Für 32 Schalter würd ich auf jeden Fall nen Controller nehmen. Bei geschickter Verschaltung & Programmierung sollte da ein Tiny13 o.Ä. vollkommen ausreichen. Macht insgesamt dann 1 Tiny2313 und 8 Schieberegister (4 für Eingabe, 4 für Ausgabe) plus das bissle Hühnerfutter was man da so braucht.
Hallo Leute! Ich habe eine Problem mit dem hier besprochenen 74HCT123E, das sich folgendermaßen darstellt, ich hoffe, Ihr könnt mir helfen: Ausgangssituation ist folgende: ein 2-Bit Binärsignal wird über einen 74CH139 'demultiplexed' und über vier Ausgänge (Active Low) angezeigt. Das Binärsignal liegt kontiniuerlich an (es handelt sich um zwei Adern, die eben High oder Low sein können); entsprechend ist auch der passende Ausgang am 74HC139 Low, solange das passende Binärsignal reingeht. Der Teil der Schaltung funktioniert einwandfrei. Hinter dem Demuxer sitzen zwei 74HTC123E, die bei einer negative Flanke des entsprechenden Ausgangs des Demuxers einen kurzen Puls abgeben sollen. Heißt also, wenn sich der Wert des Binärsignals ändert, will ich einen kurzen Puls am Ausgang desjenigen 74HCT123E, der der Binär kodierten Zahl des (neuen) Eingangssignals entspricht. Ich habe das Problem, dass der 74HCT123E, obwohl nur der Negierte Eingang angeschlossen ist, auch bei steigender Flanke eines der Ausgänge am 74HC139 triggert. Kenn Ihr dieses Problem? Was kann man da machen? Grüße & Danke schon mal, P
So, jetzt gibt's noch einen Schaltplan der interessanten Teile. Es wird nur der Ausgang A\ angesteuert, daher sollte bei einer steigenden Flanke aus kein Puls kommen, richtig? Tut er aber.... Gruß P
Hallo, für die Überwachung einer Pumpe werde ich einen Schwimmerschalter (NO) einsetzen. Das Signal soll dann über ein FS20 S4M Sendemodul in meine RaspberryMatic über einen CUL-Nano eingebunden werden. Nun werden jedoch vom Sendemodul lediglich Tastbefehle akzeptiert und somit muss das Signal vom Schwimmerschalter entsprechend aufbereitet werden. Die Schaltung von Matthias habe ich auf einem Steckbord nachgebaut. Um eine umsetzbare Zeit für das Sendemodul zu erhalten habe ich die Formel aus dem Datenblatt des 74HC123 genutzt und für R1, R2 entsprechend 2Mohm / 100nF für 90 Millisekunden ermittelt. Für R3 habe ich 100k genommen. Sobald ich die 5VDC anlege, bricht die Spannung nach einem kurzen Augenblick zusammen. Wenn ich jedoch die VCC am Pin 10 und 11 des IC´s entferne bleibt die Spannung stabil und die Stromaufnahme bei 35mA - leider funktioniert die Schaltung dann nicht. Am Ausgang messe ich etwa 3,8V bzw. 0V entsprechend der Schalterstellung. Ich habe das Steckbord zig malig kontrolliert und weiß nicht mehr weiter. Kann die Schaltung von Matthias überhaupt funktionieren? Wenn ja, wo könnte ich den Fehler machen? Hat vielleicht sonst jemand noch eine andere Schaltung für mich? Ich hoffe, dass mir einer von Euch helfen kann. Hartmut Wenn ich nicht eine größere Menge an StoT´s haben müsste, dann würde ich mir ja die "Dinger" von "pic-tec" kaufen.
Hartmut schrieb: > Kann die Schaltung von Matthias überhaupt funktionieren? Ja, allerdings ist sie massiv zu kompliziert, die hier tut dasselbe:
1 | +5V +5V |
2 | | | |
3 | 4k7 | |
4 | | SN74AHC1G86 |
5 | +----------|\ |
6 | | |+)-- |
7 | +-100k--+--|/ |
8 | | | | |
9 | o | | |
10 | \ 1uF | |
11 | o | | |
12 | | | | |
13 | GND GND GND |
Hartmut schrieb: > für R1, R2 entsprechend 2Mohm / > 100nF für 90 Millisekunden ermittelt. Das Datenblatt zeigt aber nur Werte bis 100k (und selbst da wird die Zeit schon kleiner als berechnet). Deine 2MOhm sind also zu viel.
Hallo Michael, vielen Dank für deine schnelle Antwort. Deine Schaltung ist ja wirklich viel unkomplizierter. Ich habe jedoch 2 Fragen dazu: 1. den SN74AHC1G86 scheint es nur in SMD zu geben. Damit, ich mit meinen groben Fingern ;-) etwas anfangen kann - gibt es den auch als DIL/DIP ? 2. Der 1µF - kann das ein Elko sein? Ich würde mich sehr freuen, wenn ich eine kurze Antwort erhalte. Hartmut
Matthias schrieb: > Hi > > im Anhang. Rechnung kommt :-) > Allerdings kommt hier zur Ausgangszeit noch die Prellzeit der Taster > hinzu. Ist das nicht erwünscht muß man einen 74HC221 verwenden. Der ist > nicht nachtriggerbar. Allerdings muß dann die Ausgangszeit größer als > die Prellzeit der Taster sein. > > Evtl. reicht sogar 1/2 74HC123. Müßte ich mal durchdenken. Da fehlt mir > jetzt aber die Zeit zu. > > Matthias Hallo Forum, ich habe die Schaltung aus den Bild aufgebaut, habe die !Q Ausgänge verwendet und die Dioden gedreht und einen 4,7k pullup verwenden. Die Impulse habe ich von ca. 18ms (100n und 470k(ja zu gross)). Jetzt wollte ich erreichen, das bei jedem Schaltvorgang eine Variable (Bit 7) toggelt. Leider nicht so ganz.. mein Code
1 | #define KEY_DDR DDRD |
2 | #define KEY_PORT PORTD |
3 | #define KEY_PIN PIND |
4 | #define KEY0 2 |
5 | #define KEY1 3 |
6 | #define KEY2 4 |
7 | #define KEY3 5 |
8 | #define ALL_KEYS (1<<KEY0 | 1<<KEY1 | 1<<KEY2 | 1<<KEY3) |
9 | |
10 | ... Init ... |
11 | char wechsel = 'x'; |
12 | |
13 | while (1) |
14 | { |
15 | if (!(PIND & (1<<KEY3))){ |
16 | wechsel ^= (1<<PD5); |
17 | USART_Transmit(wechsel); |
18 | uart_puts("\r\n"); |
19 | } |
leider läuft in der Seriellen console das x X immer langsam durch, denke es liegt an der Schaltung, das Schalten ist nicht erkennbar oder gibt es da eine besser Lösung? Auf dem Oszi ist der Flankenwechsel und die Low Zeit gut erkennbar, oder ist meine Zeit von 18ms zu kurz als Tasten druck? Gruß Oliver
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.