Dimmen, Schalten und Wolkensimmulation

Fragen zu Schaltungen, Elektronik, Elektrik usw.

Moderator: T.Hoffmann

Antworten
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Fr, 22.10.10, 13:52

Hi,

ich sehe das ja auch als eine Herrausforderung, die sogar etwas gedult und zeit braucht. Wie du schon gesagt hast.
Bis zur nächsten Reptielen-Börse im nächsten Frühjahr ist ja noch Zeit :D
Die Schaltung hatten wir ja schon mal weiter oben, bzw in meinem Beitrag durch die Mangel genommen.
Das Bascom macht mich schon bissle arg Probleme, weil ich halt kein Englisch kann. :(

gruß
mario
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Fr, 22.10.10, 14:27

Das wird schon... Wie ist denn der aktuelle Stand der Dinge? Was geht/geht nicht, wo willst Du weitermachen...
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Fr, 22.10.10, 14:42

Hi,

ich bin immer noch an der Schaltung drann, die ganzen Leiterbahnen zu Optimieren, das nicht so viele Brücken drauf kommen.
Nicht ganz einfach. :)

Das DCF-Programm läuft gerade neben mir.
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Fr, 22.10.10, 15:10

Habe gerade nochmal dein Schaltplan

download/file.php?id=15604&mode=view
und mit diesem Text von dir:
"Ich hab noch ein paar 'Probleme' gefunden...
Die Auswertung des DCF77 Signals benötigt den Timer1; also kann der nicht für PWM benutzt werden.
=> Es kann nur Timer2 für die PWM verwendet werden. Der hat zwar nur 8 Bit, aber 256 Stufen reichen wohl auch. Vmtl. kann man dann zwar die Abstufungen erkennen wenn man genau hinschaut, 'stören' wird es aber Deine Tierchen wohl kaum.
=> MosFet + LEDs müssen an PB3 (nicht PB1) angeschlossen werden."

mit mein Schaltplan verglichen, und habe doch diese Änderung von dir vergessen. Das Relais kann ich dann schon an PB1 klemmen.
ODER?
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Fr, 22.10.10, 16:40

Ja, kannst Du.
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Mi, 27.10.10, 22:40

Hallo Borax,

ich habe noch eine Frage: Die kleine Spule oder Drossel im Schaltplan zwischen Pin20(AVCC) und +5V! Was ist das genau, nicht das ich da später etwas falsches reinlöte.
Dann werde ich mal so langsam die Relais-Karte vorbereiten und so weiter(am Testboard mit anschliessen).
Die Lampen muß ich auch noch fertig machen, sprich in die Fassungen einbauen und verkabeln.
Jetzt kommt ja so langsam wieder das Wetter, wo dafür genügend Zeit bleibt.

gruß
Benutzeravatar
Achim H
Star-Admin
Star-Admin
Beiträge: 13067
Registriert: Mi, 14.11.07, 02:14
Wohnort: Herdecke (NRW)
Kontaktdaten:

Do, 28.10.10, 00:41

Meine Meinung:
Die Induktivität bildet mit dem Kondensator C4 einen Eingangs-Filter, um die parasitäre Frequenz des Quarz nicht ins 5V-Netz gelangen zu lassen. Eine Tonneninduktivität (enthält einen Ferritkern in Form einer Tonne) sollte dafür ausreichen.

Kann aber auch total falsch sein, was ich denke und schreibe.
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Do, 28.10.10, 07:52

Stimmt ziemlich genau. Ist einfach die 'Standard-Beschaltung' aus dem Atmel-Datasheet:
Atmel_ADC_Power1.png
Atmel_ADC_Power1.png (13.82 KiB) 12348 mal betrachtet
Verwendet wird üblicherweise (genau wie Achim schon geschrieben hat) eine Festinduktivität in Widerstandsform (mit Ferritkern), also so was:
http://www.reichelt.de/?ACTION=3;GROUP= ... ICLE=18193
Benutzeravatar
CRI 93+ / Ra 93+
Auserwählter
Auserwählter
Beiträge: 2801
Registriert: So, 19.10.08, 23:56
Wohnort: Hannover

Do, 28.10.10, 11:35

Dieses LC-Tiefpass-Filter ist nur bei erhöhten Ansprüchen an die Rauschfreiheit beim AD-Wandeln notwendig. Bei Oversampling ist ein wenig Rauschen sogar nützlich, bzw. notwendig.
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Do, 28.10.10, 12:13

