Arduino Forum

International => Deutsch => Topic started by: skorpi080 on Mar 20, 2013, 11:14 am

Title: 1284p Ethernet Shield
Post by: skorpi080 on Mar 20, 2013, 11:14 am
Moin Leutz.
Ich habe auf dem Breadboard ein 1284p Chip mit dem Sketch von Webduino RGB drauf und möchte das Ethernet Shield mit dem verbinden.
Was ich versucht habe:
Am 1284p die PB 4,5,6,7 an dem Shield mit PIN 10,11,12,13 zu verbinden. Den ICSP vom Shield mit PB 5,6,7 und RESET am 1284p und nichts davon hat funktioniert.
Wie kann man es hinbekommen?
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 20, 2013, 03:24 pm
Hast Du auch versucht, die drei ICSP-Pins wie von Dir dargestellt zu verbinden und zusätzlich Pin 10 vom Shield nach PB4? Das ist nämlich die Konfiguration, wie das Shield mit Mega2560 und UNO verbunden wird.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 20, 2013, 07:36 pm
Funktioniert auch nicht

Es blinkt ab und zu mal die RX LED am Shield, 3 Gelb und eine rote LED leuchten.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 20, 2013, 08:53 pm
Hat das Shield auch eine Stromversorgung und Masse-Verbindung?

Mit welchen Einstellungen für Board compilierst Du den Sketch? Allenfalls musst Du SS (Pin 10) an PB2 verbinden (ist der Fallback).
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 20, 2013, 08:56 pm
Quote
Es blinkt ab und zu mal die RX LED am Shield, 3 Gelb und eine rote LED leuchten.

Sonst wäre es nicht so.

Das Blink Beispiel funktioniert ja. AVRISP mkII und Mighty 1284p 16MHZ
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 20, 2013, 08:59 pm
Bei mir gibt's kein Board "Mighty 1284p 16MHz". Woher hast Du die boards.txt?

Hast Du SS an PB2 versucht?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 20, 2013, 09:02 pm
Geht auch nicht

Brauch das Ethernet Shield die TX und RX?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 20, 2013, 09:11 pm
http://www.gammon.com.au/forum/?id=11637  weiter unten ist das 1284p
Danach hab ich es gemacht und zusätzlich an RX ein 60k drangehängt

Ich nutze das UNO Board um Sketchs Uploaden (ohne den 328 Chip, die RX und TX nicht vertauscht)
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 20, 2013, 10:29 pm
Quote
Danach hab ich es gemacht und zusätzlich an RX ein 60k drangehängt


Wozu?

