Dimmen, Schalten und Wolkensimmulation

Fragen zu Schaltungen, Elektronik, Elektrik usw.

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mo, 08.03.10, 17:48 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Hi Borax,

danke für deine Erklärung zum Thema Timer einstellen!
(der Countdown von 1:25 ist ein bissle zu früh fertig, so ca 4sec.)

Zum Thema DCF kann ich nix neues oder Besserung berichten. Es ist alles beim alten: entweder die Minute schaltet bei 28sec um, oder wenn ich die "Time$"-Funktion nehm dann läuft die Zeit ca 2sec zu schnell!

grüßle
mario
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mo, 08.03.10, 18:06 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
..der Countdown von 1:25 ist ein bissle zu früh fertig, so ca 4sec
Ist das 'linear' (also nach ca. 1 Minute schon um 2-3 Sekunden zu schnell) oder schaltet er einfach 4 Sek zu früh ab (also von Anzeige 00:04 auf 00:00)?
Wegen DCF...
Bitte neues Log erstellen (mind. 10 Minuten!)

P.S. Schon komisch... Sowohl der Countdown-Timer als auch der DCF Timer laufen zu schnell :?:
Borax
 
Posts: 1670
Sterne: 4183

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mo, 08.03.10, 19:00 (0 Bewertungen, 0 Sterne)

  •  
  •  
  •  
Der Countdown läuft allgemein zu schnell, schaltet bei eingestellter 1:00min zwischen 2-3sec früher ab!

Kann es dann sein dass mit den µC irgendwas nicht in Ordnung ist? Eine Vermutung von mir.
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Di, 09.03.10, 00:49 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Hast Du das alles mit nur einem µC getestet? Könnte schon sein, dass dessen interner Oszillator ein wenig 'daneben' läuft. Ggf. mal mit 16Mhz Quarz (Pollin Board) versuchen (dann $crystal=... auf 16000000 ändern, den Timer Startwert auf 3036 ändern und mit Ponyprog die Fuses entsprechend setzen). Wenn es dann immer noch zu schnell läuft, hab ich auch keine Idee mehr...
Borax
 
Posts: 1670
Sterne: 4183

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Di, 09.03.10, 03:25 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Hi,
nein !

Ich habe heute auch schon daran gedacht einen zweiten µC zu testen.
Da habe ich genau das gleiche Problem, beide Prog's(DCF + Timer) laufen eigentlich zu schnell!

Habe bis eben getestet! Nur die 16MHz noch nicht.

Das bei mir auf dem Test-Board irgendetwas kaputt ist :?:

gute nacht
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Di, 09.03.10, 15:05 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Das bei mir auf dem Test-Board irgendetwas kaputt ist

Glaube ich eher nicht. Der interne Oszillator hat problemlos 5% Abweichung von der vorgegebenen Frequenz von 8MHz (und das auch noch Betriebsspannungs- und Temperaturabhängig - siehe Datenblatt Seite 270 Fig. 170: Oscillator Frequency vs. Temperature). Da würde ich nicht allzu viel drauf geben. Dafür gibt es Quarze. Damit sollten die Abweichungen vom Takt (Quarzfrequenz) weit unterhalb von 0.1% liegen. Wenn Du für Deinen Belichtungstimer keinen Quarz verwenden willst, dann reicht auch eine stabile Betriebsspannung (7805 o.ä.), halbwegs gleich bleibende Betriebstemperatur (25°+/-5°) und ein wenig Nachkalibrieren am Timer-Startwert. Also Schaltung fertig aufbauen (ATMega mit Fassung einbauen), Timer z.B. exakt 10 Minuten laufen lassen und Differenz zur 'realen' Laufzeit in % berechnen. Mit dieser prozentualen Abweichung den Timer Startwert korrigieren:
Theoretisch: Zielzeit: 1 Sekunde; dafür erforderliche Timertakte: 1/0,000032 = 31250; Überlauf bei 65536 => der Timer muss mit dem Startwert 65536 - 31250 = 34286 starten
Abweichung z.B. 5% =>
Ein Timertakt ist nicht 0,000032 Sekunden sondern 5% weniger also 0,0000304 Sekunden. Oben eingesetzt: 1/0,0000304 = 32895 ; Überlauf bei 65536 => der Timer muss mit dem Startwert 65536 - 32895 = 32641 starten
Programm anpassen, Chip neu programmieren und wieder testen.
Borax
 
