Forum: Mikrocontroller und Digitale Elektronik AVR für wenig Geld im LAN


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von RoBue (Gast)


Lesenswert?

Hallo Christian,
danke für den Test.

Kurze Frage:
hat es einen Grund, dass Du die vorgschlagenen Werte in config.h für den 
sht71 an PORTD nicht übernommen hast?

Was passiert, wenn Du MAXSENSORS einfach auf "8" stellst?
(Macht nichts, solange die letzte Sensor-ID in config.h mit 0x00 
beginnt.

Was läuft schief? Welche Zahlenwerte? Bild von webpage wäre nicht 
schlecht.

Liebe Grüße, RoBue

von Henry (Gast)


Lesenswert?

Hi,

bei mir funktioniert fast alles wunderbar mit der RoBu 1.5 final.
Servo geht auch. Nur wenn ich jetzt meine Kamera mit #define USE_CAM auf 
1 setzte geht gar nichts mehr.
Hat jemand eine Lösung?
Gruss
Henry

von RoBue (Gast)


Lesenswert?

Hallo Henry,
danke für die Rückmeldung.
Um weitere Auskunft geben zu können, bräuchte ich Deine Erweiterungen 
(LCD, 1-Wire, ...) und Deine config.h.. Welchen Prozzi verwendest Du? 
Kann es sein, dass z.B. für Atmega32 das Flash-File zu groß ist?
Gruß RoBue

von gast (Gast)


Lesenswert?

@ CaiusJulius

Ich denke dein Atmega ist kaputt,
ich denke Pollin wird dir das Teil umtauschen, wende dich einfach mal an 
die Beschwerdeabteilung (service@pollin.de)

Gast

von Henry (Gast)


Lesenswert?

Hi,

ich verwende keinen LCD und keine 1-Wire Sensoren. AVRDude hat ohne 
Probleme geflashed. Bei deiner Final kam nur ein Fehler nachdem ich die 
#defineCam auf 1 gesetzt habe. Und zwar das bild_balken[] nicht 
definiert wurde. Da habe ich einfach die Kommentare weg genommen. Sonst 
habe ich nichts verändert. Quarz habe ich auch gelötet und umgestellt.

von RoBue (Gast)


Lesenswert?

Hallo Henry,
im Info-Bereich der V1.5 (eigenes Zip-File) gibt es eine Erläuterung, 
was geändert werden muss.
Ich selber habe noch keine Webcam im Einsatz und kann deswegen nicht 
viel sagen.
Gruß RoBue

von Henry (Gast)


Lesenswert?

Hi,
so Webcam geht. Hatte RX TX vertauscht. RX von der Kamera muss auf den 
TX Eingang am Atmega und TX an TX.
Vielen Dank schonmal. Jetzt brauch ich nur nur paar Sensoren. Servo geht 
schon. Nur will ich das mit der Slidebar noch implementieren oder hast 
du das schon gemacht RoBue?
Viele Grüße
Henry

von Henry (Gast)


Lesenswert?

ich meinte TX an RX

von RoBue (Gast)


Lesenswert?

Hallo Henry,
freut mich, dass es geklappt hat.

-> Slidebar
ist so etwas für die Optik, das aber zum einen sehr viel Speicherplatz 
kostet (vermutlich mit Sensoren nicht mehr auf Atmega32 passt) und zum 
andern nicht wirklich hält, was es verspricht: Es sind eigentlich nur 
ca. 25 Stufen möglich und die 255 des Slidebar müssen dann in httpd.c 
auf diese 25 heruntergeteilt werden. Deswegen habe ich das noch nicht 
genutzt. Trotzdem: Viel Erfolg. Wenns klappt, bitte melden.

Gruß RoBue

von Henry (Gast)


Lesenswert?

Hi,
nochmal ich. Habe noch 2 kleine Problemchen.
1. Die Kamera zeigt das Bild um 180 Grad falsch an. Kann ich das ohne 
grossen Aufwand drehen?
2. Mein Servo zuckt immer mal wieder rum. Vielleicht ist er nicht 
richtig entstört. Hat jemand noch diese Probleme?

Gruss
Henry

von Christian H. (cni) Benutzerseite


Lesenswert?

RoBue wrote:
> Kurze Frage:
> hat es einen Grund, dass Du die vorgschlagenen Werte in config.h für den
> sht71 an PORTD nicht übernommen hast?
Ja, weil ich nur einen Analog-Port brauche und der Bus sich einfacher an 
die PortC´s anschliessen lässt (durch die Schraub-Klemmen). Außerdem 
will ich an PortD, dem Pfostenstecker ja noch ein Display anschliessen.

RoBue wrote:
> Was passiert, wenn Du MAXSENSORS einfach auf "8" stellst?
> (Macht nichts, solange die letzte Sensor-ID in config.h mit 0x00
> beginnt.
> Was läuft schief? Welche Zahlenwerte? Bild von webpage wäre nicht
> schlecht.
Mit "MAXSENSORS 8" geht´s!
Er hat bei Max 0.0 °C und bei Min 2314,5 °C angezeigt.
Aber jetzt hat´s geklappt!

Sag mal, wie krieg ich das hin, das er bei den SHT-Werten auch die 
Komma-Werte mit anzeigt (2-Stellig)?
VA@00, VA@01 und VA@02 sind ja nur Integer...

Danke

Gruß
Christian

von Christian H. (cni) Benutzerseite


Lesenswert?

Christian H. wrote:
> RoBue wrote:
>> Kurze Frage:
>> hat es einen Grund, dass Du die vorgschlagenen Werte in config.h für den
>> sht71 an PORTD nicht übernommen hast?
> Ja, weil ich nur einen Analog-Port brauche und der Bus sich einfacher an
> die PortC´s anschliessen lässt (durch die Schraub-Klemmen). Außerdem
> will ich an PortD, dem Pfostenstecker ja noch ein Display anschliessen.
PortA meinte ich, nicht PortC!

von RoBue (Gast)


Lesenswert?

Hallo Christian,

"...SHT-Werten auch die Komma-Werte mit anzeigt (2-Stellig)?"

Das wird kniffelig. Bei den 1-Wire-Sensoren wird die eine 
Nach-Kommastelle dadurch erzeugt, dass der Wert in ow_array das 
zehnfache des Temperaturwertes enthält, der dann bei der Ausgabe 
entsprechend mit Komma dargestellt wird.

Für Deine Ausgabe müsstest Du letztlich ein eigenes Array defininieren 
(z.B. sht_array) und dort den 100fachen Wert ablegen (= Ganzzahliger 
Wert vor dem Komma und die 2 Nachkommastellen, d.h. 2345 bedeutet 
eigentlich: 23,34% rH). Die Ausgabe über httpd.c und main.c müsste dann 
das Komma wieder an die richtige Stelle setzen. In webpage.h darf man 
dann nicht mit %VA@xx arbeiten, sondern mit eigenen Varaiblen (z.B. 
%SH@00), die dann in httpd.c eigens ausgewertet werden müssen (vgl. 
%ow@xx-Variablen mit 1 Nachkommastelle).

Vielleicht hilft Dir das weiter.


Hallo Henry,

" ... Servo zuckt ..."

Hast Du in config.h
#define USE_SER_LCD   0
#define USE_LCD_4Bit  0  // ( <--- ganz wichtig bei Servo !!!)

Grüße RoBue.

von Henry (Gast)


Lesenswert?

Hi.
@RoBue, ja diese 2 Sachen hatte ich schon richtig gemacht. Zuckt auch 
nicht laufend, sondern immer mal und nur ganz wenig. ca. 1 mm hin un 
her. Morgen test ich einen 2ten oder 3ten Servo.
Gruss
Henry

von Henry (Gast)


Lesenswert?

Hi,
mein Bild von der Kamera ist noch immer falschrum. Vielleicht könnten 
diejenigen die das Teil schon laufen haben mir einen kurzen Tip geben. 
Vielen Dank

von Jürgen A. (jaja)


Lesenswert?

Kamera umdrehen?

von Klaus H. (df8jb)


Lesenswert?

... wo der Klinkenstecker sitzt, ist oben. Bin auch mal drauf 
reingefallen.
Das Teil wurde seinerzeit von unten an das Handy angesteckt.
Wenn man sich die Beschriftung am Objektiv und den CE-Aufkleber hinten 
ansieht, merkt man's.

Gruß Klaus

------------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
   ausgelagerte webpage.h: http://avrboard.eluhost.de/
------------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, Atmega 644
Kamera: Philips DC-3840

von Chris M. (shortie)


Lesenswert?

Hi zusammen,

nachdem ich das letzte Wochenende damit verbracht habe diesen Thread, 
RoBue's Sourcen und die entsprechenden Hinweisseiten (AVR-Tutorial, 
AVR-gcc ...) durchgelesen habe war es am Montag soweit und ich hab mir 
bei Pollin das Fertiggerät und ein bisschen Zubehör (Atmega 644, 
Anschlußplatine, DS18S20) drumrum bestellt. War auch gestern schon da.

Trotz einiger Bedenken aufgrund von einigen Einträgen tat das 
Fertiggerät sofort ohne Probleme aber langweilt im Originalzustand doch 
sehr schnell g
Die einzige Modifikation an der Hardware ist der obligatorische 
Kühlkörper für den 7805, sowie der Austausch des Atmega32 durch den 
Atmega 644. Nachdem ich am Wochenende mir WinAVR und PonyProg 
installiert und heute noch einen Programmieradapter DT006 gebaut hab 
konnte ich also heute loslegen mit der Software von RoBue. Umgestellt 
auf Atmega644, IP etc. eingestellt, übersetzt und auf das Board 
übertragen und lief auf Anhieb.

Zu allererst ein dickes Danke an RoBue und Ulrich Radig für die Software 
und an alle die hier Tipps und Hinweise gegeben haben. Bis vor zwei 
Wochen dachte ich noch nicht daran etwas mit Mikrocontrollern zu machen. 
Ihr habt mir den Einstieg etwas leichter gemacht.

Was ich nun damit genau mache weiß ich noch nicht. Ich weiß nur daß es 
Richtung Überwachung eines Serverraums in Verbindung mit Nagios 
(http://www.nagios.org/) geht evtl. mit Integration des vorhandenden 
Powerswitchs (derzeit über RS232 gesteuert) oder Hardwarereset der 
Server über Optokoppler oder Relais am Resetpin statt Strom-weg.

Ideen und Anregungen sind gerne willkommen.

Grüße Shortie

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo RoBue,

serielles lcd funktioniert nun ohne blitzen, hab alles neu angeordnet.

Aber mit der 5 Temperatur(tempwert5) hab ich Probleme bei der 
Displayanzeige, es
werden nur 15 grad angezeigt (default) kann nichts finden wo die
variablen zugewiesen werden?

kannst du mir einen tip geben?

Hallo Henry,

" ... Servo zuckt ..."

hatte auch probleme mit den zucken, mein NT hatte nur 0,5 A.




mfg

orfix

von RoBue (Gast)


Lesenswert?

Hallo orfix,
Einstellungen in config.h bei LCD:

  // Einstellungen zur Ausgabe -> main.c
  // Welche Sensoren:
  #define TEMPWERT1  0  // Raum_1
  #define TEMPWERT2  1  // Raum_2
  #define TEMPWERT3  3  // Pumpe VL
  #define TEMPWERT4  4  // Pumpe RL


0 -> Sensor 0
1 -> Sensor 1
...

Dazu in main.c:

// Ausgabe 1. Temperatur auf LCD
lcd_print(2,3,"%iß",(ow_array[TEMPWERT2]/10));
// Ausgabe 2./3. Temperatur auf LCD
lcd_print(2,8,"%iß/%iß",(ow_array[TEMPWERT3]/10),(ow_array[TEMPWERT4]/10 
));
...

Hilft das weiter?

Gruß RoBue

von PogoPaul (Gast)


Lesenswert?

@ WoPe

vielen Dank für die "unverbastelte" Version.

von Iwo S. (geht-so)


Lesenswert?

Klaus H. wrote:
> ... wo der Klinkenstecker sitzt, ist oben. Bin auch mal drauf
> reingefallen.

Es sei denn, man öffnet die Kamera und dreht die Platine um 180°. Habe 
ich bei zweien gemacht.

mfg

von Marco P. (Gast)


Lesenswert?

Hallo,

habe ein Problem mit AVR-NET I/O (mit M644P) und Philips DC-3840 Cam.

Habe die Version AVR-NET-IO_RoBue_V 1.5_Final geflasht mit folgenden
Anpassungen für die Cam:

Makefile --> Mega 644P umgestellt

config.h

         --> #define USE_CAM  1            (Kamera ein)
         --> #define CAM_RESELUTION  1     (Bildgröße)
         -->#define HTTP_AUTH_DEFAULT 0    (mit Passwortabfrage)
         -->#define USE_SER_LCD  0     (kein ser. LCD angeschlossen)
         -->#define USE_LCD_4Bit    0      (kein 4Bit LCD angeschlossen)
         -->#define F_CPU 14745600UL       (Frequenz für Cam 
eingestellt)
         -->#define MYIP    IP(192,168,20,99) Adresse des NET I/O
         -->#define ROUTER_IP  IP(192,168,20,2) Adresse meines Router
         -->#define NETMASK    IP(255,255,255,0) Netzwerkmaske

webpage.h

// Schaltanweisungen 
------------------------------------------------------

"<img src =\"camera.jpg\" width=\"320\" height=\"240\"border=\"1\"><br>"

nach den Schaltanweisungen eingefügt...




Folgende Anweisungen nicht mehr als Kommentar sondern als Befehle 
geändert:

PROGMEM char cam_dummy[] = {
0x47,0x49,0x46,0x38,0x39,0x61,0x02,0x00,0x0A,0x00,0xA2,0x00,0x00,0xA2,0x 
A5,0xED,
0x84,0x8F,0xE5,0x66,0x7C,0xDD,0x49,0x60,0xD6,0x21,0x44,0xDA,0xFE,0x01,0x 
02,0x00,
0x00,0x00,0x00,0x00,0x00,0x21,0xF9,0x04,0x05,0x14,0x00,0x05,0x00,0x2C,0x 
00,0x00,
0x00,0x00,0x02,0x00,0x0A,0x00,0x00,0x03,0x0A,0x48,0x34,0x23,0x12,0x01,0x 
48,0x00,
0x1D,0x53,0x09,0x00,0x3B,'%','E','N','D'};

  WEBPAGE_ITEM WEBPAGE_TABLE[] = // Befehls-Tabelle
  {
  {"index.htm",Page1},
  {"daten.html",Page2},
  #if USE_CAM
  {"camera.jpg",cam_dummy},
  #endif //USE_CAM
  {"balke.gif",cam_dummy},
//  {"ledon.gif",led_on},
//  {"ledoff.gif",led_off},
  {NULL,NULL}
  };


weiterhin habe ich auf den Board den 16MHz Quarz gegen einen 14,7456 MHz
Quarz ersetzt. Lt. Anleitung von Radig den Max 232 herausgenommen und
Cam angeschlossen TX (Cam/blau) auf Pin 14 (M644/RXD) und RX (Cam/grün)
auf Pin 15 (M644/TXD) gelötet. Plus (Cam/rot) auf Schnittstelle Ext.
Pin 10 und Minus (Cam/schwarz) auf Schnittstelle Ext. Pin 9 gesteckt.

Normalerweise habe ich alles beachtet oder fehlt etwas bzw. was habe ich 
falsch gemacht? Wenn ich den Webserver mit verschiedenen Browsern 
aufrufe
kann keine Seite angezeigt werden. Auch in der Fritzbox taucht die 
IP-Adresse des NET I/O nicht auf!

Schalte ich in der config.h die Kamera aus und setze ich die Befehle der
webpage.h für die Cam wieder als Kommentar zurück, flashe neu, läuft
der Webserver ohne Cam-Bild...

Ich verwende zum compilieren des Codes das Notepad, flashe mit 
AVR-Studio
und STK500. Die Fuses für den Mega 644P sind: Häkchen bei SPIEN

Würde mich freuen wenn mir einer helfen könntet!

von Marco P. (Gast)


Lesenswert?

Hab noch eine Bitte...

Wäre super, wenn sich einer bereit erklären würde mir ein hex-File zu
bruzzeln für den M644P mit Cam für mein Netzwerk:


IP Net I/O: 192.168.20.99
Submaske:   255.255.255.0
Router-IP:  192.168.20.2

so dass die Cam funktioniert, wenn sie richtig angeschlossen wird!

So könnte ich sie mal testen, ob Sie überhaupt funktioniert...

Der Compiler hat mit meinen obigen Änderungen keine Fehler gebracht, 
verstehe
nicht, warum ich nicht einmal den Webserver erreiche?

Läuft der NET I/O Webserver mit den Anpassungen für die Kamera 
eigentlich auch
wenn gar keine Kamera angeschlossen ist???

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

hallo  Marco P.,

server läuft nur wenn die cam richtig funktioniert, steckt mal eine lcd 
anzeige an, dann siehst du CAMERA INIT wenn i.o CAMERA READY.

hab bei meiner 1. cam auch den anschlus vermurkst, bei der 2. hab ich 
einen klinkenbuche benutzt.


mfg

orfix

http://bauerer.dyndns.org/

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

@Marco P.

Hast Du tatsächlich den 644P mit der zweiten UART? Es könnten dann evtl. 
andere Fuse-Bits nötig sein...

>...Cam angeschlossen TX (Cam/blau) auf Pin 14 (M644/RXD) und RX (Cam/grün)
>auf Pin 15 (M644/TXD) gelötet.

Tausche mal die Leitungen um, siehe Bild.
Ich habe mal die Pins an der MAX232-Fassung bl u. gn bezeichnet:
"TX" an der Kamera (bei Uli Radig so bezeichnet) gehört an TXD des M644, 
"RX" entsprechend an RXD.
Wer einmal zuviel nachdenkt, macht es falsch - so wie ich zuerst auch.

Am besten lötet man alle Cam- Leitungen an eine IC-Fassung und steckt 
diese anstatt des MAX232 in die Fassung wie im Bild.
(meine Cam-Leitungen (4pol. Flachbandkabel) sind übrigens 90 cm lang; 
durch die Umschalt-Elektronik kommen nochmal 15 cm hinzu, alles ohne 
Probleme)

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
   ausgelagerte webpage.h: http://avrboard.eluhost.de/
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840

von Marco P. (Gast)


Lesenswert?

Irgendwie bekomme ich das nicht auf die Reihe...

Webserver mit Philips Cam läuft noch immer nicht. Was habe ich 
zwischenzeitlich getan:

1. Neue Cam ausgepackt und Klinkenstecker abgeschnitten, dann Leitungen
   von RX/TX/+/- verlängert. Die weiße Leitung (Kamera Preset wird ja
   lt. Radig nicht verwendet)

2. Leitungen lt. Bild von Klaus H. (vielen Dank!) am Sockel des Max 232
   an Pin 11 = RX / 12 = TX / 15 = GND / 16 = +5V angelötet. Da ich 
nicht
   genau weiss, ob mein Controller ein M644 oder M644P ist,
   sicherheitshalber Pin 11 auf 15 und 12 auf 14 des atmega verwendet,
   diese sind bei beiden Controllern identisch!

3. Den Controller (Mega 644 20PU <--> ist das jetzt ein M644 oder M644P
   mit 2mal UART ???) neu geflasht! Programmers Notepad wieder ohne 
Fehler
   meldung...

Leider bisher mit gleichem negativen Ergebnis, Webserver taucht im 
Netzwerk
nicht auf! Leider hab ich noch kein Display zur Verfügung, um zu sehen, 
ob
die Cam überhaupt initialisiert wird (Danke für den Tip: orfix)

Tja schon irgendwie frustrierend...

von Klaus H. (df8jb)


Lesenswert?

Hi Marco P.,

>Mega 644 20PU
Das ist kein Mega 644P, sonst stünde auch 644P drauf. Was dahinter 
steht, ist uninteressant. Also alles klar.
Als erstes musst Du also im makefile den richtigen 644er auswählen.
Evtl. klappt es dann schon.

Ich überlege mir gerade eine Testmethode, ob Deine Cam initialisiert 
wird oder nicht.
Mit einer LED sollte man das feststellen können.
Gib mir etwas Zeit; ich schau mal in die Sourcen und die Schaltung vom 
Pollin-Board.
Ist evtl. allgemein von Interesse, wenn man kein Display angeklemmt hat.

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
   ausgelagerte webpage.h: http://avrboard.eluhost.de/
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840

von Klaus H. (df8jb)


Lesenswert?

Hi Marco P.,

falls es noch nicht klappt mit der Kamera:
so kannst Du sehen, ob Deine Cam richtig initialisiert wurde. Es gibt 
einen völlig unbenutzten Pin, den man beliebig verwenden kann (ich 
schalte damit nach dem Einschalten kurz meine zwei Cams parallel, lasse 
sie initialisieren, und trenne sie dann wieder).

In  main.c  sind dazu drei kleine Befehle einzusetzen:
1
  //...................................................
2
        // Pullups einschalten
3
  PORTA = (1 << PORTA0) | (1 << PORTA1) | (1 << PORTA2) | (1 << PORTA3) | (1 << PORTA4) | (1 << PORTA5) | (1 << PORTA6);
4
  
5
   DDRB = (1<<DDB1);  //### hier diesen Befehl einfügen! (Pin B1 als Ausgang definieren)  
6
  
7
    unsigned long a;
8
  #if USE_SERVO
9
    servo_init ();
10
  #endif //USE_SERVO
11
//...................................................
12
//...................................................
13
//...................................................
14
//und
15
16
#if USE_CAM
17
  
18
    PORTB |= (1<<PB1);  //### diesen Befehl hier einfügen! (Pin B1 auf HIGH setzen)
19
  
20
    #if USE_SER_LCD
21
      lcd_print(1,0,"CAMERA INIT...");
22
    #endif //USE_SER_LCD
23
    for(a=0;a<2000000;a++){asm("nop");};
24
    cam_init();
25
    max_bytes = cam_picture_store(CAM_RESELUTION);
26
    #if USE_SER_LCD
27
      back_light = 0;
28
      lcd_print(1,0,"CAMERA READY   ");
29
    #endif //USE_SER_LCD
30
    
31
    PORTB &= ~(1<<PB1); //### diesen Befehl hier einfügen! (Pin B1 auf LOW setzen)    
32
    
33
  #endif // -> USE_CAM
Der Pin B1 ist der mittlere der drei Stifte, wo man für die 
Pollin-Firmware "normal"
oder "prog" einstellt. Für den WebServer ist der Pin ansonsten 
unwichtig.
An diesen Pin schließt Du eine LED an mit Rv 270 Ω oder so. Masse ist 
der Stift "prog".

Nach Einschalten geht nach ca. 1 s die LED an,  CAMERA INIT startet, 
und, falls erfolgreich beendet wurde, geht die LED nach 6-8 s wieder 
aus.
Bleibt sie an, wurde die Cam nicht erkannt/initialisiert, und dann hängt 
deshalb der gesamte Webserver.

Viel Erfolg!

von hplastic (Gast)


Lesenswert?

Hallo Leute,
erst mal Hut ab von eurer gemeinsamen Arbeit, die Ihr hier leistet.
Habe mal eine Frage zu Servo. Kenne mich leider noch nicht so gut aus, 
möchte gerne feste positionen mit dem Servo anfahren, habe keine Idee wo 
ich das einstellen soll.
Betreibe das Board mit RoBue V 1.5 Final
Mfg
Dieter

von Marco P. (Gast)


Lesenswert?

Hi Klaus,

meine Cam funktioniert leider immer noch nicht, auch wenn ich im 
makefile
auf Mega 644 umstelle!

Ich habe deine Testschaltung mit der LED aufgebaut und die main.c 
entsprechend
angepasst. Die LED geht nach ca. 2 Sekunden an, nachdem ich das Board an 
Spannung gelegt habe, leider bleibt die LED dann auch dauerhaft an! Also 
wird
die Kamera wohl nicht initialisiert. Was mich etwas verwundert ist, dass 
somit
meine beiden Kameras nicht funktionieren sollten?

Ich habe mal ein Amperemeter an das Board angeschlossen. Dabei zeigt 
sich
folgendes Verhalten:

Ohne Cam messe ich einen Strom von ca. 180mA, was ja normal ist!
Schliesse ich eine Kamera dazu an, nimmt die Schaltung in der ersten 
Sekunde
ca. 236mA auf, danach liegt der Strom bei 180mA und steigt schliesslich 
nach
ca. 7 Sekunden wieder auf 236mA an. Würde doch zeigen, dass die Kamera
ca. 56mA aufnimmt was in etwa stimmen sollte. Kann es nicht doch ein 
Programmierfehler sein?

Würdest du mir mal ein hexfile von dir zukommen lassen?

Mfg,

Marco P.

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

Hallo Marco P.,

im Anhang eine webserver- .hex - Datei mit diesen Daten:

IP Net I/O: 192.168.20.99
Submaske:   255.255.255.0
Router-IP:  192.168.20.2

Habs ausprobiert und dann die IPs auf Deine geändert, muss also laufen.
Camera-Test-LED ist auch aktiviert.

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
   ausgelagerte webpage.h: http://avrboard.eluhost.de/
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840

von Christian H. (cni) Benutzerseite


Lesenswert?

RoBue wrote:
> Hallo Christian,
>
> "...SHT-Werten auch die Komma-Werte mit anzeigt (2-Stellig)?"
>
> Das wird kniffelig. Bei den 1-Wire-Sensoren wird die eine
> Nach-Kommastelle dadurch erzeugt, dass der Wert in ow_array das
> zehnfache des Temperaturwertes enthält, der dann bei der Ausgabe
> entsprechend mit Komma dargestellt wird.
>
> Für Deine Ausgabe müsstest Du letztlich ein eigenes Array defininieren
> (z.B. sht_array) und dort den 100fachen Wert ablegen (= Ganzzahliger
> Wert vor dem Komma und die 2 Nachkommastellen, d.h. 2345 bedeutet
> eigentlich: 23,34% rH). Die Ausgabe über httpd.c und main.c müsste dann
> das Komma wieder an die richtige Stelle setzen. In webpage.h darf man
> dann nicht mit %VA@xx arbeiten, sondern mit eigenen Varaiblen (z.B.
> %SH@00), die dann in httpd.c eigens ausgewertet werden müssen (vgl.
> %ow@xx-Variablen mit 1 Nachkommastelle).
>
> Vielleicht hilft Dir das weiter.

Hi RoBue,

hmm, OK hört sich erst mal nicht ganz so schwer an.
Kannst Du mir das evtl. einbauen, bzw. mir ein paar Code-Schnipsel dafür 
geben?
Und wie bekomme ich das dann auch noch mit Tages-Min/Max-Werten hin?

Danke

Gruß
Christian

von Marco P. (Gast)


Lesenswert?

Hallo Leute,

ich geb jetzt auf mit Pollin AVR NET I/O und Philips Kamera DC-3840.

Habe heute einen letzten Versuch gestartet mit neuen Pollin NET I/O,
neuen Quarz Q2 (14,4567MHz), neuen Mega 644, neuer CAM (diesmal habe
ich die 4 Leitungen mal direkt am Klinkenstecker angelötet), Netzteil
(9,5V AC / 300mA), MAX 232 heraus und Pin 11= RX, Pin 12=TX, Pin 15=GND,
Pin 16=+5V / weisse Leitung nicht verwendet! Fusebits: SPIEN gesetzt,
HEX-File von Klaus H. (vielen Dank für deine Bemühungen!) incl. 
Testschaltung
zur Initialisierung der CAM dran.

Leider ist wieder nichts passiert!

Kann ein Servo auch ohne CAM betrieben? Dann würde ich als nächstes mal
ausprobieren wollen, ob der Servo läuft...

Mfg,

Marco P.

von M. W. (hobbyloet)


Lesenswert?

Autor: M. W. (hobbyloet)
Datum: 28.12.2008 01:15
Dateianhang: Fusebit_Ulis_ws.jpg (70,9 KB, 168 Downloads)


------------------------------------------------------------------------ 
--------
So habe ich die Fuses.

Schau dir mal Fuses an.

Hatte auch Probleme, damit läufts.

von DirkG (Gast)


Lesenswert?

Hallo Marco,
vage Vermutung, kann nicht nachprüfen weil auf Wanderschaft (nicht 
zuhause halt) : (9,5V AC / 300mA)
9V/300mA waren meinem Pollin Board(allein, aber inkl. Max) zu wenig, 
habe bislang allerdings keine Ströme gemessen, einfach ein 9V/1A dran 
und gut war.

Vielleicht kann das jemand anderes bestätigen, oder meinen Kommentar in 
die Wüste schicken ;-)

