Bascom Mini-Problem

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 20 2 2025  11:46:10      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( Vorherige Seite 1 | 2 )      


Autor
Bascom Mini-Problem

    







BID = 707390

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika
 

  


Vermutlich stimmt entweder dein Systemtakt nicht (falsche Fuse-Konfiguration) oder dein Taschenrechner.

Mit deiner Timerkonfiguration und den Timerwerten komme ich auf gute 160Hz.

(1638400Hz/64)/((256-100)Hz)

Hinzu kommt die BASIC-typische Präzision von nur 700ms Abweichung ...


P.S.: die Software wird schon Recht haben. Schaut man sich die Skalaeinteilung auf der Zeitachse an, sieht man etwas mehr als 20ms Periodendauer. 20ms wären genau 50Hz, hier ist die Periodendauer größer, die Frequenz also kleiner: die knappen 20Hz passen also. Wie gesagt, ich gehe von Fehlkonfiguration des Systemtakts aus.

Edit:
Na, das Datenblatt des AVRs! Schaue dir den CTC-Modus an, da wird nach einmaliger Konfiguration der entsprechenden Register alles in Hardware erledigt!

Zur Wellenform deines "Oszis": Das ist schon richtig so. In Wirklichkeit kommt aus dem µC ein sauberes Rechteck. Die Soundkarte ist weder für Rechtecke noch für so niedrige Frequenzen konzipiert. Bei 1s Zeitintervall kann man auch noch gut eine LED anschließen. Für alles andere dann ein richtiges Oszi oder eben lernen, wie man die Signalverläufe zu deuten hat.


_________________




[ Diese Nachricht wurde geändert von: DonComi am 12 Aug 2010 16:26 ]

BID = 707393

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

 

  


Zitat :
Sieht nämlich nicht so aus wie eine Rechtecksschwingung!
Eine solche Kurvenform entsteht, wenn man über einen (zu kleinen) Kondensator ankoppelt.
Dieser Kondensator kann sich zur Abtrennung von Gleichspannung auch auf der Soundkarte befinden.
Je länger das Dach des Rechteckimpuls dauert, umso mehr lädt sich der Kondensator auf, und umso geringer wird die am ADC anstehende Spannung.
Diesen exponetiellen Abfall siehst du auf deinem Oszillogramm.

BID = 707416

freakypete

Neu hier



Beiträge: 37

Mir ist beim Experimentieren noch etwas aufgefallen:
Erstmal den Code, mit dem ich mich beschäftige.


Code :



$regfile = "m8515.dat"
$crystal = 1000000

Config Portc = Output
Config Portb.0 = Output

Config Timer0 = Pwm , Compare Pwm = Clear Up , Prescale = 8


Do
Compare0 = 128

Portc.0 = 0
Portc.1 = 0
Portc.2 = 0
Portc.3 = 0
Wait 1
Portc.0 = 1
Portc.1 = 0
Portc.2 = 0
Portc.3 = 0
Wait 1

Loop
End




Folgendes: So, wie es hier steht funktioniert es (fast) perfekt. Nur die Frequenz am PWM Ausgang ist (wie ich auch berechne) ~244 Hz. Leider wieder viel zu viel für LCDs. Also versuche ich, den Prescaler auf 64. Doch nicht wie erwartet messe (und sehe) ich ~30 Hz sondern 7,6 Hz.!!!
Dieses Ergebnis bekomme ich rechnerisch aber nur, wenn ich 4 MHz Systemtakt und 1024 Prescaler verwende.
Habe ich etwas übersehen, weshalb der Prescaler mit 64 nicht richtig geht?

BID = 707417

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Wieso gibst du denn hier mit einem mal 1MHz als Systemtakt an?

Ohne jetzt groß nachzudenken, schau mal nach, ob der Systemtakt intern geteilt wird. Einige Mikrocontroller der AVR-Serie machen das standardmäßig.


P.S.: dieses BASCOM ist doch ätzend.
Man würde alles 100x besser verstehen (was im Hintergrund passiert), wenn man sich an die symbolischen Bezeichner aus dem Datenblatt gehalten hätte. Stattdessen führt man 150 Schlüsselwörter für jeden Furz ein.


_________________

BID = 707422

freakypete

Neu hier



Beiträge: 37


Zitat :
Wieso gibst du denn hier mit einem mal 1MHz als Systemtakt an?

Weil das der Standardtakt für den Atmega8515 ist. Im Datenblatt kann ich nichts darüber finden, ob der Takt geteilt wird... Nur der Prescaler teilt ihn mir für den Hardware-PWM Ausgang.

Mit den Prescale = 8 und 1 MHz Takt funktioniert es ja. Nur mit 64 Prescaler gehts nicht. Habe selbst keine Idee was da los ist!


BID = 712223

freakypete

Neu hier



Beiträge: 37

Da nichts mehr nachkommt und ich das Problem gelöst (keine Ahnung wie, aber es funktioniert) habe, schließe ich den Thread hier.

Danke für alle Antworten!

L.G. freakypete


Vorherige Seite      
Gehe zu Seite ( Vorherige Seite 1 | 2 )
Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 24 Beiträge im Durchschnitt pro Tag       heute wurden bisher 3 Beiträge verfasst
© x sparkkelsputz        Besucher : 183091790   Heute : 3417    Gestern : 7954    Online : 237        20.2.2025    11:46
7 Besucher in den letzten 60 Sekunden        alle 8.57 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.167364120483