Posts: 1670
Sterne: 4183

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 10.03.10, 16:08 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Hallo
beim Timer-Prog bin ich jetzt
Code: Alles auswählen
Timer1 = 32800                                            ' 34286     

bei diesem Wert angekommen, und es kommt meine anderen Stopp-Uhren sehr sehr Nahe.

Aber ich konnte nur mit 4:00min testen, weil ich keine andere Zeiten über 4:00 einszellen kann.

gruß

Ps: kannst du einen blick auf dieses
viewtopic.php?p=115178#p115178
werfen, da will keiner antworten.
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 10.03.10, 16:14 (0 Bewertungen, 0 Sterne)

  •  
  •  
  •  
Hallo AlexK;

lebst du noch, Hast dich still und heimlich ausgeklingt hier!?
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 10.03.10, 16:50 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Aber ich konnte nur mit 4:00min testen, weil ich keine andere Zeiten über 4:00 einszellen kann.

Warum? Ich hab es eigentlich so in geplant, dass Zeiten bis 59:59 (also fast eine Stunde) möglich sind... Wenn das nicht geht, was passiert genau wenn Du versuchst mehr als 4 Minuten einzustellen?
Borax
 
Posts: 1670
Sterne: 4183

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 10.03.10, 18:41 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Also wenn ich jetzt zum Beispiel 5:00min einstelle dann kommt nachher in der Anzeige 0:44

Wie und was hast du damit gemeint:
In der Zeile soll das gar nicht angezeigt werden, sondern ein paar Zeilen weiter oben:
Code: Alles auswählen
If Timeron = 1 Then
  If Disptime = 1 Then
      Disptime = 0
      Locate 2 , 1
      Lcd "Restzeit: " ; Formatzeit(runtime) ; " Min:Sek"
  End If


Wo sollte das denn hin verschoben werden?
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 10.03.10, 18:50 (0 Bewertungen, 0 Sterne)

  •  
  •  
  •  
Habe jetzt noch mal getestet: wenn ich 4:15 einstelle funktioniert es noch. Bei einstellen von 4:16 ist die anzeige nachher 00:00
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 10.03.10, 19:23 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Klingt irgendwie nach Typisierungsproblem... Die Zeit wird ja in den Word-Variablen Settime und Runtime gespeichert.
Zu Anzeigezwecken wird daraus Minute:Sekunde (Byte Variable: Setmin und Setsek) berechnet:
Setmin = Settime \ 60
Setsek = Settime Mod 60
Und nach ggf. Änderung von Setmin oder Setsek wieder Settime zusammengesetzt:
Settime = Setmin * 60
Settime = Settime + Setsek

Ich befürchte jetzt, dass Bascom hier bei Settime = Setmin * 60 die Rechnung fälschlicherweise mit der Typisierung Byte (ausgehend von der Byte Variable Setmin) durchführt und daher alle Ergebnisse > 256 (5*60=...) verwirft, weil sie nicht mehr in ein Byte passen. Ähnliches gilt an anderen Stellen im Code.

Weil wir hier aber keine Platzprobleme haben, einfach überall auf Word-Variablen gehen, dann sollte das Problem 'verschwinden'.
Also das alles ändern:
$lib "mcsbyte.lbx" <- Löschen oder auskommentieren
Dim Setmin As Word <- Ändern von Byte auf Word
Dim Setsek As Word <- Ändern von Byte auf Word
und ganz unten im Code:
Local Bmin As Word <- Ändern von Byte auf Word
Local Bsek As Word <- Ändern von Byte auf Word
Borax
 
Posts: 1670
Sterne: 4183

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 10.03.10, 22:06 (0 Bewertungen, 0 Sterne)

  •  
  •  
  •  
Jetzt habe ich beim compilieren Haufen Fehler: Label not found[_PRINTWORD ] , in File: C:\.......
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 10.03.10, 22:30 (0 Bewertungen, 0 Sterne)

  •  
  •  
  •  