Gruß Dirk

von M. W. (hobbyloet)


Lesenswert?

DirkG wrote:
> Hallo Marco,
> vage Vermutung, kann nicht nachprüfen weil auf Wanderschaft (nicht
> zuhause halt) : (9,5V AC / 300mA)
> 9V/300mA waren meinem Pollin Board(allein, aber inkl. Max) zu wenig,
> habe bislang allerdings keine Ströme gemessen, einfach ein 9V/1A dran
> und gut war.
>
> Vielleicht kann das jemand anderes bestätigen, oder meinen Kommentar in
> die Wüste schicken ;-)
>

Niemals!
Ist doch vollkommen korrekt, was Du schreibst.

Gruss Marcel

von Klaus H. (df8jb)


Lesenswert?

...genau, 300 mA ist zu knapp - die Cam braucht zusätzlich ca. 60 mA.
Das könnte die Ursache sein; die Spannung von einfachen 
Steckernetzteilen wird oft weit vor der Nennbelastung unsauber, und dann 
kann es sein, dass die Cam nicht initialisiert wird! Ohne Cam läuft der 
Rest aber.

btw: Fuses habe ich keine gesetzt, ausser SPIEN, das ist fest auf on.

@Marco P.
Servo geht auch ohne aktivierte Cam, aber die Cam kriegst Du sicher zum 
Laufen.
Aufgeben gibt's nicht!

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
   ausgelagerte webpage.h: http://avrboard.eluhost.de/
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840

von Daniel (Gast)


Lesenswert?

Guten Abend,
ich habe hier 2 Mal das AVR Net Board aufgebaut.
Bei Board Nummer 1 klappt alles wunderbar.
Board 2 lässt sich jedoch nicht ansprechen.
Was mir aufgefallen ist, ist dass die orange LED dauernd leuchtet und 
die grüne LED ab und zu blinkt.

Bei Board 1 ist dies jedoch genau andersherum.
Hardwaremäßig kann ich jedoch keinen Fehler finden, die Board sind 
baugleich.

Weiß nicht mehr wo der Fehler liegen könnte.
Hoffe hier kann mir jemand helfen.

MFG
Daniel

von Klaus H. (df8jb)


Lesenswert?

Hallo Daniel,

war bei mir auch so.
Steck mal den Prozessor vom funktionierenden Board auf das andere;
manchmal liefert Pollin unprogrammierte Chips mit.

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
   ausgelagerte webpage.h: http://avrboard.eluhost.de/
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840

von Marco Perl (Gast)


Lesenswert?

Hallo an Alle,

habe eben mal mein NET I/O und Philips Cam an ein Labor-Netzteil 
angeschlossen. Dieses kann einen Strom bis max. 5A liefern...
Den Stabi (7805) habe ich mit ca. 10V vom Netzteil versorgt. Als ob ich
es geahnt hätte, der Webserver läuft wieder nicht! Das Board mit Cam
und CAM-Testschaltung zur Initialisierung nimmt zwischen 260 und 270mA
auf. Also auch die Spannungsversorgung kann nicht dran Schuld sein, 
warum
der Webserver nicht läuft!

M. W. (hobbyloet) könntest du nochmal deinen Dateianhang 
"Fusebit_Ulis_ws.jpg" über die Fusebits hier ins Netz einstellen? Kann 
leider die Datei nicht herunter laden...

Mfg,

Marco

von M. W. (hobbyloet)


Angehängte Dateien:

Lesenswert?

Hallo Marco,

siehe Anhang.

von Daniel (Gast)


Lesenswert?

Danke Klaus,
genau das war der Fehler.

Hat eigendlich jemand eine Lösung um das Webinterface mit Submitbuttons 
steuern zu können anstatt mit Checkboxen?

Und ist die Seite des Interfaces bei euch auch recht langsam im Aufbau?

von Marco Perl (Gast)


Lesenswert?

Juhuuuuuuuuuuuuuuu!!!!!

endlich geschafft, CAM und NET I/O laufen! Es lag definitiv an den
falschen Einstellungen bei den Fusebits.

Herzlichen Dank an M. W. (hobbyloet)!

Ich habe schon nicht mehr dran geglaubt, dass ich es schaffe.

Jetzt kann ich endlich mit meinen Modifizierungen anfangen...

Mfg,

Marco P.

von hplastic (Gast)


Lesenswert?

Hallo Leute,

Kurze Fehlerbeschreibung

Das AVR-Board  war ca. 3Wochen ununterbrochen im Einsatz und hat 
plötzlich den Geist aufgegeben, es erfolgte keine Netzwerkverbindung 
mehr. Keine ersichtlichen Schäden erst nach nachmessen der relevanten 
Komponenten und Leitungswege, wurde ich fündig am Quarz Q1 befand sich 
eine kalte Lötstelle.

Mfg
Dieter

von Galenus ein Reisender (Gast)


Lesenswert?

Hallo kleine grosse Lesergruppe,
kann man eigentlich diesen Chip als Modul dran anschliessen.

http://www.aj-ebiochip.de/frontend/index.php?itid=3456&st_id=3456&PHPSESSID=9sospm8o3du54n0k70pd2mdcf4

von Guenter B. (gbl)


Lesenswert?

Hat schon mal jemand den Code von Ulrich Radig um einen RC5 bzw 
Infrarotcodegenerator erweitert ?
Tät mich interressieren. Dann könnte ich meine Rolläden, Wohnzimmerlicht 
und Fernseher per Handy über Internet bzw WLAN schalten.
Den Infrarotcode bekäme ich wohl hin. Aber wie verknüpfe ich die 
Webseite
(ich denke mal es ist die Webpage.h) mit dem Code ?

Gruß

Günter

von RoBue (Gast)


Lesenswert?

Hallo Guenther (gbl),

in webpage.h wird "nur" die Webseite generiert,
ausgewertet wird sie in httpd.c.
Du müsstest also dort ansetzten.
Interesse hätten ich bzw. wir schon an solch einer Erweiterung.

Ansonsten habe ich ja als Ergänzung eine primitive Möglichkeit, den 
Tastendruck von Handsendern über einen Atmega8 zu simulieren. Dann muss 
man letztlich gar nichts mehr am Code ändern.

Gruß RoBue

von Chris M. (shortie)


Angehängte Dateien:

Lesenswert?

@RoBue:

ich hätte da ein kleines Diff-File bezüglich Abfragen wenn kein 1-Wire
Bus benutzt wird. Außerdem hab ich noch einen Command zum setzen eines 
PortC für 0,5 Sekunden drin für Hardwarereset mit Optokoppler eines 
PC's.

Vielleicht magst du es ja ergänzen ?

von Chris M. (shortie)


Lesenswert?

Klaus H. wrote:

...

> Der Pin B1 ist der mittlere der drei Stifte, wo man für die
> Pollin-Firmware "normal"
> oder "prog" einstellt. Für den WebServer ist der Pin ansonsten
> unwichtig.
> An diesen Pin schließt Du eine LED an mit Rv 270 Ω oder so. Masse ist
> der Stift "prog".

Ich bin ja was Mikrocontroller angeht noch ziemlich öhm planlos ;-) und 
auch nicht der große C Kenner, aber könnte man diesen vereinsamten Pin 
nicht für die Steuerung des Servos benutzen oder stört das die 
Ethernetschnittstelle im Betrieb nach der Initialisierung ?

Gruss Shortie

von RoBue (Gast)


Lesenswert?

Hallo shortie,

soweit ich das begriffen habe, wird die Servosteuerung eine Funktion des 
Timers2, der PORTD7 zugeordnet ist. Damit kann man nicht so einfach 
andere Ports nehmen.

Gruß RoBue

von Klaus H. (df8jb)


Lesenswert?

>könnte man diesen vereinsamten Pin
>nicht für die Steuerung des Servos benutzen

Prinzipiell ja, aber die Servobefehle nutzen alle einen der Timer, die 
im Prozessor an Port D gebunden sind.
Geht also nicht, mal eben PB01 statt PD07 zu tippen.
Man muss ein kleine Routine schreiben, die das gesamte Timing für die 
20ms und die Pulsbreite von 1ms bis 2ms übernimmt, und zwar mit 
Einbindung der Variablenübernahme für die Änderung der Pulsweite für die 
eigentliche Steuerung.
Mit BASCOM  geht es gut, logisch und geradeaus. Hilft hier aber nicht, 
denn dieser webserver ist in fehlerträchtigem obsoletem C programmiert.

Für jede andere Aufgabe ist der Pin B1 aber gut zu nutzen. Bei mir dient 
er zum Schalten/Trennen  von zwei Kameras beim Systemstart.

Gruß Klaus
--

von Klaus H. (df8jb)


Lesenswert?

...RoBue war schneller....

viele Grüße!
--

von Daniel S. (hawkeye)


Lesenswert?

Nabend zusammen,
ich spiele gerade mit der webpage.h
ich setze nun mehrere Pins mit einem Klick:
1
"<form name=\"form1\" method=\"post\" action=\"\">"
2
"<input type=\"hidden\" name=\"OUT\" value=\"A\">"
3
"<input type=\"hidden\" name=\"OUT\" value=\"C\">"
4
"<input type=\"hidden\" name=\"OUT\" value=\"E\">"
5
"<input type=\"submit\" name=\"SUB\" value=\"Ein\">
6
"</form>"

Das Klappt auch wunderbar, doch ist es nun auch Möglich dass ich die 
gesetzen Pins mit einem Klick, also mit einem Submit Button ausschalten 
kann, ohne alle checkboxen zu deaktivieren?

von Klaus H. (df8jb)


Lesenswert?

>doch ist es nun auch Möglich dass ich die
>gesetzen Pins mit einem Klick, also mit einem Submit Button ausschalten
>kann, ohne alle checkboxen zu deaktivieren?

vielleicht so:
<input type="reset" value="löschen">
und dann submit?

Oder meinst Du was völlig anderes?

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
   ausgelagerte webpage.h: http://avrboard.eluhost.de/
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840

von M. W. (hobbyloet)


Lesenswert?

Marco Perl wrote:
> Juhuuuuuuuuuuuuuuu!!!!!
>
> endlich geschafft, CAM und NET I/O laufen! Es lag definitiv an den
> falschen Einstellungen bei den Fusebits.
>
> Herzlichen Dank an M. W. (hobbyloet)!
>
> Ich habe schon nicht mehr dran geglaubt, dass ich es schaffe.
>
> Jetzt kann ich endlich mit meinen Modifizierungen anfangen...
>
> Mfg,
>
> Marco P.

Hallo Marco,

schön zu Lesen, dass es jetzt doch läuft.

Halte uns mal mit deinen Modifizierungen auf den laufenden.
(Ich würde für sowas einen neuen Thread aufmachen).

Gruss Marcel

von Jack (Gast)


Lesenswert?

Hallo,

Obwohl der Thread schon etwas älter ist, wollte
ich mal fragen ob jemand schon das passende Gehaeuse dafuer
gefunden hat?

von Daniel S. (hawkeye)


Lesenswert?

Hallo Klaus,

ich möchte mit einem Submit Button mehrere Pins setzen, das funktioniert 
ja auch schon mit dem Code.

Nur jetzt würde ich gerne einen Submit Button haben, der mit die vorher 
gesetzen Pins wieder rücksetzt.
Also nur mit einem Klick.

von Klaus H. (df8jb)


Lesenswert?

Hi Daniel,

wie setzt Du eigentlich die values für die hidden elements?
Analog zum Einschalten müsste Aus doch mit einem zweiten Formular gehen:
1
"<form name=\"form2\" method=\"post\" action=\"\">"
2
"<input type=\"hidden\" name=\"OUT\" value=\"0\">"
3
"<input type=\"hidden\" name=\"OUT\" value=\"0\">"
4
"<input type=\"hidden\" name=\"OUT\" value=\"0\">"
5
"<input type=\"submit\" name=\"SUB\" value=\"Aus\">
6
"</form>"