Klar, geht auch ohne. Aber bei Kosten von ca. 0.3€ bau ich das fast standardmäßig mit ein. Das mit dem Oversampling Rauschen stimmt zwar, aber vmtl. sind die (mit der ADC Clock syncronen) Spikes vom Prozessor Takt dafür auch nicht so gut geeignet.
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Sa, 30.10.10, 16:35

OK,
und danke für den Link.
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Fr, 05.11.10, 19:55

Hallo,

in den letzten Tagen habe ich mal die Platte mit den Relais fertig gemacht, und würde sie jetzt auch gerne Testen,
habe dazu mal etwas zusammen gebastelt:

Code: Alles auswählen

 $regfile = "M8def.dat"
$crystal = 1000000
$hwstack = 100
$swstack = 100
$framesize = 100


'R1 an Pb0
R1 Alias Portb.0
Config R1 = Output

'R2 an Pb1
R2 Alias Portb.1
Config R2 = Output

'R3 an Pb4
R3 Alias Portb.4
Config R3 = Output

'R4 an Pb5
R4 Alias Portb.5
Config R4 = Output

'TASTER1 an PD2
Taster1 Alias Pind.2
Config Taster1 = Input
Portd.2 = 1       'PullUp-Widerstand einschalten

Dim Status As Byte


Do
   Bitwait Taster1 , Reset
   Bitwait Taster1 , Set

   If Status = 0 Then
      R1 = 1
      R2 = 0
      R3 = 0
      R4 = 0
      Status = 1
   Elseif Status = 1 Then
      R1 = 0
      R2 = 1
      R3 = 0
      R4 = 0
      Status = 2
   Elseif Status = 2 Then
      R1 = 0
      R2 = 0
      R3 = 1
      R4 = 0
      Status = 3
   Elseif Status = 3 Then
      R1 = 0
      R2 = 0
      R3 = 0
      R4 = 1
      Status = 4
   Elseif Status = 4 Then
   End If
Loop


End 
Internet sie Dank.

Würde dieses Programm funktionieren?

grüßle
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Sa, 06.11.10, 19:32

hallo,

habe die Relais-karte hiermit

Code: Alles auswählen

$regfile = "M8def.dat"
$crystal = 8000000
$hwstack = 100
$swstack = 100
$framesize = 100


'R1 an Pb0
R1 Alias Portb.0
Config R1 = Output

'R2 an Pb1
R2 Alias Portb.1
Config R2 = Output

'R3 an Pb4
R3 Alias Portb.4
Config R3 = Output

'R4 an Pb5
R4 Alias Portb.5
Config R4 = Output

'TASTER1 an PD2
Taster1 Alias Pind.2
Config Taster1 = Input
Portd.2 = 0                                                 'PullUp-Widerstand einschalten

Dim Status As Byte


Do
   Bitwait Taster1 , Reset
   Bitwait Taster1 , Set

   If Status = 0 Then
      R1 = 1
      R2 = 1
      R3 = 1
      R4 = 0
      Status = 1
   Elseif Status = 1 Then
      R1 = 1
      R2 = 1
      R3 = 0
      R4 = 1
      Status = 2
   Elseif Status = 2 Then
      R1 = 1
      R2 = 0
      R3 = 1
      R4 = 1
      Status = 3
   Elseif Status = 3 Then
      R1 = 0
      R2 = 1
      R3 = 1
      R4 = 1
      Status = 4
   Elseif Status = 4 Then
      R1 = 1
      R2 = 1
      R3 = 1
      R4 = 1
   Elseif Status = 5 Then
   End If
   Loop
Return


End
 
erfolgreich die Funktion der Relais getestet.

gruß
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

So, 07.11.10, 00:29

Na dann: Gratuliere!
Du brauchst mich ja schon gar nicht mehr :D
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Mo, 08.11.10, 23:25

Danke!

Für das richtige Terra-Programm brauch ich aber schon noch richtig Hilfe.
Den NTC sollte ich noch irgendwie Testen, habe dazu was gelesen im Pollin-Katalog: da steht was von 1,5kOhm/25Grad

Mit dem Programm, können wir da auf dem jetzigen DCF-Programm aufbauen , oder muss das dann komplett neu angefangen werden?

