Monoflop retriggerbar 8x flankengetriggert

Hallo NG´ler

brauche mal ne nette Idee, wie ich elegant und ohne viel Aufwand/Hühnerfutter an 8 retriggerbare Monoflos mit ca 30sec Haltezeit komme. Trigger muß dein Flankenwechsel sein.

Hintergrund: Aus einem Gerät kommen auf acht Kanälen unabhängig voneinander zyklisch Signale, solange auf dem einzelnen Kanal kein Fehler auftritt. Nach einem Fehler sind die Ausgänge fix auf High oder Low-Potential. LED´s sollen den "Nichtfehlerfall" anzeigen (Gerät läuft ordnungsgemäß).

Danke für Eure Zeit und Grüße

Uwe

Reply to
uwe wiards
Loading thread data ...

"uwe wiards" schrieb im Newsbeitrag news:g3qlil$dm5$ snipped-for-privacy@news01.versatel.de...

Eigentlich baut man das mit je einer Diode, einem Kondensator, einem Entladewiderstand und einem Schmitt-Trigger, aber wenn dir das zu viele Bauteile sind: Ein uC schafft das auch.

--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin
2 8 Bit Ports. Analog werden die 30sec auch bei CMOS, 1uF-Folienkondensatoren und geschlossenem Gehäuse gegen Staub sehr variabel.

MfG JRD

Reply to
Rafael Deliano

uwe wiards schrieb:

2x8 Dioden, einmal als UND, einmal als OR verschaltet an die beiden Eingänge eines XOR?

Falk

Reply to
Falk Willberg

MaWin schrieb:

Eine Alternative bei unkorrelierten Eingängen wäre ein EXOR quer über alle Eingänge und dann erst der MF. Ist vielleicht einfacher realisierbar.

Ob dir das als Fehlerabdeckung reicht, mußt du selbst entscheiden.

- Henry

--
www.ehydra.dyndns.info
Reply to
Henry Kiefer

Vielleicht vergaß ich explizit hinzuzutippen: Jeder Kanal muß unabhängig von den anderen anzeigen, ob in Funktions oder im Fehlermode.

Ich denke fast, die "Frank Buss"-Methode ist die beste Lösung, da letztlich bist zu 10 Geräte diesbezüglich auszurüsten wären.

Sonst hätte es immer noch die Möglichkeit mit 4 Stück 4538, was mir aber auch nicht richtig behagt

Uwe

Reply to
uwe wiards

Ich wuerde bei so vielen Signalen auch fuer die Buss'sche Methode stimmen, aber sage doch mal etwas zum Tastverhaeltnis dieser zyklischen Signale und wieviel Mumm diese Ausgaenge haben.

Monoflos: Ist das so eine Art Einbaum? SCNR ...

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Die "Frank Buss"-Methode bevorzuge ich auch meistens :-) Unten ein Beispiel, wie es mit dem 16F628A aussehen könnte, den ich gerade hier liegen habe und den du bei 10 Stück für 1,40 Euro das Stück bei Farnell bekommst. Triggert auf beide Flanken.

Schön an dem Teil ist auch, daß es schon einen Oszillator integriert hat und man alle 16 Ein-/Ausgänge verwenden kann, wenn man keinen extra Reset braucht (den kann man auch nur als Eingang verwenden) und den internen Oszillator verwendet (ist auf 4 MHz kalibriert, laut Datenblatt ca. +/- 7%, was für viele Fälle ausreicht). Die Ausgänge können auch maximal bis zu

20mA pro Ausgang, insgesamt bis zu 200mA. Als externe Beschaltung bleibt also nur je ein Widerstand mit einer LED in Reihe und vorsichtshalber noch einen 100nF zwischen Vdd und Vss.

Nicht so schön ist der Assembler. Ich muß bei Gelegenheit mal meinem PIC-BASIC-Compiler Arrays und Interrupts beibringen.

LIST P=16F628A

#include "P16F628A.INC"

__CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_OFF &_PWRTE_OFF & \ _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF

; defines Delay EQU D'30' ; Monoflop time in seconds IRQ_W EQU 0x20 IRQ_S EQU 0x21 Counter EQU 0x22 Seconds EQU 0x23 tmp EQU 0x25 Monoflop EQU 0x26 ; array of 8 counters OldInput EQU 0x2e Triggered EQU 0x2f NewOut EQU 0x30

org 0 goto start

org 4 ; interrupt intro movwf IRQ_W ; save w swapf STATUS, W ; save STATUS movwf IRQ_S

; interrupt main incf Counter, F

IrqTest: movlw D'61' xorwf Counter, W btfss STATUS, Z ; skip, if zero goto IrqEnd clrf Counter incf Seconds, F

