PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATtiny13 Timer funktioniert, jedoch startet er unregelmäßig von allein!



Bow-Hunter
04.01.2014, 19:21
Der ATtiny13 schaltet eine LED und ein Relais nach einer Sekunde drücken auf den schalter an.
Es funktioniert auch alles Prima. Das Relais schalten gut. Die LED leuchtet. Dann schalten es sich selbstständig wieder aus.

Jetzt kommt das komische. In unregelmäßigen Abständen startet das geschriebene Programm von alleine.
Wie jetzt beim Tippen tut sich nichts. Dann nach 5 Minuten läuft es 3 mal hinter einander ab und dann wieder nichts.
Oder mal startet es und dann nie wieder wie vorgesehen bis ich wieder auf den Taster drücke.

Alle kontakte sind fest verlötet...
Ich weis gerade nicht wo der Fehler sein kann...

Hab ich ein Bauteil vergessen?

Hier mal das Programm


$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 0
$swstack = 0
$framesize = 0

Config Pinb.0 = Input
Config Portb.2 = Output
Config Portb.3 = Output


Do
If Pinb.0 = 1 Then
Wait 1
If Pinb.0 = 1 Then
Portb.2 = 1
Portb.3 = 1
Wait 6
Portb.2 = 0
Portb.3 = 0
End If
End If

Loop

End

27057

27058

Searcher
04.01.2014, 20:25
Hallo,
besser wäre noch zusätzlich ein Schaltplan. Ich kann zB nicht erkennen, ob Vcc für den Tiny13 angeschlossen ist. Ein Freilaufdiode für das Relais kann ich nicht sehen. Im Programm gibt es keine Tastenentprellung (zB mit DEBOUNCE).

Ob der Strom, den der Tiny13 für das Relais liefert, wirklich reicht, auch auf Dauer? Gibt es eine Typenbezeichnung für das Relais? Was für eine Stromversorgung nutzt Du. Liefert die wirklich sauberen Gleichstrom?

EDIT: ich glaub hier tut es auch das "Wait 1" als Tastenentprellung?

Gruß
Searcher

Hubert.G
04.01.2014, 21:19
Fehlt der PullDown Widerstand?

Bow-Hunter
04.01.2014, 23:12
27061

Das Relais ist gerade nebensächlich. (er macht das gleiche auch ohne ihn) Ach ja und erstmal danke für die schnelle Antwort.
Ich hoffe der Schaltplan ist so okay. Hab mir auf die schnelle ein Programm runtergeladen, hab sowas noch nie gemacht.

Sowas wie DEBOUNCE versteh ich leider noch nicht. Beschäftige mich erst seit 2 Wochen mit dem ganzen Kram hier ;)
Und was ist ein Pulldown Widerstand?

Wie verhext lief er die letze halbe stunde ohne Probleme. Komisch

Gruß Glenn

oberallgeier
05.01.2014, 08:57
Hallo Glenn, willkommen im Forum.

... DEBOUNCE versteh ich leider noch nicht ... was ist ein Pulldown Widerstand? ...Könnt ich jetzt erläutern, aber das Standardverfahren bei solchen Fragen (nicht nur für Anfänger) ist Tante Goockel und Onkel Wiki (das Original und das RN-Wissen). Alle geben darüber bereitwillig, klar, schnell und ausführlich Auskunft. BTW (By This Way) - im RN-Texteditor gibts "oben" ein paar Buttons. Für Codes wird der mit dem Hash "#" gedrückt und dann der Programmcode eingefügt - danach liest sich der Code besser. Dies versteh bitte als Anleitung, nicht als Ermahnung, bitte.

Prellende Taster kenne ich praktisch garnicht. Ich habe mehrere Eigenbauprojekte/projektchen mit zwei (klick mal) (https://www.roboternetz.de/community/threads/48271-ISP-zum-Aufklippen-f%C3%BCr-THT-Controller?p=464833&viewfull=1#post464833) und mehreren Tastern (nochnklick), (https://www.roboternetz.de/community/threads/62904-Servomesstester-%28Servotester-und-%C2%96messaufbau%29?p=585511&viewfull=1#post585511) meist gegen GND, immer first-class-Hardware, und praktisch Null Störungen. Im zweiten Link sinds drei+1 Taster (ein Reset*gg*) "on board" und parallel dazu nochmal drei+1 auf einer Art "Fernsteuerungsplatine" - nie Probleme. Es gibt eine recht simple "wait"-Lösung, soweit ich mich erinnere von mic/radbruch, die heisst in C z.B. (Bascom kann ich Dir leider nicht helfen):

while ( TasteA_an && TasteA_an && TasteA_an ) { } // Taste lösen
und diese Mehrfachabfrage (beliebig erweiterbar) funktioniert glänzend; wie gesagt, bei mir praktisch nie notwendig.

Bow-Hunter
05.01.2014, 09:40
27067

So, ich hab jetzt einen Pullup Widerstand eingesetzt und eine Freilaufdiode. Sitzen sie so am rechten Fleck?
Die Diode wie groß muss sie sein. Hab hier so Standartdinger im Set gehabt mit 75V glaube ich.
Und der Pullup Widerstand. Im Internet lass ich was über 1 M-Ohmen.
Leider finde ich solche Informationen über die stärke noch nicht im Netz.

Und weil das noch nicht alles ist: Ich brauche einen konstanten Eingang von 5 Volt auf den Tiny, möchte den Strom aber einer Autobatterie entnehmen.
Benutze ich einen Festspannungsregler mit Kondensatoren dafür?

HeXPloreR
05.01.2014, 09:42
Hallo,

in dem Schaltplan kannst Du noch einen z.B. 10µF - 100µF Kondensator "in Reihe" zum Taster an P5 einabuen, dann würde er als Hardware Entprellung arbeiten. Der PullDown(GND) Widerstand an P5 zu +5V fehlt definitiv und sollte unbedingt eingebaut werden um einen "in der Luft hägenden" des Pin zu vermeiden. Das wird der Hauptgrund sein warum die Schaltung sporadisch läuft.
Die angesprochen Freilaufdiode - benötigt ein Relais immer. Mit ein wenig pech ist der Tiny schon kaputt, oder wird es demnächst sein ;) (hohe, nicht definierte Induktionsspannung in den IC)

