Hallo, kleine Projektbeschreibung: 2 Türgongs (Spule mit Kern der an Klangplatten donnert. Im Schaltplan als L1 und L2 dargestellt) 2 Taster 1 Attiny24 (Takt 8Mhz intern) Jumper K1 zum einstellen der Zeit. T1 soll ein Klingeltrafo darstellen. Taster S2 an Pin A7 wird gedrückt und Gong an B1 soll einmal klingeln. Die Zeit, die an K1 gejumpert wurde fängt an zu laufen. Ist diese abgelaufen soll Gong an B0 zwei mal klingeln. Wird der Taster S1 gedrückt soll die Zeit unterbrochen sein und Gong an B0 nicht läuten. Befindet sich der Controller nicht in der Zeit soll die Taste S1 direkt Gong an B0 zwei mal läuten lassen. Ich hoffe ihr versteht was ich vorhabe. Sonnst einfach nochmal Fragen. Das Problem: Sporadisch kommt es vor das Gong an B0 nur einmal gongt? Sieht so aus wie wenn sich der Controller resetet oder die Spannungsversorgung einbricht. Könnt Ihr mir helfen? Habe ich Irgendwo vergessen eine Spitze einer Spule abzufangen? Oder die delays falsch dimensioniert? Was könnte es noch sein? Danke für eure Hilfe. Guten Rutsch ins neue Jahr Gruß Jürgen
Entschuldigung, das war das falsche Bild. Kann ein Admin dies bitte korrigieren? Hier das richtige.
Jürgen schrieb: > Sieht so aus wie wenn sich der Controller resetet oder die > Spannungsversorgung einbricht. Ob sich der Controller resettet, kannst du mit einer LED am Portpin prüfen, die du nach einem Reset für eine Sekunde ansteuerst. Durchläuft der Controller nun tatsächlich nocheinmal einen Reset, siehst du das an der aufleuchtenden LED. Den Einbruch in der Spannungsversorgung kann man am einfachsten mit dem Oszilloskop sichtbar machen. Was sonst so in deiner Software abläuft, kann hier so niemand wissen.
und wo ist die reset beschaltung? floatet der eventuell?
PB3(Reset) sollte über einen externen Pullupp auf Plus gezogen und mit einem c(10µF)beruhigt werden.
Hi >und wo ist die reset beschaltung? >floatet der eventuell? Mit einem internen Pull-Up? MfG Spess
Vielleicht wenn man ihn einschaltet, aber ich weiß nicht, ob das überhaupt funktioniert, wenn der Reset-Pin nicht deaktiviert ist. Ich beschalte ihn immer extern und gut ist. Zitat aus dem Programm:
1 | //Ein - Ausgänge Definieren |
2 | DDRB |= (1 << DDB1)|(1 << DDB0); //Pin B1 als Ausgang definieren (Klingel Lager),Pin B0 als Ausgang definieren (Klingel oben) |
3 | PORTB |= (1<<PB2); //Pin B2 (Schalter innen) Pull-Up Wiederstand aktivieren |
4 | PORTA |= (1<<PA0) | (1<<PA1)|(1<<PA2)|(1<<PA3)|(1<<PA4)|(1<<PA5)|(1<<PA6)|(1<<PA7); //Dippschalter für die Zeiteinstellung Pull-Up Wiederstand; A7 (Taster außen); aktivieren |
Da steht nichts von Pullup PB3 on ?
Hi
>da steht nichts von Pullup PB3 on
Solange das Reset-Pin nicht als IO-Pin definiert ist (RSTDISBL-Fuse
nicht gesetzt) gilt das Datenblatt:
Reset Pull-up Resistor 30...60 kΩ.
MfG Spess
spess53 schrieb: > Hi > >>da steht nichts von Pullup PB3 on > > Solange das Reset-Pin nicht als IO-Pin definiert ist (RSTDISBL-Fuse > nicht gesetzt) gilt das Datenblatt: > > Reset Pull-up Resistor 30...60 kΩ. > > MfG Spess aha seite 66 ...
1 | • Port B, Bit 3 – RESET/dW/PCINT11 |
2 | • RESET: External Reset input is active low and enabled by unprogramming (“1”) the |
3 | RSTDISBL Fuse. Pullup is activated and output driver and digital input are deactivated when |
4 | the pin is used as the RESET pin. |
gilt das für alle tinys?
Rudof Reindeer schrieb: > Winfried J. schrieb: >> gilt das für alle tinys? > Das verraten dir alle Datenblätter der ATtinies. Ich verneige mich vor Eurer Weisheit. Namaste tststs kopfschüttel
Hi >gilt das für alle tinys? Gilt für alle AVRs, denen das RESET-Pin zum IO-Pin konfiguriert werden kann. MfG Spess
@spess Danke für die klare Antwort das macht einiges einfacher. @Jürgen Dann Tippe ich mal fängt er über sich eine lange Klingelleitung allerlei ein. Lt. Plan ist da nicht mal ein C oder etwas ähnliches. Ob der interne Pullup das alles schluckt was da kommt? Da würde ich mal drüber nachdenken. Aber eine LED(mit R) und eine ein paar Zeilen Debugcode sollten Klarheit schaffen, PA6 ist ja noch frei. Namaste
Danke für die vielen Antworten. Ich wuste hier bekomme ich Hilfe. Gerd schrieb: > Ob sich der Controller resettet, kannst du mit einer LED am Portpin > prüfen, die du nach einem Reset für eine Sekunde ansteuerst. Durchläuft > der Controller nun tatsächlich nocheinmal einen Reset, siehst du das an > der aufleuchtenden LED. Werde ich nachher anbauen und ausprobieren. spess53 schrieb: > Mit einem internen Pull-Up? Verstehe ich das richtig, ich soll den Pull-Up aktivieren. Quasie so:
1 | PORTB |= (1<<PB2)|(1<<PB3); //Pin B2 (Schalter innen)und Reset PB3 Pull-Up Wiederstand aktivieren |
Kevin schrieb: > Wieviel Volt liefert der Trafo? ~8Volt Winfried J. schrieb: > Lt. Plan ist da nicht mal ein C oder etwas ähnliches. Ob der > interne Pullup das alles schluckt was da kommt? Da würde ich mal drüber > nachdenken. Hilf mir ein wennig auf die Sprünge. Meine Ausbildung ist etwas her. Wo und wieviel C muss ich deiner Meinung nach einbauen?
Winfried J. schrieb: > mit einem c(10µF) kann mir mal jemand die Quelle zu dieser Angabe nennen? Neues Jahr, alte Sch.... Immer das selbe mit euch.
MaWin schrieb: >> mit einem c(10µF) > kann mir mal jemand die Quelle zu dieser Angabe nennen? > Neues Jahr, alte Sch.... Immer das selbe mit euch. Ja die Quelle wüsste ich auch gerne.. Aber MaWin, nimm dir doch mal fürs neue Jahr vor etwas entspannter und freundlicher hier aufzutreten ;-) Wünsche euch allen einen guten Start in 2012!
Mir fehlt auch noch ein 100n zwischen VCC und GND direkt am Tiny. Der C3 sollte ja direkt am 7805 sein. Resetbeschaltung wurde ja schon erwähnt, 10k und 100n sollten reichen. Je nsch Strom den die Gong ziehen könnte man noch einen Snubber, 10n / 10Ohm, zu den Kontakten schalten. Zusätzliche PullUp an die Tastenleitungen, 1k, wären auch nicht schlecht. Eine Fehlplanung ist meiner Ansicht nach auch, die Relais mit VCC zu betreiben, belasten unnötig den Spannungsregler und sorgen für Störungen.
Es gibt da noch die Appnote von Atmel: http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf Da steht allerdings nichts zur Kapazität dieses Kondensators. Lediglich folgendes wird dazu erklärt: ************************************************************************ To protect the RESET line further from noise, it is an advantage to connect a capacitor from the RESET pin to ground. This is not directly required since the AVR internally have a low-pass filter to eliminate spikes and noise that could cause reset. Applying an extra capacitor is thus an additional protection. However, note that this capacitor cannot be present if debugWIRE or PDI is used. ************************************************************************ Aber 10µF erscheinen mir übertrieben.
10µF sind zu viel. Das ist wohl aus der Zeit, wo Controller im Allgemeinen noch keine Startup-Delays eingebaut hatten (Um auf das korrekte Schwingen des Quarzes zu warten). Aber das geht beim AVR ja intern. Demnach gibt es nur noch den Grund mit Noise, wie Rolf Magnus schon zitiert hat. Hier reichen aber auch wenige Nanofarad. Ist m.M. auch nur in stark verseuchter Umgebung und bei langer RESET-Leitung nötig.
Die 10µ sind bei mir Gewohnheit und kein Beinbruch(sorry). Seit 6502 haben sie mir noch jeden Reset sauber gehalten und 10k-10µ sind nun kein Drama wenn es nicht schneller gehen muss, oder die Klingel nicht per Reset starten soll wie meine daheim und auch da habe ich 10-10 drin drin. Die Tasterleitung über einen Tiefpass zu ziehen soll auch nur Störungen fernhalten welche den internen 30k Pullup leicht ausnocken könnten (Langdrahtantenne/Klingeltaszterleitung) Ansonsten immer noch der selbe Tonfall bei den AllesBeserwissern? Euch auch ein gutes neues Jahr, wie allen hier sonst auch. Namaste
MaWin schrieb: > Neues Jahr, alte Sch.... Immer das selbe mit euch. Ich wollte es eigentlich auch das letzte Jahr fertig haben. Gerd schrieb: > Ob sich der Controller resettet, kannst du mit einer LED am Portpin > prüfen, die du nach einem Reset für eine Sekunde ansteuerst. Durchläuft > der Controller nun tatsächlich nocheinmal einen Reset, siehst du das an > der aufleuchtenden LED. Hab ich gemacht und siehe da er führt tatsächlich einen Reset durch. Hubert G. schrieb: > Resetbeschaltung wurde ja schon erwähnt, 10k und 100n sollten reichen. Das probiere ich jetzt. Die 10k ist klar. Von Vcc auf PB3. Aber die 100n, müßen die von PB3 auf GND oder auch auf Vcc? Ich denke auf GND, Gerd schrieb: > Den Einbruch in der Spannungsversorgung kann man am einfachsten mit dem > Oszilloskop sichtbar machen. Kann ich leider erst morgen prüfen. Habe hier kein Oszi
achja, Klingeltaster an Reset ist zwar nicht meine Idee aber eine Gute, anschließend an den Job kann der µC ins Koma (Tiefschlaf) gelegt und per erneutetem Reset geweckt werden. Namaste Das Programm sieht dann so aus
1 | reset |
2 | |
3 | Was ist denn hier los? |
4 | |
5 | Dipschalter auslesen. |
6 | Uhr fragen wie spät es ist. |
7 | |
8 | Tabelle nachschauen wo solle es klingeln |
9 | |
10 | Ergebnis an PortB legen |
11 | |
12 | Pulsen falls geplant oder Melodie / Ttakt abspielen |
13 | |
14 | Gute Nacht |
Namaste
Winfried J. schrieb: > Die 10µ sind bei mir Gewohnheit und kein Beinbruch(sorry). Super Argument! ;-) > Seit 6502 Genau das Argument habe ich doch schon im Voraus widerlegt. Damals war das als Reset-Delay notwendig. Heute ist sowas im Chip integriert. > haben sie mir noch jeden Reset sauber gehalten und 10k-10µ sind nun kein > Drama wenn es nicht schneller gehen muss, oder die Klingel nicht per > Reset starten soll wie meine daheim und auch da habe ich 10-10 drin > drin. Nunja, es ist in erster Linie unnötig. Je nach Programmer können die 10µF auch fies sein, wenn die beim Eintritt in den Reste direkt auf Masse entladen werden müssen. Bei DebugWire gibt es auch Probleme, wie man aus dem Zitat oben lesen kann. Zum Thema kann ich nur sagen: Zeig ein Bild des Aufbaus. Das Problem könnte durch ungünstige Leitungsführung entstehen.
> Aber MaWin, nimm dir doch mal fürs neue Jahr vor etwas entspannter und > freundlicher hier aufzutreten ;-) Er braucht nicht freundlicher zu sein, es reicht schon das Forum zu wechseln :)
Hubert G. schrieb: > Eine Fehlplanung ist meiner Ansicht nach auch, die Relais mit VCC zu > betreiben, belasten unnötig den Spannungsregler und sorgen für > Störungen. Guter Punkt!
Hubert G. schrieb: > Eine Fehlplanung ist meiner Ansicht nach auch, die Relais mit VCC zu > betreiben, belasten unnötig den Spannungsregler und sorgen für > Störungen. Ich glaube Du hast recht. Der fehler tritt immer nur dan auf wenn die Gongs dran hängen. Ohne Gong höre ich die Relays klakern und die LED bleibt aus.Wie löse ich dieses Problem? Die 100n möchte ich denoch reinbauen. Weis aber immernoch nicht wo hin?
Einmal 100n sollten zwischen VCC und GND so nahe wie möglich beim Tiny. Wenn es ohne Gong funktioniert würde ich die Snubber testen. Parallel zu den Relaiskontakten 10n und 10 Ohm in Serie.
na dann schauen wir noch mal isn spec
1 | 3.1 External RESET switch |
2 | |
3 | If an external switch is connected to the RESET pin it is important to add a series resistance. |
4 | Whenever the switch is pressed it will short the capacitor, the current through the switch can have high peak values. |
5 | This will cause the switch to bounce and give steep spikes in 2-10ms periods until the capacitor is discharged. |
10ms/10kohm= 0,000 001 As/V = 10µF wenn du also den widerstand noch kleiner wählst wie im App note 330 Ohm dan wird das C sogar noch größer. ach ja die die Dauer der einfangbaren Spikes hängt von der Antennenlänge ab.
Hi Aus welcher Spec stammt denn dein Zitat? Auf jeden Fall nicht aus dem Datenblatt des ATTiny24. Beim ATTiny24 lässt sich ein Resetdelay von 14CK + 64 ms einstellen. Da ist dein unsinnig großer Kondensator überflüssig. 100n reichen. MfG Spess
http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf dort geht es um HW Maßnahmen für robustes Schaltungsdesign.
Bitte nicht streiten.! Erst mall danke für die zahlreichen Antworten und Diskusionen. Wir sind der Lösung recht na. Ich habe das hier befolgt: Hubert G. schrieb: > Einmal 100n sollten zwischen VCC und GND so nahe wie möglich beim Tiny. Der Gong der zwei mal gongt funktioniert jetz tadelos. Der Gong der ganz am anfangt und alle 10 Sekungen gongt zickt etwas rum. Ist aber genau der selbe. Löst einen Reset aus. Ligt das immernoch am Reset Pin? Ich habe hier einen Elko 10µF rumligen. Da ihr euch nicht einig werdet probier ichs einfach mall aus. Die Frage ist jetzt aber immer noch zwischen GND und PB3 oder Vcc und PB3?
Ohne mich in den Streit einmischen zu wollen, möchte ich doch auf einen Rechenfehler aufmerksam machen: Winfried J. schrieb: > 10ms/10kohm= 0,000 001 As/V = 10µF Das ergibt doch 1 µF, oder?
Jürgen schrieb: > Der Gong der ganz > am anfangt und alle 10 Sekungen gongt zickt etwas rum. Offensichtlich sind da Entstörmaßnahmen an den Gongspulen nötig. Wenn du morgen ein Oszilloskop zur Verfügung hast, schau mal nach, ob bei eingeschalteten Gongs die Spannung hinter dem Spannungsregler zusammenbricht, bzw. ob Überspannungsspitzen beim Abschalten der Gongs vor und hinter dem Regler zu sehen sind. Vielleicht reicht es schon, die Gongspulen über einen niederohmigen Widerstand (4,7...10 Ohm) zu betreiben, damit diese die Versorgungsspannung nicht ganz so stark in die Knie zwingen. Eventuell helfen auch Varistoren parallel zu den Gongspulen.
Aus der Praxis: Die Relais ziehen ein wenig Strom. Deshalb ist es sicher kein Luxus, an Vcc noch einen 100uF Elko zu löten. C1 ist auch ein wenig "dünn". 470uF sind sicherlich besser. Eine Diode - wie schon gesagt - von Pin 3 nch Pin 1 von IC2 verlängert dessen Lebensdauer ;-) und ein (keramischer) 0,1uF Kondensator direkt an Pin 1 und Pin 14 von IC1 wirkt manchmal Wunder... Nun zum Reset-Problem: Er wird vermutlich durch einen Spannungseinbruch ausgelöst. Ganz besonders dann, wenn es sich bei Tr1 um einen handelsüblichen, kurzschlussfesten Klingeltrafo handelt. Der Gong zieht eine ganze Menge Strom! Einfach mal den Relaiskontakt 3-4 brücken und die Spannung an Pin 1 des IC2 messen. Es müssen mindestens 8V sein. Wenn die Spule des Gong zu dampfen beginnt, bitte aufhören - lach. Viel Glück
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.