Forum: Mikrocontroller und Digitale Elektronik Anschliessen eines Höhensensors an uC


von Sven (Gast)


Lesenswert?

Habe mir folgenden Höhensensor(Barometer) gekauft:
http://www.intersema.ch/site/technical/files/ms5534b.pdf

Nur leider ist mir jetzt etwas beim Anschliessen dieses Sensors an 
meinen ATmega8 nicht ganz klar. Auf Seite 15 des datasheets ist es 
eigentlich gut beschrieben wie man das macht. Was ich da aber nicht ganz 
verstehe ist wie ich dieses Modul über meinen uC takten soll. Es heisst 
ja man braucht einen 32.786kHz Quarz, nur ich verwende aber für meinen 
uC einen 4Mhz Quarz, der andere wäre doch ein bisschen zu langsam. Meine 
frage ist nun ob es eventuell eine Möglichkeit gibt meine 4Mhz auf 
32.786 zu prescalen und dann auf den Sensor geben kann? Oder was ist 
eigentlich ein Takt vom Signal her betrachtet, sind das immer Pulse 
zwischen 0 und 5 Volt. Wenn das so wäre könnte ich da eventuell auch ein 
PWM Ausgang verwenden? Oder soll ich einfach einen zweiten Quarz mit 
32.786kHz noch auf meine Schaltung basteln?
Andere Vorschläge oder Lösungen? Besten Dank.

von Karl H. (kbuchegg)


Lesenswert?

Sven wrote:
> verstehe ist wie ich dieses Modul über meinen uC takten soll. Es heisst
> ja man braucht einen 32.786kHz Quarz,

*) Von einem Quarz ist im Zusammenhang mit dem Sensor überhaupt
   nicht die Rede. Der SOnsor möchte einen Masterclock
*) Laut Tabelle auf Seite 3, kann sich dieser Masterclock im
   Bereich von 30 bis 35 kHz bewegen.

Ich würde ganz einfach mit einem Timer vom µC einen Takt in dieser
Größenordnung an einem Pin erzeugen und mit diesem Takt den
Sensor versorgen.

> nur ich verwende aber für meinen
> uC einen 4Mhz Quarz, der andere wäre doch ein bisschen zu langsam. Meine
> frage ist nun ob es eventuell eine Möglichkeit gibt meine 4Mhz auf
> 32.786 zu prescalen und dann auf den Sensor geben kann?

Sicher kann man das.

> Oder was ist
> eigentlich ein Takt vom Signal her betrachtet, sind das immer Pulse
> zwischen 0 und 5 Volt.

Ganz genau.

> Wenn das so wäre könnte ich da eventuell auch ein
> PWM Ausgang verwenden?

PWM ist overkill. Du willst doch nicht das Puls Pause Verhältnis
regeln. Alels was du brauchst ist eine Sequenz 0-1-0-1-0 die
ca 32Khz hat.

> Oder soll ich einfach einen zweiten Quarz mit
> 32.786kHz noch auf meine Schaltung basteln?

Wenn du Pins am Prozessor frei hast und das ganze in einen Timer
unterbringst, gibt es keinen Grund dazu.

von Stephan P. (steph0815)


Lesenswert?

Seh ich genauso wie Karl Heinz. Es gibt wirklich keinen Grund für PWM. 
Für den Sensor brauchst du den 16bit Timer in 2 compare modes.
Den einen Timercompare brauchst du für den Masterclock. Dafür stellst du 
den Vorteiler für den Timer auf 1, compare auf 61 und toggelst dann den 
Pin. Somit erhälst du einen Masterclock der genau im gewünschten Bereich 
liegt.
Das gleich machst du dann noch mal mit einen anderen Timer Compare 
Register um die den SCLK bereitzustellen. Da musst nur schauen wie du 
die Registerwerte anpasst. Maximal hast du da ja 500kHz welches du aber 
mit 4Mhz nicht erreichen wirst.

Viel Erfolg
Stephan

@edit
Der Sensor ist echt interessant. Wo hast du den her und was kostet das 
gute Stück?? Würd mich auch dafür begeistern können.

von Sven (Gast)


Lesenswert?

danke vielmal für die Antworten! werde es dann mal gleich so versuchen.
den sensor habe ich von intersema.ch .wirklich toll das ding und vor 
allem ist alles super dokumentiert!!! der sensor kostet ungefähr 20Euro 
aber am besten schaust du gleich bei intersema.ch selber vorbei.

von Ralph (Gast)


Lesenswert?

Der Sclk gehört zum SPI interface und wird NICHT über einen Timer per 
Hand generiert, es sei denn es verwendet jemand eine Software SPI.

Oder hat der ATmega kein SPI ??

von Sven (Gast)


Lesenswert?

> PWM ist overkill. Du willst doch nicht das Puls Pause Verhältnis
> regeln. Alels was du brauchst ist eine Sequenz 0-1-0-1-0 die
> ca 32Khz hat.

wie lange muss (darf) denn die 1 anliegen, damit die 1 als Impuls 
erkannt wird und somit ein Takt erzeugt wird?

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.