Das wichtigste: Timer?? - einen Timer hast Du praktisch nicht eingebaut/prgramiert.


Viele Grüße

EDIT: Da warst Du schneller ;) Sieht gut aus. Allerdings ist es wichtig in diesem zusammenhang zu sagen das Du einen "PullDown" Widerstand eingebaut hast. Der also bei "nicht drücken" des Tasters das Potenzial am Pin P5 "nach unten zieht", = 0.

Das Relais würde ich persönlich über einen Transistor ansteuern. Damit man den Tiny nicht mit dem max. Ampere überlastet - glaub max. 40mA pro Pin waren es. Würde ich nicht drauf ankommen lassen.

Bow-Hunter
05.01.2014, 10:02
27068

Wie schließe ich den Transistor richtig an?

Sitzt der 2 Kondensator da an der richtigen stelle?

Danke schon mal für die Tipps...

HeXPloreR
05.01.2014, 10:29
Der Transistor muss Leistungstechnisch zu den Daten des Relais und der Betriebsspannung passen. Der Pin P5 soll entlasstet werden, deshalb muss der vom Relais getrennt werden und dann an der Basis des Transsitor angeschlossen werden + Widerstand in der Basisleitung - ein übersteuern wäre aber in disem Fall nicht kritisch, daher kann der wohl auch wegbleiben. Der Collector bekommt jetzt die 5V Spannungpanng direkt zugeführt.
Das ganze lohnt sich allerdings auch nur wenn die Belastung der P5 wirklich höher ist als zulässig. Messen.

Der 2. Kondensator kommt in Parallel zum Taster. jetzt ist er in reihen - nutzlos für diesen Fall. Am besten einen Keramikkondensator verwenden.

Searcher
05.01.2014, 10:33
Hab mittlerweile die Verbindung von Vcc zu positiven Versorgungsspannung auf dem Foto ausmachen können :)


So, ich hab jetzt einen Pullup Widerstand eingesetzt und eine Freilaufdiode. Sitzen sie so am rechten Fleck?
Wie HeXPloreR schon schrieb, nennt man den Widerstand hier Pulldown Widerstand, da er das Potential nach LOW zieht, wenn der Taster offen ist. Ist richtig eingezeichnet und auch die Freilaudiode ist richtig rum und am richtigen Fleck :).

Die Diode wie groß muss sie sein. Hab hier so Standartdinger im Set gehabt mit 75V glaube ich.
Es gibt so viele Diodentypen ... Besser, Du nennst den Namen (und schreibst sowas auch in den Schaltplan, auch Widerstandswerte die Du schon weist, Kapazitäten, Spannungen, etc.). Für so ein kleines Relais paßt aber wirklich fast jede Diode. Ich nehme meist 1N4148 oder 1N4001.


Und der Pullup Widerstand. Im Internet lass ich was über 1 M-Ohmen.
Leider finde ich solche Informationen über die stärke noch nicht im Netz.
1MOhm ist zuviel. Hier im Roboternetz im RN-Wissen steht was dazu: http://www.rn-wissen.de/index.php/Pullup_Pulldown_Widerstand Ich würd 10kOhm nehmen.


Und weil das noch nicht alles ist: Ich brauche einen konstanten Eingang von 5 Volt auf den Tiny, möchte den Strom aber einer Autobatterie entnehmen. Benutze ich einen Festspannungsregler mit Kondensatoren dafür?
Ja, kann man machen.

Gruß
Seacher

Bow-Hunter
05.01.2014, 10:39
27069

Also so?
Pulldown widerstand: Wie Stark: 1M Ohmen? ERLEDIGT!
Der Kondensator von VCC zu GND hat 100nF, ist so einer zu schwach für den an P5?
Wie bekomme ich die Stärke für den Transistor heraus?

