Homepage

  • Projekte
  • Shop
  • Forum
Erweiterte Suche
  • Schnellzugriff
    • Unbeantwortete Themen
    • Aktive Themen
    • Suche
  • FAQ
  • Anmelden
  • Registrieren
  • Foren-Übersicht
  • Suche

Webmodul mit Grundplatine

Ihr habe noch Fragen zum AVR Webmodule? Dann seit Ihr hier genau richtig!
Antworten
  • Druckansicht
Erweiterte Suche
15 Beiträge • Seite 1 von 1
Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 09.01.2011, 17:32:40

Das FiFi-Projekt von Uli kann ich noch überschauen, aber an Wils Projekt zerbreche ich.
Omega-5 und paulinchen scheinen das Tal schon erfolgreich durchschritten zu haben. Kann so ein angepasstes Projekt bereit gestellt werden?
Nach oben

paulinchen
Beiträge: 13
Registriert: 19.05.2010, 18:49:31

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von paulinchen » 11.01.2011, 10:12:42

Hallo,
wo klemmt es denn genau ?

Einen fertigen Code für Dich wird wohl keiner haben, hängt ja auch von der Außenbeschaltung der Ein-/Ausgänge usw. ab.

Mein Code habe ich inzwischen speziell auf mein Projekt angepasst, da ist nicht mehr viel original...

Viele Grüße, paulinchen
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 11.01.2011, 22:30:04

Zur Zeit bin ich Trockenschwimmer. Es klemmt im Kopf.
Der Webserver funktioniert mit Ulis Software.
Danach habe ich versucht, Wils Software anzupassen, aber der Compiler hat mich ausgelacht.
Gestern bin ich endlich über deinen Austausch mit Omega-5 gestolpert. Ich habe deine Änderungen unter Berücksichtigung der Tabelle von Omega-5 in ein frisches Projekt von Wil eingepflegt. Zum Testen bin ich noch nicht gekommen.
Am liebsten hätte ich ein abgespecktes Programm, da ich zur Zeit kaum unterscheiden kann, was ich brauche und was bzgl. Anbindung an Ulis Grundplatine eher rudimentär ist.
Ziel ist das Übliche: Ein paar klassische E/A, den OW, Archiv auf MMC und Webserver. Später als Bonbon das Display.

Erst einmal vielen Dank für dein offenes Ohr. Ich komme hoffentlich morgen dazu, die Steuerung zu testen.
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 14.01.2011, 19:25:19

Kurzer Zwischenstand:

Ein Kollege hat mir per Ethersex das Webmodul (ohne Grundplatine) für OW auf PC05 dressiert. Damit konnte ich die IDs meiner DS1822 auslesen. Nachfolgender Test mit Grundplatine ebenfalls erfolgreich.
Nachfolgend habe ich Wils Software mit den von euch genannten Änderungen eingespielt:

config.h:
#define OUTA 0x00
#define OUTC 0x0C
#define OUTD 0xC2

onwire.h:
#define OW_PIN PB0
#define OW_IN PINB
#define OW_OUT PORTB
#define OW_DDR DDRB

messung.h:
#define SENS_PULLUP PORTD
#define SENS_DDR DDRD
#define SENS_INTENA PCIE2 // == Port C
#define SENS_INTMASK PCMSK2
#define SENS_PIN1 2 //!< Sensor an Pin 2
#define SENS_PIN2 3 //!< Sensor an Pin 3
#define SENS_PIN3 4 //!< Sensor an Pin 4
#define SENS_PIN4 5 //!< Sensor an Pin 5
..
#define PORT_SCHALTER1 PC2 //!< Portausgang mit Schalter
#define PORT_SCHALTER2 PC3 //!< Portausgang mit Schalter
#define PORT_SCHALTER3 PD6 //!< Portausgang mit Schalter
#define PORT_SCHALTER4 PD7 //!< Portausgang mit Schalter
#define OUT_DDR DDRC //???
#define OUT_PORT PORTC /???

Bei 'Schalter1-4 schalten' konnte ich keine Unterschiede feststellen.
Wie lautet eigentlich die Antwort auf '???', da es sich ja um Port C UND D handelt?

Leider rasselt Relais 3 in regelmäßigen Abständen wie ein Telegraf. Es scheint ein Bus schreiben zu wollen.
Wie zu lesen warst du auch schon an dieser Stelle:

main:
usart_write("ERROR\r\n\r\n");
}
// PORTD ^= (1<<PD6);

Das Auskommentieren bringt bei mir allerdings keinen Erfolg. Es rasselt .. schweigt .. rasselt ..
Ich kann auch keine weiteren Stellen finden, an denen PD06/PORT_SCHALTER3/S3 geschrieben werden.
Wie weiter?
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 16.01.2011, 10:21:48