Gruß Klaus
----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840
----------------------------------------------------------

von Chris M. (shortie)


Lesenswert?

Jack wrote:
> Hallo,
>
> Obwohl der Thread schon etwas älter ist, wollte
> ich mal fragen ob jemand schon das passende Gehaeuse dafuer
> gefunden hat?

Glaubst du wirklich diese Frage lässt sich so pauschal beantworten?

Was soll denn alles rein ins Gehäuse? Nur das Board ohne Zusatzplatine 
mit Schraubklemmen oder doch lieber mit oder brauchst Du an den 
seitlichen Schraubklemmen noch Platz für Kabel? Willst Du weitere Dinge 
mit einbauen oder nicht wie beispielsweise ein Display?

Bei mir wird es vermutlich ein 19" Gehäuse mit 1 oder 2 HE (hängt vom 
Display ab und ob überhaupt eins rein kommt) da das ganze in einen 
Schrank soll. Der 1-wire Anschluss wird entweder mit Klinkenstecker, 
DIN-Buchse oder RJ45 gemacht . Weiter kommen evtl für Resetleitungen 
noch weitere Klinkenbuchsen rein, da sich dadurch schnell Geräte einzeln 
trennen lassen und auf fertige Leitungen zurückgegriffen werden kann 
(abgesehen von der Technik die in die Rechner muß) - also brauche ich 
schon etwas mehr Panelfläche als wenn ich das über SUB-D und 
Kabelpeitsche mache.

Vorteil ist alles ist schon aufgeräumt und selbst den ISP-Adapter könnte 
man mit einbauen, daß von außen nur ein Parallel-, USB- oder 
RS232-Anschluß vorhanden sein müßte.

Ein weiteres Gerät zuhause wird eher in ein kleines Gehäuse kommen, 
damit es zuhause als Überwachungsdisplay für die Netzwerküberwachung 
dienen kann. Da brauch ich aber auch keine externen Anschlüsse sondern 
nur ein paar Taster um Funktionen abzufragen.

Gruß Shortie

von Daniel S. (hawkeye)


Lesenswert?

Hi Klaus,
Danke für deine Lösung, nur das ist leider immer noch nicht dass was ich 
versuche.

Ich setze mit:
1
"<form name=\"form1\" method=\"post\" action=\"\">"
2
"<input type=\"hidden\" name=\"OUT\" value=\"A\">"
3
"<input type=\"hidden\" name=\"OUT\" value=\"C\">"
4
"<input type=\"hidden\" name=\"OUT\" value=\"E\">"
5
"<input type=\"submit\" name=\"SUB\" value=\"Ein\">
6
"</form>"
die Pins 1, 3 und 5 mit nur einem Submitbutton.

Nun brauche ich einen Submitbutton der auch nur diese Pins wieder 
ausschaltet.
Deine Lösung schaltet alle Pins aus.

Was meinst du mit values in den hidden Feldern, ich habe einfach nur die 
checkbox in ein hidden Element umbenannt. Der Wert wird immer noch durch 
value="XX" übergeben.

Zum Testen mal meine IP:
http://84.63.178.200

von Klaus H. (df8jb)


Lesenswert?

Hi Daniel,

sende in form2 einfach ALLE Pins; die zu löschenden mit 0, und die 
anderen in dem aktuellen Zustand.
So mache ich das auch, und das klappt. Kannst Du auf meiner Seite sehen;
da schalte ich mit PortC Pin03 die Kameras um, und die anderen Pins 
sende ich im momentanen Zustand aus versteckten Checkboxen mit, damit 
die nicht grundsätzlich auf Null gehen (siehe Schaltseite).

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840

von Nickodemus (Gast)


Lesenswert?

Hallo,

ich möchte in der main PC0-3 schalten, PC0 und PC1 lassen sich schalten, 
aber bei PC2 und PC3 passiert nichts. Die Pins müsste ich docheigentlich 
verwenden können oder?

Mfg. Nickodemus

von Nickodemus (Gast)


Lesenswert?

Hab den Fehler gefunden, für alle die das gleiche Problem haben: Die 
JTAG Fuse muss rausgenommen werden.

Schönen Abend noch!

von Sebastian (Gast)


Lesenswert?

Hab mir das Board von Pollin gekauft.

Jetzt frage ich mich gerade, ob es möglich ist, das Ding mit einer 
einfachen Homepage zu steuern. (mit HTML oder JAVA)

Oder muss man sich dazu selber ein Programm schreiben (cgi)?

Gruss
Sebastian

von sven (Gast)


Lesenswert?

und was hast du geantwortet als du dich gefragt hast?

also entweder hast du die letzten 1000 posts übersprungen - denn da wird 
ja genau das besprochen "das ding mit einer einfachen hp zu steuern"

oder du solltest dein anliegen etwas detaillierter darlegen

gruß
sven

von Sebastian (Gast)


Lesenswert?

@Sven: Genau das hab ich gemacht!

Ich hab mir das Board bei Pollin bestellt und dann nach Inforamtionen
und Foren zur Platine gesucht. Es gibt zwar noch
http://son.ffdf-clan.de/
aber da steht auch nicht viel drinnen. Die größte Masse - an leider
unsortierter - Informationen sind hier zu finden.
Wenn man von Anfang an aktiv in diesem Artikel mitgearbeitet hat,
mag einem vielleicht nicht auffallen, dass es eine absolute
Zumutung ist sich hier durch 1000 Artikel zu all möglichen
Problemen zur Platine durchzuarbeiten. (ich denken man wird schon
mehrere Stunden Lesestoff haben)

Deswegen meine Frage:
Kann ich eine Homepage erstellen (nur mit HTML und JAVA)
mit der ich das Board steuern kann?
Und zwar mit der Original - Pollin - Software

Ich habe Webspace für html bei strato und würde gerne damit
meinen Pollin steuern. z.B.: Relais setzen

Gruss
Sebastian

von Chris M. (shortie)


Lesenswert?

Sebastian wrote:
> @Sven: Genau das hab ich gemacht!
>
> Ich hab mir das Board bei Pollin bestellt und dann nach Inforamtionen
> und Foren zur Platine gesucht. Es gibt zwar noch
> http://son.ffdf-clan.de/
> aber da steht auch nicht viel drinnen. Die größte Masse - an leider
> unsortierter - Informationen sind hier zu finden.

Richtig und damit wird einem besser geholfen als über zig Seiten sich 
Infos zusammensuchen zu müssen.


> Wenn man von Anfang an aktiv in diesem Artikel mitgearbeitet hat,
> mag einem vielleicht nicht auffallen, dass es eine absolute
> Zumutung ist sich hier durch 1000 Artikel zu all möglichen
> Problemen zur Platine durchzuarbeiten. (ich denken man wird schon
> mehrere Stunden Lesestoff haben)

3-4 Abende :-)
Aber scheinbar möchtest Du dich nicht mit dem Board genauer 
auseinandersetzen, sondern sofort eine fertige Lösung haben.


> Deswegen meine Frage:
> Kann ich eine Homepage erstellen (nur mit HTML und JAVA)
> mit der ich das Board steuern kann?
> Und zwar mit der Original - Pollin - Software
>
> Ich habe Webspace für html bei strato und würde gerne damit
> meinen Pollin steuern. z.B.: Relais setzen

Ich würde sagen Du kannst das nicht.

Erstens kann die Pollin-Software nur eine Art Telnet.
Zweitens bin ich mir nicht sicher ob Du von Strato aus die Zugriffe auf 
dein Board ohne weiteres hinbekommst. Du müßtest von dem Webserver dort 
eine TCP-Verbindung zu Port 50290 deines Boards (was vermutlich hinter 
einem Router mit dynamischer IP im internen Netz liegt) hinbekommen.

Sorry für die klaren Worte, aber das Internet ist und wird kein 
Selbstbedienungsladen wo man alles ohne eigenes Zutun bekommt wie man es 
möchte. Ich hatte bis vor zwei Wochen auch noch keine Ahnung von 
Mikrocontrollern und was man damit alles anstellen kann, aber ich hab 
auch viel erstmal gelesen um zu verstehen was man alles machen kann und 
muß.

Gruß Shortie

von Klaus H. (df8jb)


Lesenswert?

> Kann ich eine Homepage erstellen (nur mit HTML und JAVA)
> mit der ich das Board steuern kann?
> Und zwar mit der Original - Pollin - Software


Klar geht das; alles, was eine tcp-Socket-Verbindung machen kann, 
kannste dafür nehmen.
Ich habe es mit einem php-Script gemacht, das auf einem entsprechenden 
Server oder auch bei mir zuhause lief.

Steht auch irgendwo in diesem Thread...

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
   ausgelagerte webpage.h: http://avrboard.eluhost.de/
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kamera: 2x Philips DC-3840

von Sebastian (Gast)


Lesenswert?

danke für die antworten.

@klaus: tja, vielleicht werd ich mich mal in php
einarbeiten... wird aber zur zeit noch nicht von meinem
strato-account unterstützt.

@shortie:
shortie wrote:
> Richtig und damit wird einem besser geholfen als über zig Seiten sich
> Infos zusammensuchen zu müssen.
Na,.... das ist ja wohl nicht ernst gemein :-)
Klare Strukturen helfen beim arbeiten und lernen
generell immer.

von Chris M. (shortie)


Lesenswert?

Sebastian wrote:
...

> @shortie:
> shortie wrote:
>> Richtig und damit wird einem besser geholfen als über zig Seiten sich
>> Infos zusammensuchen zu müssen.
> Na,.... das ist ja wohl nicht ernst gemein :-)
> Klare Strukturen helfen beim arbeiten und lernen
> generell immer.

Mit Seiten meinte ich Webseiten (also verschiedene URLs) falls das nicht 
rüber kam.

von Klaus H. (df8jb)


Lesenswert?

>@klaus: tja, vielleicht werd ich mich mal in php
>einarbeiten... wird aber zur zeit noch nicht von meinem
>strato-account unterstützt.

Hi Sebastian,

White Rabbit hat hier im Forum zwei lauffähige php-Scripts eingestellt, 
die sind eine gute Grundlage, auch zum Einarbeiten:
Beitrag "Re: AVR für wenig Geld im LAN"
Beitrag "Re: AVR für wenig Geld im LAN"

Such Dir einen kostenfreien Hoster mit Serverdienst, der php 
unterstützt,
kannst auch Deinen eigenen Apache-Server benutzen, z.B. mit MAMP / 
XAMPP, das ist zum Testen auf jeden Fall am besten und kostet auch nix.
Läuft bei mir gut, siehe unten.

Gruß Klaus

-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840

von Thomas (Gast)


Lesenswert?

Hallo,
ich bin ein wenig verzweifelt, da ich den Net-IO nicht zum Laufen 
bekommen, auch nach Durchsuchen dieses Threads nicht.

Status:
- Ist über seriell ansprechbar (z.B. IP darüber gesetzt)
- Firmware 1.03, probeweise auch mal neu geflasht
- MAC-Adresse neu gesetzt und kann nach Reboot auch seriell ausgelesen 
werden
- Grüne LED am Ethernet blinkt
- Gelbe leuchtet nicht (das ist wohl auch das Problem)

wenn ich den ENC28J60 im laufenden Betrieb über die Pins 10+11 resette 
leuchtet die gelbe nach kurzer Zeit auch. Die Kommunikation funktioniert 
aber trotzdem nicht.

IP-Adresse ist im richtige Netz, ich würde eine falsche IP-Konfiguration 
ausschliessen.

Hat jemand eine Idee, was ich probieren kann?

Thomas

von Sebastian (Gast)


Lesenswert?

@Klaus:
Vielen Dank für die Infos. Deine Internetseiten sind
sehr motivierend. Ich werde mich dann mal in php einarbeiten
und mein Board so anzusteuern versuchen. Hab den Apache auch
schon zum laufen bekommen.

@shortie:
Sorry, dann hab ich dich missverstanden. Ich finds halt nur
Schade, dass diese gesammelten Informaitonen auf dieser Seite
nicht auf meherer Seiten strukturiert wurden. Aber nachher
ist natürlich auch immer gut meckern...., ich weiss. Wie man
liesst hat sich das wohl leider so ergeben

nochmals vielen dank
Sebastian

von Chris M. (shortie)


Lesenswert?

Sebastian wrote:
> @Klaus:
> Vielen Dank für die Infos. Deine Internetseiten sind
> sehr motivierend. Ich werde mich dann mal in php einarbeiten
> und mein Board so anzusteuern versuchen. Hab den Apache auch
> schon zum laufen bekommen.

Dazu muß aber die Socketunterstützung in PHP drin sein - ob das dann bei 
Strato der Fall ist weiß ich nicht.

Schauen kannst du indem Du eine php-Datei (z.B. phptest.php) anlegst und 
aufrufst:
1
<?php
2
phpinfo();
3
?>
Darin muß gegen Ende der Seite sockets stehen und in einem blauen 
Kasten "Sockets Support | enabled"

Wenn das nicht gegeben ist gehts nicht - da dann fsockopen() unbekannt 
ist.

von Klaus H. (df8jb)


Lesenswert?

Thomas wrote:
...
> - Grüne LED am Ethernet blinkt
> - Gelbe leuchtet nicht (das ist wohl auch das Problem)

Hi Thomas,

das liest sich so, als hättest Du das Board mit einem 1:1-Kabel direkt 
an den Rechner angeschlossen.
Du musst ein Cross-Kabel nehmen, oder das Board mit dem 1:1-  Kabel an 
einen Switch stecken.
Wenn Du das schon so hast, könnte der Quarz für den ENC evtl. nicht 
schwingen; Lötstellen, Cs usw. mal kontrollieren.

(die grüne LED blinkt normal nicht, sondern bleibt an als Link-Kontrolle 
für den Anschluss, die gelbe blinkt bei data traffic)

Gruß Klaus
--------------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
--------------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840840

von Nickodemus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich baue nun schon seit einigen Wochen an meinem Steckdosenschalter, 
welcher nun soweit fertig ist(siehe Photo). Deshalb für die die es 
interresiert eine kleine Anregung für eure AVR-Projekte. 
Hauptbestandteile sind das Pollin Board und Solid State Relais (Crydom 
MP240D4) zum Schalten der Steckdosen. Diese sind ideal da sie kaum Strom 
ziehen und direkt an die 5V gehängt werden könnnen. Der Gesamtverbrauch 
liegt zwischen 1,3W-2,5W, je nachem wieviele der 4 Relais an sind.

von Gerd A. (inputsammler)


Lesenswert?

Hey Nickodemus

Darf ich dich Fragen welche Soldi du verbaut hast.
Denn ich mache gerade das Selbe.
Nur ich möchte das mit 7 Triac und Opto machen ist doch etwas künstiger 
oder?

von Nickodemus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Gerd,

ich hatte die Crydom MP240D4 (siehe Datenblatt) verbaut, die gabs fürn 
paar Euro (<3€) beim Pollin, aber scheinbar haben die die nichtmehr. Die 
haben 4A Schaltleistung und haben 4000V Überschlagsfestigkeit weswegen 
ich mir die Optokopller ersparen konnte. Ich finds so besser, auch wenn 
es ein bissel teurer ist, weil ich ungern eine grosse Schaltung an 230V 
bauen wollte, da fehlt mir die Erfahrung. So ist alles kompakt in einem 
Gehäuse.

Mfg. Nickodemus

von Thomas (Gast)


Lesenswert?

Hallo Klaus,

vielen Dank für die Antwort.

> das liest sich so, als hättest Du das Board mit einem 1:1-Kabel direkt
> an den Rechner angeschlossen.

Nein, das Board hängt an einem Switch, die Verkabelung stimmt. Der 
Switch zeigt auch per LED an, das was angeschlossen ist.

> Wenn Du das schon so hast, könnte der Quarz für den ENC evtl. nicht
> schwingen; Lötstellen, Cs usw. mal kontrollieren.

Habe ich vorhin schon mal gemacht, aber ohne Erfolg :-(  Ich habe dann 
mal einen Kondensator 33nF zwischen 11 und Masse am ENC gelötet, damit 
der vernünftig resettet. Jetzt leuchtet auch die gelbe LED und die grüne 
flackert weiterhin (jedenfalls bei jedem 3. oder 4. mal Anlegen der 
Spannung). Aber übers Netz kann ich das Teil immer noch nicht erreichen. 
Merkwürdig.

> (die grüne LED blinkt normal nicht, sondern bleibt an als Link-Kontrolle
> für den Anschluss, die gelbe blinkt bei data traffic)

Scheint bei mir umgekehrt zu sein. Die gelbe ist links (wenn man von der 
Steckerseite schaut) und leuchtet ständig (oder eben gar nicht, wie oben 
beschrieben) und die grüne rechts unten flackert bei Traffic.

Vielleicht hat der ENC ja einen Schaden. Sonst weiss ich langsam nichts 
mehr...

Thomas

von Sascha (Gast)


Lesenswert?

@Thomas

> Jetzt leuchtet auch die gelbe LED und die grüne
> flackert weiterhin (jedenfalls bei jedem 3. oder 4. mal Anlegen der
> Spannung). Aber übers Netz kann ich das Teil immer noch nicht erreichen.
> Merkwürdig.

Das gleiche hatte ich auch allerdings erst nach dem ich ne Kamera 
angeschlossen hatte.

Das Problem war einfach nur eine zu geringe Spannung vom Netzteil.
Bei mir ist es jetzt ein Netzteil mit 9V und ca 1000mA.

Sascha

von Klaus H. (df8jb)


Lesenswert?

Sascha wrote:
> @Thomas
>
>
> Das Problem war einfach nur eine zu geringe Spannung vom Netzteil.
> Bei mir ist es jetzt ein Netzteil mit 9V und ca 1000mA.
>
> Sascha

Ja, das kann es gut sein; wenn man nach dem Zusammenbau nicht BEIDE 
Spannungen im Betrieb nachmisst, passiert sowas. Mir ging es ähnlich...
Kritisch sind die 3,3 Volt für den ENC, am einfachsten zu messen an der 
Kühlfahne vom LM317  IC2.  Wenn da weniger  anliegen, tut's der ENC 
einfach nicht zuverlässig. Meine gemessene Grenze war knapp unter 3,0 V, 
ab da war alles OK. Darunter ist das LED-Verhalten wie bei Thomas im 
Moment, und nichts geht im LAN.
Die 5 Volt sind einigermaßen unkritisch, weil der AVR auch weit drunter 
läuft. Deshalb  geht es noch seriell, wenn per LAN schon lange nichts 
mehr geht.

Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840840

von Micha (Gast)


Lesenswert?

Hallo Zusammen,

vielleicht hatte jmd. schon dieses Problem mit dem AVR-NET-IO:

Wenn ich das Board in Betrieb nehme, dann kann ich die 
Netzwerkschnittstelle ca. 30 Sekunden lang anpingen und danach nicht 
mehr. Verbindung über die Serielle Schnittstelle bekomme ich auch nur 30 
Sek hin. Danach nicht mehr.

Es ist noch die SW auf dem ATMEGA die von Pollin vorab aufgespielt 
wurde. Ich werde heute mal mit den Bauteilen zu einem Kollegen fahren 
und dann die SW  austauschen.

Hoffe ich richtig, das es an der Software liegt, oder habe ich einen 
Fehler im Aufbau?

Gruesse

Micha

von Harry S. (littlegonzo)


Angehängte Dateien:

Lesenswert?

Hallo Leute,
ich habe auch mal ein bissel rumgespielt mit dem Board.
Ich habe Rob's 1-Wire Version mit der super Routine von Peter Denneger's 
RC5 kombiniert.
Da Timer0 nicht genutzt wurde war es sehr einfach.
Wenn jemand interesse daran hat, erkläre ich mal wie man es einbindet.
Meine direkten Sourcen sind nur ein bissel angepasst beim Original..

Im Prinzip die rc5.c von Peter mit kompilieren im Makefile eintragen;
bei timer.c in der timer_init() ans Ende hinzufügen
-----------------------------------
...
1
  TIMSK0 = 1<<TOIE0;      //enable timer interrupt fue RC5
2
  TCCR0B = 1<<CS02;      //divide by 256 fuer RC5
direkt vor ->
1
#endif
2
return;
ACHTUNG obere Register sind für Mega644P also evtl. anpassen für M32!
-----------------------------------
Das wird in die config.h eingetragen
1
#define  xRC5_IN    PINA
2
#define  xRC5    PA1      // IR input low active
3
extern volatile unsigned int  rc5_data;    // store result

-----------------------------------

Dann habe ich in der main.c 3 Variablen hinzugefügt..
1
unsigned char Device, Key;
2
unsigned int i;
und das wird ausgeführt in der Haupt-while(0) Schleife:
1
cli();
2
i = rc5_data;      // read two bytes from interrupt !
3
rc5_data = 0;
4
sei();
5
if( i ){
6
//    Toggle=( i >> 11 & 1);  // Toggle Bit
7
Device=( i >> 6 & 0x1F);  // Device address
8
Key=(i & 0x3F) | (~i >> 7 & 0x40); // Key Code
9
lcd_print(3,0,"D - %i K - %i ",Device,Key);
10
if(Key==65)  back_light = 1;
11
if(Key==66)  back_light = 0;
12
}
Achtung ich verwende einen Mega644p und ein 4 Zeilen LCD als 3 Wire.

Wenns Probleme gibt, einfach schreiben...

Grüße
Harry

von Harry S. (littlegonzo)


Lesenswert?

Hallo Micha,
klingt für mich ein wenig nach zu knapper Spannungsversorgung oder genau 
das Gegenteil zu großer das der 7805 abschaltet weil er zu heiß wird.

Ich habe inzwischen 2 Boards und bei dem 2ten habe ich jetzt diesen 
kleinen Step-Down Wandler von Pollin für 4,95. Den auf 5 V geregelt und 
bis auf den Enc wird nix mehr warm ;-)

