Max110

foley

Neues Mitglied
06. März 2008
51
0
0
Sprachen
Hallo zusammen,

bräuchte mal ne Info. :eek:

hab durch Zufall einen MAX110 ind die Finger bekommen. :D

Leider bin ich mir jetzt bei seinen Fähigkeiten nicht so ganz sicher.

Kann ich damit, 0V - 5V messen, oder nur +/-3V. Muss er +5V und -5V als Versorgungsspannung?

Fragen über Fragen.

Vielen Dank im Vorraus.

Gruß Alex
 

Anhänge

  • MAX110-MAX111.pdf
    414,9 KB · Aufrufe: 8
Hallo Alex,

Kann ich damit, 0V - 5V messen, oder nur +/-3V. Muss er +5V und -5V als Versorgungsspannung?
ja , ja , ja ... :D :eek: :rolleyes:

Wenn du nur positive Spannungen messen willst dann kommst Du mit +5V aus.
Wenn Du auch negative Spannungen messen willst, dann braucht der Analog-Teil
eine zusätzliche Versorgung mit -5V. So hab ich es nach den Infos aus dem
Datenblatt verstanden.

Gruß
Dino
 
ok.

merci, soweit so gut. Jetzt geht's ans programmieren. :(

Datenblatt mal durchgeschaut und passendes Schema gefunden und verdrahtet und schon wieder hänge ich.

Anschlussbelegung wie folgt.

ATMEGA - MAX 110

PORTB.5 SCK > SCLK
PORTB.4 MISO > DOUT
PORTB.3 MOSI > DIN
PORTB.2 I/O > CS
PORTB.1 Interrupt > Busy

Laut Handbuch und Überlegung: ( keine Haftung für Richtigkeit :rolleyes: )

Code:
$regfile = "m8def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db7 = PORTD.7, Db6 = PORTD.6, Db5 = PORTD.5, Db4 = PORTD.4, E = PORTD.3, Rs = PORTD.2 
Config Lcd = 16*2

Config Spi = Hard, Interrupt = On, Data Order = Lsb, Master = Yes, Polarity = High, Phase = 0, Clockrate =4
Spiinit
do 
loop
end

Das wäre der Anfang. :D

Mein Problem ist jetzt eigentlich folgendes,
laut Datenblatt vom Max beginnt der Datenaustausch wenn am BUSY Pin und am CS Pin High ansteht. Daraufhin fängt SCK an zu takten und schiebt die Daten durch.

Mein Problem ist es jetzt das so zu starten, bzw. auch die Daten anschliessen auszulesen.

Ich steh da etwas auf dem Schlauch.

Wäre dankbar für jede Hilfe. :eek:

Vielen Dank im Vorraus.

Gruss Alex
 
Hi,

hab mal ein wenig weiter gelesen. :)

Ob's was gebracht hat bleibt abzuwarten.

Folgendes hab ich mir jetzt ausgedacht, leider bekomme ich immer noch keinen Wert aus dem Max.

Code:
$regfile = "m8def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2

Config Portb.0 = Output
Cs Alias Portb.0

Config Portb.1 = Input
Busy Alias Portb.1

Dim A(2) As Byte
Dim B(2) As Byte

A(1) = 0
A(2) = 0


Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 128
Spiinit


If Busy = 1 Then                                            'Wenn Busy Leitung vom Max auf High wechselt
Cs = 1                                                      'CS auf Low ziehen
Spiout A(1) , 2                                             'Input Word senden
Spiin B(1) , 2                                              ' Temperaturwert einlesen

Else
Cs = 0
nop
End If






Cls



Locate 1 , 1

Lcd B(1)

Locate 2 , 1

Lcd B(2)

Do

Loop


End

Wäre super wenn mal jemand drüber schaut, und mir den ein oder anderen Tip geben könnt. :eek:

Vielen Dank im Vorraus.
 
Tagchen,

leider klappt's immer noch nicht.

Hab jetzt mal ne Led an den SCK Ausgang gehangen.

Irgendwie tut sich da gar nichts, der Rest funktioniert, der Max gibt ein Busy Signal raus, das Programm zieht CS auf Low, am DOUT Ausgang ist ein High Signal.

Aber irgendwie fehlt das Takten, weiss jetzt langsam wirklich nicht weiter.

Wahrscheinlich liegt's wieder an dem Problem hinter der Tastatur. :(

Nun gut, weiss jemand wie ich überprüfen kann ob das Clock signal am AVR läuft? :rolleyes:

Gruss Alex
 
Hallo,

wie im Chat besprochen hab ich mal kurz drübergesehen ... ;)

dann fangen wir mal mit der Hardware an ...

Der System-Takt des Wandlers (sein Herzschlag) ...

== interne Taktquelle ==
- RCSel muß auf VDD (+5V)
- XCLK muß mit einem 1MOhm auf GND oder +5V (was vom Layout besser paßt).

== externe Taktquelle ==
- RCSel muß auf GND (0V)
- XCLK braucht eine externe Taktquelle zwischen 250kHz und 1,25MHz (laut Datenblatt)

Am einfachsten ist wohl die Verwendung des internen RC-Oszillators.

Die Datenverbindung ...

PB3 (MOSI) -->-- DIn
PB4 (MISO) --<-- DOut
PB5 (SCK) --->-- SCLK

Paßt soweit. Kein Fehler :)

Die Steuersignale ...

PB2 (Out) -->-- /CS (Achtung ! Low Aktiv) 0=Select
PB1 (In) ---<-- /Busy (auch Low Aktiv) 0=Wandlung läuft (ADC beschäftigt)

vor dem Schreiben machst Du CS=1 ! Damit ist der Baustein nicht selektiert.
Fehler ? Außerdem steht im Programm "Cs Alias Portb.0" aber weiter oben
"PORTB.2 I/O > CS" ?? Was denn nun ??

"PORTB.1 Interrupt > Busy" ?? PB1 ist kein Interrupt-Eingang sondern nur ein
normaler Port (beim Mega8). Also entweder nen anderen Eingang ...
PD2 (INT0) , PD3 (INT1) und dann auf positive Flanke triggern (Wandlung
beendet) oder an PB1 mit Software abfragen wann die Wandlung beendet ist.

Bascom-Krams ...

Wie sich die Clockrate (128) berechnet weiß ich nicht. Sind das bei Bascom
128Hz oder 128kHz ?? Mußt du selbst mal nachsehen.

"Polarity = Low" was bedeutes das in Bascom ? invertiert dir das die Daten ?
Low=1 und High=0 ?? Sollte es nicht "Polarity = High" heißen um einen
High-Pegel mit einer 1 gleichzusetzen ?? Mußt du auch mal prüfen.
Oder ändert das eventuell die Phasenlage des SCK ? Das dadurch je nach
Einstellung das anliegende Datenbit entweder mit der positiven oder mit der
negativen Flanke des SCK übernommen wird ?

"Interrupt = On" ?? Wodurch wird da der Interrupt ausgelöst ?? Welches
Ereignis ist der Interrupt-Trigger ?? Weiß ich so auch nicht. Bei einem anderen
Thread mußte in Bascom dafür noch der GlobalInterrupt aktiviert werden weil
es sonst nicht lief (alle Interrupts waren sonst aus). Kontrollier auch mal.

Soviel ist mir im Moment in der Kürze eingefallen. Kontrollier es mal und dann
wolln wir mal sehn ob es was geholfen hat :D

So und nun geh ich auch ...:sleep:

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)