Ich noch mal:

Nachdem ich das LCD-Display abgewählt hatte, ist Ruhe im Karton.
Danach habe ich ich ein paar Änderungen vorgenommen, sodass ich die 4 Relais einzeln toggeln konnte. Überraschung! Die Relais werden anders gezählt. Mglw. war ich durch die Anordnung der alten Version irritiert. Folglich war ich auch mit meiner Annahme des Pins falsch.
Darauf hätte ich schon früher kommen können, aber die Platine will nicht mehr aus dem Gehäuse. Die Unterseite werde ich nie wieder sehen. Und einen Plan mit den Leiterbahnen (außer mglw. EAGLE) kann ich nicht finden.
Zum Glück hat Kollege Birgert ein sehr schönes Dokument (http://www.ulrichradig.de/forum/viewtop ... tine#p8944) erschaffen, das Aufschluss gibt. Damit kann ich meine Variante entsorgen.
Mein Störenfried heißt K1 und liegt auf PC02. Verantwortlich scheint eine LCD-Routine.

@Alle: Falls jemand, der weiß was er tut, Wil's Software sauber(!) auf eine 'Anfängerversion' passend auf das Webmodul mit Grundplatine ändern kann, so möge er dies bitte tun. Der Aufwand scheint angesichts des Bekanntheitsgrades von Uli's Projekt gerechtfertigt.
Nach oben

kathe
Beiträge: 26
Registriert: 19.02.2010, 06:51:02

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von kathe » 17.01.2011, 21:15:52

Warum willst du eigentlich den Code von Wil?

Wegen SD Card?

Schau mal nach unter falls es dir nur um das loggen geht:
http://son.ffdf-clan.de/include.php?pat ... readid=852
Ansonsten kontrollier die lcd.h
Nachdem du das LCD deaktiviert hast scheinen diese Einstellungen das Problem sein:
In lcd.h ist das Backlight auf PD7 ==> K3 gesetz:

#define LCD_LIGHT_PIN 7 //Pin für Backlight

wenn du das auf deine zukünftige beschaltung berichtigts sollte dein Problem behoben sein.
Gruss Chris
PS: andere Pin's natürlich auch anpassen.
Sorry hab heut nochmal nachgeschaut es liegt trotzdem an lcd.h aber K3 ist ja auf einem anderen Pin

Code: Alles auswählen

	#if LCD_EXT_SERIELL
		#define PORT_LCD_DATA_ENABLE	PORTD
		#define DDR_LCD_DATA_ENABLE		DDRD
		#define LCD_DATA_ENABLE			5		// Pin 6 am LCD
	
		#define PORT_LCD_CLOCK			PORTD
		#define DDR_LCD_CLOCK			DDRD
		#define LCD_CLOCK				4		// Pin 8 am 74HC164

		#define PORT_LCD_DATA			PORTD
		#define DDR_LCD_DATA			DDRD
		#define LCD_DATA				6		// Pin 1+2 am 74HC164
	
		#define LCD_RS_PIN 				0		// Pin für RS 			Pin  3 am 74HC164 zum LCD
		#define LCD_LIGHT_PIN			7		// Pin für Backlight	Pin 13 am 74HC164 zum LCD
Das problem tritt nur auf bei LCD_EXT_SERIELL da hier PORTD 6 + 7 verwendet werden
LCD_DATA ist PORTD6 ==> K3
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 18.01.2011, 22:48:36

Danke erstmal!

Mit dem Grundmodul scheint das LCD ohnehin tabu. Zu viele Kanäle sind blind gelegt. Port A möchte ich zunächst für analoge Signale belassen.
Mein Ziel ist die Aufnahme von Messdaten. Vornehmlich über OW-Bus. Zum Speichern brauche ich die MC.
Die Spielerei mit den Relais war mein erster Gehversuch. Nächster Schritt: Der OW-Bus an PC5 (JP2 auf Webmodul).

Mit Wils SW tue ich mich schwer. Das ist etwas für Fortgeschrittene. Aber der durchschnittlich Belichtete strickt sich die Behandlung von Webserver und OW-Bus und Speichern auf MC nicht mal eben nach dem Studium von ein paar Tutorials selbst zusammen.
Deinen Link nehme ich mir jetz mal vor..

.. Ich glaub' ich spinne! Heute wird das zu spät, aber morgen werde ich wohl im Hopserlauf nach Hause eilen.
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 23.01.2011, 12:49:24

Ich bin dann doch an Wil's Software hängen geblieben.
Der OW funktioniert nach ein paar weiteren Anpassungen.
Soeben habe ich mir den Kartenslot bei dem Versuch, den Kontakt (oder das, was ich dafür hielt) wie im Projekt beschrieben mit PA05 zu verbinden, verdorben. Alle Rettungsversuche waren vergebens. Jetzt brauche ich ein Ersatzteil.
Nach oben

Benutzeravatar
Ulrich
Site Admin
Beiträge: 3054
Registriert: 29.02.2004, 18:12:19
Wohnort: Siegen
Kontaktdaten:
Kontaktdaten von Ulrich
Website

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Ulrich » 23.01.2011, 18:33:13

Hallo,

die Kontakte sind bei der Platine 1.2 doch angeschlossen.

Gruß
Uli
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 30.01.2011, 22:42:51

Moin Uli!

Ich habe den Slot ausgewechselt. Und den Draht angelötet. Nach erfolglosem Test wieder aufgetrennt. Wie zu lesen hätte ich das alles sparen können, wenn ich die Leiterplatte genauer betrachtet hätte.
Nach 2 Tagen rätseln bin ich jetzt wieder ziemlich am Anfang. Oder am Ende:

- Webseite lässt sich nur sporadisch aufrufen:
- Webseite ok,
- Webseite teilweise,
- Webseite leer,
- keine Verbindung..
- Telnet übermittelt nur Grütze.
- Archivdatei wird nicht angelegt.
- OW misst nicht mehr?!

Die SD-Card (2GB) ist formatiert auf FAT (vermutl. FAT16) und das Logging in config.h angewählt. Die besten Ergebnisse erhalte ich, wenn ich den externen Pullup-Widerstand am OW entferne. Messergebnisse bekomme ich in keinem Fall.

Um zumindest erst einmal die Telnet-Verbindung zu testen, bin ich zum ETH-32-Board übergegangen und habe Wil's 106er (original) aufgespielt. USB-RS232-Adapter, die fifi-Parameter .. Grütze. Mit deiner Software lief das schon mal besser.
Wenn ich ein RS232-Kabel habe, werde ich es noch einmal versuchen, aber ich werde den Verdacht nicht los, dass noch eine Einstellung im Programm nicht passt.
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 13.02.2011, 16:11:32

Die Zeit geht ins Land.
Aber ich bin noch dran.
Momentan mit dem Eth_32 (mit Atmega644) und dem Projekt 'eth_m644_ex_avr-net-io_1_2_6' (http://www.son.ffdf-clan.de). Die Schaltung mit 'herkömmlichen' Bauelementen erscheint mir griffiger.

Mittlerweile habe ich mir den USB-Programmer zerschossen, weil ich einmal im Tran falsch verkabelt hatte. Damit habe ich mich nun endgültig zum DAU geoutet. @Uli: bekomme ich bei dir einen neuen IC?
Ich bin auf die serielle Variante ausgewichen (Com1). In 'makefile' habe ich angepasst:

Code: Alles auswählen

#AVRDUDE_PROGRAMMER = AVR910
#AVRDUDE_PROGRAMMER = stk200
#AVRDUDE_PROGRAMMER = USBasp
AVRDUDE_PROGRAMMER = siprog

#AVRDUDE_PORT = usb        # programmer connected to USB port
AVRDUDE_PORT = com1	   # programmer connected to serial device
#AVRDUDE_PORT = lpt1	       # programmer connected to parallel port
Natürlich gab es auf der RS232-Verbindung wieder nur Müll. Mittlerweise bin ich dahinter gekommen, dass es an der Frequenz für die CPU liegt. Die sollte zum Quarz passen. Wenn man die Schraube kennt und dran denkt, liegt es fast auf der Hand. In der 'config.h':

Code: Alles auswählen

	//define F_CPU 12000000
	#define F_CPU 16000000UL
Kaum macht man's richtig, schon geht's. Zauberei!

Nächster Schritt: Webinterface; vielleicht sogar noch OW.

Noch ein paar Fragen für die Zukunft:
- Wo/wie kann ich Messdaten für Trends speichern (ohne SD-Card)
- Wie kann ich die Daten herunterladen?
Nach oben

Benutzeravatar
Ulrich
Site Admin
Beiträge: 3054
Registriert: 29.02.2004, 18:12:19
Wohnort: Siegen
Kontaktdaten:
Kontaktdaten von Ulrich
Website

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Ulrich » 13.02.2011, 20:21:55

Hallo,

für Messdaten könnte man ein EEPROM verwenden!

Gruß
Uli
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 20.02.2011, 16:42:36

Ein weiterer Fehler war ein defekter Sensor. Das ergibt auch eine wirre Ausgabe auf dem PuTTY.
Im Moment läuft mit 5 Sensoren auf dem Testbrett alles stabil. Das Einlesen der IDs per Kommandozeile ist sehr hilfreich.

Ich habe mal bzgl. der Thematik EEPROM angelesen.
Du meinst wahrscheinlich einen externen EEPROM. Auf dem Webmodul ist einer drauf, aber das Gerät ist im Moment noch nicht dran bis ich mehr Klarheit habe. Der externe EEPROM wird wohl per I2C angesprochen. Wieder ein neues Feld für mich. Gibt es außer dem Datenblatt schon weiterführende Erläuterungen?

Zurück zum Eth_32 (mit Atmega644):
Der interne Flash EEPROM wird schon mit diversen Konfi-Daten beschrieben.
Ich würde ebenfalls die feste Adressierung wählen. Bei 2kByte (lt. Datenblatt) wird es aber eng. Für einen Test wird es reichen. Aber wenn die Spannung wegfällt, ist der Zeiger futsch. Somit scheint ein Ankmüpfen an den letzten Eintrag nicht möglich. Hat jemand einen Kniff parat?
Und wie bekomme ich die Daten wieder raus, um sie auszuwerten?
Nach oben

Benutzeravatar
Ulrich
Site Admin
Beiträge: 3054
Registriert: 29.02.2004, 18:12:19
Wohnort: Siegen
Kontaktdaten:
Kontaktdaten von Ulrich
Website

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Ulrich » 20.02.2011, 19:54:21

Hallo,

Den Speicher mit 0xFF beschreiben. Das ist die Markierung für noch nicht benutzt.

z.B. 10,AB,9A,00,FF,FF,FF,FF

Dann weiß man doch wo neu angefangen werden muss!

Gruß
Uli
Nach oben

Quereinsteiger
Beiträge: 36
Registriert: 17.08.2010, 11:49:41

Re: Webmodul mit Grundplatine

  • Zitieren

Beitrag von Quereinsteiger » 20.02.2011, 21:35:11

MIt Anfang und Ende in einem Ringspeicher ist es so eine Sache..
Aber man im Moment krankt es an den Grundlagen:

Ich habe in messung.c/void lese_Temperatur(void) ergänzt:

Code: Alles auswählen

			
   ow_array[i] = TWert;
			
   // QES: Test Schreiben in internen EEPROM
   eeprom_busy_wait ();
   eeprom_write_word((unsigned char *)(1000+(i*2)),TWert);	
Demnach sollte jeder Wert der (max.) 8 Sensoren gespeichert werden.
In cmd.c habe ich eine Funktion eingefügt, die diese Werte wieder auslesen soll:

Code: Alles auswählen

{
	uint16_t myWord;
	
	usart_write("QES - Interner EEPROM\r\n");

	for (unsigned char index = 0;index<16;index=index+2)
	{
		myWord=eeprom_read_word((unsigned char *)(1000+index));
		usart_write("Adresse %c-%f\r\n",index,myWord);
	}
}
Es gibt eine Ausgabe, aber weder index noch myWord werden wie erwartet ausgegeben.
%c ist übrigens nur der letzte Versuch. Mit %d oder gar %1000d wird es auch nicht besser.

Was mich aber eigentlich verzweifeln lässt, ist der Umstand, dass das Terminal nach einem Befehl nicht mehr ansprechbar ist. Das war vor meinen Eingriffen besser. Dabei habe ich neben der Funktion nur in COMMAND_STRUCTUR COMMAND_TABELLE[] und PROGMEM char helptext[] Zeilen eingefügt. Ich wollt' doch nix kaputt machen..

... TickTack ...

Ich bin nun etwas schlauer und füge gleich hier an:
Das Terminal funktioniert, wenn man die Flusskontrolle heraus nimmt. Nimmt man ein neues Programm, sollte man ab und zu nachschauen, ob die Einstellungen erhalten geblieben sind.
Bei der formatierten Ausgabe habe ich nur %i (Integer) erfolreich getestet. %f (float) war BoolShit, aber auch %d (dezimal), %u (unsigned) oder %ul (unsigned long) bringen kein sichtbares Ergebnis.
Die EEPROM-Spielerei funktioniert einfach so. Irgendwie verwirrend...
Nach oben

Antworten
  • Druckansicht

15 Beiträge • Seite 1 von 1

Zurück zu „AVR-Webmodule“



  • Foren-Übersicht
  • Alle Zeiten sind UTC+02:00
  • Alle Cookies löschen

Powered by phpBB® Forum Software © phpBB Limited

Deutsche Übersetzung durch phpBB.de

Datenschutz | Nutzungsbedingungen

 

 

sitemap  |    |  datenschutz   |  impressum