Ist RESET auch verbunden?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 20, 2013, 10:32 pm
Weil sonst ein Fehler kommt beim Upload. ( hier auch beschrieben:  http://arduino.cc/forum/index.php/topic,139671.120.html « Reply #126 on: 03-02-2013, 10:06:53 » )

RESET mit was verbinden?

Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 20, 2013, 11:19 pm
Quote
RESET mit was verbinden?


Der Reset-Pin des Shields mit dem Reset-Pin des 1284p. Damit das Shield auch geresettet wird, wenn der MCU einen Reset durchmacht.

Kannst Du ein Oszi anhängen, um den SS-Pin zu testen?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 20, 2013, 11:22 pm
Hast das Bild angeschaut? Hab kein Oszi.

0.4-0.6V sind da drauf
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 21, 2013, 10:56 am
Quote
Hast das Bild angeschaut?


Auf dem Bild ist aber nichts mit PB2 verbunden.

Poste mal den Code, den Du zum Testen verwendest.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 11:27 am
Ist der normale Webduino RGB Sketch

Code: [Select]
/* Web_AjaxRGB.pde - example sketch for Webduino library */

#include "SPI.h"
#include "Ethernet.h"
#include "WebServer.h"

// CHANGE THIS TO YOUR OWN UNIQUE VALUE
static uint8_t mac[6] = { 0x02, 0xAA, 0xBB, 0xCC, 0x00, 0x22 };

// CHANGE THIS TO MATCH YOUR HOST NETWORK
static uint8_t ip[4] = { 192, 168, 178, 177 }; // area 51!

/* all URLs on this server will start with /rgb because of how we
* define the PREFIX value.  We also will listen on port 80, the
* standard HTTP service port */
#define PREFIX "/rgb"
WebServer webserver(PREFIX, 80);

#define RED_PIN 12
#define GREEN_PIN 13
#define BLUE_PIN 14

int red = 0;            //integer for red darkness
int blue = 0;           //integer for blue darkness
int green = 0;          //integer for green darkness

/* This command is set as the default command for the server.  It
* handles both GET and POST requests.  For a GET, it returns a simple
* page with some buttons.  For a POST, it saves the value posted to
* the red/green/blue variable, affecting the output of the speaker */
void rgbCmd(WebServer &server, WebServer::ConnectionType type, char *, bool)
{
  if (type == WebServer::POST)
  {
    bool repeat;
    char name[16], value[16];
    do
    {
      /* readPOSTparam returns false when there are no more parameters
       * to read from the input.  We pass in buffers for it to store
       * the name and value strings along with the length of those
       * buffers. */
      repeat = server.readPOSTparam(name, 16, value, 16);

      /* this is a standard string comparison function.  It returns 0
       * when there's an exact match.  We're looking for a parameter
       * named red/green/blue here. */
      if (strcmp(name, "red") == 0)
      {
/* use the STRing TO Unsigned Long function to turn the string
* version of the color strength value into our integer red/green/blue
* variable */
        red = strtoul(value, NULL, 10);
      }
      if (strcmp(name, "green") == 0)
      {
        green = strtoul(value, NULL, 10);
      }
      if (strcmp(name, "blue") == 0)
      {
        blue = strtoul(value, NULL, 10);
      }
    } while (repeat);
   
    // after procesing the POST data, tell the web browser to reload
    // the page using a GET method.
    server.httpSeeOther(PREFIX);
//    Serial.print(name);
//    Serial.println(value);

    return;
  }

  /* for a GET or HEAD, send the standard "it's all OK headers" */
  server.httpSuccess();

  /* we don't output the body for a HEAD request */
  if (type == WebServer::GET)
  {
    /* store the HTML in program memory using the P macro */
    P(message) =
"<!DOCTYPE html><html><head>"
  "<title>Webduino AJAX RGB Example</title>"
  "<link href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css' rel=stylesheet />"
  "<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'></script>"
  "<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js'></script>"
  "<style> body { background: black; } #red, #green, #blue { margin: 10px; } #red { background: #f00; } #green { background: #0f0; } #blue { background: #00f; } </style>"
  "<script>"

// change color on mouse up, not while sliding (causes much less traffic to the Arduino):
//    "function changeRGB(event, ui) { var id = $(this).attr('id'); if (id == 'red') $.post('/rgb', { red: ui.value } ); if (id == 'green') $.post('/rgb', { green: ui.value } ); if (id == 'blue') $.post('/rgb', { blue: ui.value } ); } "
//    "$(document).ready(function(){ $('#red, #green, #blue').slider({min: 0, max:255, change:changeRGB}); });"

// change color on slide and mouse up (causes more traffic to the Arduino):
    "function changeRGB(event, ui) { jQuery.ajaxSetup({timeout: 110}); /*not to DDoS the Arduino, you might have to change this to some threshold value that fits your setup*/ var id = $(this).attr('id'); if (id == 'red') $.post('/rgb', { red: ui.value } ); if (id == 'green') $.post('/rgb', { green: ui.value } ); if (id == 'blue') $.post('/rgb', { blue: ui.value } ); } "
    "$(document).ready(function(){ $('#red, #green, #blue').slider({min: 0, max:255, change:changeRGB, slide:changeRGB}); });"

  "</script>"
"</head>"
"<body style='font-size:62.5%;'>"
  "<div id=red></div>"
  "<div id=green></div>"
  "<div id=blue></div>"
"</body>"
"</html>";

    server.printP(message);
  }
}

void setup()
{
  pinMode(RED_PIN, OUTPUT);
  pinMode(GREEN_PIN, OUTPUT);
  pinMode(BLUE_PIN, OUTPUT);

//  Serial.begin(9600);

  // setup the Ehternet library to talk to the Wiznet board
  Ethernet.begin(mac, ip);

  /* register our default command (activated with the request of
   * http://x.x.x.x/rgb */
  webserver.setDefaultCommand(&rgbCmd);

  /* start the server to wait for connections */
  webserver.begin();
}

void loop()
{
  // process incoming connections one at a time forever
  webserver.processConnection();
//  Serial.print(red);
//  Serial.print(" ");
//  Serial.print(green);
//  Serial.print(" ");
//  Serial.println(blue);
  analogWrite(RED_PIN, red);
  analogWrite(GREEN_PIN, green);
  analogWrite(BLUE_PIN, blue);
}


An PB2 habe ich auch versucht, funktioniert nicht.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 21, 2013, 11:33 am
Quote
An PB2 habe ich auch versucht, funktioniert nicht.


Du solltest den Pin 10 des Shields an PB2 lassen, der Code wird den Pin ansprechen, vorausgesetzt, Du compilierst wirklich für den 1284p.

Wie äussert sich "funktioniert nicht"? Lass mal ein paar Serial-Aufrufe drin und schau, wo Du welche Ausgaben bekommst. Um das Shield zu testen, würde ich keinen Webserver verwenden, sondern einen einfachen Beispielsketch der Ethernet-Bibliothek (z.B. ChatServer).
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 11:41 am
PIN10 an PB2

Code: [Select]
Chat server address:0.0.32.0
Chat server address:0.0.240.4
Chat server address:2.0.32.0
Chat server address:0.0.0.4
Chat server address:0.32.0.32
Chat server address:0.32.0.32
Chat server address:0.32.0.4
Chat server address:0.4.0.4
Chat server address:0.0.0.4
Chat server address:2.0.32.0
Chat server address:4.0.0.4
Chat server address:255.255.0.4
Chat server address:0.32.0.0
Chat serverÿChat server address:0.4.16.4
Chat server address:0.4.0.4
Chat server addressChat server address:0.0.32.0
Chat server address:2.0.32.0
Chat server address:0.32.0.3Chat server address:0.0.0.4
Chat server address:0.37.0.32
Chat server address:0.32.0.4
Chat server address:0.32.0.32
Chat server address:2.0.16.16
We have a new client
Chat server address:0.32.0.4
Chat server address:85.0.32.0
Chat server address:0.0.32.0


Code: [Select]
/*
Chat  Server

A simple server that distributes any incoming messages to all
connected clients.  To use telnet to  your device's IP address and type.
You can see the client's input in the serial monitor as well.
Using an Arduino Wiznet Ethernet shield.

Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)

created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

*/

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,178, 177);
IPAddress gateway(192,168,178, 1);
IPAddress subnet(255, 255, 0, 0);


