www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Monoflop mit großer Dauer


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab da derzeit ein kleines Problem mit der Suche nach einem 
Monoflop. Der Aufbau ist ja eigentlich immer sehr einfach, wird ja die 
Zeit für gewöhnlich mittels RC-Kombination hergestellt. Problem bei mir 
ist nun, dass ich bei einem Eingangsimpuls einen zwei Stunden 
andauerenden Ausgangsimpuls benötige. Bei den Monoflopschaltungen, die 
ich kenne (z.B. 555 oder 74HTC4538) würde das aber bedeuten, da ich mit 
dem Widerstand nicht aus dem einstelligen Megaohmbereich will, dass der 
Kondensator im Millifaradbereich liegen muss. Auch das wäre noch kein 
Problem, das Problem ist, dass diese ICs zum Beenden des 
Ausgangsimpulses den Kondensator kurz schließen und wenn der im 
Millifaradbereich ist würde da einiges an Strom durch den IC fließen und 
den so quasi braten.

Vielleicht hat jemand von euch eine Idee wie man das realisieren kann. 
Sicherlich wäre ein µC eine Idee aber ich habe damit weder Erfahrung 
noch habe ich da überhaupt einen. Wäre jetzt natürlich die Idee damit in 
die µC-Ecke einzusteigen nur hab ich kein Windows-System sonder ein 
Macintosh und meine Motivation zu Windows hält sich doch extrem in 
Grenzen.

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
555 mit nachgeschaltetem Binärzähler.
Damit lassen sich fast beliebig lange Zeiten erreichen.

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verstehe ich dich richtig, dass du das im Grunde gerne mit einem 
Mikrocontroller lösen würdest, allerdings wegen deines Macs dich nicht 
so recht traust? ;)

Schau mal hier:

Beitrag "AVR Tutorial für Mac"

Da wird eine Toolchain für den Mac diskutiert. Ob die angesprochenen 
Tools so laufen kann ich allerdings nicht testen, da ich hier nur Linux 
und (falls die alte Hdd wieder belebbar ist) WinXP.

Notfalls würde auch ein Flashtool reichen, so ein paar Zeilen Assembler 
würde dir vielleicht auch jemand schnell zusammenstricken.

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja irgendwie geht das schon noch mit dem NE555. Solltest dann aber die 
CMOS-Variante wegen der geringeren Eingangsströme nehmen. Wenn der 
Eingangsstrom in die gleiche Grössenordnung kommt wie der Strom durch 
den Ladewiderstand, kannst du ewig warten :-)
Und ein paar Ohm in der Entladeleitung lösen das Problem des zu hohen 
Stromes, spielen für die Funktion kaum eine Rolle.
Ebenso störend: Restströme des Elkos, hat den gleichen Effekt wie oben 
beschrieben, also ausgesuchte Elkos verwenden mit deutlich höherer 
Spannung als eigentlich erforderlich.

Wiederholgenauigkeit wird nicht berauschend sein.

Bau es lieber zumindest ein bißchen Digital auf, in der 4000-Serie gibt 
es etliche ICs mit vielen FF drin (4020, 4040) damit lässt sich sowas 
ganz gut realisieren.

Ein kleiner MC ist, wie du schon erkannt hast, die mehr oder weniger 
perfekte Lösung, ein kleiner 8Pin-Tiny reicht aus.

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein kleiner MC ist, wie du schon erkannt hast, die mehr oder weniger
> perfekte Lösung, ein kleiner 8Pin-Tiny reicht aus.

Jap. und wenn dir die 2h auf 1% genau ausreichen (als etwa +/-72s) dann 
brauchst du für den Tiny noch nicht einmal einen Quarz. Allerdings denke 
ich mal, dass du mit diskretem Aufbau auch nicht ohne weiteres 
wesentlich genauer als +/-1% hinkommen wirst.

Und kleiner dürfte es auch kaum zu machen sein:
(Zwischen Vcc und Gnd muss noch ein 100nF Kerko)


             Vcc
              |
              |
          ----------
          | ATtiny |
 Input----|   13   |-----Output
          ----------
              |
              |
            -----