Sorry,
hatte den vergessen
Code: Alles auswählen
$lib "mcsbyte.lbx" <- Löschen oder auskommentieren
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Do, 11.03.10, 00:36 (0 Bewertungen, 0 Sterne)

  •  
  •  
  •  
Hi Borax,

habe jetzt den 10min Timer machen können, und habe eine Abweichung von ca. 1sek auf die 10min.
Das ding wäre damit erledigt!
DANKE für deine Unterstützung.

grüßle
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Di, 16.03.10, 18:41 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Jup bin noch am leben muss das Projekt leider noch ein wenig ruhen lassen , zur zeit muss ich die Prioritäten ein wenig anders setzen . Nach 10-12 Stunden auf Arbeit will die Familie noch was von mir hoffe das ändert sich bald wieder .
AlexK2508
 
Posts: 88
Wohnort: Thüringen

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Mi, 17.03.10, 02:29 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Hallo,

OK, das kann ich verstehen Alex. Habe auch Kinder, leben aber schon länger bei der Mutter! Ich habe damit kein Problem. Bei mir steht im Moment alles auf den Kopf. Stehe kurz vor einem Umzug, muß nur noch die neue Wohnung renovieren! Also nicht wundern, wenn von mir nix mehr kommt!
Ich hoffe nur das es mit dem neuen DSL-Anschluß alles klappt und ab nächsten Monat funktioniert.

Grüßle
melde mich wieder
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Do, 22.04.10, 21:40 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Hallo,

bin jetzt endlich in meiner neuen Bude, aber noch nicht ganz fertig. und schon steht wieder eine kleine reise für zwei wochen an.
bis ich wieder soweit bin etwas in dieser angelegenheit hier zu machen kann also noch bissle dauern.
bis demnächst
grüßle
mario
marfri
 
Posts: 191
Sterne: 12

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Fr, 23.04.10, 12:58 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Hallo :-)

habt ihr das mal mit dem OSCCAL Wert versucht einzustellen?
Damit wird der interne Oszillator auf die Taktfrequenz kalibriert.....

Den Osccal Wert kann mit AVRStudio ausgelesen werden, ich weiß nicht, ob Ponyprog das auch kann....
Damit bekommst du auf jeden Fall mal nen sauber kalibrierten Takt...
Standartmäßig beim Reset liest der ATMega8 ja den OSCCAL Wert für den 1 MHz Takt ein,
die anderen Werte müssten per Programmroutine ausgelesen und dem Register OSCCAL übergeben werden...

Sinnig wäre es aber, den Wert einmalig auszulesen, und im EEprom abzulegen, und diesen dann nach dem Start auszulesen und zu übergeben.
Code: Alles auswählen
ReadEEPROM, Wert, Adresse
' Bitte Adresse angeben, an welcher der Wert hinterlegt ist
OSCCAL = Wert
'Schreiben ins EEprom :
WriteEEProm Wert, Adresse


Weitergehende Infos (allerdings nicht zu BASCOM) : http://www.mikrocontroller.net/topic/27358
Nur mal so als Denkansatz 8)

Grüße
Tom
Benutzeravatar
TomTTiger
 
Posts: 244
Sterne: 316

Re: Dimmen, Schalten und Wolkensimmulation

Beitrag am Fr, 23.04.10, 14:36 (0 Bewertungen, 5 Sterne)

  •  
  •  
  •  
Ist mir durchaus bekannt, funktioniert unter Bascom auch nicht viel anders (hab ich für eine Soft-RS232 Übertragung auch schon verwendet). Hier für diesen Fall war es aber einfacher das über den Timer-Startwert zu ändern. Man muss eine 'echte' Kalibrierung ja sinnvollerweise bei gegebener Betriebsspannung durchführen und zwei 7805 o.ä. haben auch nicht zwingend eine identische Ausgangsspannung (Min: 4.8V max. 5.2V). So gesehen bringt es nicht soo viel, den 'korrekten' Osccal Wert auszulesen und zu verwenden.
Borax
 
Posts: 1670
Sterne: 4183

Vorherige

Zurück zu Elektronik & Schaltung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast