Forum: Mikrocontroller und Digitale Elektronik ein kleines Problem :(


von Hamed (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe ein kleines Problem, mit dem ich seit langen kämpfe und es 
nicht lösen kann.

Es geht um folgendes:
meine Freundin hat mich gefragt, ob ich für ihr Fahrrad ein 
"intelligentes" Standlicht bauen kann, das folgende Funktionen hat:
1- man kann das Standlicht mit einem Schalter ein/ausschalten
2- man kann mit einem Poti einstellen, bei welcher Lichtstärke die 
Versorgung der Lampe zwischen Batterie und Dynamo umgeschaltet wird, 
(inkl. Dauer-Batteriebtrieb und Dauer-Dynamo-Betrieb)
3- Wenn man vergessen hat, das Licht auszzuschalten, schaltet das 
automatisch nach einigen minuten aus.

so... und ich habe versucht das ganze mit einem Attiny13 zu lösen. Das 
ist ziemlich gut gelungen und die Schaltung und das Programm haben die 
Tests bestanden.
Bevor ich die ganze Geschichte zusammen löte, habe ich versucht die 
Schalrung nochmal mit einer Fahrradlampe und einem Fahrraddynamo zu 
testen und genau jetzt ist "das Problem" aufgetaucht:

mein Relais schaltet hin und her und summt manchmal. Das Problem liegt 
natürlich daran, dass die Spannung am PB4 die von mir definierte 
Hysterese überschreitet und genau beim umschalten des Relais. Ich habe 
mit Oszi die Spannung an dem Punkt gemessen und tatsächlich ist es so, 
dass mit einem realen Dynamo und ner realen Fahrradlampe die Spannung am 
PB4 beim Umschalten des Relais schwingt und springt.
Das Interessante ist, wenn ich die Masse des Dynamo von der Masse der 
Batterie trenne, dann messe ich eine andere Spannung am PB4 !
Sogar habe ich mal den Plus der Batterie getrennt und den minus mit der 
Dynamo-Masse verbunden und habe wieder eine andere Spannung gemessen.

Ich weiß nicht, ob das jetzt daran liegt, oder an was anderem.
Hat jemand vielleicht eine Idee warum es so ist, wie es ist?

Zur der Schaltung: den Relaistreiber habe ich mit einem NE55 realisiert, 
hatte vorher mit nem normalen BC547 gemacht und dann dachte, vielleicht 
liegt das irgendwie an diesem Transistor, dass Relais ständig 
umschaltet, weil die Ausgänge vom Tiny13 nicht genug Strom anbieten.
Mit dem Poti kann man die obere Grenze einstellen und weil der Eingang 
am PB4 bisschen Rippel hat, habe ich so ne Art Schmitt trigger mit dem 
Tiny13 programmiert.
Der Spannungsteiler mit 200k und 100k sind zum Vergleichen der 
Dynamo-Spannung mit dem Poti-Spannung gedacht. die sind für max. 15 Volt 
u.max dimensioniert so dass dort maximal 5V am PB4 vorhaanden ist.
Baterie hat 6V.

Auch hier das Programm vom Tiny13:
1
$regfile = "attiny13.dat"
2
$crystal = 1200000
3
$hwstack = 10
4
$swstack = 10
5
$framesize = 10
6
7
Declare Sub Schleife
8
9
Config Portb.0 = Output
10
11
Config Adc = Single , Prescaler = Auto , Reference = Avcc
12
Start Adc
13
14
Dim Dynamo As Word
15
Dim Obere_grenze As Word
16
Dim Untere_grenze As Word
17
Dim Vergessen_timer As Long
18
Const Hyst = 150
19
20
'Initialisierung:
21
   Portb.0 = 0
22
   Vergessen_timer = 0
23
24
Do
25
26
27
   Obere_grenze = Getadc(1)
28
29
   If Obere_grenze > Hyst Then
30
      Untere_grenze = Obere_grenze - Hyst
31
   Else
32
      Untere_grenze = 0
33
   End If
34
35
36
   Dynamo = Getadc(2)
37
38
   If Dynamo < Untere_grenze Then
39
      Portb.0 = 1
40
41
      If Dynamo < 5 Then
42
         Vergessen_timer = Vergessen_timer + 1
43
         If Vergessen_timer = 360000 Then
44
            Portb.0 = 0
45
            Call Schleife
46
         End If
47
      End If
48
   End If
49
50
   If Dynamo > Obere_grenze Then
51
      Portb.0 = 0
52
      Vergessen_timer = 0
53
   End If
54
55
56
Loop
57
58
Sub Schleife:
59
Do
60
Loop
61
End Sub
62
63
64
End                                                         'end program


Ich freue mich auf eure Meinungen und eventuell Verbesserungen.

Viele Grüße
Hamed

von Hamed (Gast)


Lesenswert?

Da gibt es einen kleinen Fehler im Bild und zwar der NO-Pin vom Relay 
ist mit der Batterie verbunden und der NC-Pin mit dem Dynamo.
Also im Normalfall ist die Lampe mit dem Dynamo verbunden bis zu dem 
Zeitpunkt dass Tiny13 den PB0 auf 1 setzt.
Der Hauptschalter habe ich auch vergessen hinzumalen. müsste am Pluspol 
der Batterie stehen.

von Anja (Gast)


Lesenswert?

Hallo,

Wenn ich richtig verstehe hängt der Attiny direkt (unstabilisert) an der 
Batterie? (genauso wie das Poti). Der Attiny ist mit max 5.5V 
spezifiziert.

Die Analogeingänge sind auch zu hochohmig beschaltet (die Genauigkeit 
leidet). Die Quellimpedanz sollte max. ca 10 kOhm sein. (also 
Spannungsteiler mit 10 kOhm aufbauen und Poti max ca 22KOhm).
Ferner sehe ich keine Abblock-Kondensatoren in der Schaltung worunter 
die Stabilität ebenfalls leiden kann.

Das Hauptproblem wird sein daß beim Einschalten der Last die 
Batteriespannung stark einbricht. (Vermutlich sogar unter die 
Reset-Schwelle des ATTINY). Wenn ein reiner Gleichspannungsbetrieb 
möglich wäre hätte ich vorgeschlagen per PWM und MOSFET einen Softstart 
zu machen. Für gemischten AC und DC Betrieb habe ich leider keine Idee.

von Ingo L. (grobian)


Lesenswert?

womit hst Du den Schaltplan erstellt

von Hamed (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Anja,

Du hast Recht, den Schaltplan habe ich nicht korrekt erstellt. in der 
Tat habe ich doch einen 5V Spannungsregler mit Kondensatoren dran. und 
der Attiny13 und Poti hängen schon am Ucc=5V stabilisiert.

Ich habe nochmals den richtigen Schaltplan angehängt.

Dass mit den hochohmigen Eingängen, wusste ich nicht, danke für den 
Tipp. Ich werde sie neu dimensionieren.

zu den Blockkondensatoren, wo sollen sie denn hinkommen? und wie groß 
sollten sie sein.

Zu deiner Idee mit MOSFET und sanft umschalten. Die Idee finde ich 
super. vielleicht kann ich statt einem Relais zwei Mosfets zum ein und 
ausschlten nutzen. Auf jeden Fall Danke für deine Tipps.

Es wäre schön wenn jemand eine Idee für gemischten AC DC Betrieb hätte. 
Das Problem ist, Fahrradsdynamo und die Lampen haben ihre Masse am 
Fahrradrahmen und ich möchte dass es so bleibt. Von daher muss ich die 
Batterie-Masse auch an den Rahmen verbinden. oder!?

Übrigens, die Schaltung habe ich mit Proteus erstellt.

Gruß
Hamed

von Anja (Gast)


Lesenswert?

Hallo,
Der Spannungsregler ist hoffentlich ein Low-Drop-Regler (normale Regler 
brauchen mindestens 7-8V am Eingang um am Ausgang zuverlässige 5V zu 
generieren).
Ich setze generell je einen 100nF an den Versorgungspins des Prozessors, 
sowie jeweils an Ein-und Ausgang des Spannungsreglers.
Zusätzlich noch einen mindestens 10uF (bis 47uF) nahe beim Prozessor.
Bei einem Low-Drop-Regler ist dieser sowieso notwendig damit dieser 
nicht schwingt. Wenn der Kondensator am Ausgang des Spannungsreglers 
groß genug ist hilft er ggf. auch über den Spannungseinbruch hinweg.
Idealerweise wird der Spannungsregler in der Nähe des Prozessors 
plaziert.

Der NE555 (sofern nicht die CMOS-Ausführung verwendet wird) verursacht 
ziemliche Störungen auf den Versorgungsleitungen. -> dort ist ebenfalls 
mindestens ein 100nF Kondensator an den Versorgungspins notwendig.

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
Noch kein Account? Hier anmelden.