mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega mit ADE7758 über SPI


Autor: Jürgen Hems (misteret)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ichhabe schon einige Beispiele gelesen, wie man eine Kommunikation mit 
SPI zu Stande bringt. Ich schaff es dennoch nicht.
Hab dies Beitrag "Probleme bei SPI Kommunikation" und das 
Beitrag "Eingangsdaten mit SPI" vor allem gelesen...

Ich benutze den ATmega16 als Master und den ADE7758 als Slave.

Ich habe mal ein Bild aus dem ADE-datasheet mitgeschickt, wie die 
Kommunikation ablaufen soll, und 2 Fotos vom Oszi, was ich erhalte.



Hier mein Quelltext:
unsigned char receive(unsigned char address)
{
  //Adresse ins Senderegister, in dem Beispiel Adresse 0x14
  SPDR = address;
  //Adresse Senden
  while(!(SPSR & (1<<SPIF)));
  
  _delay_us(4);
  //Dummydaten ins Senderegister
  SPDR = 0x00;
  //Dummydaten Senden
  while(!(SPSR & (1<<SPIF)));
 
  //Wert zurückgeben..laut Beispiel müssten hier meine Daten aus dem IC
  // drin stehen.......bei Register 0x14 müsste 252 bzw 0xFC bzw 0b11111100
  // über MISO zurückkommen.
  return SPDR;
}

int main(void)
{
  unsigned char value;

  PORTB &= ~(1<<CE); // SS-Pin direkt mit ADE verbunden und dauerhaft auf 
                  // da zur Zeit noch einziger Busteilnehmer

  while{1}
  {
    value = receive(0x14); //Dieses Beispiel sehen wir auf den Fotos
    _delay_us(1);

  }




Kann mir jemand weiterhelfen? Ich habe den IC ja auch hier empfohlen 
bekommen (Herr Lipinsky), als ich mal über Leistungsmessung gepostet 
hatte.

Mein Problem ist, dass über MISO nichts zurückkommt :-(

Es wundert mich, weil es fast exakt so aussieht, wie im Datenblatt...

(sorry für die schlechte Oszi-Bild Quali. Hab es mit dem Handy 
fotografiert...hab kein USB an dem Teil gefunden)+


Wäre für jede Hilfe sehr DANKBAR!

Autor: Jürgen Hems (misteret)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute!

Ich weiß, warum keine Antowrt kam! Weil eigentlich oben nichts falsch 
war ;-)

Ich habe mal die Wartezeiten variiert (diese 4µs), SPI Freuquenzen 
variiert usw.....einfach alles versucht. Und jetzt empfang ich immerhin 
die richtigen Daten :-)

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jürgen Hems

vielen Dank für dein feedback trotz mangenden antworten...
Ich bin zur Zeit auch dabei den ADE7763 einzubinden und bekomme zwar 
eine Antwort nur kommt da meiner Meinung nach nur Blödsinn zurück. Es 
sind zum Beispiel beim Auslesen des Mode Registers keine konstanten 
Werte zu erkennen. Auch die Defaultwerte werden nicht widergespiegelt.
Mit welchen Frequenzen sendest du denn ?
Ich hoffe du liest diesen Beitrag nochmal.

Bis bald
Vielen Dank und freundliche Grüße
Micha

Autor: Florian Schütte (der_picknicker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich arbeite auch grade mit diesem Chip und komme irgendwie nicht klar 
mit der Berechnung der Werte. Wie rechne ich zB den Wert aus VRMS in 
einen tatsächlichen Spannungswert also zB 230V um? Werde aus dem 
datenbaltt einfach nicht schlau. Gleiches gilt für IRMS und die 
Waveformsamples. Sitze schon zweit Tage dran und versuche eine 
venünftige Berechnung hin zu bekommen, aber es gelingt mir einfach 
nicht. Kann mir jemand einen Schubs in die richtige Richtung geben?

Grüße,
Flow

Autor: Jan H. (janiiix3)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian S. schrieb:
> Hallo,
> ich arbeite auch grade mit diesem Chip und komme irgendwie nicht klar
> mit der Berechnung der Werte. Wie rechne ich zB den Wert aus VRMS in
> einen tatsächlichen Spannungswert also zB 230V um? Werde aus dem
> datenbaltt einfach nicht schlau. Gleiches gilt für IRMS und die
> Waveformsamples. Sitze schon zweit Tage dran und versuche eine
> venünftige Berechnung hin zu bekommen, aber es gelingt mir einfach
> nicht. Kann mir jemand einen Schubs in die richtige Richtung geben?
>
> Grüße,
> Flow

Da schließe ich mich an. Wie berechnet man VRMS?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.