gruß
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 09.11.10, 09:07

können wir da auf dem jetzigen DCF-Programm aufbauen
Klar. Warum nicht?
Wegen NTC... Kannst Du mal mit einem Multimeter den Widerstand bei ein paar Temperaturen (z.B. etwa 5°, 20°, 30°) nachmessen? Welche Temperaturen es genau sind spielt eigentlich keine Rolle, solange Du die 'exakte' Temperatur mit dem Thermometer Deines Vertrauens dazu bestimmen kannst. Damit können wir die Messung mit dem µC mal grob vorgeben, die 'Feinjustierung' kann dann per Software erfolgen.
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Do, 11.11.10, 23:00

Hallo Borax,

ich mal noch ne frage zum Prog für meine Relais-Karte testen,hier erstmal das Prog:

Code: Alles auswählen

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 100
$swstack = 100
$framesize = 100


'R1 an Pb0
R1 Alias Portb.0
Config R1 = Output

'R2 an Pb1
R2 Alias Portb.1
Config R2 = Output

'R3 an Pb4
R3 Alias Portb.4
Config R3 = Output

'R4 an Pb5
R4 Alias Portb.5
Config R4 = Output

'TASTER1 an PD2
'Taster1 Alias Pind.2
'Config Taster1 = Input
'Portd.2 = 0                                                 'PullUp-Widerstand einschalten


Do

R1 = 0
R2 = 0
R3 = 0
R4 = 0
Waitms 2000
R1 = 1
R2 = 0
R3 = 0
R4 = 0
Waitms 2000
R1 = 0
R2 = 1
R3 = 0
R4 = 0
Waitms 2000
R1 = 0
R2 = 0
R3 = 1
R4 = 0
Waitms 2000
R1 = 0
R2 = 0
R3 = 0
R4 = 1
Waitms 2000


Loop
nun meine frage: Warum schaltet hier dass Relais(Kontroll-LED leuchtet) bei "0" und nicht bei "1" ?

Liegt das eventuell an den PullUp-Widerstand!?
Normal ist doch "1" = "Ein"

mit dem NTC dauert noch ein bisschen, Kein gescheites termo vorhanden.
gruß
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Fr, 12.11.10, 09:32

Wie hast Du das Relais (bzw. LED) angeschlossen?
Schaltplan...
Wenn es wie hier gezeichnet: download/file.php?id=15604&mode=view
angeschlossen ist, sollte es eigentlich bei RX=0 auch aus sein. Der Port-Pin am µC hat Masse-Potential, dadurch liegt die Basis des Transistors auch auf Masse und der Transistor hat einen 'unendlich' großen Widerstand, so dass durch das Relais kein Strom fließt.
Wenn Du das anders angeschlossen hast (durchaus machbar), dann muss ich das zunächst wissen.

Der Programmteil mit PullUp-Widerstand ist auskommentiert und spielt daher überhaupt keine Rolle...
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Mo, 15.11.10, 15:36

Hi,
habe den Fehler gefunden und behoben. Waren die falschen Transistoren drin. Jetzt sind BC548A drin und es funktioniert, "1" ="ein bzw. an". Die Schaltung hatten wir doch schon hier drin besprochen: viewtopic.php?f=12&t=8030&start=0

Borax , aber eins versteh ich nicht im Programm.

Code: Alles auswählen

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 100
$swstack = 100
$framesize = 100


'R1 an Pb0
R1 Alias Portb.0
Config R1 = Output

'R2 an Pb1
R2 Alias Portb.1
Config R2 = Output

'R3 an Pb4
R3 Alias Portb.4
Config R3 = Output

'R4 an Pb5
R4 Alias Portb.5
Config R4 = Output

'TASTER1 an PD2
'Taster1 Alias Pind.2
'Config Taster1 = Input
'Portd.2 = 0                                                 'PullUp-Widerstand einschalten


Do

R1 = 0
R2 = 0
R3 = 0
R4 = 0
Waitms 2000
R1 = 1
R2 = 0
R3 = 0
R4 = 0
Waitms 2000
R1 = 0
R2 = 1
R3 = 0
R4 = 0
Waitms 2000
R1 = 0
R2 = 0
R3 = 1
R4 = 0
Waitms 2000
R1 = 0
R2 = 0
R3 = 0
R4 = 1
Waitms 5000
R1 = 1
R2 = 1
R3 = 1
R4 = 1
Waitms 5000

