Forum: Mikrocontroller und Digitale Elektronik Frequenz mit Mega32 erzeugen (Anfängerfrage)


von Anthrax (Gast)


Lesenswert?

Hallo,

ich versuche mit Bascom eine Frequenz zwischen 0 und 313 Herz mit einem 
Mega32 zu erzeugen, allerdings weiß ich noch nicht genau, wie ich das 
angehen soll.

Folgendes soll mein Programm machen:
Wert (Drehzahl zwischen 0 und 9000 Rpm) von RS232 Schnittstelle einlesen 
und aus dem Wert an einem bestimmten Port die Frequenz erzeugen.
Hierbei entsprechen 0 Umdrehungen = 0 Hz und 9000 Umdrehungen = 313 Hz.

Die Einleseprozedur funktioniert soweit schon super. Nur das Erzeugen 
der notwendigen Frequenz klappt noch nicht.

Nehme ich nun ein Tool zur Timer-/Frequenzberechnung zur Hilfe, bekomme 
ich im Ergebnis mal einen Prescaler von 1, 8, 64 oder 256. Zur Laufzeit 
kann ich diesen Wert allerdings nicht ändern. Mit nur einem festen 
Prescaler werde ich sicherlich einige Ungenauigkeiten bekommen. Dies ist 
aber nicht so schlimm.

Ich hoffe Ihr könnt mir weiter helfen.

MfG

Anthrax

von Jörn A. (joern_)


Lesenswert?

also entweder per software oder hardware PWM ist das einfachste...

falls das das einzige ist was du machen willst einfach

While(1)

PORTAx = 0x01;
_delay _ms(.....)
PORTAx = 0x00;
_delay _ms(.....)

von Anthrax (Gast)


Lesenswert?

Hallo Jörn,

PWM benutze ich schon für Tank- und Temperaturanzeige. Für Drehzahl und 
Geschwindigkeit brauche ich 2x Frequenz (0 - 313 Hz).

MfG

Anthrax

von Karl H. (kbuchegg)


Lesenswert?

Anthrax schrieb:

> Nehme ich nun ein Tool zur Timer-/Frequenzberechnung zur Hilfe, bekomme
> ich im Ergebnis mal einen Prescaler von 1, 8, 64 oder 256. Zur Laufzeit
> kann ich diesen Wert allerdings nicht ändern.

Warum nicht?

Klar kann man den ändern. Nur nicht mit dem BASCOM Config Statement. 
Aber auch in BASCOM kann man jederzeit an die Register der Timer direkt 
ran und die verändern. Man muss nur das Datenblatt des Prozessors 
studieren und sich raussuchen welche Bits in welchem Register gesetzt 
werden müssen.

Also: Verlasse den ausgetreteten BASCOM Pfad und schau dir einmal an, 
was dein Prozessor alles kann, was dir BASCOM nicht als fertiges Element 
zur Verfügung steht. Das Datenblatt ist dein Freund. Nutze es!

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.