; interrupt end IrqEnd: bcf INTCON, T0IF ; delete IRQ flag swapf IRQ_S, W ; restore STATUS movwf STATUS swapf IRQ_W, F ; restore W swapf IRQ_W, W retfie

; program start start: ; init hardware movlw D'0' ; set levels low movwf PORTB ; for PortB movlw D'7' ; turn comparators off and movwf CMCON ; enable pins for I/O functions clrwdt bsf STATUS, RP0 ; select bank 1 movlw D'0' ; all bits of PortB as output movwf TRISB - 0x80 movlw D'255' ; all bits of PortA as input movwf TRISA - 0x80 movlw D'5' ; prescaler: 64 movwf OPTION_REG - 0x80 bcf STATUS, RP0 ; select bank 0

; clear variable memory movlw 0x20 movwf FSR next: clrf INDF incf FSR, F btfss FSR, 6 goto next

; global interrupt and timer interrupt enable bsf INTCON, GIE bsf INTCON, T0IE

; main loop loop_start: ; wait one second and accumulate port changes in "Triggered" while waiting clrf Triggered movf Seconds, W movwf tmp ; save current second counter movf PORTA, W movwf OldInput ; save current port state wait: movf Seconds, W ; test current second counter xorwf tmp, W btfss STATUS, Z ; skip, if zero goto trigger movf PORTA, W xorwf OldInput, W iorwf Triggered, F ; OR changed port bits goto wait

; retrigger monoflops for all changed port bits trigger: movlw Monoflop ; save address of first Monoflop counter movwf FSR ; in FSR for indirect addressing movlw 8 ; test 8 bits movwf tmp clrf NewOut trigger2: bcf STATUS, C rrf NewOut, F ; shift new output byte movf Triggered, W andlw D'1' btfsc STATUS, Z ; skip, if not zero goto OutTest movlw Delay movwf INDF ; retrigger Monoflop, if input changed

OutTest: movf INDF, W btfsc STATUS, Z ; skip, if not zero goto OutTest2 bsf NewOut, 7 ; set ouput bit, if Monoflop is not zero decf INDF, F ; decrement Monoflop counter

OutTest2: bcf STATUS, C rrf Triggered, F ; shift triggered bits for next bit test

incf FSR, F decf tmp, F btfss STATUS, Z ; skip, if zero goto trigger2

movf NewOut, W ; copy new output bits to output port movwf PORTB

goto loop_start

end

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

....

Sprachlos drein schauend ;-)) Uwe

Scheibenkleister, wie soll ich das je wieder gutmachen? Vielen Dank Dir Frank und Grüße

Uwe

Reply to
uwe wiards

Gern geschehen. Nach einem halben Tag Meeting bei einem Kunden und etwas Java-Programmierung schreibe ich gerne mal was in Assembler zur Entspannung. Ist im Vergleich zum Vorgenannten erfrischend bodenständig :-)

Wenn du noch keinen PIC-Programmer hast und mehr damit machen möchtest, dann kann ich übrigens den PICkit2 von Microchip empfehlen. Kann man direkt auf deren Webseite bestellen, oder auch bei Reichelt, mit Entwicklungsboard:

formatting link
Da gibt es auch den PIC16F628A für nicht viel mehr Geld als bei Farnell. Kann man übrigens auch in C programmieren, was ich für ein kommerzielles Projekt mit einem PIC der 18'er Reihe schon gebraucht habe.

Alte PICStart Programmer o.ä. muß man aufpassen, denn z.B. meiner, den ich schon seit Jahren hier habe, kann nicht mehr den A-Typ vom 16F628 flashen und ein Update des auswechselbaren PICs im Programmer kostet relativ viel.

Die Chips von Atmel sind übrigens auch nicht schlecht. Habe hier ein paar ATTiny 2313 rumliegen, mit denen das eigentlich auch prima gehen müsste, und die sind meist noch preiswerter als die PICs (haben aber glaube ich keinen internen Oszillator). Ich werde mich bei Gelegenheit mal darin einarbeiten. Zum Glück habe ich noch einen Computer mit echtem Parallelport, sodaß der Programmer dazu nur ein Sub-D-Stecker und etwas Hühnerfutter kostet.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Nur die ganz alten, die neueren AVRs haben auch einen internen RC-Oszillator. Der ATtiny2313 hat intern z.B. 8MHz, wahlweise mit einer Fuse durch 2 teilbar auf 4MHz.

Micha

Reply to
Michael Baeuerle

Das klingt gut. Ich habe es aber erstmal mit dem PIC aufgebaut. Eine reale Schaltung ist doch was anderes, als es im Simulator ablaufen zu lassen:

formatting link

Gibt es denn für die AVR-Microcontroller auch gute Simulatoren, die auch den ATtiny2313 unterstützen? Habe da SimulAVR gefunden (

formatting link
), aber daß die Links zum Manual und Download nicht funktionieren, ist schonmal nicht vertrauenserweckend.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Sauber. Auch Deine Krokoklemmen sehen immer wie aus dem Ei gepellt aus, kaufst Du fuer jedes Projekt einen Satz neue?

Warum sind diese PICs eigentlich teurer als Texas F2001? Den kann man bei 25 Stueck etwas ueber $1/Stueck bekommen, allerdings gibt es ihn in DIP nur 14-pinnig und da muesste man acht Monoflops per LED Multiplexing machen. Kaeme aber auf die gleiche Anzahl Bauteile.

[...]
--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Bin ja auch Programmierer, da brauche ich die nicht so oft :-) Und wenn man nicht mit dem Lötkolben drankommt, bleiben die eigentlich auch längere Zeit recht sauber.

Ist schon ein wenig teurer, aber nicht viel: 1,67$ bei 25 Stück:

formatting link
?name=PIC16F628A-I%2FP-ND

gegenüber 1,10$ für den MSP430F2001IN, der dann auch nur halb soviel Flash hat, nur bis 16MHz geht, doppel soviel Strom bei 1MHz verbraucht, nicht bis

5V geht und weniger Pins hat. Aber ansonsten tun die sich wohl nicht viel und bieten vergleichbares an Features. Aber kann man beim F2001 auch alle 14 Pins uneingeschränkt für IO verwenden? Die TEST und RST sehen nicht so aus. Bleiben also noch 12 IOs, die auch nur ein Bruchteil des Stroms liefern, wie der PIC.
--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Hier verglueht ab und zu mal einer ;-)

formatting link
?name=PIC16F628A-I%2FP-ND

Strom koennen die schon liefern, die MSP Serie (bis auf die alten F3xx) liegt etwa bei 30ohm Rdson. IIRC in beiden Richtungen. Man bekommt immerhin einen 16-bitter fuer den Dollar, wobei das in dieser Anwendung kaum etwas bringt. Mehr als 3.6V ist nicht, obwohl ein Australier letztens eine ganze Serie Platinen bekam, beim dem der Bestuecker einen Regler Chip falsch bestueckt hatte und der MSP direkt an der 12V Batterie hing. Sie taten alle noch. Hat er natuerlich sicherheitshalber trotzdem entsorgt.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Die werden offensichtlich gewienert mit Elsterglanz.

- Henry

--
www.ehydra.dyndns.info
Reply to
Henry Kiefer

Ich mache ja eher langweilige Sachen, wie Digitalschaltungen, und dann auch noch mit Niederspannung und strombegrenztem Netzteil. Da kann sowas nicht passieren.

Stimmt, ich hatte mir nur die Seite 25 hier angesehen:

formatting link

aber auf der nächsten Seite wird es dann interessant :-)

Das ist noch ein Vorteil. Ich glaube der PIC läuft mit gemütlichen Clock/4 pro Befehl (müsste ich aber nochmal nachsehen). Der MSP430F2001 schafft pro Takt ein Befehl und sieht so aus, als hätte der auch noch einen leistungsfähigeren und programiererfreundlicheren Befehlssatz.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Meinst du sowas:

formatting link

kennen wir hier im Westen nicht :-) Aber ich gebe zu, Platinen nach dem Löten auch schonmal mit Brennspiritus abzuputzen. Entfernt gut Reste von Flußmittel.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Am Thu, 26 Jun 2008 08:18:10 +0200 schrieb Frank Buss:

formatting link

Ja, der ging richtig gut.

Sidol gabs dann noch, das ist wohl jetzt bei Henkel.

Lutz

--
Mit unseren Sensoren ist der Administrator informiert, bevor es Probleme im 
Serverraum gibt: preiswerte Monitoring Hard- und Software-kostenloses Plugin 
auch für Nagios - Nachricht per e-mail,SMS und SNMP: http://www.messpc.de
Neu: Ethernetbox jetzt auch im 19 Zoll Gehäuse mit 12 Ports für Sensoren
Reply to
Lutz Schulze

formatting link

Genau. Aber Vorsicht! Manche Firmen verkaufen einem nun unter gleichem Namen was anderes. Z.B. schmeckt Bauzner Senft heutzutage anders. Develly oder wie heißen habens aufgekauft.

Warum nicht. Gibt nur leider weiße Ränder.

- Henry

--
www.ehydra.dyndns.info
Reply to
Henry Kiefer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.