HeXPloreR
05.01.2014, 10:53
Also so?
ja, genau so - allerdings bin ich mir nicht ganz sicher ob der Transistor zwingend auf der anderen Seite vom Relais eingebaut werden sollte - wegen der Wirkung der Freilaufdiode. Da müsste ein etwas mehr Erfahrender was zu sagen. Der Transistor kann vermutlich ein einfacher Standard-T wie der BC547B sein.



Pulldown widerstand: Wie Stark: 1M Ohmen? ERLEDIGT! 1k - 10k sollte alles gut funktionieren.


Der Kondensator von VCC zu GND hat 100nF, ist so einer zu schwach für den an P5? An diese Stelle kommt es darauf an ob der C sich schnell genug aufläd um das prellen im µSec bereich auch abzufangen, daher ist hier ein "kleiner, schneller" Keramikkondensator um die 10 - 100µF besser als ein "zu großer".


Wie bekomme ich die Stärke für den Transistor heraus? -> erstmal kannst Du messen wie viel das Relais an Strom zieht wenn es angezgen ist. Dann kannst Du entscheiden ob und welchen Transistor Du benötigst. Datenblatt (engl.Datasheet) ...BC547B (Infos z.B. hier PDF (http://www.uni-regensburg.de/physik/didaktik-physik/medien/VeranstMat/ExpSemgemMat/ELehre/transistor_info.pdf) - kein Datsheet (http://www.uni-regensburg.de/physik/didaktik-physik/medien/VeranstMat/ExpSemgemMat/ELehre/transistor_info.pdf))

Bow-Hunter
05.01.2014, 11:08
27070

Ich hab dem Schaltplan noch einen Festspannungsregler und 2 Kondensatoren hinzugefügt, weil ich von 12 Volt auf 5 Volt kommen möchte.
Wenn ich das Richtig verstanden habe ist ein 100nF weniger als 100µF?
Weil das was du geschrieben hast mir so vorkommt als wäre der 100nF Keramikkondensator den ich schon auf der Platine habe größer als ein 100µF?

Die ganze Schaltung verbraucht ca. 40 mA (ich habe noch keinen Strom durch das Relais laufen lassen)
Ab das Relais klickt und eine Verbindung ist messbar.

HeXPloreR
05.01.2014, 11:20
Wenn ich das Richtig verstanden habe ist ein 100nF weniger als 100µF? ja, du hast natürlich recht, n ist kleiner als µ - ich bekomm das leider immer wieder durcheinander (p<n<µ<m) (=sprich: pnym) f lassen wir mal weg, sonst ist die tolle Eselsbrücke kaputt ;). Also ein 10 - 100nF sollte es sei....Kerko - nicht Elko.

Ich wollte ja auch nur schaue ob Du auch aufpasst ;)

Bow-Hunter
05.01.2014, 11:29
Danke ;)

Ich denke ab jetzt sollte ich hoffentlich alles alleine hinbekommen.
Ich werde sobald ich fertig geworden bin und alles getestet habe noch einen letzten Kommentar schreiben mit Fotos und Co.

Vielen dank an die schnellen Antworten.
Gruß Glenn

HeXPloreR
05.01.2014, 12:08
Den LM317 musst du allerdings anders verschalten wenn Du da 5V raushaben willst. Den kann kann man nicht so einfach betreiben wie einen L7805. Leider habe ich einen passenden Link mit guten Erklärungen dazu verloren.

oberallgeier
05.01.2014, 12:40
Den LM317 ... verschalten wenn Du da 5V ... willst ... passenden Link ... verloren.Abgesehen vom DAtenblatt wäre da
1. Übersicht (http://www.elektronik-kompendium.de/public/schaerer/ureg3pin.htm)
2. Erläuterungen ausführlich(er) (http://www.elektronik-kompendium.de/public/schaerer/uregspec.htm) weiter unten bei "Die Funktionsweise des LM317"
3. Die anschauliche Einführung (http://www.dieelektronikerseite.de/Elements/LM317%20-%20Welche%20Spannung%20darf%20es%20sein.htm) (etwa auf die "Hälfte" runterscrollen)
3a. Der Widerstandsrechner für die LM317 (http://www.dieelektronikerseite.de/Tools/LM317.htm)-Konstantspannungs-schaltung

Ok Glenn?

Ergänzung: Der automatische Link beim L M-3 1 7 führt leider in die Irre - zur Schaltung als Kon stant STROM quelle.

Bow-Hunter
05.01.2014, 16:39
Die Kennzeichnung ist falsch. Es gab nur keinen anderen in dem Zeichenprogramm.

- - - Aktualisiert - - -

27080

So. Ich hab alle Bauteile hinzugefügt. Und es hat sich nichts geändert :(
Ich hab dann einen neuen Chip eingesetzt und bis jetzt läuft es super. Auch das Relais läuft prima.
Ich gehe noch mit 5 Volt vom Labornetzteil rein, weil ich keine Teile mehr habe...
\\:D/