• 27.04.2024, 02:58
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

ToS

Senior Member

Wie Relais einmalig und möglichst einfach für 25-200ms einschalten?

Freitag, 13. Dezember 2013, 18:16

Hi!

Ich möchte ein Relais (oder einen MOSFET oder IGBT) für eine kurze Zeitspanne zwischen 25 Millisekunden und 250 Millisekunden einschalten. Die Einschaltdauer müsste dabei im Idealfall ms-genau einstellbar sein, die Verzögerungen bis zum Schaltvorgang ist dabei relativ egal. Gesteuert wird das Relais mit 5VDC und <100mA. Da das Ganze ein Testaufbau ist wäre es schön wenn die Lösung möglichst einfach und vor allem günstig ist, eine möglichst elegante Lösung ist deswegen nicht nötig. Später wird diese Funktion von einem Fertiggerät übernommen, das jetzt aber erstmal ein wenig teuer ist ;)

Meine erste Idee war eine einfache 4-fach USB-Relaiskarte zu verwenden, wie es sie fast überall für 19,95 EUR zu kaufen gibt. Diese ist zwar mit VB programmierbar, nur sagt leider niemand so genau wie hoch die Schaltfrequenz sein darf oder wie genau sich die Einschaltzeit am Ende regeln lässt.

Eine andere Idee wäre ein Timer auf Basis des NE555, der nach einem Zyklus gestoppt wird. Leider kenne ich mich ehrlich gesagt mit der Materie zu wenig aus um zu beurteilen ob das realistisch ist und ob eine Frequenzvorgabe über ein Poti funktionieren kann.

Meine Frage: Wie würdet ihr das lösen? Für sachdienliche Hinweise wäre ich sehr dankbar :)

Edith: Hatte ich vergessen zu erwähnen: Insgesamt soll dieser Einschaltvorgang nur 1x (am Tag) geschehen, also die Wiederholrate ist eher gering :D

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ToS« (13. Dezember 2013, 18:21)

keep my perspective straight
keep me away from hate
keep my eyes uncovered

Chris70

Junior Member

Montag, 16. Dezember 2013, 00:42

Hallo ToS,

ich würd nen kleinen Microcontroller nehmen - In der Art von einem ATtiny von Atmel z.b.
Die kosten fast nichts und du könntest damit sogar Microsekundengenau schalten.
Voraussetzung ist natürlich das du etwas C oder Assembler programmieren kannst?
Aber wenns nur um einen simplen Impuls deffinierter Länge geht, würd ich dir das auch programmieren.

Etwas anders sieht es mit den Relais aus. Die haben Anzugs- und Abfallzeiten die nochdazu von Relais zu Relais streuen.
Hier würd ich dir auf jeden Fall zu einem IGBT oder Mosfet raten, wenns genau sein soll.

Verrätst du uns auch wieso der Impuls so genau sein muss?

Chris

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chris70« (16. Dezember 2013, 00:43)

Montag, 16. Dezember 2013, 06:16

Bei 'nem Relais wäre auch das Kontaktprellen zu bedenken - insbesondere wenn ms-genaue Zeiten gefordert sind.

Wenn er den Tiny selbst programmieren will, benötigt er den entsprechenden Programmer

Der NE555 kann auch als monostabile Kippstufe beschaltet werden - ist das nicht genau die geforderte Anwendung?

ToS

Senior Member

Mittwoch, 18. Dezember 2013, 18:11

Hi!

Erstmal danke für die Tipps soweit! Ich hab mir die verschiedenen Lösungen mal angesehen, und da es wirklich nur um einen Prinzip-Test geht ist die Lösung mit dem Monoflop auf NE555-Basis vermutlich die beste/einfachste. Vor allem da ich weder Programmiergerät noch das Wissen für etwas komplexeres habe :(

Ein Problem dabei wird vermutlich, die Zeitspanne richtig einzustellen. Dazu heisst es vermutlich: Poti drehen -> mit dem Oszi nachmessen wie lang der Puls ist -> wieder drehen, ... denn so richtig genau ist vermutlich keines der verbauten Teile. Ist zwar etwas frickelig weil ich das selbst nicht messen kann, aber das klappt schon.

Ein anderes Problem wäre da noch: Wie löse ich den Puls aus? So ein Monoflop scheint ja perfekt zu sein um Pulse zu verlängern, aber je nach dem wie flink ich am Taster bin kann es schon sein, dass der Puls zuende ist bevor ich wieder losgelassen habe. Mein Plan war jetzt einfach statt eines Tasters einfach den einen Puls zu nutzen, der beim Anlegen der Versorgungsspannung bzw ersten Laden des Kondensators am NE555 ohnehin entsteht (und der die meisten Anwender stört - mich nicht :D ). Kann man das machen oder ist dieser erste Puls ungenau? Eine "Einschwingzeit" oder sowas sollte es doch nicht geben, im Prinzip wird nur ein Kondensator (in Abhängigkeit vom R des Potis) geladen und bei Erreichen von 2/3 der Versorungsspannung wird abgeschaltet, richtig?

Da das alles Cent-Artikel sind werde ich mal alles nötige bestellen und berichten wies ausgeht.
keep my perspective straight
keep me away from hate
keep my eyes uncovered

Mittwoch, 18. Dezember 2013, 23:25

Die nötigen Werte von R und C kannst Du ja berechnen. meiner Meinung nach passen 200nF (2 100nF-Kerkos parallel) ganz gut. Ergäben dann 1,136MOhm für 250ms, 113,6kOhm für 25ms.
Könntest Du natürlich durch ein Spindeltrimmer realisieren (bzw einen 100K-Festwiderstand und ein 1M-Trimmer (dann nur bis 245ms)).
Oder ein diskret aufgebautes umschaltbares Widerstandsnetzwerk...
Oder durch Digitalpotentiometer...
Oder ein 150K und ein 1M-Trimmer in Reihe (quasi als Grob- und Feintrieb).
...




Ja, wenn Du den Trigger dauerhaft low hälst, oszilliert das ganze...
hmm...
grübel...

ok, den Trigger mit'nem Pullup auf Vcc...
Einen Kerko mit Entladewiderstand an Gnd...
Dein Auslöse-Taster verbindet den Kerko mit dem Trigger...

Werte wären noch zu ermitteln - jedenfalls muß der Entladewiderstand deutlich (!) größer sein, als der Pullup.

Bauch schlägt 100nF, 100k für den Entladewiderstand, und 10K bis 47K für den Pullup vor.
Kann man natürlich rechnen... wenn Du aber eh an'n Oszi rankommst (möglichst mit 2 Kanälen)...