Loop

End
Den Letzten Teil wo alle Relais an sein sollten funktioniert schon , aber die Dauer stimmt absolut nicht.
Das programm ist eigentlich wie ein Lauflicht, oder.
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 15.11.10, 15:56

aber die Dauer stimmt absolut nicht.
Was 'stimmt' nicht?
Entsprechend Deinem Programm sollte so sein:
...Relais3 ist für 2 Sekunden an Relais4 ist für 5(!) Sekunden an, dann alle (Relais1-4) für 5(!) Sekunden an, dann (loop) alle (Relais1-4) für 2 Sekunden aus...
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Mo, 15.11.10, 16:19

Die 5sek fehlen bzw werden nicht korrekt ausgeführt. Sind eventuell nur ein millisekunden wo alle 4Relais an sind
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Mo, 15.11.10, 16:51

Mit diesem Programm ist fast das gleiche, obwohl hier jedes mal der befehl vom taster kommt zum weiter schalten. Die Position mit alle 4Relais wird fast übersprungen, ein kurzes aufleutchten und schalten seh und höre ich , aber bleibt nicht in dauerstellung.

Code: Alles auswählen

$regfile = "M8def.dat"
$crystal = 8000000
$hwstack = 100
$swstack = 100
$framesize = 100


'R1 an Pb0
R1 Alias Portb.0
Config R1 = Output

'R2 an Pb1
R2 Alias Portb.1
Config R2 = Output

'R3 an Pb4
R3 Alias Portb.4
Config R3 = Output

'R4 an Pb5
R4 Alias Portb.5
Config R4 = Output

'TASTER1 an PD2
Taster1 Alias Pind.2
Config Taster1 = Input
Portd.2 = 0                                                 'PullUp-Widerstand einschalten

Dim Status As Byte


Do
   Bitwait Taster1 , Set
   Bitwait Taster1 , Reset

   If Status = 0 Then
      R1 = 1
      R2 = 1
      R3 = 1
      R4 = 0
      Status = 1
   Elseif Status = 1 Then
      R1 = 1
      R2 = 1
      R3 = 0
      R4 = 1
      Status = 2
   Elseif Status = 2 Then
      R1 = 1
      R2 = 0
      R3 = 1
      R4 = 1
      Status = 3
   Elseif Status = 3 Then
      R1 = 0
      R2 = 1
      R3 = 1
      R4 = 1
      Status = 4
   Elseif Status = 4 Then
      R1 = 1
      R2 = 1
      R3 = 1
      R4 = 1
      Status = 5
   Elseif Status = 5 Then
      R1 = 0
      R2 = 0
      R3 = 0
      R4 = 0
      Status = 6
   Elseif Status = 6 Then

   End If

   Loop

End
Kann es sein , das der Pin-PB1 nicht ganz dafür geeignet ist!? Das ist Relais2 und das war vorhin mal ein bisschen abwesend. :D
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 15.11.10, 17:08

Kann es sein , das der Pin-PB1 nicht ganz dafür geeignet ist!?
Nö. Der Pin ist nicht anders als PB0 oder PB4 oder...
Das ist Relais2 und das war vorhin mal ein bisschen abwesend.
Was meinst Du damit???

Ich denke dass irgendwie beim schalten aller Relais gleichzeitig zu viel Strom gezogen wird und der µC in den Reset geht.
Probier mal den Teil mit den vier Relais als erstes im Programm zu setzen. Vmtl. kommst Du dann gar nicht mehr bis zum nächsten Punkt...

Hast Du einen 100n Kondensator nahe an den +5V/GND Pins am µC?

Miss mal die Versorgungsspannung wenn 1,2,3,4 Relais an sind.
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Mo, 15.11.10, 17:21

Ich glaube mit dem ersteren liegst du richtig. habe gerade parallel das Test-Board an eine andere Energie-Ouelle angeschlossen, und da hat es sehr gut funktioniert. Werde jetzt noch das andere Programm versuchen.
marfri
Mega-User
Mega-User
Beiträge: 209
Registriert: Do, 30.07.09, 22:00

Mo, 15.11.10, 17:28

Es funktionieren beide Programme einwandfrei.
Die nächsten Tage werde ich dann noch den NTC messen, dann meld ich mich wieder.
Antworten