// telnet defaults to port 23
EthernetServer server(23);
boolean alreadyConnected = false; // whether or not the client was connected previously

void setup() {
 // initialize the ethernet device
 Ethernet.begin(mac, ip, gateway, subnet);
 // start listening for clients
 server.begin();
// Open serial communications and wait for port to open:
 Serial.begin(9600);



 Serial.print("Chat server address:");
 Serial.println(Ethernet.localIP());
}

void loop() {
 // wait for a new client:
 EthernetClient client = server.available();

 // when the client sends the first byte, say hello:
 if (client) {
   if (!alreadyConnected) {
     // clead out the input buffer:
     client.flush();    
     Serial.println("We have a new client");
     client.println("Hello, client!");
     alreadyConnected = true;
   }

   if (client.available() > 0) {
     // read the bytes incoming from the client:
     char thisChar = client.read();
     // echo the bytes back to the client:
     server.write(thisChar);
     // echo the bytes to the server as well:
     Serial.write(thisChar);
   }
 }
}





PIN10 an PB4

Code: [Select]
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat seòChat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Title: Re: 1284p Ethernet Shield
Post by: mkl0815 on Mar 21, 2013, 12:26 pm
Sieht so aus, als wäre Dein 1284p im Dauerreset. Denn eigentlich kommt die Ausgabe der Chat-Server Adresse nur einmal im setup().
Weiterhin wundert mich die Ausgabe nicht die gesetzte IP liefert. Auch die Netzmaske kommt mir komisch vor. Normalerweise ist die ehre 255.255.255.0.
Hast Du das Shield mit genau diesen Sketchen mal auf einem Uno probiert? Nicht, das es ein Netzwerkproblem und kein Chip-Problem ist.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 12:31 pm
Auf UNO läufts richtig:

ChaChat server address:192.168.178.177

Subnet habe ich auch angepasst, ändert sich nichts.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 21, 2013, 12:33 pm
Ich habe soeben bemerkt, dass das ChatServer-Beispiel wirklich die falschen Parameter an die Ethernet-Bibliothek übergibt. Der dritte Parameter von Ethernet.begin() ist die IP des DNS-Servers und nicht der Gateway. Kannst Du das noch ändern?

Aber ich stimme mit mkl0815 überein, es sieht so aus, als würde Dein Breadboard-Rechner ständig resetten. Als erstes würde ich die Glättungskondensatoren näher an den Chip bringen und noch einen hinzufügen, der mind. 10µF gross ist.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 12:55 pm
Auf UNO:
Cha address:192.168.178.1
Chat server address:192.168.178.1