Was für ein Netzteil nutzt Du?

Gruß Harry

von M. W. (hobbyloet)


Lesenswert?

Hallo Harry,

hast Du auch einen Schaltplan?
Welchen TSOP, wie angeschlossen, Fragen über Fragen, ich weiss.

Wäre nett von dir, ein paar mehr Details bekannt zu geben.

Gruss Marcel

von Harry S. (littlegonzo)


Lesenswert?

Hallo Marcel,
also Schaltplan hab ich für den TSOP1736. Das Ding hat 3 Anschlüße, 
Plus, Masse, Signal.
Anschlußbelegung:

o+-----    +5V
o------   Masse

os-----   PA1

Das wars. Evtl. Filterkombination 100 Ohm in Plus und kleinen Elko 10uF 
dahinter.
Mehr braucht es nicht.


Gruß
Harry

von Harry S. (littlegonzo)


Lesenswert?

Sorry fehlte natürlich "nicht". Also ich habe in dem Sinne keinen 
Schaltplan.

Gruß Harry

von Gerd A. (inputsammler)


Angehängte Dateien:

Lesenswert?

Habe Ethersex mal drauf,


IP 192.168.1.99
ATmega 32

Funktionen Aktiv:
- FS20 Steckdosen ansteuern PD7
- OW auslesen (ID) PD6
- OW einfach anschließen liest jeden Sensor am BUS aus
- und Alle AD aktiv
- Portübersicht (Steuerbar)

Absteuerbar alles über netcat oder über browser zum testen nicht 
schlecht.

zb. OW auslesen über browser
1
- http://192.168.1.99/ecmd?1w+list
2
- http://192.168.1.99/ow.ht
3
- http://192.168.1.99/Xow.ht (Grafik)
fs20 ansteuern (mein code)
1
- http://192.168.1.99/ecmd?fs20+send+0x3836+0x59+0x00 aus
2
- http://192.168.1.99/ecmd?fs20+send+0x3836+0x59+0x10 ein
3
oder netcat
4
echo fs20 send 0x3836 0x59 0x10 | nc 192.168.1.99 2701 -d 1 ein
5
echo fs20 send 0x3836 0x59 0x00 | nc 192.168.1.99 2701 -d 1 aus
Gruß Gerd

von Christian H. (cni) Benutzerseite


Lesenswert?

Weiß jemand, ob die RoBue Software evtl. auf dem myEthernet läuft?
Von den Bauteilen her sind es ja die gleichen, evtl. sind die Ports ja 
anders.
Aber im Prinzip müsste es doch laufen, oder?
Und wenn wir schon dabei sind, läuft die RoBue Firmware auf dem 
ETH_M32_EX von Ulrich Radig?

Danke

Gruß
Christian

von Pati (Gast)


Lesenswert?

Hallo *,

ich habe mal eine frage. Ich habe hier noch einen Sensor liegen, der 
einen Ausgangsstrom von 4- 20mA ausgibt. (Bei 10V)
Jetzt wollte ich fragen, ob ich den Sensor an der Schaltung anschließen 
kann.
Ich habe in moment keine wirkliche Idee wie es mit dem AVR messen kann.
Vielleicht hat jemand von euch eine gute Idee.

 Ich würde mich über eine Antwort freuen.

Mit freundlichen Grüßen

  pati

von W. S. (wope)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Für die, die den Originalbootloader nicht kaputt machen wollen - und 
schon gar keinen ISP-Programmer besitzen - gibt es hier eine Lösung.

Habe mich mit dem Original-Bootloader des AVR-NET-IO gespielt. Es ist 
ein "verkrüppelter AVR109-typ". Die Signatur ist verändert und es gibt 
kein Blockwrite des Flash. Read geht gar nicht, ebenso der Zugriff von 
EEPROM & Fuses. Damit erkennen ihn keine Programmer über die Serielle.

Habe aber den aktuellen avrdude v5.6 soweit anpassen können, dass er 
diesen Typ auch erkennt. Ein netter Nebeneffekt: der avrdude sollte dann 
auch "originale" AVR109 Bootloader ohne Block-Write ansteuern können 
(momentan bricht er ja ab).

Um Unsicherheiten zu vermeiden: es kann mit dem unten beschriebenen 
Patch des AVRPROG mit dem Original-Bootloader des AVR-NET-IO direkt über 
die eigene serielle Schnittstelle programmiert werden. Auch das 
originale Windowsprogramm von Pollin kann nachwievor verwendet werden, 
um das Originalflash wieder einzuspielen.

DER PATCH IST NICHT NOTWENDIG, WENN EIN PROGRAMMER AM ISP-STECKER 
VERWENDET WIRD ODER WENN DER BOOTLOADER GEGEN EINEN VOLLSTÄNDIGEN 
AVR109/AVR910/... KOMPATIBLEN GETAUSCHT WURDE.

Anbei ein Patch des Files. Ich musste nur die Datei butterfly.c 
anpassen.

Um den AVRDUDE neu zu kompilieren
(sourcen bekommt man z.B. von 
http://www.very-clever.com/download/nongnu/avrdude/avrdude-5.6.tar.gz) 
wie folgt vorgehen:

tar xvzf avrdude-5.6.tar.gz
cd avrdude-5.6
cat ..\avrdude-5.6_avr-net-io.patch | patch -p0
./bootstrap
./configure
make

Dann kann man ein
make install
ausführen. Ev. muss man beim configure den Installationspfad mit 
--prefix=<dir> anpassen.
Unter Windows gibt es sicher auch Anleitungen - da bin ich aber weniger 
der Experte :-)

avrdude verwenden:

MAN KANN MIT DEM ORIGINAL AVR-NET-IO BOOTLOADER NUR FLASH-SCHREIBEN 
AUSFÜHREN, ALLES ANDERE FUNKTIONIERT NICHT (bootloader bleibt hängen 
oder das Flash ist korrupt). Verwenden natürlich auf eigenes Risiko...

Jumper auf "Programmieren" stellen, AVR-NET-IO mit Spannung versorgen.

Dann:

 ./avrdude -P serial -c avr109 -p m32 -b 57600 -u -V -U 
flash:w:Webserver_MEGA32.hex

Nochmal:
-u, -V ist wichtig, da Flashread und Fuses nicht modifiziert werden 
können!!!
-U ist nur mit flash:w erlaubt!!!
(das Hexfile ist natürlich nur ein Beispiel).

Geduldig warten, wenn avrdude fertig ist die Spannung wegnehmen und 
Jumper wieder zurückstellen.

Viel Spass damit!

PS - anbei ein log:

[user@localhost avrdude-5.6]$ ./avrdude -P /dev/ttyUSB0 -c avr109 -p m32 
-b 57600 -u -V -C /etc/avrdude/avrdude.conf -U 
flash:w:/media/disk/Downloads/Webserver_MEGA32.hex

Connecting to programmer: .
Found programmer: Id = "NET-I/O"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer requires unbuffered memory access. So please be patient...

Programmer supports the following devices:
    Device code: 0x7f

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.02s

avrdude: Device signature = 0x1e9502
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed
         To disable this feature, specify the -D option.
avrdude: current erase-rewrite cycle count is 1061109567 (if being 
tracked)
avrdude: erasing chip
avrdude: reading input file "/media/disk/Downloads/Webserver_MEGA32.hex"
avrdude: input file /media/disk/Downloads/Webserver_MEGA32.hex auto 
detected as Intel Hex
avrdude: writing flash (29866 bytes):

Writing | ################################################## | 100% 
489.75s



avrdude: 29908 bytes of flash written

avrdude done.  Thank you.

[user@localhost avrdude-5.6]$

von W. S. (wope)


Lesenswert?

Pati wrote:
> ich habe mal eine frage. Ich habe hier noch einen Sensor liegen, der
> einen Ausgangsstrom von 4- 20mA ausgibt. (Bei 10V)
> Jetzt wollte ich fragen, ob ich den Sensor an der Schaltung anschließen
> kann.
> Ich habe in moment keine wirkliche Idee wie es mit dem AVR messen kann.
> Vielleicht hat jemand von euch eine gute Idee.

Da kann ich helfen. Könnte ev. sogar ganz leicht gehen. Einen 
Schaltungsvorschlag kann ich aber erst geben, wenn ich folgende Dinge 
weiss:

- hat der Sensor 2 Versorgungspins (also sowas wie Vdd und GND) und 
einen Stromausgang (sowas wie Iout)?
Wenn ja:
Was sagt die Spezifikation zur zulässige min/max Spannung am Iout aus, 
damit der Stromausgang nicht "zusammenbricht"

- hat der Sensor nur 2 Pins und ändert seinen eigenen Versorgungsstrom 
im angegbenen Bereich?
Wenn ja:
Was ist die zulässige Minimalversorgungs- und Maximalversorgungsspannung 
des Sensors?

Das zum Pinout - dann folgt noch folgendes:

- ist das ein lineares Signal (also "analog") oder wird ein digitales 
Protokoll gesendet (PWM, Manchester, ...)?

Am besten wäre es, Du würdest den Typ nennen und ggf. einen Link zum 
Datasheet, das vereinfacht die Sache...

von Pati (Gast)


Lesenswert?

Hallo Wolfgang,

erst mal besten Dank für die schnelle Antwort.
Ich habe Dir mal die Daten von dem Druckmessumformer abgeschrieben.
Hoffe das alles so richtig ist, da man das Typenschild nicht mehr so gut 
lesen kann.

es ist ein Drucksensor von JUMO
Ein Midas 401001/000-461-405-523-20-601-61/000
0 bis 25 bar
DC 10-30 V
4..20mA

Datenblatt kann unter
http://www3.jumo.de/pio/JUMO/de_DE/prd/40.1001/jumo-midas-druckmessumformer.html
downloaden.

Gruß
  pati

von Thomas (Gast)


Lesenswert?

Hallo Klaus und Sascha,

vielen Dank für eure Antworten.

> Das Problem war einfach nur eine zu geringe Spannung vom Netzteil.
> Bei mir ist es jetzt ein Netzteil mit 9V und ca 1000mA.
>
> Sascha

> Kritisch sind die 3,3 Volt für den ENC, am einfachsten zu messen an der
> Kühlfahne vom LM317  IC2.  Wenn da weniger  anliegen, tut's der ENC
> einfach nicht zuverlässig. Meine gemessene Grenze war knapp unter 3,0 V,
> ab da war alles OK. Darunter ist das LED-Verhalten wie bei Thomas im
> Moment, und nichts geht im LAN.

Ich habe nachgemessen: es liegen 3,4V am ENC an, das sollte dann ja 
reichen. Und am 7805 sind es 4,9V. Ich betreibe das ganze momentan mit 
einem Labornetzteil, sollte also eigentlich keine Probleme mit der 
Spannung geben.

Habt noch Ideen, was ich nachprüfen/-messen könnte?

Gruß

Thomas

von W. S. (wope)


Angehängte Dateien:

Lesenswert?

Hallo Pati,

habe mal draufgeschaut. Wenn ich richtig gesehen habe, liefert der 
Sensor einen Strom proportional zum Eingangsdruck, für eine Versorgung 
von 10-30V.

Der große Versorgungsbereich sollte eine einfache Schaltung ermöglichen, 
habe eine Skizze angehängt. Hier eine zusätzliche Erläuterung:

* Ich gehe davon aus, es gibt extern eine höhere Spannung für den 
Sensor, ich nehme mal >=12V an.
Der negative Anschluß davon ist mit dem Ground des AVR-Board s 
verbunden, der positive Anschluß geht zum positiven Anschluß des 
Sensors.

* Der Sensor geht nicht direkt wieder zum Ground, sondern bekommt einen 
sogenannten Sense- (oder Abtast-)Widerstand R.

* Der Sensor muß immer mindestens 10V "sehen", der Rest darf am R 
abfallen.

* Der höchste Abfall am R wird bei den 20mA passieren. Dort dürfen max. 
12V-10V=2V abfallen. Damit bekommt man für R 100 Ohm.

* Bei 4mA ergeben sich dann 0.4V Abfall (und 12V-0.4V=11.6V am Sensor, 
das ist auch ok).

Den Spannungsabfall am R kann man nun mit dem AVR messen. Max. Druck -> 
20mA -> 2V und Min. Druck -> 4mA -> 0.4V.

Der 2. Widerstand und die Zenerdiode sollten nicht fehlen, damit im 
Fehlerfall des Sensors (oder bei Kurzschluß gegen die Sensorversorgung) 
am AVR-Eingang die Spannung limitiert wird und eine Zerstörung 
verhindert. (gerade beim Experimentieren mit höheren Spannungen als 5-6V 
am Versuchsaufbau geht sowas schnell!!)

Mögliche Verbesserungen:

Die Spannungen am Sensor beim Maximaldruck ist natürlich am Limit. Wenn 
man die Toleranzen von R berucksichtigt, könnten etwas weniger als 10V 
am Sensor abfallen. Daher:

R etwas kleiner machen -> damit wird die gemessene Spannung etwas 
kleiner, aber der Spannungsabfall am Sensor bleibt sicher größer als 
10V.
Bei R=82Ohm:  20mA -> 1.64V / 4mA -> 0.328V

Sensorspannung etwas größer (ca. 0.5V) -> damit ist die "Reserve" am 
Sensor größer.

Ebenfalls kann man R verdoppeln (z.B. 180 Ohm), wenn man mit der 
Sensorspannung z.B. auf 15V geht. Damit kann man dann auch mit besserer 
Auflösung messen, weil der Spannungshub größer wird.

Zuguterletzt gibt es natürlich auch aufwändigere Schaltungen: 
Stromspiegelschaltungen mit sogennanten "matched pairs" oder verbesserte 
I/U-Konverter mit Operationsverstärker o.ä.. Das kann man sich 
überlegen, wenn die Messergebnisse nicht gut genug sind.

So, ich hoffe es ist soweit verständlich. Sonst gerne fragen!

Liebe Grüße,
Wolfgang

von Pati (Gast)


Lesenswert?

Hallo Wolfgang,

besten dank erst einmal. Werde es nächste Tage mal ausprobieren.
Muss mir noch ne Zener Diode und nen neuen Atmega bestellen.

Schöne Grüße

von x-ray (Gast)


Lesenswert?

Ich bitte um Hilfe:

habe derzeit 2 Stück DS18s20 Sensoren an mein Board angeschlossen > ok
aber sobald ich einen 3 Sensor anschließen will gehen alle 3 auf 85C
klemme ich den 3 wieder weg ist die anzeige der beiden wieder in Ordnung

Gruß
  x-ray

von Chris M. (shortie)


Lesenswert?

wie hast du die Sensoren angeschlossen?

Widerstand 4,7k zwischen +5V und Data-Pin?
Wo ist der 5V Pin der Sensoren angeschlossen oder hängt der in der Luft?

von x-ray (Gast)


Lesenswert?

Hallo Chris,

der 4,7K ist zwischen 5V und Data on Board (blaue klemmen)

Sensor Pin 1 an GND  Platine
Sensor Pin 2 an ADC1 Platine
Sensor Pin 3 frei

Beide Sensoren sind direkt an der Platine (klemmen) angeschlossen.

Gruß
   x-ray

von Chris M. (shortie)


Lesenswert?

Ok - evtl kannst du mal den Widerstand verkleinern auf 3,3k.

Mit der Belegung des Sensors kommst du klar ?
Flache bedruckte Seite zu dir und Beinchen nach unten, dann ist links 
Pin 1 (GND), mitte Pin 2 (Data) und rechts Pin 3 (5V)

Verbinde mal Pin 1 mit Pin 3 an den Sensoren (nicht am Board) direkt. 
Beim parasitären Mode muß / sollte  die 5V Leitung des Sensors auf Masse 
gelegt werden.

Bist du sicher daß deine Sensoren sauberen Kontakt zum Board haben? 
Irgendwo (oben?) schrieb mal jemand, daß es bei ihn an den Lüsterklemmen 
die er im Bus hatte lag. Lieber also jeweils 5 cm Kabel dazwischenlöten 
und nur das Kabel am Board verschrauben.

von x-ray (Gast)


Lesenswert?

Hallo Chris,

Danke für deine Unterstützung  > Problem gelöst!! <

Habe für die Sensoren Steckverbindungen genommen >>> jetzt gelötet <<<
Bei 2 Sensoren habe ich eine Teststrecke von je ca.50m 2x0,6 verwendet.
>>> jetzt ca.5m <<<
und zusätzlich den Widerstand auf 3,3kOhm verringert und wieder gab es 
eine Anzeige bei einen Sensor mit 85C.
Für eine 2 Stündigen Test habe ich einen 1,2kOhm und in dieser Zeit gab 
es keinen "ausreisser" auf 85C.

Die Frage die sich dadurch ergibt, wie weit kann-darf man den Widerstand 
herabsetzen?

Gruß
   x-ray

von Iwo S. (geht-so)


Lesenswert?

Ich glaube nicht, ob die "85°"-Anzeige an der Kabellänge o.ä. liegt. Ich 
hatte bei meinem Mega32 auch meist nach Servo-Drehungen diese Anzeige, 
während ohne Drehung den ganzen Tag diese "Fehlanzeige" nie erschien. 
Seit dem ich auf einen Mega644 "aufgerüstet" habe, ist das Problem weg. 
Evtl. eine zeitkritische Sache???

von x-ray (Gast)


Lesenswert?

Hallo Iwo,

ist eine Hilfreiche Idee von dir, werde sie gleich umsetzten und einen 
ATMega644 bestellen.

Danke an Chris & Iwo für mein Problem!!!!

Gruß
   X-ray

von Marco P. (Gast)


Lesenswert?

Hallo Leute,

ich brauche mal wieder eure Hilfe,

bin gerade dabei die webpage.h auf meine Bedürfnisse anzupassen...

Dabei habe ich folgendes Problem:

Ich möchte einen "Radiobutton" vorselektieren, also als "checked" haben.

Wie muss ich das "checked" einfügen? Bin leider html-Laie...

z.B. in folgender Befehlszeile (Port C0 soll vorselektiert sein):


"<hr><p align=\"center\"><input type=\"radio\" name=\"OUT\" 
value=\"A\"%PORTC0>"

Ausg_C0


Mfg,

Marco P.

von Marco P. (Gast)


Lesenswert?