Autor: [Frank] (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit einem normalen Logikchip (74HC4060) ist dies wohl die einfachste 
Variante (bis zu 24h).
http://uk.geocities.com/ronj_1217/c4060s.html

Frank

Autor: Jürgen Berger (hicom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in Vor Controller Zeiten habe ich sowas mit
einem 4060 gemacht, der hat Oszillator und Binärzähler on board.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ja langweilig... ;-)

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal ne Quelle für ein Langzeit Timer
Das Programm togelt PB0 während der Timerzeit.

;----------------------------
; ATmega8
;----------------------------

.include "m8def.inc"

;Konstanten

.equ clock     = 1000000    ;Taktfrequenz 1MHz

.def SaveSReg     = r16     ;Statusregister Merker
.def OutPort      = r17     ;Ausgangsregeiter
.def Timer1       = r18     ;Zählt die Timer-Überleufe von Timer 0
.def Minute       = r19     ;Minuten Zähler
.def Stunde       = r20     ;Stunden Zähler
.def TempReg      = r21     ;Allgmeines Register

;Pinbelegung
;PB0 Status LED
;PB1 Ausgangstreiber (StromQuelle)

;******************************************************************
.cseg                   ;CODE segment

.org 0x000
  rjmp  Reset           ;Resethandler
.org OVF0addr
  rjmp  timer0_overflow ;Timer Overflow Handler

 Reset:                 ;alles auf Anfang
  ;Stack einrichten
  ldi TempReg, LOW(RAMEND)
  out SPL, TempReg
  ldi TempReg, HIGH(RAMEND)
  out SPH, TempReg

  ;** Port B **
  ;Portrichtung
  ldi   TempReg, 0b00000011    ;PB0 und PB1 -> Ausgang
  out   DDRB, TempReg
  ;Pull Up's an allen Eingängen
  ldi   TempReg, 0b11111111    ;für alle Pins Pull Up R's
  out   PORTB, TempReg         ;und Lampe aus -> PB2 = H


  ;Zähler löschen
  ldi   Timer1,  0
  ldi   Minute,  0
  ldi   Stunde,  0

  ;Timer 0 initalisieren und starten
  ldi   TempReg, 0b00000101   ;Vorteiler auf 1024 CS00 setzen: Teiler 1
  out   TCCR0, TempReg
  ldi   TempReg, 0x00000001   ;Interrupt bei Timer Overflow
  out   TIMSK, TempReg


  ;Enable Interrupts
  sei

;***************** Main Loop  **********************
start:
  sleep
  rjmp  start
;************** Ende Main Loop *********************


;***************** Interrupt Routinen **************
timer0_overflow:
  ;Statusregister sichern
  in    SaveSReg, SREG

  ;findet alle 0.262144s statt
  ;Status Lampe blinken lassen
  mov   TempReg,  Timer1
  andi  TempReg,  0b00000001  ;Bit 0 ausmaskieren
  ori   TempReg,  0b11111100  ;bit 7 bis 2 setzen
  out   PORTB,    TempReg     ;Port Ausgabe

  inc   Timer1
  cpi   Timer1, 229
  brne  Timer_Exit

  ;findet alle 60,030976s (1 min) statt
  ldi   Timer1, 0
  inc   Minute
  cpi   Minute, 60 ;Minuten
  brne  Timer_Exit

  ;findet alle 3601,85856s (1 h) statt
  ldi   Minute, 0
  inc   Stunde
  cpi   Stunde, 2 ;Stunden
  brne  Timer_Exit

  ;findet alle 2 h statt

  ;************ Tue irgend was ************

Timer_Exit:
  ;Statusregister zurückschreiben
  out   SREG, SaveSReg
  reti
;***************** Ende Interrupt Routinen **********

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Der 4541 aus der 4000er CMOS-Reihe ist für solche Anwendungen geeignet.

MfG Spess

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem Zähler kann man das machen? Das muss ich mir mal anschaun und 
Google damit fürttern, im MOment fehlt mir die Idee dafür. Es geht ja um 
ein Monoflop, in meinem Falle sogar um ein nicht retriggerbares aber das 
ist leicht zu lösen. Danke euch schonmal für eure Tipps, auch das mit 
dem µC werd ich mir mal anschaun, allerdings hab ichs mit dem Terminal 
net so.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Mit einem Zähler kann man das machen?

Der 4541 arbeitet auf dieser Basis. RC-Oszillator und programmierbare 
Zähler.

MfG Spess

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.