Auf 1284p:
C32.0.0
Chat server address:0.0.0.4

Ich habe hier nur 0,1µf und 22pf
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 01:54 pm
Wie siehts denn mit dem AREF PIN aus? Muss der angeschlossen werden oder nicht? weil wenn ja, dann siehts so nach paar mal resett aus.....

Code: [Select]
Ch address:192.168.178.177
Chat server address:192.168.178.177
Chat server address:0.168.178.177
Chat server address:192.168.240.0
Chat server address:192.168.240.0
Chat server address:192.168.178.177
Chat server address:0.168.178.177
Chat server address:0.168.178.177
Chat server address:0.168.178.177
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 21, 2013, 02:32 pm
Quote
Wie siehts denn mit dem AREF PIN aus? Muss der angeschlossen werden oder nicht?


Bei meinen Breadboard-Rechnern habe ich ihn immer verbunden, aber ob das notwendig ist, weiss ich leider auch nicht.
Ich bin aber immer noch der Meinung, dass Du Kondensatoren zur Glättung (englisch decoupling) einsetzen musst. Direkt am Chip sollte ein 100nF sein, in der Versorgung mind. 40µF.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 02:39 pm
10,11 und 30,31 ist mit einem 0.1 µF (100nF) verbunden. Crystal hat 22pF an 12,13 dran.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 21, 2013, 03:43 pm
Quote
Crystal hat 22pF an 12,13 dran.


Ich nehme an, gegen GND.

Einfach zur Sicherheit eine Nachfrage: Die Ausgabe passiert, ohne dass Du den Reset-Taster anfasst, einfach spontan?

Kannst du mal im Betrieb die Spannung von Vcc nach GND messen? Und wenn Du hast, hänge mal einen etwas dickeren Elko zwischen Vcc und GND, so ab 40µF.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 03:56 pm
Ja gegen GND

Da hab ich reset gedrückt um zu schauen ob die ip sich ändert
Code: [Select]

Ch address:192.168.178.177
Chat server address:192.168.178.177
Chat server address:0.168.178.177
Chat server address:192.168.240.0
Chat server address:192.168.240.0
Chat server address:192.168.178.177
Chat server address:0.168.178.177
Chat server address:0.168.178.177


Bei den anderen hab ich nicht gedrückt.
Es sind 3.6-4 volt, schwankt immer.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 21, 2013, 04:16 pm
Quote
Es sind 3.6-4 volt, schwankt immer.


Was belegt, dass Deine Stromversorgung das Problem ist. Versuche mal, den Arduino mit Strom vom externen Netzteil zu versorgen (7.5 - 9V). Vielleicht liefert Dein Rechner auf dem USB nicht genügend Strom für dieses Dreiergestirn.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 04:22 pm
Mit 12V sind es auch nicht mehr als 4.2V

Welchen pin brauch die Sd karte? Hab an pin 4 und PB0 probiert, Serial Monitor findets nicht.
Title: Re: 1284p Ethernet Shield
Post by: mkl0815 on Mar 21, 2013, 04:43 pm

Mit 12V sind es auch nicht mehr als 4.2V

Und wo sind die 12V angeschlossen? Wie betreibst Du denn den 1284P?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 04:47 pm
Als Programmer nutze ich das UNO Board ohne den 328 Chip. An dem UNO Board sind die 12V auch angeschlossen. Gemessen habe ich an 10 und 11 bei dem 1284p.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 21, 2013, 05:39 pm
Wenn Du den 1284p abhängst, was misst Du dann zwischen 5V und GND am Ethernet Shield?

Quote
An dem UNO Board sind die 12V auch angeschlossen.


Was heisst hier auch? Wo denn sonst noch?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 21, 2013, 05:54 pm
wenn der 1284 angeschlossen ist, sind es 3.84V. Wenn nur das Ethernet Shield angeschlossen ist, sind es 4.20V. Gemessen wurde an dem ICSP. Das UNO Board gibt 4.88V ab ohne dass was angeschlossen ist.

Ich wüsste sonst nicht wo man die 12 V anschließen könnte aber das "auch" gehörte einfach zum Satz :D
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 21, 2013, 06:04 pm
Ich habe keine Ahnung, wieso bei Dir gleich die Spannung zusammenbricht, wenn (kleine) Verbraucher angeschlossen werden, aber da stimmt etwas nicht. Hast Du sonst noch eine stabilisierte 5V Spannungsquelle, die ein paar hundert mA liefern kann?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 01:33 pm
ok, nun läuft das Ethernet Shield aber nicht mit SD Karte. Welche PINs brauch die SD Karte? Habe PIN 4 an PB0 und PA0 probiert aber...
Code: [Select]
Free RAM: 14572
Setting up SD card...
card failed
vol.init failed!
openRoot failedSetting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.


Mit UNO läuft das natürlich.

EDIT// Hier der Sketch http://pastebin.com/mFpQVK1N
Title: Re: 1284p Ethernet Shield
Post by: mkl0815 on Mar 22, 2013, 01:48 pm
Schön, das Dein Ethernet-Shield jetzt funktioniert. Wie hast Du es denn nun endgültig angeschlossen und das Spannungsproblem gelöst. Falls jemand ein ähnliches Problem hat.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 01:59 pm
Ehrlich gesagt hab ich nichts anders gemacht wie die letzten Tage auch  :smiley-red:
Am ICSP: MOSI, MISO, SCK, GND, VCC mit
   1284p: PB5,  PB6,   PB7, GND, VCC verbunden. Der PIN 10 am Ethernet Shield sollte laut Datenblatt an PB4 aber funktioniert nur an PB2.
AREF und RESET muss dazu nicht angeschlossen werden.
Die 100nF müssen auch nicht sein (zumindest Funktioniert auch ohne)

Die SD Karte ist nun mein nächstes Problem.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 02:54 pm
Quote
Der PIN 10 am Ethernet Shield sollte laut Datenblatt an PB4 aber funktioniert nur an PB2.


Welches Datenblatt? Der entsprechende Port wird in der Bibliothek ausgewählt und für alle nicht speziell aufgeführten Prozessoren wird Port B2 genommen (Fallback).

Quote
Die SD Karte ist nun mein nächstes Problem.


Welchen Pin gibst Du denn als CS an? Ausser dem CS müssen wie bei Ethernet SCKL, MISO und MOSI verbunden sein. Dazu Masse und Stromversorgung.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 03:03 pm
Laut meinem Sketch
Quote
// pin 4 is the SPI select pin for the SDcard
const int SD_CS = 4;

Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 03:28 pm
Dann muss Pin 4 vom Ethernet Shield an PB4.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 03:37 pm
Am ICSP: MOSI, MISO, SCK, GND, VCC mit
   1284p: PB5,   PB6,   PB7, GND,  VCC verbunden. PIN10 an PB2 und PIN4 an PB4.

die gleiche Ausgabe:
Code: [Select]
Free RAM: 14572
Setting up SD card...
card failed
vol.init failed!
openRoot failedSetting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 03:56 pm
Welcher Sketch liefert diese Ausgabe?

Blöde Frage, aber: Die SD-Karte ist im Slot und kann vom UNO aus angesprochen werden?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 04:01 pm
Das Leben kann so schön sein...

Quote
Mit UNO läuft das natürlich.

Hier der Sketch http://pastebin.com/mFpQVK1N


SD ist natürlich drin.
Library TinyWebServer

EDIT: So siehts mit UNO aus
Code: [Select]
Free RAM: 404
Setting up SD card...
Setting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 05:13 pm
Was ist der Wert von card.errorCode() wenn die Initialisierung schief geht?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 05:26 pm
Serial << F("Der Karten Fehler ") << card.errorCode() << "\n";

Gibt eine 0
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 05:40 pm
Du hast also

Code: [Select]
  if (!card.init(SPI_FULL_SPEED, 4)) {
    Serial << F("card failed\n");
    Serial << F("Der Karten Fehler ") << card.errorCode() << "\n";
    has_filesystem = false;
  }


in Deinem Code und das ergibt  eine 0? Das kann eigentlich nicht sein, ich hab's allerdings nur für die aktuelle IDE überprüft (1.0.4).
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 05:50 pm
Öhm ne, sorry. Egal an welchen PIN ich PB4 oder PB0 stecke, zeigt Fehler 1 an. Auch wenn ich die SD Karte nicht rein stecke, ist Fehler 1

Was heißt das nun?
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 06:09 pm
Versuche mal

Code: [Select]
if (!card.init(SPI_FULL_SPEED, 4)) {

durch

Code: [Select]
if (!card.init(SPI_HALF_SPEED, 4)) {

oder sogar

Code: [Select]
if (!card.init(SPI_QUARTER_SPEED, 4)) {

zu ersetzen.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 06:15 pm
PB0 und PB4 mit PIN4 am Shield zeigt immer das gleiche

Code: [Select]
Free RAM: 14572
Setting up SD card...
card failed
Der Karten Fehler 1
vol.init failed!
openRoot failedSetting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 06:20 pm
Aber Du kannst nach diesem Setup problemlos über Ethernet auf den Webserver zugreifen?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 06:25 pm
Nein, ohne SD läuft hier nix.
Das Webduino RGB funktioniert weil da keine SD benötigt wird. Wenn ich aber bei Webduino SD rein stecke, funktioniert nix mehr.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 06:47 pm
Das verstehe ich nicht. Hängt die Funktion des Webservers jetzt davon ab, ob die SD-Karte im Slot ist, oder meinst Du mit Webduino RGB bzw. Webduino SD andere Sketches? Die Ethernet-Karte müsste ja auch funktionieren, wenn die SD-Karte nicht verfügbar ist.
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 06:57 pm
Egal welchen Sketch ich nehme, wo die SD nicht benötigt wird aber im Slot drin ist, hab ich keine Verbindung mehr mit dem Server (bei UNO).
Blöde Frage, aber: Was muss ich alles anschließen?
An ICSP ist MOSI, MISO, SCK, VCC, GND
PIN 10 ist mit PB2
PIN 4 ist mit PB4
RESET ist an RESET am 1284p
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 07:13 pm
Quote
Egal welchen Sketch ich nehme, wo die SD nicht benötigt wird aber im Slot drin ist, hab ich keine Verbindung mehr mit dem Server (bei UNO).


Mit dem UNO sollte es gehen, wenn Du im setup() folgende Zeilen einbaust (am Anfang, vor Ethernet.begin()):

Code: [Select]
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);


Damit wird die SD-Karte deaktiviert.

Quote
Blöde Frage, aber: Was muss ich alles anschließen?
An ICSP ist MOSI, MISO, SCK, VCC, GND
PIN 10 ist mit PB2
PIN 4 ist mit PB4
RESET ist an RESET am 1284p


Das müsste eigentlich genügen. Hast Du die Kondensatoren in der Stromversorgung drin?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 07:26 pm
Quote
Hast Du die Kondensatoren in der Stromversorgung drin?


WIE WO WAS?

EDIT: Brauch die SD Karte 3.3V oder 5V?
Habe nämlich nur den 5V angeschlossen.
Mit 3.3V auch probiert aber dasselbe Ergebnis.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 08:23 pm
Quote
WIE WO WAS?


Die Glättungskondensatoren, damit die Stromversorgung des 1284p gleichmässiger wird. Das Problem ist, wenn die Spannung abfällt, kann es sein, dass die Betriebspannung der SD-Karte nicht mehr erreicht wird.

Quote
EDIT: Brauch die SD Karte 3.3V oder 5V?


Die Karte braucht 3V3, aber die werden aus den 5V auf dem Ethernet Shield selbst erzeugt (Linearer Spannungsregler onboard).
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 08:29 pm
Ich hab alles nach diesem Bild im Anhang gemacht. 20 Stück von 0.1uF dazugetan und nichts änderte sich. Wie du vorgeschlagen hattest 40uF extra, kann ich nicht machen da ich nur diese 20x 0.1 uF habe.
Kann man da auch was anderes nehmen? Hab hier so einige Platinen liegen, vielleicht findet sich da was passendes.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 22, 2013, 08:32 pm
Welchen Wert kriegst Du denn jetzt wenn Du Vcc->GND misst?
Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 22, 2013, 08:39 pm
5V und GND am Shield hat 3.8V. An 3.3V sind es 2.8V
Am 1284 sind es 4.0V

Title: Re: 1284p Ethernet Shield
Post by: skorpi080 on Mar 23, 2013, 10:19 pm
Hat das sonst keiner gemacht? Möglich ist es, frage ist nur wie?!

Ein 47uF habe ich beim 1274p angebracht, keine Veränderung.
Title: Re: 1284p Ethernet Shield
Post by: pylon on Mar 25, 2013, 04:59 pm
Quote
5V und GND am Shield hat 3.8V. An 3.3V sind es 2.8V
Am 1284 sind es 4.0V


Mit diesen Werten ist Deine Stromversorung zu schwach. An den 5V-Pins solltest Du nicht unter 4.8V haben. Hast Du die Versorgung immer noch über den USB oder hast Du mittlerweile ein Netzteil angeschlossen?