Hab`s eben selber gelöst...

es muss lauten:

"<hr><p align=\"center\"><input type=\"radio\" name=\"OUT\"
checked value=\"A\"%PORTC0>"

von self HTML (Gast)


Lesenswert?

Für solche Fragen auch immer eine gute Anlaufstelle:
http://de.selfhtml.org/
Und im Speziellen für Formulare:
http://de.selfhtml.org/html/formulare/index.htm

von Iwo S. (geht-so)


Lesenswert?

@ Marco P

Was erreichst du denn mit dem vorselektierten Button? Wenn du das 
AVR-Board aufrufst, werden die eingeschalteten Funktionen als checked 
und die ausgeschalteten als unchecked dargestellt. Im Prinzip ist das 
doch eine Statusanzeige. Wenn du jetzt per Voreinstellung checked hast, 
ist der Defaultzustend dann eingeschaltet?

von Marco P. (Gast)


Lesenswert?

Hi Iwo,

für ein kleines Projekt möchte ich nur ein paar Ports manuell schalten.
Manche Ports sollen immer vorangewählt sein wenn ich Sie sende! Ich 
spare
mir dafür ein paar Klicks wenn ich sende.

Mal eine andere Frage...ist es möglich, einen Impuls mit nur einen 
Mouseklick (z.B. über einen Button) von einem Port zu senden? Wenn ja, 
wie sieht das programmiertechnisch aus? Alternativ könnte man sicherlich 
ein Monoflop mit RC-Glied als Zeitgeber an den Port anschließen. Das ist 
aber mehr Elektronik und kostet schliesslich Geld.


Mfg,

Marco P.

von Iwo S. (geht-so)


Lesenswert?

Hm, mit Soft habe ich eher nix an der Backe, zumindest, was den 
Sourcecode betrifft. Aber für eine solche Aktion muss m.E. ein Timer 
programmiert werden, der den Port nach der Zeit x wieder ausschaltet.

mfg

von Robert (Gast)


Lesenswert?

Ja, richtig. Um einen (einmaligen) Impuls am Ausgang zu erreichen, 
benötigst du einen Timer. Genau diese Thematik wurde hier "etwas" weiter 
oben bereits aufgegriffen, wenn ich das recht beobachtet habe.

Dies ist hier mein erster Post, ich lese allerdings schon eine Zeit lang 
mit... Habe die Hardware von Pollin und werde in Zukunft die Software 
von Ulrich Radig nutzen.

Die Schaltung war bei mir komplett und funktionsfähig. Habe zunächst 
etwas mit der original Software herumgeklickt... Als ich dann mit dem 
Programmieren los legen wollte, musste ich feststellen, dass mein 
"neuer" Laptop garkein Parallelport mehr hat und ich meinen Programmer 
garnicht mehr benutzen kann. Mittlereweile habe ich ein USBprog3 hier. 
Nach etwas herumtüfteln und anpassen des Makefile läufts jetzt!

Bisher habe ich wie gesagt nur das Radig-Makefile auf mein Linux System 
zugeschnitten und einige Headerfiles konfiguriert.


Kommt Zeit, kommt Code... ;)

von Robert (Gast)


Lesenswert?

Guten Morgen ;)
Wie zuvor beschrieben läuft mein Board - eigentlich. Auch ich hatte das 
Problem, dass das Gerät nur sporadisch erreichbar war.

Daher habe ich zuerst viel über die Fuses gelesen und ausprobiert - ohne 
Erfolg.

Eher zufällig bin ich auf den prog/normal Jumper gestoßen. Nach meinem 
Verständnis wird dieser nur von der Originalsoftware explizit benutzt 
(Bootloader?!). Mit ihm wird Pin B1 auf Masse bzw. VCC gezogen.

Die Radig-Software beginnt bei mir erst zu arbeiten, nachdem der besagte 
Jumper kurz geöffnet/geschlossen wird. Es genügt auch mit dem Finger auf 
dessen Kontakte zu tippen...

Anschließend läuft alles. Dieses "Experiment" ist reproduzierbar und 
tritt bei der ganz neuen Version des Radig-Codes auf.

Kann mir das jemand erklären? Reset-Funktionalität?

Vielen Dank und eine angenehme Nachruhe :)

von Marco Perl (Gast)


Lesenswert?

Hallo allerseits,

ist mir schon klar, dass ich für die Erzeugung eines Impulses einen 
Timer
programmieren muss...Nur ist die Frage an welcher Stelle im Sourcecode?
Ich möchte z.B. einen Puls an irgendeinen Port C haben. Die OneWire- 
Geschichte benötige ich ja z.B. gar nicht.

In der Datei http.c heisst es:

// RoBue:
      // Schaltanweisungen von PORTC1-7 auslesen
      // und in PORT_tmp_C zusammenfügen
      // checkbox-value-Wert A-H in webpage.h

                                     case ('A'):
          PORT_tmp_C = PORT_tmp_C + 1;
          break;

        case ('B'):
          PORT_tmp_C = PORT_tmp_C + 2;
          break;

        case ('C'):
          PORT_tmp_C = PORT_tmp_C + 4;
          break;

        case ('D'):
          PORT_tmp_C = PORT_tmp_C + 8;
          break;

        case ('E'):
          PORT_tmp_C = PORT_tmp_C + 16;
          break;

        case ('F'):
          PORT_tmp_C = PORT_tmp_C + 32;
          break;

        case ('G'):
          PORT_tmp_C = PORT_tmp_C + 64;
          break;

        case ('H'):
          PORT_tmp_C = PORT_tmp_C+ 128;
          break;


Hier kann ich doch keinen Timer programmieren?
An welcher Stelle wird Port C danach weiter verarbeitet?

Ich bin für jeden Tip dankbar!

Mfg, Marco P.

von Tobi (Gast)


Lesenswert?

Hallo!

Ich habe den AVR noch nicht geordert. Würde gerne vorab wissen, ob es 
möglich ist, über die RS232 Schnittstelle auch Daten zu lese und diese 
über LAN weiter zu schicken, bzw. Daten über RS232 auszugeben?

Vielen Dank!

Tobi

von Robert (Gast)


Lesenswert?

Die Originalsoftware lässt sich mittels Telnet und serieller Konsole 
steuern, ähnliche Funktionalitäten bieten auch die meisten anderen 
Implementierungen. Eine Verbindung IP<->RS232 ist natürlich auch 
denkbar...

Es gibt einen Baustein welcher das direkt implementiert, kostet um die 
40 Euro und kann bequem in jede Schaltung mit RS232 integriert werden.

von Alf (Gast)


Lesenswert?

Hallo,
vieleicht kann mir hier jemand helfen.
Ich habe ein AVR-NET-IO von Pollin. Die mitgelieferte SW läuft ohne 
Probleme.
Wenn ich jetzt die Webserver SW von H. Radig, bei der ich nur den 
DHCP-Server aktivert habe, darauf laufen lasse bekomme ich einen Eintrag 
mit der richtigen MAC-Adresse in meinem Router aber der Webserver bleibt 
jetzt hängen. Der Interrupt vom ENC28J60 bleib anstehen.
Nach einigen Untersuchungen habe ich festgestellt das das EIR "ETHERNET 
INTERRUPT REQUEST" und das EPKTCNT "ETHERNET PACKET COUNT REGISTER" auf 
0 stehen, aber der Interrupt vom ENC28J60 steht weiter an. Wiso?

Mit PKTIE "RECEIVE PACKET PENDING INTERRUPT ENABLE" läst sich der 
Interrupt sperren obwohl er ja eigentlich nicht aktive ist "PKTIF=0 und 
EPKTCNT=0". Mit PKTDEC "PACKET DECREMENT" läst sich der Interrupt 
löschen wobei wie gesagt der EPKTCNT=0 ist. Beim nächsten blinken der 
grünen LED von der Ethernet Buchse bleibt der Interrupt wieder stehen 
bis ich PKTDEC aktiviert habe. Ein Paket wird nicht empfangen.
Wie oben bereits erwähnt läuft die mitgelieferte SW also sollte der 
ENC28J60 und seine Beschaltung in Ordnung sein.
Aber was geht hier nicht?

mfg
Alf

von Klaus H. (df8jb)


Lesenswert?

Hallo Alf,

das Pollin-Board ist anders als die Hardware von Uli Radig.
Ändere im File ENC28J60.h

#define ENC28J60_PIN_SS    3  (der zugehörige pin wird m.E. gar nicht 
benutzt)
#define ENC28J60_PIN_CS    4

dann sollte es laufen.

Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840840

von Harry S. (littlegonzo)


Lesenswert?

Hallo Marco,
Du kannst es Dir auch ganz einfach machen, nimm einen kleinen AtMega8 
und programmiere ihn wie Rob Roy für seine Funkschalter. Die erzeugen 
einen Impuls an jeweils einem Pin wenn am Eingang sich der "port" 
ändert.

Wenn Du willst kann ich Dir auch eine angepasste Version für einen 
Tiny2313 senden der mit dem internen Oszilator läuft oder hier 
reinhängen.
Dann braucht man nur den Tiny einen 100nF Kondensator und das wars.
Du kannst mit dem Programm 4 Ports "verpulsen".
Das Programm ist allerdings von RobRoy nicht das ich mich mit falschen 
Lorbeeren schmücken würde!
Das Prgramm für den Tiny2313 oder AtMega8 ist in Bascom Basic und mit 
der Demoversion änderbar...

Gruß Harry

von Alf (Gast)


Lesenswert?

Hallo Klaus,

danke für die Anwort.

Die Pins ENC28J60_PIN_SS und ENC28J60_PIN_CS hatte ich bereits 
angepasst.
Also das ist es leider nicht.
Wie oben beschrieben hat ja das senden anscheinend funktioniert. Die 
Probleme gibt es anscheinend beim empfangen.

mfg
Alf

von Marco Perl (Gast)


Lesenswert?

Hallo Harry S.

würde mich freuen, wenn du hier mal die Codes für beide Controller
hochladen könntest!

Vielen Dank schon mal für deine Mithilfe!


Mfg,

Marco P.

von DirkG (Gast)


Lesenswert?

Vielleicht (einmal mehr) folgender Fehler :

Nach ändern der Mac-Adresse (besser nach JEDER Änderung) ein

MAKE CLEAR

Ich hatte genau den selben Mist (scheint zu gehen, geht aber nicht) und
MEINE Faulheit hat mich eben das Clear vergessen lassen.

Gruß DirkG

von Harry S. (littlegonzo)


Angehängte Dateien:

Lesenswert?

Hallo Marco,
ich habe beide Sourcecodes mal reingehängt.
Bei dem vom Rob-Roy ist 8MHz eingeschaltet. Den Tiny verwende ich mit 
dem internen 1MHz, das reicht für die Aufgabe in jedem Fall.
Das Schaltbild zeigt wie man z.B. eine Fernbedienung für die 
Funkschalter anschließen könnte.

Aber bitte die Soft und auch das Schaltbild ist nicht von mir!
Original ist von Rob-Roy!

Gruß Harry

von Georg (Gast)


Lesenswert?

Hallo Bastelfreunde,
ich bin seit den 18.03.09  Besitzer des AVR-Net-IO.
Mit der auf CD mitgelieferten Software läuft alles wie vom Programmierer 
vorgesehen.
Meine Interessen für dieses Modul liegen jedoch vorwiegend im Bereich 
der  MSR- Technik. Mit analoger Meßtechnik und Steuerungstechnik ohne
Mikrokontrollerprogrammierung komme ich gut zurecht. Im Bereich der 
Programmierung (Programmsprachen, Programm kompilieren und in den 
Schaltkreis übertragen), fange ich bei "Null" an.
Vielleicht gibt es noch weitere Interessenten die dieses AVR-Net-IO 
Modul zur eigenständigen Meß- und Steuerplatine programmieren möchten.

Beispiel für Programmerweiterung dieser Platine:
Wenn in dem Bereich der Analogeingänge Min- und Maxwerte veränderlich 
gesetzt werden könnten, welche mit den Digitalausgängen verknüpft sind, 
könnte man schon einfache Steuer-, Regel- und Überwachungsaufgaben mit 
dieser Platine bewerkstelligen (mini SPS). Ich hoffe, dass meine 
Anregungen Interessenten mit mehr Programmiervorkenntnissen erreichen.

Georg

Wäre es möglich für diese Interessentengruppe einen neuen Betreff 
anzulegen?

von Chris M. (shortie)


Lesenswert?

Georg wrote:
...
> Beispiel für Programmerweiterung dieser Platine:
> Wenn in dem Bereich der Analogeingänge Min- und Maxwerte veränderlich
> gesetzt werden könnten, welche mit den Digitalausgängen verknüpft sind,
> könnte man schon einfache Steuer-, Regel- und Überwachungsaufgaben mit
> dieser Platine bewerkstelligen (mini SPS). Ich hoffe, dass meine
> Anregungen Interessenten mit mehr Programmiervorkenntnissen erreichen.

genau das macht die Software von RoBue die du hier im Thread oder auf 
http://son.ffdf-clan.de findest.

von Georg (Gast)


Lesenswert?

Danke für den Hinweis, bin noch in diesem Bereich Neuling.

von Klaus H. (df8jb)


Lesenswert?

Hallo Erba57 Ba (orfix),

ich habe wieder Deine Seite mit den Temp-Diagrammen angesehen; sieht 
richtig gut aus.
Was ist das für ein php-Script, was da läuft? Selbst programmiert, oder 
gibt es das im Netz?
Ich habe mich auch ein wenig mit php beschäftigt, aber das reicht 
bislang nicht, um sowas darzustellen. Der Weg über web-Dienste, die 
sowas machen, hat bisher nicht zufriedenstellend geklappt.

Kannst Du mir bitte mal auf die Sprünge helfen?


Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840

von Erba57 B. (orfix) Benutzerseite


Lesenswert?


von W. S. (wope)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

habe Ulrichs Software komplett überarbeitet.

Nachdem die existierenden Quellen viel Arbeit erspart haben, möchte ich 
das hier zurückgeben. Ev. lege ich den Code auf ein öffentliches 
CVS/SVN. Bevor ich was selbst anlege, frage ich mal in die Runde, ob ich 
mich irgendwo mit einem aktuellen Snapshot "einhängen" kann.

Grund für das ganze Umarbeiten: der Code war so ineinander "verstrickt", 
daß man die eigene Applikation von Grundfunktionen nicht gescheit 
trennen konnte. Gewisse Dinge waren auch doppelt und dreifach im Code 
(delays, usart_print, telnet_print, ...) Damit sind auch Add-Ons wie 
SD-Karten Filesysteme u.s.w. immer mit Änderungen an ziemlich jeden File 
nötig gewesen, ganz zu schweigen von übersichtlichen POST-Handling für 
Html-Forms u.s.w. und reuse (dafür gibt es die AVR-libc). Das ganze ist 
noch lang nicht fertig, aber zumindest mal in einem recht brauchbaren 
Zustand.

Gewisse Erweiterungen von RoBue (z.B. 1-Wire) sind nicht dabei (mangels 
Testmöglichkeit mit HW, brauche ich selbst momentan auch nicht), dafür 
sind andere Dinge dabei:
- sauber separiertes, simples FFS als Basis zur Weiterentwicklung 
(flash-Filesystem), das alte webpage.h File sollte man damit recht 
einfach umbauen können (1 Seite ist als Beispiel dabei, die komischen 
%END in jeder Datei sind Geschichte...)
- AVR-libc besser verwendet: FILE-Streams/printf, Delayroutinen,... 
statt selbstgestrickter Funktionen (kann man aber sicher noch mehr dafür 
machen)
- PS2-Keyboardsupport - incl. FILE-IN-Streaming
- USART und Telnet mit FILE-I/O-Streaming
- LCD von 1-4 Zeilen und 16/20 Spalten mit ziemlich beliebigen 
4-bit/seriellen Portkonfigurationen möglich (HD44870),(SED1278F) - 
incl. FILE-OUT-Streaming
- Graphik-LCD-Support (T6963C)  -  incl. FILE-OUT-Streaming
- Überarbeiteter Webserver mit API für File/POST Handling, läuft auch 
ohne Filesystem/Dateien mit "Notprogramm" (speziell mit SD_Karte wird 
das wichtig)
-Make wird auch bei Änderung von config.h korrekt angeworfen (also alle 
Files werden dann neu kompiliert).
Ist auch größtenteils schon in verschiedenen Varianten (eingeschalteten 
USE_xxx Optionen) ausgetestet.

Ausserdem kann man mehrere Applikationen in einem Build-Environment 
halten. Ein Beispiel (example_1) ist vorgegeben. Ggf. NUR dieses 
Verzeichnis kopieren, config.c und config.h anpassen und ggf. eigene 
Codeteile in zusätzlichen Dateien in diesem Verzeichnis und im Makefile 
ergänzen (mehr ist nicht nötig!!!) und "Make all; Make program" sagen.

Alle anderen Codeverzeichnisse sollten für Applikationen nun tabu sein - 
außer zum Bugfixing :-)

Ach ja, ich habe das Zeug unter Linux am laufen, für Wind**s/WinAVR muss 
man ev. ein paar Pfade im Make  anpassen. Unterstützung kann ich dafür 
leider nicht wirklich geben, mangels Erfahrung/Testmöglichkeit.


Fazit: Also erstmal die Files in example_1 (in src) anschauen, sollten 
soweit (hoffentlich) selbsterklärend sein, wenn man schon ein bischen C 
programmiert hat und weiss, wass eine Libc so macht :-)

Viele Beispiele für neue Möglichkeiten habe ich in diesem Paket noch 
nicht drin, werde es aber bei Bedarf und Interesse aus meiner "nicht 
öffentlichen" Entwicklung einbringen (wie einfache, sehr kompakte 
Basic-ähnliche Scriptsprache für Regelungstechnik/CGI/..., damit man 
nicht immer alles kompilieren muss) - muss aber erst schauen, ob ich das 
Zeug hergeben kann (bzw. unter GNU stellen möchte, wenn es niemand 
brauchen kann). Vor allem muss ich den SD-Cardsupport noch einbinden, da 
probiere ich noch verschiedene der existierenden Implementierungen, um 
zu sehen welche die Beste (in Punkto Performance, Stabilität und auch 
Support/Weiterentwicklung) ist.

Grüße,
Wolfgang

von Klaus H. (df8jb)


Lesenswert?

>Autor: Erba57 Ba (orfix)
>Datum: 22.03.2009 17:35
>Hallo Klaus,

>schau mal hier

>http://son.ffdf-clan.de/include.php?path=forum/sho...

Danke für die Info!  Das werde ich mir genauer ansehen.

Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840

von Robert (Gast)


Lesenswert?

Hallo Wolfgang,
das hört sich gut an, ich habe ähnliches vor, stehe allerdings noch 
ziemlich am Anfang.

Bin zur Zeit noch damit beschäftigt, den Radig-Code zu analysieren und 
kommentieren. Werde aber auch deinen Code mal ansehen, vielen Dank!

von eku (Gast)


Lesenswert?

Hallo Wolfgang,

Du entwickelst unter Linux, wie Du schreibst. Solltest die Dateien noch
durch indent formatieren lassen. Sieht einfach besser aus.

Ansonsten ist der Ansatz nicht schlecht und geht in Richtung ethersex.

von Robert (Gast)


Lesenswert?

Hallo,
was mir auch aufgefallen ist, dass die Dateien unterschiedlich codiert 
sind. Ein Teil, besonders die von Wolfgang selbst erstellten Dateien, 
scheinen UTF8 zu sein (gut!!), die Anderen sind vermutlich ISO8859-1.

Die Ordnerstruktur gefällt mir sehr gut, das macht es wesentlich 
übersichtlicher. Ich habe das Makefile noch um einen Doxygen-Abschnitt 
ergänzt. Wenn ich den Quellcode durchgearbeitet habe und ggf. noch ein 
paar Kommentare ergänzt habe, kann ich ihn bei Interesse auch hier 
einstellen.
Kann allerdings nicht versprechen, dass das innerhalb von wenigen Tagen 
passiert...

Viele Grüße, Robert


PS: Ich entwickle auch unter Linux :)

von W. S. (wope)


Lesenswert?

Danke für Euren Input! Die Codierung der Sourcen schaue ich mir mal an. 
Mir ist das auch beim Doxygen-generieren aufgefallen, dass z.T. die 
Umlaute zerschossen wurden. Muss zugeben, bzgl. Formatierung habe ich 
nicht sonderlich aufgepasst, sorry...

Ich weiss aber nicht, wie die Codierung unter WinAVR dann aussieht - 
nachdem es ja Mingw ist, sollte das auch gehen. Aber ich bin gerade 
dabei, eine Win* Kiste mit WinAVR aufzusetzen. Dann schaue ich mir as 
auch an.

Würde das alles auf Sorceforge (oder einem anderen Open-Source 
CVS/SVN/... Server) legen damit mehrere Leute gemeinsam "mitmischen" 
können.

Würde da jemand mitmachen wollen? Gibts sowas ev. ohnehin schon?

--Wolfgang

von Markus B. (licher)


Lesenswert?

Hallo Zusammen
Habe ein kleines Problem bezüglich der digitalen Eingänge. Hat es jemand 
schon mal geschafft  bei geschlossenen Eingang ein wert in die 
daten.html zu schreiben? Das ganze soll für die Heizkreispumpe dienen 
(pumpe ein wert z.b. 50  pumpe aus wert 0) und das ganze für jeden 
Eingang

von W. S. (wope)


Angehängte Dateien:

Lesenswert?

Wolfgang Scherr wrote:
> Für die, die den Originalbootloader nicht kaputt machen wollen - und
> schon gar keinen ISP-Programmer besitzen - gibt es hier eine Lösung.

Habe zum AVRDUDE-Beitrag ein paar Anfragen bekommen, wie man unter 
Windows den AVRDUDE patchen kann. Hier muss ich passen.

--- ABER ---

Man kann die Originalsoftware NetServer.exe patchen, um beliebige 
HEX-Files bis 40324 byte einzuspielen! Ist zwar nicht optimal, aber man 
erspart sich einen ISP-Programmer zusammen zu löten. Der 
original-Bootloader bleibt auch erhalten.

Dank Unix-Utils und Standardshell im WinAVR kein Problem!!!

Man braucht:

a) Windows mit einer aktuellen WinAVR Version installiert
b) NetServer v1.03 von der Pollin-Seite installiert
c) ein Hex-File, dass man gerne am AVR-NET-IO laufen lassen möchte und 
kleiner/gleich 40324 byte ist

Man geht so vor:

1) Das angehängte File NetServerPatcher.sh in das NetServer-Verzeichnis 
(wo NetServer.exe liegt) kopieren
2) Das gewünschte HEX-File (DOS-Format, wie man es mit WINAVR beim 
kompilieren erstellt) auf upload.hex umnennen und auch in das 
Netserver-Verzeichnis kopieren
3) Start->Ausführen->CMD.EXE (DOS-Shell aufmachen)
4) In das NetServer Verzeichnis wechseln
5) "sh NetServerPatcher.sh" eingeben und zuschauen
6) das gepatchte EXE starten und wie beim normalen FW-Upload nach der 
Beschreibung vorgehen (Serielle anstecken, Boot-Jumper setzen, 
einschalten, Upload starten, ausschalten, Jumper weg, einschalten) und 
voila :-)
7) mit der normalen EXE kann man die Original-FW später auch wieder 
einspielen

Ev. bastelt ja jetzt jemand eine Firmware, die den verhunzten Bootloader 
durch einen original AVR109 Bootloader ersetzt, nachdem man es geladen 
und gestartet hat. Direkt mit dem Uploader geht das nicht, weil der 
original-Bootloader des AVR-NET-IO kein Schreiben auf/über dem 
Bootbereich erlaubt (Platz darüber wäre genug...)

Ich hoffe, damit können "nicht-lötende" Windowsuser nun auch was mit dem 
Teil machen :-)

Natürlich alles auf eigenes Risiko. Ist immer gut wenn man die 
Telefonnummer eines Freundes mit ISP hat oder ohnehin schon mit den 
Gedanken spielt einen AVR-ISP zu kaufen :-)

Anmerkung Ev. geht auch mehr an HEX-Code (dahinter im EXE liegt der 
bootloader, den man ja erzeugen kann) - das ist aber zu riskant in 
meinen Augen so im EXE zu "mantschen". Da kann sich jemand anderes gerne 
noch spielen :-)

--Wolfgang

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo,

möchte mit den Eingang AD-A6 die Spannung von meinen Solarmodul messen.

Als Spannungsteiler hab ich  R1= 100 K und  R2 = 27k ( ADC3 + GND)

Also wenn 20 Volt vom Modul kommen liegen am AVR (R2) max.  4,25 Volt 
an.

Ein Test an einen NT funktioniert einwandfrei, wenn ich nun den 
Spannungsteiler an meinen AVR anschließe, wird der schon der Wert 449 
angezeigt, 2,15 Volt.

Wo liegt nun mein Fehler, wer kann helfen?

Mit freundlichen Grüßen

orfix

von Martin (Gast)


Lesenswert?

Hallo orfix,

in der Schaltung ist Quasi ein Pullup. Wenn Du am offenen Eingang mißt, 
liegen dort 5V. Wenn du den Kurzschlussstrom nach GND mißt ergeben sich 
138uA (Pullup -> ca.36k). Da Dein Spannungsteiler so hochohmig ist, 
fallen am 27K beim offenen Teiler 2,15V ab. Dass beim Versuch mit dem NT 
sich eine Spg vom 4,25V ergeben hat kann ich fast nicht glauben. 
Vermutlich war sie etwas höher. Zur Lösung des Problems würde ich einen 
niederohmigeren Teiler empfehlen (z.B 1K und 270R je ca. 0,5W).
Ich hatte ein ähnliches Problem am AD Eingang, als ich einen analogen 
Temperatursensor angeschlossen hatte. Dieser konnte keinen Strom sinken.

Gruss Martin

von Peter (Gast)


Lesenswert?

Hallo,

ist es möglich von dem Board aus andere PCs anzupingen und zu überprüfen 
ob diese an sind? Hab mir die wol_request schon angeschaut aber werde 
daraus nicht schlau.

Gruss Peter B.

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo Martin,

danke für den tollen Tipp, schaut jetzt besser aus.

Der Test mit den Spannungsteiler mit NT war ohne AVR.



Mit freundlichen Grüßen

orfix

von RoBue (Gast)


Lesenswert?

Hallo AVR-NET-IO-Fans,
hiermit will mich mal wieder melden. Bin z.Z. etwas unter Zeitnot, 
deshalb das lange Schweigen. Trotzdem habe ich natürlich den Thread 
weiterverfolgt,


-> Wolfgang Scherr (wope)

Deine Sourcen und dein Konzept finde ich absolut super und wenn ich sie 
vorher gehabt hätte, hätte ich sicher versucht, die Erweiterungen von 
mir in Deine Sourcen einzubauen. Leider haben wir nun 2 verschiedene 
Entwicklungslinien. Ich weiß nun nicht so genau, ob ich Routinen von Dir 
bei mir einbauen soll oder meine in Deine. Vielleicht sollten wir noch 
etwas die Tests abwarten, so dass die evtl. vorhandenen Bugs gefunden 
werden. Dann würde ich ganz gerne auf Deine Sourcen aufsetzen.

Um mit Deinen Sourcen besser zurecht zu kommen, bitte ich Dich um ein 
paar Tipps und Erläuterungen, die mir (uns?) den Einstieg sehr 
erleichtern würden.

- Was meinst Du mit "streaming"? = Scrolling?

- Wie werden die LCD- und UART-Routinen nun angesprochen (Beispiel wäre 
toll).

- Wie sieht die Zusammenarbeit von Webinterface, httpd.c, ... genau aus? 
Wie werden z.B. Variablen dort eingebunden? Wie ist das Konzept. Für ein 
paar Beispiele oder Hinweise wäre ich dankbar.


-> An alle:

Wer die Sourcen von wope in WinAVR eingebunden hat, möge bitte das 
makefile hier einstellen. Danke.

Liebe Grüße, RoBue

von W. S. (wope)


Angehängte Dateien:

Lesenswert?

> Deine Sourcen und dein Konzept finde ich absolut super und wenn ich sie
> vorher gehabt hätte, hätte ich sicher versucht, die Erweiterungen von
> ...
> werden. Dann würde ich ganz gerne auf Deine Sourcen aufsetzen.

Ich denke das können wir "modulweise" machen.
Mein Vorschlag: schreib mir mal eine email (wope <underscore> 12s <at> 
inode.at), dann "schreiben" wir uns mal aus wer was gerne machen möchte 
(oder Skypen,...). Ev. finden sich dann auch noch anderen Interessenten.

Ich würde mal was auf sourceforge, gitoriuous,... aufsetzen, dann können 
wir beide gleichzeitig daran arbeiten. Aber auch da können wir uns 
zuerst noch absprechen. Vor allem die ganzen onewire Sachen kann ich 
leider überhaupt nicht testen, Kamera ev. bald (versuche eine MCS-25 
über Ebay zu bekommen). Dafür arbeite ich gerade an anderen 
IF-Implementierungen (z.B. SENT - ist ein SAE-Standard - für Sensoren 
aus dem Automobilbereich, aber auch PWM-Sensoren)

Ich habe z.B. gestern am USART.o gearbeitet und alleine das von ca. 
240byte nochmal auf 180byte Flash gebracht. Dank der tollen Dokus auch 
hier über gcc-Optimierungsmöglichkeiten für AVR :-)

Bei der Gelegenheit bringe ich auch Stück-für-Stück doxygen-Kommentare 
und einheitliche Formatierung wie richtig angemerkt (UTF8 sollte für Win 
& Linux gehen) mit ein. Wäre happy, wenn wir das gemeinsam machen 
könnten.

> Um mit Deinen Sourcen besser zurecht zu kommen, bitte ich Dich um ein
> paar Tipps und Erläuterungen, die mir (uns?) den Einstieg sehr
> erleichtern würden.

Jaja, ich gebe zu daß auch dies extrem kurz gekommen ist, sorry.  :-)


> - Was meinst Du mit "streaming"? = Scrolling?
> - Wie werden die LCD- und UART-Routinen nun angesprochen (Beispiel wäre
> toll).
Ich meine damit streaming über FILE (stdio aus der AVR-libc.)

Beispiel: schau mal in src/example_1/config.c
am Beginn der Funktion pre_HW_init. Hier werden die Filehandles für 
"standard-out" festgesetzt.

D.h. man kann danach printf ohne weitere Angaben "as is" verwenden, um 
Ausgaben zu machen. Dieser Handle legt nur fest, ob printf auf LCD, 
G-LCD, USART oder Telnet geht. In Zukunft gibt es dann ev. auch Streams 
in Files auf SD-Karten u.s.w.

Vorteil 1: nur durch die Änderung einer Zeile kann man den prinf-Output 
des ganzen Programms von LCD auf USART lenken.

Vorteil 2: vorher hatten alle Codes für UART, ... eigene 
printanweisungen, was natürlich den Flashbedarf vervielfacht hat, obwohl 
es tolle Implementierungen in der AVR-LibC gibt. Printf ist ausserdem 
ein allgemein bekannter Standard, die eingeschränkten Prinfunktionen 
vorher in USART, LCD und Telnet waren das nicht...

Man kann dennoch mit fprintf(&stream, "....") gezielt auf einen der 
Geräte direkt ausgeben.

Das ist für Input momentan so gemacht, hier habe ich keinen 
Standard-IN-Stream umgebogen, ginge aber auch. Damit kann man scanf, 
getch, ... momentan mit Telnet, USART, PS2-AT-Keyboards am AVR-NET-IO 
verwenden.

> - Wie sieht die Zusammenarbeit von Webinterface, httpd.c, ... genau aus?
> Wie werden z.B. Variablen dort eingebunden? Wie ist das Konzept. Für ein
> paar Beispiele oder Hinweise wäre ich dankbar.

Es gibt 3 Hooks, alle 3 finden sich in config.c als einfaches Beispiel. 
Ich werde sie mal um ein besseres Formular mit einem I/O Port 
ein/aus-Schalter ergänzen:

"my_httpd_filetype()" ruft der Webserver mit einem Filenamen auf, um den 
Inhaltstyp zu bekommen (z.B. "text/html"), der ja im HTTP-Header an den 
Browser steckt.

"my_httpd_fileread()" ruft der Webserver auf, um ein Segment des Files 
zu bekommen, das man später als Inhalt sieht. Kann ein "cgi-artiges" 
Ergebnis oder einfach aus einem (Flash-)File wie im Beispiel sein.

Für Formulare gibt es dann noch "my_httpd_execute()", dass für jeden 
einzelnen Variablentag aus einem HTML-POST-Formular aufgerufen wird.
z.B.
<input type=\"checkbox\" name=\"OUT\" value=\"a\">
im Code bewirkt, dass die Routine mit
n="OUT"  v="a"
aufgerufen wird.

Das Problem ist das blockweise senden, da man am AVR aus Speichegründen 
nicht die ganze POST-Rückmeldung auf einmal laden kann/sollte. So kann 
es ein, dass ein Request unvollständig ist. Daher gibt es noch ein 
incomplete-Flag, wenn der Server meint, es könnte in einem Folgeblock 
noch das Datum vervollständigt werden. Momentan wird der Execute-Request 
mit gesetzem "incomplete" Flag abgewiesen (er wird dann später ohne 
incomplete nochmal aufgerufen, geht also nicht verloren), solange es 
sich nicht um den "Submit-Marker" vom Sendebutton ganz am Ende der 
Webseite kommt (also weitere Daten erwartet werden).


Ablauf bei Anfrage einer Seite im
--> Browser: http://IP/filename.htm
--> my_httpd_filetype("filename.htm",*buf)
muss in buf "text/html" und eine 1 zurückgeben (sonst: File nicht 
gefunden)
--> Server sendet Header
--> my_httpd_fileread(buf,"filename.htm",0,234)
fordert die ersten 234 byte der Datei an,
Liefert im Buffer die Daten und im Return die Anzahl zurück. Wird 
beendet, wenn weniger als die angeforderten Bytes (oder 0) geliefert 
werden.
Hier kann man in den Dateien auch wieder %irgendwas Platzhalter erkennen 
und durch Werte ersetzen. So macht es ja auch Ulrichs bisherige 
Software.
--> Server sendet File, Seite wird im Browser dargestellt

Bei Formularen:
--> Browser sendet Header
--> my_httpd_filetype("filename.htm",*buf)
muss in buf "text/html" und eine 1 zurückgeben (sonst: File nicht 
gefunden)
--> Server sendet Header
--> Browser sendet "POST" Formular Daten
--> my_httpd_execute(0/1,"name","value") wird für jeden Formulareintrag 
aufgerufen. Wird eine 1 gelifert, wurde der Endemarker erkannt und der 
Server ignoriert den Rest des Formulars.
--> Rückmeldung der Seite selbst wie oben.

Es gibt noch viele andere Details. Der Timer hat z.B. jetzt auch eine 
API, ein Programm kann dort eine Variable "anmelden", die automatisch 
(über IRQ) nach einer festgesetzten Zeit (Sekundenauflösung) umgesetzt 
wird. Alle Module (incl. Stack, DHCP, auch das Keyboard, um sich alle 2 
sec. rückzusetzen,...) arbeiten damit um gewisse Zeiten im Netz 
einzuhalten. Ein Watchdog ist auch dabei und funktioniert ähnlich, nur 
resetiert er das System, wenn nach einer festgesetzten Zeit keine 
Resetanforderung bekommt. Damit kann man mehrere Watchdogs für 
unterschiedliche Module zu beliebigen asynchronen Zeiten halten. Solange 
man mit cli() die Interrupts nicht abschaltet, eine ganz nette Funktion 
:-)

>
>
> -> An alle:
>
> Wer die Sourcen von wope in WinAVR eingebunden hat, möge bitte das
> makefile hier einstellen. Danke.
Habe mir mal eine WinAVR-Umgebung testhalber aufgesetzt. Das PN2 ist ja 
wirklich toll :-)
Anbei mal ein Makefile, das laufen sollte. Musste nur die Pfadangaben 
auskommentieren, die sind in einer WinAVR-Installation wie ich gesehen 
habe sauber gesetzt.

von Heiko (Gast)


Lesenswert?

Hallo liebe Fachleute,
vielen Dank erstmal für die vielen Informationen, die hier schon 
zusammengetragen worden sind.
Ich hab leider ein Problem und weiß nicht weiter: Sobald ich den MAX232 
einsetze, bekomme ich einen Kurzschluss. Ansonsten scheint das meiste zu 
funktionieren - Windows findet den ENC übers LAN (Netserver kann sich 
allerdings nicht verbinden und ein Firmware-Update kann ich ohne die 
serielle Schnittstelle ja nicht machen) und auch die SPI-Schnittstelle 
funktioniert problemlos.
Ich weiß jetzt gar nicht, wo ich mit der Fehlersuche anfangen soll. Wie 
gesagt tritt der Kurzschluss nur genau dann auf, wenn der MAX232 in die 
Fassung gesteckt ist. Aber woran kann das liegen?!
Vielen lieben Dank im Voraus für jede Hilfe,
Heiko

von michi (Gast)


Lesenswert?

Hi @ all:
Sorry ich hab mir jetzt nicht alles durchgelesen :p

Aber kann mir jemand sagen, wie ich die Fuse Bits setzen muss?
Hab die Orginalfirmware von Ulrich Radig (angpasst für das pollin Board) 
drauf.
Bitte nicht hauen, falls das schonmal gefragt wurde.
Ist ja ein irrer Thread

von Chris M. (shortie)


Lesenswert?

@michi:
Dann mach dir die Mühe und such mal (STRG-F bei Firefox) :-)
Schließlich wissen wir ja nicht was du für einen Mikrocontroller 
benutzt.

von michi (Gast)


Lesenswert?

Ach Mist sorry. Alles Standard wie von Pollin geliefert also ATMega32.

Jo STRG-F is ja lustig aber:
1. Weiß ich dann nie genau zu welchem Controller
2. Weiß ich nie für welche Firmware die Fuses sind.
*3. Wiedersprechen sich deren Aussagen teilweiße*
4. War das natürlich das Erste, was ich getan habe
5. Ok, ich bin eben eine faule Sau
6. Muss der Thread doch länger werden, oder?

von W. S. (wope)


Lesenswert?

--> Ev. sollte man wieder mal darauf hinweisen :-)
http://www.mikrocontroller.net/articles/AVR_Net-IO_Bausatz_von_Pollin

von Jörg Schüler-Maroldt (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe meinen Pollin NET-IO jetzt um eine SD-Karte erweitert.
Am einfachsten ging es mit einer Micro-SD-Karte (5,90).
Man kann an den Mitgelieferten Adapter direkt ein Flachbandkabel
von der ISP-schnittstelle anlöten.
An der ISP-Schnittstelle sind alle benötigten Pins bis auf den 
Chip-Select
vorhanden.
Den Chip-Select habe ich kompatibel mit der Ulrich Radig Software
durch eine Drahtbrücke auf der Platine verdrahtet.
Es fehlt nur der Schalter, der anzeigt, ob eine Karte gesteckt ist,
der ist bei dieser Lösung leider nicht vorhanden.
Ich verwende die Software von Ulrich Radig und habe in der Deklaration
des SD-Treibers die Abfrage immer mit SD_Karte eingesteckt simuliert.
Als Anlage ein paar Bilder wie ich es gemacht habe.

Bei mir läuft die Radig-Software auf einem ATMEGA 644 mit ca. 60k
inclusive FTP und WEB-Server.

Ich werde die Software in ca. 2 Wochen zum Download
freigeben.

MFG
Jörg

von Harry S. (littlegonzo)


Lesenswert?

Hallo Jörg,
ich habe mir deine Bilder mal angesehen...aber...
Es sieht so aus als ob Du die SD-Karte direkt am Proz. hast. Dieser 
läuft doch eigentlich mit 5V oder täuscht das?
Normalerweise sollten/dürften SD-Karten nur mit ca. 3,3V Betrieben 
werden...
Bei dem Radig Server läuft der Proz. glaube ich nur mit 3,3V aber beim 
Pollin "original" mit 5V. An dem ISP sind auch die 5V dran, also 
vorsicht beim nachbau.

Gruß
Harry

von Tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe nun endlich die Firmware von U. Radig auf meinem Pollin-Board 
zum laufen bekommen. Über Ethernet kann ich drauf zugreifen.
Allerdings nicht mehr über RS232.
Wenn ich einen Befehl eingebe, bekomme ich nur "komische" Zeichen 
zurück.
(im Bild zu erkennen)

Hier meine Einstellungen:
9600Baud
8Datenbits
no Parity
Stoppbit
kein Handshake

Was habe ich falsch gemacht?

Danke!

von Harry S. (littlegonzo)


Lesenswert?

Hallo Tobi,
vermuttlich beim Compilieren in der config.h die falsche Taktfrequenz 
eingetragen?

Gruß Harry

von Chris M. (shortie)


Lesenswert?

@Tobi:

#define CMD_TELNET      0

wenn da 1 steht geht RS232 IMHO nicht mehr.

Wenn es das nicht ist würde ich den Fehler mal weiter bei dir suchen.
Was heißt über Ethernet darauf zugreifen? Auf den Webserver, per Telnet 
oder Daten über UDP an das Display schicken ?

Etwas genauere Informationen helfen, da bei dem Wetter die Funktion von 
Kristallkugeln nicht so berauschend ist.

von Tobi (Gast)


Lesenswert?

@Harry &Chris:
Vielen Dank für eure Antworten. Es lag tatsächlich an der flaschen 
Frequenz!

- Es es möglich ohne großen Aufwand einen 2. RS232 Port einzurichten? 
Hat das jemand schon gemacht?

- Gibt es passende Gehäuse für das Board? Habe schon viel gesucht, aber 
nichts passendes gefunden.

Vielen Dank!!

Tobi

von Chris M. (shortie)


Lesenswert?

Tobi wrote:
> - Es es möglich ohne großen Aufwand einen 2. RS232 Port einzurichten?
> Hat das jemand schon gemacht?

Das geht mit einem 644P da dieser 2 USART hat.
Es gibt aber wohl auch die Möglichkeit das ganze über Software zu 
machen.

> - Gibt es passende Gehäuse für das Board? Habe schon viel gesucht, aber
> nichts passendes gefunden.

19" Gehäuse mit 1 oder 2 HE - da passt das mit vielen Erweiterungen und 
Netzteil rein ;-)

... oder Du suchst mal bei Reichelt nach EUROBOX. Da sollte die Platine 
ohne Zusatzkomponenten reinpassen und es gibt verschiedene Farben. 
Vorher aber nochmals das Datenblatt vom Gehäuse anschauen.

von W. S. (wope)


Angehängte Dateien:

Lesenswert?

Wolfgang Scherr wrote:
>> - Wie sieht die Zusammenarbeit von Webinterface, httpd.c, ... genau aus?
>> Wie werden z.B. Variablen dort eingebunden? Wie ist das Konzept. Für ein
>> paar Beispiele oder Hinweise wäre ich dankbar.
>
> Es gibt 3 Hooks, alle 3 finden sich in config.c als einfaches Beispiel.
> Ich werde sie mal um ein besseres Formular mit einem I/O Port
> ein/aus-Schalter ergänzen.

Anbei das versprochene Beispiel, dass zur Version aus meinem example_1 
aus dem Archiv passt. Einfach config.c ersetzen. Die Webseite gibt einen 
ADC Wert (ADC1) und den Zustand vom Logikport PORTC1 aus und erlaubt ihn 
mit einer Checkbox zu setzen.

Die Art, wie die Variablen eingesetzt werden, ist nur ein Beispiel mit 
wenig Codierungsaufwand und sollte am übersichtlichsten sein. Kann man 
natürlich immer auch anders/effizienter machen. :-)
USE_ANALOG, USE_STACK und USE_HTTPD muss in der config.h 1 sein, damit 
der Werbserver so läuft. USE_GLCD mus 0 oder das GLCD auf einen anderen 
Port als C sein, da ja C1 die Webseite verwendet. Rest ist eigentlich 
egal.

Grüße,
Wope

von Andreas S. (andy2009)


Lesenswert?

Hallo,

ich hab mir zu Weihnachten mal so ein Teil bestellt und 
zusammengelötet...

Es lief und ich hab mal eine wenig unter Windos programmiert, direkt an 
der RS232, na ja, mit USB zu Seriell ist das dann doch zu instabil. 
Netzwerk programmierung hatte ich nicht mehr die Lust und so habe ich 
mal überlegt ob man das Board nicht unter Linux als Datensammler oder so 
nutzen kann, leider kann ich gut mit der RS232 unter c++ umgehen, aber 
Netzwerk unter linux habe ich noch nicht probiert...

Das Ergebnis meiner Suche ist eine Zeile auf der Console:

echo "getadc 1" | nc 192.168.10.190 50290 -w 3  >> /var/log/netioavr.log

Hier mal die Erklärung:

echo "getadc 1"  der Befehl "getadc 1" wird dem nächsten Befehl 
übergeben (pipe)

nc 192.168.10.190 50290 -w 3

nc (netcat) versucht auf der IP 192.168.10.190 den TCP Port 50290 zu 
öffnen und sendet den Inhalt von echo.  -w 3  bricht die Verbindung nach 
3 sec ab.

>> /var/log/netioavr.log

das Ergebnis wird an die Datei angehangen.

Ich hab das als cron-job 24/7 bei 5 minuten Interval laufen lassen es 
gab keine Probleme

Die Befehle vom der Orginal-Software stehen in der Beschreibung von 
Pollin.

Also einfacher gehts kaum noch, oder ?  ;-)

Grüße
Andreas

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo,

ich möchte die werte AD-A6 (spannung vom Solarmodul) an meinen 4 
zeiligen LCD anzeigen.

Wie heist die zeile die ich in der main.c einfügen muss.

wer kann helfen?

mfg

orfix

http://bauerer.dyndns.org/
http://birne.altmuehlnet.de/hp/px5/logger/avr.php

von Alexander D. (Gast)


Lesenswert?

Hallo,
ich habe ein kleines Problem mit meinem Board (AVR-Net-IO).
Außer, dass ich die angepasste Software von U. Radig aufgespielt habe, 
ist alles noch im Orginal (wie von Pollin geliefert ATMega32).
Das Problem ist, das der 7805 trotz Kühlkörper extrem heiß wird.
Das Board zieht 260 mA. Wobei es ja eigtl nur 190 mA sein sollten.
Ohne den ENC braucht es 66 mA.

Die Platiene ist richtig geäzt (zumindest sieht es optisch so aus).
Das Problem trat erstmals auf, als ich ein (anscheinend) zu schwaches NT 
(9V~ 200mA) anschloss, und das Board darauf hin nicht mehr funktionierte 
(PowerLED war an, die LED's an der Netzwerkbuchse waren aus).
Anschließend habe ich wieder dass tarken NT (9V~ 1,5 A) angeschlossen 
konnte aber mit dem Board keine Verbindung mehr aufnehmen. (LED an der 
Netzwerkbuchse waren wieder an.)
Darauf hin habe ich die Software von U. Radig gebrannt.
Nun funktioniert das Teil mit dem starken NT einwandfrei, jedoch mit 
dem oben beschrieben Problem.

Ich kann's mir nicht wirklich erklähren. Das 9V~ 200mA NT hätte doch 
langen müssen oder? Und warum hat es mir die Software zerschossen?

von Klaus H. (df8jb)


Lesenswert?

Erba57 Ba wrote:

> ich möchte die werte AD-A6 (spannung vom Solarmodul) an meinen 4
> zeiligen LCD anzeigen.
>
> Wie heist die zeile die ich in der main.c einfügen muss.

Hallo orfix,

mal so aus dem Hut:
im var_array an Stelle 6 steht der Wert, wenn ich mich recht entsinne.
Dann sollte das so gehen, z.B. für die erste LCD-Zeile:
1
lcd_print(0,0,"                ");      // löscht die 16 Zeichen in der ersten LCD-Zeile
2
lcd_print(0,0,"%4i",var_array[6]);      // und schreibt den ADC-Wert (0-1023) rein


@Alexander D. (Gast)

Es hilft oft, wenn man mal die Spannungen misst; 5V u. 3.3V.
Letztere an der Kühlfahne vom LM317. Wenn die 5V am 7805 schon 
unterschritten sind, werden die 3.3V oft auch nicht erreicht.
200mA vom NT sind übrigens fast immer zuwenig.
Zerschossene Firmware bei Unterspannung kommt schon mal vor, wenn das
FuseBit für die Unterspannungserkennung nicht gesetzt ist 
(BrownOutDetectorENabled).

Gruß Klaus
--------------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)

von Alexander D. (Gast)


Lesenswert?

> Es hilft oft, wenn man mal die Spannungen misst; 5V u. 3.3V.
> Letztere an der Kühlfahne vom LM317. Wenn die 5V am 7805 schon
> unterschritten sind, werden die 3.3V oft auch nicht erreicht.
Ja da hatte ich dann auch gemessen. Waren 4,6V wenn ich mich richtig 
erinnere. Dann ist das NT tatsächlich zu schwach.

> Zerschossene Firmware bei Unterspannung kommt schon mal vor, wenn das
> FuseBit für die Unterspannungserkennung nicht gesetzt ist
> (BrownOutDetectorENabled).
Ahhhhhh, das wuste ich nicht. Aber das erklährt dieses Phänomen 
natürlich.
Ob der FuseBit gesetzt war weiß ich jetzt nicht mehr. Habe die FuseBits 
wie weiter oben beschrieben an die Firmware von U. Radig angepasst.

Danke Dir für die Infos. Man lernt doch immer wieder was dazu (vorallem 
wenn man das nur als Hobby bertreibt)

Ich werde es jetzt vorerst so belassen. Wenn der 7805 abfackeln sollte, 
kann ich mir immernoch überlegen woran es gelegen hat ;)

von Klaus H. (df8jb)


Lesenswert?

Alexander D. wrote:

> Ich werde es jetzt vorerst so belassen. Wenn der 7805 abfackeln sollte,
> kann ich mir immernoch überlegen woran es gelegen hat ;)

Miss mal die Eingangsspannung am 7805.  Die ist vermutlich recht hoch.
8.5 V - 9 V sind optimal, alles was drüber ist, produziert unnötig 
Verlustleistung und damit Hitze.
Gut: 7805 gegen L4940 V5 tauschen - ist pinkompatibel und kostet ca. 50 
ct bei Angelika.
Dann braucht die Eingangsspannung nur 6 V zu sein, was die Wärme sehr 
stark reduziert.
Oder das Board ohne 5V-Stabi direkt mit stab. 5 Volt - NT  betreiben.


Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840

von Alexander D. (Gast)


Lesenswert?

Uii uii uii.
Hab gleich mal nachgemessen 10,14V. Man darf sich eben nicht drauf 
verlassen, was auf dem NT steht (9V~ 1,5A steht drauf).
Ok damit hat sich das auch geklährt.

Das mit dem L4940 V5 ist eine gute Idee, bei meiner nächsten Bestellung 
werden ich den mit ordern. (Schade Pollin hat nur die 12V Version von 
Angelika hab ich noch nichts bestelt. Mal schaun, ob's den auch woanders 
gibt. Vllt. hab ich auch Glück und finde ihn auf einer alten Platine.)

Vorerst such ich mir ein anderes NT.

> Oder das Board ohne 5V-Stabi direkt mit stab. 5 Volt - NT  betreiben.
Jo das ist klar. Aber stabilisierte NT's sind in meiner Bastelkiste rar.

Was lernen wir jetzt daraus? => erst messen, dann fragen ;)

Nochmal Danke

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo Klaus,

danke für deinen LCD tip, funktioniert.

kennst du einen verlässlichen cronjob?

cronejob und cron-job.org/ sind nicht überzeugend

was macht deine php grafik?

kannst du den timeserver auch eine 1h vorstellen


mfg

orfix

von Klaus H. (df8jb)


Lesenswert?

Erba57 Ba wrote:
> Hallo Klaus,
Hi orfix!
>
> danke für deinen LCD tip, funktioniert.
prima.
Wenn Du mit 0-1023 eine Spannung 0-5 V anzeigen willst:
1
int tmp = var_array[6] / 2.048;           //Wertanpassung an 5 Volt = 1023
2
lcd_print (0,0, "A4:%i.%iV", tmp/100,  tmp%100);  //Vor- u. Nachkommawert
Kannst Du momentan bei mir auf Cam2 sehen. Es steht übrigens eine Lupe
als Lesebrille vor der weitsichtigen Kamera, damit das Bild scharf ist..
>
> kennst du einen verlässlichen cronjob?
>
> cronejob und cron-job.org/ sind nicht überzeugend
Da habe ich keine Erfahrung!
>
> was macht deine php grafik?
Noch keine Zeit/Lust gehabt.
Und eigentlich wollte ich das komplett selbst machen...
Kommt alles noch.
>
> kannst du den timeserver auch eine 1h vorstellen
Das habe ich schnell und schmerzlos erst mal so gelöst:
1
main.c
2
3
hh = (time/3600)%24   + 1;      // +1 wg. Sommerzeit


Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------

von Christian H. (cni) Benutzerseite


Lesenswert?

Wolfgang Scherr wrote:
> Ich denke das können wir "modulweise" machen.
> Mein Vorschlag: schreib mir mal eine email (wope <underscore> 12s <at>
> inode.at), dann "schreiben" wir uns mal aus wer was gerne machen möchte
> (oder Skypen,...). Ev. finden sich dann auch noch anderen Interessenten.
>
> Ich würde mal was auf sourceforge, gitoriuous,... aufsetzen, dann können
> wir beide gleichzeitig daran arbeiten. Aber auch da können wir uns
> zuerst noch absprechen. Vor allem die ganzen onewire Sachen kann ich
> leider überhaupt nicht testen, Kamera ev. bald (versuche eine MCS-25
> über Ebay zu bekommen). Dafür arbeite ich gerade an anderen
> IF-Implementierungen (z.B. SENT - ist ein SAE-Standard - für Sensoren
> aus dem Automobilbereich, aber auch PWM-Sensoren)

Hallo Wolfgang und hallo Robert,

gerne würde ich auch an diesem Projekt mit wirken.
Habe diesbezüglich auch schon Wolfgang per Email kontaktiert!

Ich könnte das "SHT-Modul" übernehmen und auch 1-wire mit testen.
Ein Display habe ich auch bald...

Also würde mich freuen, daran mitarbeiten zu dürfen.

Bis dann,

Gruß
Christian

PS: Meine Projekte: http://hobbyblog.haeussler.name/

von W. S. (wope)


Lesenswert?

Alexander D. wrote:
> Ich kann's mir nicht wirklich erklähren. Das 9V~ 200mA NT hätte doch
> langen müssen oder? Und warum hat es mir die Software zerschossen?

200mA für das NT ist wenig, vor allem weil es ja nicht unbedingt auch 
das liefern muss, was draufsteht. "Nur" das schwache NT wird dein Board 
kaum kaputt gemacht haben, außer es verhält sich nicht wie vermutet 
(Spannung bricht nicht einfach zusammen sondern erzeugt z.B. hohe 
V-peaks, was bei schlechten switchmode-NT passieren kann), die können 
durch den Regler "durchspucken" und HW durchaus auch kaputt machen. Hier 
war es offenslichtlich ein einfaches 9V AC NT, somit fällt auch die SMPS 
Theorie aus, d.h. das wird erstrecht kein Grund für einen Defekt sein.

Wer die Erfahrungsberichte mit der orig. AVR-NET-IO FW gelesen hat, da 
gibt es viele (auch einfachere) Gründe, warum das Bord (temporär) nicht 
mehr getan haben mag, nicht nur auf der NET-IO-Seite sondern auch mit 
dem komischen PC-Server-Programm. Beliebt war auch ein falsch gesetzter 
Boot-Jumper, der mit den Alternativ-FW keine Auswirkung hat aber das 
Board mit Orig-SW quasi "lahmlegt", u.s.w.

Ohne dem ausgelesenen Original der vermeindlich "kaputten" Version und 
Vergleich gegen eine richtige Version ist die "zerschossene-FW" Theorie 
auch nicht mehr beweisbar/nachvollziehbar.

> Zerschossene Firmware bei Unterspannung kommt schon mal vor, wenn das
> FuseBit für die Unterspannungserkennung nicht gesetzt ist
> (BrownOutDetectorENabled).

Sorry, stimmt überhaupt nicht. Wo ist diese Binsenweisheit her (seriöser 
Link bitte)!?!

Wer das glaubt, sollte besser sein Board (oder USB-Sticks mit Flash, 
...) nie mehr von der Versorgung nehmen, denn für ein paar ms wird die 
Versorgung beim Ausstecken und Entladen vom Puffercaps/Elko auf der PCB 
immer in dem "illegalen" Versorgungsbereich arbeiten.

1) Brown-Out Detection hat nichts mit dem Flash zu tun, ist nur eine 
zusätzliche Resetschwelle für speziell (u.U. langsam) degradierende 
Versorgungen wie z.B. Batterien, die unter der erlaubten 
Versorgungsschwelle für den gegebenen Systemtakt sinken aber noch über 
dem POR (power-on reset) liegen, der ja sehr tief ist. Da kommt auch der 
Name her.

Daher kostet die Aktivierung mehr Strom, da es sich um einen genau 
arbeitendem Komparator handelt, der die Schwelle genauer "vermisst" und 
ggf. den IC resetiert, bevor Peripherals oder Core selbst durch 
Timingprobleme u.s.w. Probleme macht (die Logikgeschwindigkeit hängt mit 
der Versorgung zusammen).

Abgesehen davon spricht der BOD erst bei 4V bzw. 2.7V an. Mit 4.6V läuft 
der 32er noch normal. Ich habe einige Applikationen an einer 4.5V 
Batterie, gute Puffercaps vorausgesetzt kein Problem, bei 8MHz sowieso, 
aber auch bei 16MHz noch.

Ergo: bei "guter" Versorgung mit Netzteil nicht nötig (und auch kein 
Vorteil).

2) Solange das Flash nicht gerade geschrieben wird (über Bootloader über 
die Opcodesequenzen im Bootbereich, über JTAG oder ISP mit Kabel) wenn 
die Versorgung wegbricht, gibt es keinen Grund, das das Flash den Inhalt 
verändert (welches übrigends überhaupt erstmal eine höhere Spannung 
braucht, die on-chip mit Chargepumps erzeugt werden muss, sonst passiert 
in Flashzellen nichts).

Wie gesagt, der Micro arbeitet auch mit weit weniger Versorgung, nur das 
Timing wird bei 16MHz nicht mehr passen und er hängt sich auf, ev. wird 
er auch das Flash bei dieser Geschwindigkeit nicht mehr richtig 
auslesen.  Gleiches würde umgekehrt bei Übertraktung bei regulärer 
Supply passieren. Auch hier wird sich nicht das Flash 
löschen/umprogrammieren.

--Wope

von Klaus H. (df8jb)


Lesenswert?

Wolfgang Scherr wrote:

> Zerschossene Firmware bei Unterspannung kommt schon mal vor, wenn das
> FuseBit für die Unterspannungserkennung nicht gesetzt ist
> (BrownOutDetectorENabled).

> Sorry, stimmt überhaupt nicht. Wo ist diese Binsenweisheit her (seriöser
> Link bitte)!?!

... stimmt es nicht, oder ist es eine Binsenweisheit?

(Als Binsenweisheit oder Binsenwahrheit bezeichnet man <.....> eine 
allgemein bekannte Information.   - [wiki]-)
(SCNR)

Ich habe einen virtuellen seriösen Link zu meiner eigenen bitteren 
Erfahrung mit schleichend variierender NT-Spannung und anscheinend 
grundlos verändertem Flash-Inhalt.
Und diesen realen Link:
http://www.roboternetz.de/wissen/index.php/Avr";  (evtl. unseriös... ;-)

Zitat:
>BODEN
>Über dieses Bit wird der Brown-out Detector aktiviert bzw. deaktiviert. Dies ist
>eine Überwachung der Betriebsspannung, die dafür sorgt, dass bei
>Spannungseinbrüchen ein ordentlicher RESET durchgeführt wird. Dadurch wird
>verhindert, dass  der Controller in einen undefinierten Zustand gerät (hängen
>bleibt) oder versehentlich das EEPROM / Flash verändert.
>In der Regel sollte man daher den Brown-out Detector aktivieren.

Theorie ist grau; was zählt, ist die Praxis...

Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board,  ATMega 644, Cams: 2x Philips DC-3840

von Dionysios (Gast)


Lesenswert?

Hallo an Alle hier im Forum,

ich wollte nur euch informieren dass, ein Update für Profilab 4.0 gibt 
was das AVR-NET-IO unterstutzen soll. Ich habe es noch nicht ausprobiert 
aber das werde ich...:)

Viele Grüsse
Dionysios

von abc123 (Gast)


Lesenswert?

Hallo,

ich habe ein Problem mit der Software oder dem Webserver von Ulrich 
Radig.

Ich nutze (oder versuche es zumindest) den Webserver als RS232 -> Telnet 
Wandler.
Leider habe ich das Problem dass nach nicht mal 5min (Zeit variiert) der 
Webserver nicht mehr per Telnet ansprechbar ist.
Die Verbindung bricht plötzlich beim empfangen ab oder lässt sich gar 
nicht mehr herstellen.
Der ATmega 644P (mit 16MHz getaktet) geht in eine Resetschleife über und 
startet ständig hintereinander neu. (aber nicht vollständig)

Die Ausgabe der RS232 Schnittstelle sieht dabei wie folgt aus:
Code:
System Ready
Compiliert am Apr 1 2009 um 12:15:15
Compiliert mit GCC Version 4.3.0


Durch ein Reset des Controllers funktioniert die Telnetverbindung dann 
wieder für max. 5 min, bis dann der gleiche Effekt auftritt.

Folgender Datenframe wird im ca. 3sec Zyklus an die RS232 Schnittstelle 
des Webservers gesendet:
Code:
"#CSV", "xxxxxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxxxxx","xxxxxxxxxxxxxxx"


Ich habe auch schon versucht die Daten nur bei Tastendruck zu senden, 
jedoch tritt auch hier das selbige Problem auf.
Die Puffergröße wurde Testweise angehoben, dies brachte jedoch keine 
Veränderung.

PS: Der Effekt tritt sowohl mit Hyperterminal als auch mit telnet und 
netcat unter ubuntu auf.

Gruß
abc123

EDIT: Es wurde zum testen ein älterer und der aktuelle Stack verwendet, 
jedoch ohne Änderung.

von W. S. (wope)


Lesenswert?

Klaus H. wrote:
> Theorie ist grau; was zählt, ist die Praxis...

Ich enschuldige mich, stimmt. Die Original-FW hat kein Bootlock aber SPM 
im Flash.

Sorry, again (rotwerd). Nur fest zuhauen, ich hab's verdient... :-)

--Wope

von Klaus H. (df8jb)


Lesenswert?

W. S. wrote:
>
.
.
.
> Nur fest zuhauen, ich hab's verdient... :-)
>

nee nee... hier wird nur gelötet und programmiert!
Das muss reichen.

Gruß nach .at,
Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840

von abc123 (Gast)


Lesenswert?

So, ich habe festgestellt, dass der Webserver nur in die Resetschleife 
fällt, wenn ihm auch Daten per RS232 zugesendet werden.
Ich habe gerade per Skript mehrere Stunde lang Daten vom PC per telnet 
an den Webserver versendet.
Diese wurden auch korrekt wieder gegeben und es gab keine Abbrüche oder 
Fehler.
Sobald ich jedoch wieder per RS232 Daten sende hängt sich der Webserver 
nach max. 5-10min auf.
Muss ich beim senden von Daten irgendwas beachten? (z.B. ein „End of 
Transmission“ nach jeder Zeile senden?)


Grüße
abc123

von W. S. (wope)


Lesenswert?

abc123 wrote:
> So, ich habe festgestellt, dass der Webserver nur in die Resetschleife
> fällt, wenn ihm auch Daten per RS232 zugesendet werden.
Ich schätze, dass im Code des Telnetclients das Problem liegt.

Habe Dein Problem nicht nachvollzogen, habe aber auch schon "Hänger" 
gehabt. Am leichtesten "krachte" es, wenn Pakete mit nur einem Zeichen 
rausgegangen sind (direkt aus der Hauptschleife mit print-debugging über 
Telnet, also ohne UART). Zumindest kannst Du mal schauen, ob es auch 
passiert, wenn die Daten am Uart zum verschicken nur aus Zeilenenden 
oder einem Zeichen + Zeilenende bestehen (wäre dann eine Bestätigung). 
Könnte auch irgendein Handlingproblem mit dem Ethernetchip sein (neues 
Paket zum versenden und altes noch nicht weg oder so).

> Muss ich beim senden von Daten irgendwas beachten? (z.B. ein „End of
> Transmission“ nach jeder Zeile senden?)
Es sollte nur ein 0x0a oder 0x0d für das Zeilenende nötig sein (habe den 
Code nicht vor mir, weiss nicht welches).

Die BUFFER_SIZE in uart.h hast Du ja vergrößert, wie du geschrieben 
hast. Ein Überlauf sollte "nur" Datenverlust bedeuten (da dies 
eigentlich in der Interrupt-Funktion im uart.c schon geprüft/abgefangen 
wird - kann ich geade aber auch nicht prüfen, aber ich denke ich habe da 
sowas gesehen). Aber die Daten kommen ja wie Du sagst bis zum crash alle 
an, also läuft scheinbar auch nichts über und das Zeilenende müsste 
richtig sein.

Ich möchte den Telnetcode in meiner Version irgendwann noch dahingehend 
besser überarbeiten (entsprechend dem TELNET-RFC auch die 
Protokoll-Kommandosequenzen einbauen) und debuggen, habe aber (leider) 
vorher noch andere Dinge vor.

Damit Du weiterkommst: ev. hat da Ethersex schon eine stabilere 
Implementierung für diese Zwecke, hast da mal nachgeschaut?

von abc123 (Gast)


Lesenswert?

Danke für deine Information!

das Ethersexprojekt hat eine Telnet-ähnliche ECMD Funktion.
Also anscheinend keine direkte RS232 - Telnet Tunnelung.

Gibt es denn noch andere Alternativen oder hat jemand den Code bzw. 
Telnetserver in dieser Hinsicht schon einmal angepasst bzw. verbessert?


PS. Ich habe auch mal den Abstand zwischen 2 Datensätzen des Moduls an 
der RS232 verlängert und ein CR bzw. eine Newline eingefügt.
Dies brachte jedoch keine Verbesserung, nach einigen Minuten ist der 
Webserver wieder nicht ansprechbar und reagiert auch nicht auf Pings.

von abc123 (Gast)


Lesenswert?

Ich habe mal in das Main- Programm eine Resetroutine eingebaut.

In der Whileschleife wird ein Flag auf 1 gesetzt.
1
tmp = 1;
Wenn jetzt der Controller wieder in seiner Resetschleife hängt, löse ich 
per Watchdog selber einen Reset aus.
1
if(tmp == 1)
2
{
3
     cli();
4
     wdt_enable (WDTO_15MS);         
5
     while (1);                         
6
}
7
8
usart_write("\n\rSystem Ready\n\r");
9
usart_write("Compiliert am "__DATE__" um "__TIME__"\r\n");
10
usart_write("Compiliert mit GCC Version "__VERSION__"\r\n");

Jedoch ohne Erfolg.
Erst nach einem Reset per Taster ist der Controller wieder „anpingbar“ 
und per telnet zu erreichen.
Kann es sein, dass der ENC ab einem bestimmten Punkt nicht mehr 
ansprechbar ist und das Problem gar nicht in der Telnetroutine liegt?

Gruß und noch ein schönen Freitag.....

von Feissy (Gast)


Lesenswert?

hallo, ich habe da mal ne Frage und zwar benutze ich den zeitserver mit 
der ip IP(77,37,6,59). jedoch bin ich jetzt immer noch eine stunde vor. 
kann es sein das der nich auf sommer zeit umgestellt wird???
oder liegt das woanders dran?
mfg stefan

von Volker (Gast)


Lesenswert?

NTP-Server liefern die Zeit in UTC - und zwar in Sekunden seit 1.1.1900
Die Umrechnung auf Lokalzeit bzw. Winter/Sommerzeitumstellung muß die 
Software selber machen!

von Feissy (Gast)


Lesenswert?

mh ok dann weiß ich erst mal warum das so ist.
hat denn schon mal jm so etwas in der software geändert und könnte den 
code posten???   ich hab mich nämlich mit solchen dingen übehaupt nicht 
beschäftigt.
schon mal danke im voraus

von Klaus H. (df8jb)


Lesenswert?

Feissy wrote:
> mh ok dann weiß ich erst mal warum das so ist.
> hat denn schon mal jm so etwas in der software geändert und könnte den
> code posten???   ich hab mich nämlich mit solchen dingen übehaupt nicht
> beschäftigt.
> schon mal danke im voraus


Seit 1996 wird die Zeit am letzten Märzsonntag und am letzten 
Oktobersonntag umgestellt.
Könnte man mit einer Kalendertabelle o.ä. berechnen; für einen AVR wäre 
das aber Unfug, weil Flash-Speicherplatz knapp genug ist.

Mit der Radig/RoBue-Firmware für den webserver geht es bis zur nächsten 
Zeitumstellung auch so:
1
    main.c
2
  
3
4
  hh = (time/3600)%24   + 1;      // +1 wg. Sommerzeit  
5
  if (hh==24) hh = 00;            // sonst wird aus 00 Uhr 24 Uhr


Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840

von Feissy (Gast)


Lesenswert?

alles klar werde ich sofort mal ausprobieren danke dafür.
wäre das denn so ein goroßer aufwand und würde so viel platz nehmen wenn 
man das komplett automatisch dann mit kalender machen würde??
gruß stefaqn

von abc123 (Gast)


Lesenswert?

Hallo,

ich habe noch mal einige ältere Versionsstände der Radigsoftware 
ausprobiert, immer mit demselben Ergebnis.
Was mir auch auffiel, einige male ließ sich der Webserver nicht mal mehr 
per Taster aus der Resetschleife holen.
Es musste teilweise die Stromversorgung gekappt werden, sodass dieser 
wieder normal startete.
Außerdem trat der Fehler unter diversen Linuxdistributionen ehr auf als 
unter Windows.
(Ich habe unter Windows per Hyperterminal eine recht lange Textdatei an 
den Webserver gesendet und unter Linux per telnet oder netcat diese 
entgegengenommen)


Gruß
noch einen schönen Sonntag

von Tobi (Gast)


Lesenswert?

Hallo,

habe ein Problem beim Konfigurieren der Netzwerkeinstellungen.
Ich passe in der config.h die IP-Adressen an, allerdings werden diese 
nicht auf mein Mega32 übernommen. (Code von RoBue 
Beitrag "Re: AVR für wenig Geld im LAN")
Kann es irgendwas mit falschen FuseBits zu tun haben?

Mein zweites Problem ist, das mein LCD nicht funktioniert. Unter der 
orig. Pollin Software hat es geklappt, aber nicht mit dem Code von 
RoBue!
Es wird wohl initialisiert, allerdings kommt kein Text. Zusehen sind nur 
in beiden Zeilen schwarze Kästchen. :-(


Vielen Dank für Antworten!


Tobi

von Chris M. (shortie)


Lesenswert?

Tobi wrote:
>
> Mein zweites Problem ist, das mein LCD nicht funktioniert. Unter der
> orig. Pollin Software hat es geklappt, aber nicht mit dem Code von
> RoBue!
> Es wird wohl initialisiert, allerdings kommt kein Text. Zusehen sind nur
> in beiden Zeilen schwarze Kästchen. :-(


Hast Du die Verdrahtung geändert? Die Software von RoBue hat eine andere 
Belegung. Alternativ kannst Du auch die Belegung in der Software 
anpassen:

// Pollin Anschluss
#define LCD_RS  3   //Pin für RS  -> PORTD3
#define LCD_RW  2  //Pin für R/W  -> PORTD2

// RoBue Anschluss
#define LCD_RS  2   //Pin für RS  -> PORTD2
#define LCD_RW  3  //Pin für R/W  -> PORTD3

Gruss Shortie

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo Tobi,


ich flashe mit C:\WinAVR-20081205\pn\pn.exe hier werden die fusebits mit 
übertragen, hab keine probleme. Was ist bei dir gesetzt?

Lcd: hier wurde die pin belegung geändert.

mfg

orfix

von Gisbert M. (gisbert)


Lesenswert?

Hallo Klaus , hallo  Feissy

in der überarbeiteten Version von  W. S. (wope) ist die Umstellung auf 
Sommerzeit schon mit Datum drin.

Beitrag "Re: AVR für wenig Geld im LAN"

die ntpc.c beinhaltet die Berechnung.

Gruss Gisbert

von Klaus H. (df8jb)


Lesenswert?

Gisbert Marx wrote:
> Hallo Klaus , hallo  Feissy
>
> in der überarbeiteten Version von  W. S. (wope) ist die Umstellung auf
> Sommerzeit schon mit Datum drin.
>
> Beitrag "Re: AVR für wenig Geld im LAN"
>
> die ntpc.c beinhaltet die Berechnung.

Jo, danke für den Hinweis!
Hab eben mal reingesehen; ist allerdings auch eine Menge Code.

Was mich noch mehr interessieren würde, ist die IP-Adr.  der 
WebServer-Besucher; gibt es da evtl. auch was bei wope's Version oder 
eine Funkt. in der AVR LibC?
Hab noch gar nicht alles durchforstet...

Gruß Klaus
-----------------------------------------------------------
TwinCam-Server Testbetrieb:
http://df8jb.dyndns.org/
Original AVR-NET-IO-Board per php:
http://df8jb.dyndns.org:8080/index2.php/  (nicht immer online)
-----------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, ATMega 644
Kameras: 2x Philips DC-3840

von Feissy (Gast)


Lesenswert?

danke für den Hinweis ich werd mich damit morgfen mal bissl 
beschäftigen.
Oder erst mal die komplette software von  W. S. (wope) draufmachen.
ber ich versteh nich was das mit der Ps2 tastatur streaming bedeuten 
soll?
kann ich da dann ne tastatur dranhängen und das dann auf dem lcd 
ausgeben oder wie muss ich das verstehen??
mfg

von Feissy (Gast)


Lesenswert?

hab da noch mal ne frage und zwar findet mein avrnet auf einmal keinen 
zeitserver mehr. ich hab den avrnet an einen anderen trafe angeschlossen 
und danach tat das nich mehr kann mir jm sagen woran es liegen könnte???
hat das was mit der anderen stromversorgung zu tun ?
frohe ostern euch

von Martin E. (eschi)


Lesenswert?

Hallo Feissy,

auch mein AVR-NET-IO empfängt keinen Zeitserver mehr. Ein Ping auf die 
eingestellte IP (77.37.6.59) bleibt unbeantwortet. An Deiner 
Stromversorgungs liegts mit Sicherheit nicht, sofern der Rest des Boards 
funktioniert.

Noch einen schönen Ostermontag
Gruß Martin

von Martin E. (eschi)


Lesenswert?

...noch ein Nachtrag zum "Zeitserverproblem".

Suche in der config.h die Zeile:
#define NTP_IP    IP(77,37,6,59)
und ersetze sie z.B. durch:
#define NTP_IP    IP(192,53,103,108)

Das hab ich soeben bei mir gemacht und jetzt tut die Zeitanzeige wieder 
richtig.

Gruß Martin

von Feissy (Gast)


Lesenswert?

ja danke für den tipp bei mir funktioniertt es auch wieder ohne probleme 
danke.
hat sich denn jetzts chon jm mit der automatischen zeitumstellung sommer 
/ winter befasst??
schönen ostermontag noch

von Drazen (Gast)


Lesenswert?

Hallo,

bin langsam am verzweifeln.
Ich habe mir das Pollin AVR-Net IO Board letze Woche besorgt.
Original U.Radig Fimrware neuste Version angepasst an Pollin AVR Net.
SD-Kartenerweiterung funktioniert.
FTP Zugriff sehr sehr langsam.
Die Temperaturanzeige mit DS1820 geht einfach nicht.
Datensignal geht an Pin D7.
Es ist kein Display angeschlossen.
Kann mir jemand Tips geben wie ich den DS1820 mid der U.Radig Firmeware
anzeigen kann.

Gruß Drazen

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

hallo Drazen,

such mal nach sensoren_auslesen.rar, sofort lauffähig auf dem 
pollinboard. Ausgabe der Ids über RS232.

dann weist du schon mal ob die HW i.o ist

erkennt Radig die id automatisch?



meine sensoren

http://birne.altmuehlnet.de/hp/px5/logger/avr.php

mfg

orfix

von PJ (Gast)


Lesenswert?

@orfix

Die Grafik sieht ja ganz gut aus, und schön, dass Daten kommen, sowas 
ist ermutigend für eigene Projekte.

Aber kann es sein, dass da so manches noch nicht ganz stimmt mit der 
Programmierung? Wenn man eine Tagesübersicht auswählt, erhält man nur 
irgendeinen Ausschnitt des Tages, bei dem nicht klar ist, wie man ihn 
anders wählen könnte; wenn man den 14.4. auswählt, scheint die Zeitskala 
nicht linear zu sein; bei Auswahl mehrerer Tage erschienen die nicht 
alle, sondern nur ein willkürlich erscheinender Ausschnitt; bei einem 
anderen Versuch gab es komplett eine Fehlermeldung des Datenbankzugriffs 
eines Linux-Rechners.

Ich will mich nicht beschweren, vielleicht tut das Gerät ja soweit, was 
Du brauchst. Ist also nur als Hinweis gedacht.

von Drazen K. (rewop)


Lesenswert?

Hallo orfix,

die Sensoren habe ich schon ausgelesen.
Die funktionieren.
Auch mit der Firmeware RoBue1.5 funktioniert das Auslesen nicht.
Kann ich Dir mal meine angepasste Fimeware mal senden ?

Gruß Drazen

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

hallo Drazen,

hast du bei RoBue1.5 die ausgelesenen id eingetragen?

schau mal auch hier

autor:  RoBue (Gast)
Datum: 30.01.2009 14:32


mfg orfix

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo PJ,

danke für deine Kritik, die Messung läuft natürlich nur wenn mein router 
online ist, deshalb die nicht lineare Zeitskala.

Auswahl mehrere tage müsste eigentlich schon funktionieren, markier mal 
den start tag und nur den Endtag

Die Auswahl alle tage muss ich noch umbauen, das ging im 1. Monat noch, 
wir tasten mit 5 min ab sind jetzt schon 15 000 werte.

Von den Sensoren kommen oft auch fehlerwerte 85 oder 0 grad, muss auch 
noch bereinigt werden, ist alles noch eine Baustelle.

Mit freundlichen Grüßen

orfix

von Drazen K. (rewop)


Lesenswert?

Hallo orfix,

mit RoBue 1.5 und m32 funktioniert mein DS1820.
Wenn ich jedoch einen 644 einsetze geht das Auslesen nicht mehr.
In Makefile habe ich auch 644 angewählt.
Irgenwo ist da noch der Wurm drin.

Gruß Drazen

von Drazen K. (rewop)


Lesenswert?

Hallo orfix,

jetzt funktionierts auch mit U.Radig Software.
Die Fuse Bits für den Atmega644 waren falsch gesetzt.
Wie hast Du das mit den Temperaturkurven gemacht ?
Sieht echt stark aus.
Nochmals danke für Deine Hilfe.

Gruß Drazen

von Michael S. (michi88)


Lesenswert?

Huhu,

also ich hab jetzt auch ein AVR-NET-I/O.
Funktioniert mit Netserver bestens und außerdem auf Anhieb :).

Ich möchte aber auch selber eine Homepage für Temperaturanzeigen und 
ähnliches auf dem Board installieren.

Ich hab hier schon gesucht, aber wenns ums flashen bzw. compilen der 
Radig-Software geht, hab ich nichts konkretes gefunden.

Kann mir hier jemand nen Anstoß geben oder gibt es evtl. schon woanders 
ein howto dazu?

von Michael S. (michi88)


Lesenswert?

Ok das Compilieren hat sich bereits erledigt.
Hab ich jetzt mit "Programmers Notepad [WinAVR]" gemacht. (Anleitung: 
http://www.ulrichradig.de/home/index.php/info_datas/avr_sourcecode_erstellen_winavr)

Wie wird eigentlich entschieden in welchen µC welcher Source kommt?
Es hängen doch beide Controller auf der ISP-Schnittstelle!?

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]
  • [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.