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 son (Gast)


Lesenswert?

1 Widerstand !
und die Sensoren hintereinander, keinen "Stern"

von RoBue (Gast)


Lesenswert?

-> Putty

Putty starten, "serial" anclicken, speed "9600" einstellen, COM-Port 
wählen (serielle Schnittstelle am PC, wenn vorhanden meist COM1).

Gruß RoBue

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

-> Servo an AVR-NET-IO:

Kann mal jemand meinen neuen Versuch schnell mal testen?
(Atmega32, PORTD7)

Danke, RoBue

von Thorsten (Gast)


Lesenswert?

Hallo ich bins nochmal!

Ich habe jetzt eine ganz dumme Frage wie schalte ist den DS1820 in Reihe 
(hintereinander)? Ich brauche doch 3 Kabel vom Board und irgend wie will 
mir das nicht in den Kopf? VCC=5V GND=GND und PZ7= Datenleitung

Kann mir noch mal einer Helfen bei der dummen Frage aber ich mir fällt 
nichts ein!

Gruß Thorsten

von Stefan M. (stefan-muehlbauer)


Angehängte Dateien:

Lesenswert?

Hallo Robue,
bei mir ist immer noch das gleiche, der Servo dreht bis Anschlag und 
will noch weiter drehen, dabei blinkt die Power LED im Rythmus des 
Servos. Die Webseite ist dann nicht mehr erreichbar.

Das muss nicht unbedingt an deinem Source liegen, ich habe aber keine 
Idee an was es sonst liegen kann. Wie hast Du die Fuse Bits gesetzt ? 
Meine siehe Anhang

Gruss
Stefan

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Stefan,
danke für Deine Mühe, anbei die Einstellung der Fuses (ohne Bootloader).

Hallo Thorsten,
das ist ja der Witz bei 1-Wire, dass Du 2(!!!) Leitungen brauchst (GND 
und Daten). Viele Bausteine dieser Produktreihe können ihren Strom 
"parasitär", d.h. über die Datenleitung, holen. Man kann die 5V aber 
auch extern (Batterie, 3. Leitung) zuführen. Bei den 2 
Temperatursensoren ist dies jedoch kaum nötig.

Gruß RoBue

von Gerd (Gast)


Lesenswert?

Hey Stefan ich bin bei son auch im Forum.

Habe das Display
http://www.pollin.de/shop/shop.php?cf=detail.php&pg=OA==&a=MTQ5OTgxOTk=&w=OTk4OTU4&ts=0

Gruß gerd

von Gerd (Gast)


Lesenswert?


von Gerd (Gast)


Lesenswert?

hey Robue,

Also bei mir Funktionieren die  1Wire Sensoren schon aber ich habe zu 
jeden sensor 3 Kabel ,GND +5V und Daten,und dann eine R am 
Sensorpaltine.

Soll Das heisen ich brauche nur GND und Daten sonst nichts zu den Sensor 
legen und den Pin 3 frei lassen ??

Oder Daten Leitung auf Pin2 Auf Pin GND und von Pin 2 auf Pin 3 einen 
Widerstand von 4,7K

Gruß Gerd

von RoBue (Gast)


Lesenswert?

Hallo Thorsten,
5V-Leitung an Sensor leer lassen,
PORTA7 auf AVR-NET-IO-Platine über 4,7k mit 5V verbinden.
PORTA7 ist zugleich Datenleitung zu Sensor,
dazu kommt GND.
Okay?

Gruß RoBue (ond a guats Nächtle)

von Amiwerewolf (Gast)


Lesenswert?

hallo
hat von euch auch jemand probleme mit dem Flashen?
Ich flashe über Pony Prog mit einem über Parallelport->74244
beim flashen bricht pony prog bei 10 bis 25% ab.
bzw pony prog ist eingefroren und ich kanns blos mit dem task manager
beenden.
bei einem anderen avr board hab ich das problem nicht da gehts 
einwandfrei

von Thorsten (Gast)


Lesenswert?

Hallo RoBue,

das mit den zwei Leitungen habe ich jetzt verstanden!

Aber jetzt habe ich noch eine Frage wo ich dann den zweiten Anschliessen 
muß?

Wenn zum 1 Sensor zwei Kabel für datenleitung und GND kommen wo 
schliesse ich dann den nächsten Sensor 2 an?

@Weil ja son geschrieben hat:

1 Widerstand !
und die Sensoren hintereinander, keinen "Stern"

Das hat mich irgend wie sehr durch ein ander gebracht!

Aber sonst Danke für die Antworten und Hilfe hier im Forum!


Gruß Thorsten

von RoBue (Gast)


Lesenswert?

Hallo Thorsten,
da jeder Sensor seine eigene ID hat, kann man sie einfach parallel 
schalten, am besten an ein (langes) Kabel hängen. Das Programm im AVR 
(oder PC) muss dann die einzelnen Sensoren über ID auswählen und 
auslesen.

GND-------------GND----------------------GND--------
AVR            Sensor1                 Sensor2         Sensor...
DATA-----------DATA----------------------DATA-------

Gruß RoBue

von Der Mann im Mond (Gast)


Lesenswert?

Die anderen Sensoren werden parallel zum ersten angeschaltet, die werden 
ja durch die ID unterschieden.

von Thorsten (Gast)


Lesenswert?

Hallo RoBue

Danke!

Jetzt habe ich es auch verstanden!

Dann will ich es gleich mal Probieren!

Gruß

Thorsten

von RoBue (Gast)


Lesenswert?

Betrifft AVR-NET-IO_RoBue_V1.5:

Ich habe noch einige Schwierigkeiten und bitte um Mithilfe:

1. Nach RESET oder beim Einschalten kann es vorkommen, dass die 
minmax-Werte nicht alle vom aktuellen Wert übernommen werden. Es könnte 
sein, dass der RESET kurz nach dem Zeitpunkt (ss=5,15,...) erfolgte, wo 
die Sensoren zum ersten Mal zum Messen aufgefordert wurden 
(ss=8,18,...), aber zugleich vor dem Auslesezeitpunkt. Ich habe deswegen 
versucht eine "while-Schleife" vor while(1) einzubauen. Aber sie wird 
einfach übersprungen. Bin wohl zu blöd. Kann mir da jemand helfen? 
Konkret: Nur bei dem Sekundenwert ss=1,11,21... darf nach einem Neustart 
oder Reset in die while(1)-Schleife gewechselt werden.

2. Die Messwerte für die Sensoren sind im Bereich von 1 ... 0 ... -1 
anscheinend spiegelverkehrt, d.h. 0,1 ist eigentlich 0,9, ebenso -0,1 
ist eigentlich -0,9. Bin mir nicht ganz sicher, aber es scheint so. 
Entsprechend macht auch die minmax-Ausgabe Probleme. D.h. Wenn die 
Temperaturanzeig -0,6 ausgiebt, kann es sein, dass min bei -0,2 o.ä. 
liegt, also die -0,6 nicht tiefer als -0,2 interpretiert werden. Ist 
natürlich nicht so tragisch, weil der Rest wieder stimmt, aber ein 
Schönheitsfehler ist es doch. Vielleicht weiß ja jemand Rat.

3. Ich würde doch die Servo-Steuerung integrieren. Kann jemand mal 
meinen neuesten Versuch testen (s.o.) und mir das Ergebnis posten?
-> 
http://www.mikrocontroller.net/attachment/45695/Webserver_MEGA32_Servo-D7.hex
Wenn ich richtig rechne, ergibt sich bei einem 16MHs-Quartz eine 
Impulsrate von 16 ms (nicht 20 ms). Ist das noch o.k.?

Grüße RoBue

von Thorsten (Gast)


Lesenswert?

Hallo ihr alle zusammen!

So das mit den 1-Wire habe ich jetzt kapiert und läuft auch schon!

Danke an alle die mir geholfen haben!

Aber jetzt habe ich eine Frage!

Hat einer schon mal etwas mit den Analogen-Eingängen gemacht würde da 
gerne etwas rumprobieren aber leider komme ich da nicht weiter!

Und dann noch eine Frage kann man eigentlich Werte von dem Server 
AVR-NET-IO_RoBue_V1.4a auslesen und die Werte auf eine Homepage (html 
oder php) anzeigen lasssen! Hat das schon mal einer Probiert!

@RoBue
Würde es gerne ausprobieren AVR-NET-IO_RoBue_V1.5 aber habe noch keinen 
Servo und dann habe ich immer das Problem das ich in einem anderen 
IP-Bereicharbeite wie du und mit deinem fertigen Hex-File muß ich dann 
bei mir immer die IP ändern!

Aber ich warte schon auf einen Servo dann werde ich es gerne Probieren 
wird aber nach dem Wochenende was werden!

Gruß an alle!

Thorsten

von Harald K. (schrauber)


Lesenswert?

Hallo zusammen,

ich bin hier noch neu im Forum - also bitte etwas Nachsicht für meine 
vielleicht etwas "blöden" Fragen.

Ich habe mir kürzlich ein Pollin AVR-NET-IO Board zugelegt und wollte 
nun das als Anlass dafür nehmen, mich etwas genauer mit Mikrokontroller 
und deren Programmierung zu beschäftigen.

Nachdem ich das Board nun zusammengelötet und auch ohne (nennenswerte) 
Problem in Betrieb nehmen konnte, bleiben noch Fragen, auf die ich so 
nirgens eine Antwort finden konnte:

1. Ich hatte ursprünglich über die beiden Spanungsregler einen 
GEMEINSAMEN Kühlkörper geschraubt. Daraufhin lief das Board nicht mehr 
an. Eine Messung ergab, dass am LM317T (an der Metallfahne zum 
Befestigen eines Kühlkörpers) gegen GND 3,3, V anliegen, während am 7805 
gegen GND keine Spannung anliegt. Logisch, dass da bei einem Kurzschluss 
nichts mehr gehen kann. Aber kann es denn richtig sein, dass am LM317T 
Spannung anliegt -- oder habe ich irgendwo einen Kurzschluss 
reingelötet? Könnte vieleicht irgendjemand an seinem Board mal 
nachmessen, ob das sein kann?

2. Ich habe noch Probleme mit den ADCs. Ich wollte mal eben zum Testen 
eine Spannung messen. Im "Leerlauf" zeigen die Eingänge am 
Pollin-Programm immer so ca. 2V an. Wenn ich nun z.B. zwischen ADC1 und 
5V (mit dem Jumper auf int.) einen Widerstand klemme, sollte eigentlich 
ADC1 eine Spannungsänderung anzeigen --> passiert auch, aber leider 
zeigen ALLE ADC-Eingänge die gleiche Spannungsänderung an. Es hilft auch 
nichts, weitere Widerstände (mit anderen Werten) an die anderen Eingänge 
anzulegen. Die Spannungsänderung wirkt immer auf alle Eingänge. Habe ich 
da irgendwo vielleicht (auch) einen Kurzschluss eingebaut, oder habe ich 
das Anschlussprinzip grundsätzlich falsch verstanden?

Vielleicht könnte sich ja irgendwer meinem Anfängerproblem annehmen.

Schönen Dank und Grüße

HaKa

von Thorsten (Gast)


Lesenswert?

Hallo RoBue,

ich habe ja jetzt die RoBue 1.4a auf meinem Board und habe 2 
sensoren(ds18s20) am laufen!

Jetzt habe ich ein Problem das ich draussen -Grade habe aber mir nur 
+Grade angezeigt werden! Woran liegt das?

Hat einer auch noch das Problem und was mache ich dagegen?

Gruß

Thorsten

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

Hi Thorsten (Gast),

>Und dann noch eine Frage kann man eigentlich Werte von dem Server
>AVR-NET-IO_RoBue_V1.4a auslesen und die Werte auf eine Homepage (html
>oder php) anzeigen lasssen! Hat das schon mal einer Probiert!

... das geht; genau das mache ich ja, indem ich mein Webcamserver-Board 
per php-Script auslesen lasse und die webpage auf dem Server wieder 
ausgebe:

://avrboard.eluhost.de/        (http davorsetzen - das dumme Board hier 
denkt, es sei Spam)

Da läuft die gleiche webpage wie auf dem Board (mit kleinen 
Anpassungen); lässt sich so viel besser editieren, ohne jedesmal den AVR 
flashen zu müssen.
Zum Vergleich die webpage vom Board direkt: siehe unten.

btw: ein ausbaufähiges php-Script zum Bedienen des Boards mit "original 
Pollin-Software" habe ich schon angehängt, zum Testen siehe unten.


Gruß Klaus
------------------------------------------------------------------
Webcam-Server im Testbetrieb:
http://df8jb.dyndns.org/  (nicht immer online)
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.4a, Atmega 644
Kamera: Philips DC-3840

von Thorsten (Gast)


Lesenswert?

Hallo Klaus H.

na das ist gut zu wissen!

Habe es mir gerade mal angeschaut!



Kannst du vielleicht mal einen index.php hier rein stellen womit man die 
AVR-NET-IO_RoBue_V1.4a mit steuern kann oder auslesen!

Denn mit der index.php klapt das bei mir nicht da ich woll nicht mehr 
die Orginal Software nicht mehr drauf habe!

Mir würde es auf reichen ein kleiner Anfang womit ich die Analogen, 
Digitalen und Schalt anweisung mit auslesen kann bei der RoBue Software!

Danke schon mal für die Antwort!

Gruß

Thorsten

von Klaus L. (Gast)


Lesenswert?

Hallo RoBue,

RoBue wrote:
> Hallo Thorsten,
> 5V-Leitung an Sensor leer lassen,

Beim parasitären Mode muß die 5V Leitung des Sensors auf Masse gelegt 
werden

> PORTA7 auf AVR-NET-IO-Platine über 4,7k mit 5V verbinden.
> PORTA7 ist zugleich Datenleitung zu Sensor,

Laut Datenblatt muß auch auch sichergestellt sein, daß während der 
Messung die Datenleitung High ist, empfohlen wird ein "strong pullup", 
der am besten per zusätzlichem Pin zugeschaltet wird. (siehe Datenblatt)

> dazu kommt GND.
> Okay?
>

@Thorsten: funktionieren Die Sensoren im parasitären mode? Oder hast Du 
doch alle 3 Adren angeschlossen?

Grüße,
Klaus

von Thorsten (Gast)


Lesenswert?

Hallo Klaus L.

Frage war:
@Thorsten: funktionieren Die Sensoren im parasitären mode? Oder hast Du
doch alle 3 Adren angeschlossen?

Ja habe nur 2 Leitungen genommen!

Zwischen 5V und Datenleitung einen 4k7 und dann

Datenleitung zum 1 Sensor dann zum 2 Sensor
GND          zum 1 Sensor dann zum 2 Sensor

oder
GND-------------GND----------------------GND--------
AVR            Sensor1                 Sensor2         Sensor...
DATA-----------DATA----------------------DATA-------
    |
   4k7
    |
+5V-

Problem habe ich jetzt nur das die Sensoren sagen z.B. 0,5°C jetzt 
draussen aind ob wohl es -0,5°C sind!

Gruß
Thorsten

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo Harald,

LM 317:
Schau mal bei
Autor: Martin e. (Gast)
Datum: 13.01.2009 00:20

Beim 7805 liegt am mittlern IC anschluß masse, beim LM 317 plus, wenn du 
beide verbindest ist ein Kurzschluss normal. Schau mal ein Datenblatt 
an.


Die Eingänge liegen bei mir auf 5V Wert (1023), wo hast du 2 Volt?
Wenn ich Eingang 1 auf masse lege, wird digital 14 angezeigt.
Am Eingang3 ist ein Poti angeschlossen

dig. Eingang  auf/zu  analog. Eingang  Wert (0-1023)
A0_Fenster_1    AD-A4  14
A1_Fenster_2    AD-A5  1023
A2_Fenster_3    AD-A6  470
A3_    AD-A7  (-> 1-Wire)

Hallo Thorsten,

erwärme mal den Sensor, funktioniert er oder liegt es nur am Vorzeichen.
welche temp. werden seriell ausgeben?
hab 5 Senoren an 20m Telefonkabel hängen.

mfg

orfix

http://bauerer.dyndns.org/

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

>Autor: Thorsten (Gast)
>Datum: 31.01.2009 23:53


>Kannst du vielleicht mal einen index.php hier rein stellen womit man die
>AVR-NET-IO_RoBue_V1.4a mit steuern kann oder auslesen!

Hallo,

wg. der ausgelagerten webpage:
hab die Scripts angehängt; die musst Du Dir natürlich anpassen wg. der
URL usw. Und das Board mit der webserver-Firmware muss dazu

camera.jpg   und
ow.html       (für Status und Sensordaten)

zur Verfügung stellen; musst Du selbst einbauen, falls nicht.
Genau diese zwei Scripte habe ich hier laufen:

df8jb.eluhost.de/forum/     ( http://     davorsetzen...)

Gruß Klaus
--

von Thorsten (Gast)


Lesenswert?

Hallo Klaus H.

Also danke für die Dateien!

Aber du hattest geschrieben das die ow.html-Datei  muss in webpage.h 
vorhanden sein!

Aber was muß ich den dort genau reinschreiben? Also sonst habe ich die 
Seite schon etwas umgbaut wegen der CAM!

Kannst du mir da noch mal Helfen?

Gruß Thorsten

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Versuchsaufbau AVR-NET-IO mit
- LCD -> Ext/PORTD
- 1-Wire
- Relais (max 4) -> PORTC0-3
- Funksteckdosen (max 4) -> PORTC4-7

So sieht's bei mir aus. Die Anlage steuert bereits die Temperatur in 
meinem Bastelzimmer. (Deswegen gebe ich z.Z. keine IP zum Herumspielen 
auf meiner Anlage an!!!)

Grüße RoBue

von Klaus H. (df8jb)


Lesenswert?

>Autor: RoBue (Gast)
>Datum: 01.02.2009 16:06

>So sieht's bei mir aus. Die Anlage steuert bereits die Temperatur in
>meinem Bastelzimmer.
>(Deswegen gebe ich z.Z. keine IP zum Herumspielen
>auf meiner Anlage an!!!)
(so nach dem Motto: heute grillen wir den RoBue...)

...sieht aber gut aus! Viel zu gut, um was dran zu ändern.
Aber zum Herumspielen hat man doch einen BreadBoard-Aufbau oder ein 
zweites Board!
Mein Chaos kann ich leider nicht ablichten, ein 
360Grad-WW-rundum-Objektiv hab ich nicht...


>Autor: Thorsten (Gast)
>Datum: 01.02.2009 15:23

>Aber du hattest geschrieben das die ow.html-Datei  muss in webpage.h
>vorhanden sein!
>Aber was muß ich den dort genau reinschreiben?

hatte ich vergessen:
...in webpage.h  hat RoBue das schon  drin; heisst jetzt "daten.html".
Den Namen nimmst Du einfach statt "ow.html" in den Scripts, dann kommst 
Du an die Daten.
Das Anfordern der .html habe ich hoffentlich hinreichend kommentiert, 
denke ich.

Ansonsten lass Dich nicht von meinem chaotischen php/html-Mix 
verunsichern; ich habe gerade eine Woche "Erfahrung" damit....

btw: auf welchem Server lässt Du das Ganze eigentlich laufen?

Gruß Klaus
--

von Thorsten (Gast)


Lesenswert?

Hallo Klaus H.

danke das werde ich ausprobieren!

Ich mache das alles auf einer Netzwerkfestplatte von einem Freund oder 
eigentlich von unserem Verein! Die hat einen Web-Server worauf auch php 
läuft! Damit geht auch das mit Socket! Leider geht es auf meinem NAS 
auch nicht der kann nur html und kein php! Leider!

Und das mit der Beschriftung klapt schon wenn nicht Frage ich wieder!

Mein PHP ist auch nicht gut! Fange schon etwas länger damit an aber mit 
bis jetzt keinen großen erfolg aber das kiegt mehr daran das ich bis 
jetzt noch keine verwendung dafür hatte!

Gruß Thorsten

von Thorsten (Gast)


Lesenswert?

Hallo Klaus H. oder RoBue

ich habe da jetzt eine Frage!

Ich verwende das von Klaus H. damit ich die per PHP auslesen kann!

Jetzt frage ich daten aus der daten.htnl ab von Bord! Wo kann ich die 
auslesen?

Denn ich habe Proleme das die Daten nicht ganz mit der Bezeichnung von 
Klaus H. klar kommt! Also temp2max ist nicht das was es bedeuten soll 
ich bekomme dort den Wert von von Analogeingang 1!

Könnte ihr mir das erklären?

Gruß Thorsten

von Klaus H. (df8jb)


Lesenswert?

Thorsten,

Du musst in der webpage.h  diejenigen Variablen in "PROGMEM char 
Page2[]"  einbauen, die Du nachher auslesen willst, und dann alles neu 
flashen.

Meine Variablen-Bezeichnungen sind temp1 - temp 4 und die Minima/Maxima 
tempXmin, tempXmax.
Weil ich vier Temp-Sensoren habe, bekomme ich damit meine 12 Temp-Werte, 
die den Variablen per php zugewiesen werden und auf der neuen Webpage 
ausgegeben werden..

%OW@  sind die Temperaturwerte, %VA@ sind die analogen Eingänge, also 
die D/A-Wandler - Werte.
Ein wenig lesen und überlegen ist da mal angesagt,  es steht eigentlich 
alles in den Dateien im
Projekt.

Gruß Klaus
--

von Klaus H. (df8jb)


Lesenswert?

@all

...weiss eigentlich jemand, wieso die ADC-Ausgabewerte (0 - 1023 bei den 
10 bit Auflösung) bei Eingang = Masse nicht genau "0"  und bei Eingang = 
Uref (5V) nicht genau "1023" sind?

Mein selbstgebautes AVR-Programm liefert wie auch die Pollin-Software 
die richtigen Werte.
Da steckt doch irgendwo ein kleiner Fehler drin, den ich aber bei der 
C-typischen chaotischen Anordnung von Unmengen Dateien, Code, #defines 
und wild verstreuten barocken Klammern nicht finden kann.

Evtl. hilft jemand aus der C-Fraktion (oder jetzt nicht mehr...) ?


Gruß Klaus
--

von Christian H. (cni) Benutzerseite


Lesenswert?

Hallo,

hat jemand schon mal einen SHT71 oder SHT75 Sensor integriert?
Ich krieg das irgendwie nicht hin!
Hab das Beispiel von hier genommen:
Tempertur/Feuchte Display/Logger mit ATMega128  SHT75  SD-Karte
ICh wollte dazu ADC5 und ADC6 nehmen!
Doch er bringt beim Compile immer:
error: 'PINA' undeclared (first use in this function)
Jemand eine Idee?

Danke

Gruß
Christian

von Sascha T. (tubsids)


Lesenswert?

hallo zusammen,

danke an Klaus H. (df8jb).
Alles läuft jetzt einwandfrei. RS232 und TCP/IP.

Danke an alle.

von Christian H. (cni) Benutzerseite


Lesenswert?

Hi,

ich hab nun die libsht von:
Lib für Sensirion SHT1x Sensor an AVR
eingebunden, doch wie bekomme ich es hin, das PINA5 und PINA6 nicht als 
ADC sondern als SCL und DATA für den SHT1x Sensor her genommen wird?

PS: Ich würde gerne 2 1-Wire Temperatur-Sensoren benutzen und einen 
SHT71 Sensor und damit eine Terrarien-Steuerung realisieren wollen. Das 
ganze natürlich über Web-Interface die Schwellwerte einstellbar (so wie 
bei RoBue)!

Danke

Gruß
Christian

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hi AVR-NET-IO-Fans,
nun endlich kommt die Test-Version 1.5 zum ausgiebigen untersuchen.

Bitte lest
   config.h
und
   _AVR-NET-IO_RoBue_V1.x.txt
bevor Ihr Fragen hier im Forum stellt.

Neues:
- Servounterstützung (sehr einfach, aber sie geht)
- LCD nun an PORTD als Standard
- Schalten ueber Temperaturdifferenz (z.B. für Zirkulationspumpe)
- config.h überarbeitet zum leichteren Einstellen

Viel Spaß und bitte Rückmeldung (vor allem bei Fehlern).

Liebe Grüße, RoBue

Übrigens Rückmeldung:
Ich habe mehrfach wegen der (neuen) Servo-Routinen um Rückmeldung 
gebeten.
Trotz einiger Downloads habe ich nur 1 (negative) bekommen.
Nachdem ich nun endlich einen Servo erhalten habe, konnte ich selbst 
testen und konnte feststellen, dass die neuen Routinen sehr wohl 
funtionieren.
Das wäre sicher alles viel schneller gegangen, wenn ...

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo RoBue,

super arbeit 1.5,
was ich bis jetzt getestet hab, funktioniert auch C0,C1,C6, Cam, 1-Wire.
max/min macht bis jetzt auch keine probleme.

LCD muss ich noch testen.

Hab keine Ahnung von Servos, kannst du ein Modell empfehlen?
Lokale Wetterinformationen: versteh ich nicht, kann man nur einen 
lokalen Link einbinden?



Mit freundlichen Grüßen

Orfix

von Gerd (Gast)


Lesenswert?

Hey

Hat schon mal einer versucht den Ethersex auf den Polling zu flashen mit 
fs20 Unterstützung

von RoBue (Gast)


Lesenswert?

Hallo orfix,
danke fürs Testen. Mal sehen, ob noch Fehler gefunden werden. Wenn alles 
dann soweit untersucht ist, kann man dann die Sache in größerem Rahmen 
veröffentlichen.

Bei Servos kenne ich mich auch nicht aus. Habe einen uralten von 
Graupner zum Testen von einem Freund bekommen. C... bietet einen für 5 
EUR an. Billiger habe ich keinen gefunden. Den würde ich mir gern 
zulegen, aber nur wegen 5 EUR bestellen ... Auf jeden Fall muss es ein 
analoger sein. Digitale gehen nicht.

Lokale Wetterinformationen:
Ich habe mir einfach einen Link von wetter24 für Rosenfeld eingebunden.
Diesen kann man in config.h definieren.
Ist nur ein kleiner Gag.

Grüße, RoBue

von Reiner (Gast)


Lesenswert?

Hallo RoBue,

danke für die 1.5 Test-Version,
Ich habe bis jetz nur den OW-Bus sowie das LCD Display getestet.
Bei den Temperaturen ist alles OK. Beim LCD ist mir ein unterschied
in der Belegung aufgefallen:
LCD Belegung laut Pollin Beschreibung V3 vom 7.11.2008
       RW ->- PD2
       RS ->- PD3

RoBue V1.5 Testversion Belegung
--> Pin  4 RS  PORTD2
--> Pin  5 RW  PORTD3

Mit freundlichen Grüßen

Reiner

von RoBue (Gast)


Lesenswert?

Hallo Reiner,

--> Pin  4 RS  PORTD2
--> Pin  5 RW  PORTD3

ist die Belegung, die im Forum immer wieder benutzt wurde.
Die habe ich genommen.

Gruß RoBue

von Karl albert L. (karleido)


Lesenswert?

Hallo RoBue,

meine Erfahrungen mit der V1.5

Ich habe am 1-Wirebus 4x DS18S20 und 4x DS1822 hängen. Als µC einen 
Mega644.

Nach dem ersten Versuch werden alle 5 Sensoren richtig angezeigt. 
Firefox meldet hat Seite am Neuladen gehindert. Diesen Fehler habe ich 
schon mal gehabt. Trat auf bei fehlerhafter Webpage auf.

Beim zweiten Versuch habe ich alle 8 Sensoren in Betrieb genommen und in 
webpage.h die Zeilen hinzugefügt. Jetzt werden die Min/Max Werte 
fehlerhaft angezeigt. Min bleibt auf 0,0.
Auf der Datenseite wird folgendes Angezeigt:
20,0 20,6 20,6 20,6 20,3 19,9 19,8 20,3 1018 1018 1018

Das hier noch eine Baustelle ist steht ja im Code.
Melde mich wenn ich etwas gefunden habe.

Gruß
Karl Albert

von Stephan L. (mike87)


Lesenswert?

Hallo,
also bei mir läuft die v1.5 auch. Ausgänge schalten, Eingänge auslesen 
und LCD machen keine Probleme. Ebenso funktioniert die Webseite.

Ein Problem habe ich jedoch. Dieses trat aber schon bei der v1.4 auf.
Alle onewire-Sensoren melden auf der Konsole CRC Error (lost 
connection?) FC:10 usw
Ich habe den Widerstand schon auf 2,2k verkleinert was aber auch keine 
Verbesserung brachte.
Der Code zum Auslesen der Seriennummern funktioniert hingegen tadellos.

Hat da noch jemand eine Idee? Weiter oben im Thread gab es dazu 
scheinbar keine Lösung.

von Klaus H. (klaushuber)


Lesenswert?

Gerd wrote:
> Hey
>
> Hat schon mal einer versucht den Ethersex auf den Polling zu flashen mit
> fs20 Unterstützung

Ethersex lief bei mir auf Anhieb auf dem Pollin-Board. Deren Konzept mit 
der Anpassung auf die entsprechende Hardware ist ziemlich beeindruckend!
Die fs20 Unterstützung hab ich mir noch nicht angesehen. Ich denke das 
lässt sich mit der entsprechenden Hardware jedoch auch relativ schnell 
in Betrieb nehmen.

Gruß
Klaus

von RoBue (Gast)


Lesenswert?

An alle AVR-NEt-IO_RoBue_V1.5-Tester und 1-Wire-Nutzer:

1-Wire ist eine super Sache, aber am AVR nicht ganz problemlos, vor 
allem, wenn man lange Leitungen und viele Sensoren nutzen will. Ich habe 
z.B. schon mit 5 Sensoren Probleme, bei denen 2 an einem Kabel, das 2 
Stockwerke überbrücken muss, hängen. Ich habe sie dann mit eigener 
Batterie versorgt. Dann gings einigermaßen, aber auch nicht ganz ohne 
Fehlermeldungen.

Zur Abhilfe:
Bitte teilt mir die Probleme konkreter mit,
dazu sollte ich wissen:
- Leitungsaufbau und -länge
- Anzahl der Sensoren
- Ausgabe über UART ("lost connection" o.ä.)
- Gar keine Verbindung oder nur sporadisch Fehlermeldungen
- Größe des Widerstands zwischen PORTA7 und VCC
Testet bei Prblemen einfach mal mit 1 oder weniger Sensoren.
Wie ist das Ergebnis dann?

Möglichkeiten:
- Evtl. eigene Versorgunsspannung (Zuleitung 3-adrig)
- Messaufforderung für jeden Sensor einzeln
  (wäre aufwändiger und würde das Abfrageintervall verlängern,
  da man ca. 1s pro Sensor braucht).
- 1-Wire-Hub (???)

Mal zum Testen:
Widerstand zwischen PORTA7 und VCC (4,7k o.ä.) durch Widerstand (1k) und 
Trimm-Poti (5k) ersetzen und versuchen, ob man dadurch exakter die 
parasitäre Versorgungsspannung einstellen kann.

Auf jeden Fall mal danke für Eure Tests und Mitarbeit.

Gruß RoBue

von RoBue (Gast)


Lesenswert?

Hallo karleido

-> "Firefox meldet hat Seite am Neuladen gehindert"

Diese Meldung bekomme ich mit Firefox nicht.
Kann es sein, dass Du an den Einstellungen beim Firefox etwas geändert 
werden muss? Ich habe eine Wiederholung in die Webseite integriert, alle 
30s.

Gruß RoBue

von Clyde (Gast)


Lesenswert?

Hallo,

mal kurz zwischendurch wegen 1Wire.

ich habe 4 Sensoren an einem 30m Kabel angeschlossen und einer direkt am 
AVR.
Wichtig ist, kein parasite Power zu nehmen, das macht es noch 
komplizierter.
Ausserdem muss man die Netzwerktopologie im Auge behalten, kein Stern!
Bei dem Sensor am AVR habe ich mit einem kleinen Kondensator und 
Wiederstand versucht die Leitungslast zu emulieren und das klappt ganz 
gut.
Ausserdem nutze ich nur 1k Pullup!

Allerdings lief es bei mir bis vorgestern an dem OW-Netzwerk von 
CC2/Elektor und kann jetzt erst richtig mit dem AVR-Net-IO anfangen und 
hänge gerade an dem Vorzeichenproblem bei negativen Temperaturen in 
V1.4.
Aber der Zuverlässigkeit nach o.g. Schaltung kein Problem!

So, pause rum....

von Karl albert L. (karleido)


Lesenswert?

@RoBue und 1-Wire Tester,

Nachdem ich in der config.h die Anzahl der Sensoren auf 9 gesetzt habe, 
habe ich alle Werte angezeigt bekommen.
1
// max. Anzahl der Sensoren
2
#define MAXSENSORS  9      // 8 Sensoren + Last = 9
Dann wurde ich mutig und habe meinen 1-Wirebus verändert. Nach 
zwischenschalten vom 20m Klingeldraht (noch auf der Rolle) ging nichts 
mehr.
Es wurde der Wert 85 (Fehlermeldung) manchmal oder die alten Werte 
ausgegeben.
Nach Rückbau in den Altzustand, bekomme ich die Werte bis auf 1 Maxwert 
(0,0) die Werte wieder angezeigt.

Der 1-Wirebus ist wohl sehr empfindlich. Als Wiederstand habe ich 4,7k 
benutzt.

Für den Wetter Gimmik schlage ich ein öffnen einer neuen Seite vor 
(target=\"_blank\").

Noch eine Frage an RoBue: Du hast erst begonnen C zu lernen und stemmst 
solch ein Projekt. Was kannst du mir zum Lernen von C empfehlen?
Gruß
Karl Albert

von Klaus H. (df8jb)


Lesenswert?

>Autor: Karl albert Leinweber (karleido)

..
..
>Noch eine Frage an RoBue: Du hast erst begonnen C zu lernen und stemmst
>solch ein Projekt. Was kannst du mir zum Lernen von C empfehlen?

...da schreibst Du das, was ich seit einiger Zeit auch denke, wenn ich 
so in die Sources und die klasse Dokumentation reinsehe...


Gruß Klaus
--

von Iwo S. (geht-so)


Lesenswert?

Moin,

eine Kamera PC-unabhängig in's Netz zu bringen, interessiert mich schon 
eine Weile. Nach einem unbefriedigenden Umweg über das 
RoboTrack-Projekt, bin ich auf dieses ETH-Board gestossen (worden) und 
habe das Po**in-Board entdeckt und mit etwas Stress am Laufen. Dank 
eines bekannten, der sich mi ATMega's auskennt.

1.) Ich möchte dieses Po**in-Board gerne mit der Philips-Cam, einem 
Servo und 1 bis 2 DS1820 bestücken. Welche Soft ist da zu empfehlen?

2.) Gibt es eine Version, die die Webseite auf der SD-Karte hat?

tnx Iwo 92.250.231.221

von Iwo S. (geht-so)


Lesenswert?

92.250.231.221|user|passwort

3.) Eine Variante ohne LogIn.

von Stephan L. (mike87)


Lesenswert?

Also ich habe mich mit meinem 1-Wire-Problem beschäftigt:

Anschluss:
5V an rechten Pin (Vdd)
J7 an mittleren Pin (DQ)
GND an linken Pin (GND)

Verbindung über drei Einzeldrähte (~20cm) auf ein Prototypenboard. Dort 
steckt ein DS18S20.

Widerstand in der Klemme auf dem NET-IO zwischen 5V und J7: 4,7k; 2,7k; 
1k
Die drei Werte habe ich nun probiert.

Sensoren auslesen:
1
1-Wire-Reader:
2
ID: 10 3F 9F 7A 01 08 00 84   T: 0188 =   24.5øC
Selbes Ergebnis mit allen drei Widerständen. Die ausgelesene Temperatur 
ist realistisch und ändert sich auch in erwartetem Maße.

Webserver:
config.h:
Original mit Ausnahme der IP/MAC/Gateway
1
//LCD
2
#define FOUR_LINES  
3
//onewire:
4
  #define MAXSENSORS  8
5
  #define OW_ID_T01  {0x10,0x3f,0x9f,0x7a,0x01,0x08,0x00,0x84}
6
  //#define OW_ID_T02  {0x10,0x1b,0xb6,0x7a,0x01,0x08,0x00,0xe5}
7
  //#define OW_ID_T03  {0x10,0xb3,0xc6,0x7a,0x01,0x08,0x00,0x75}
8
  //#define OW_ID_T04  {0x10,0xa3,0xa6,0x7a,0x01,0x08,0x00,0x3f}
9
  //#define OW_ID_T05  {0x10,0xcd,0x8f,0x7a,0x01,0x08,0x00,0xe4}
10
  #define OW_ID_T02  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // leer
11
  #define OW_ID_T03  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // leer
12
  #define OW_ID_T04  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // leer
13
  #define OW_ID_T05  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // leer
14
  #define OW_ID_T06  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // leer
15
  #define OW_ID_T07  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // leer
16
  #define OW_ID_T08  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // leer
17
  #define OW_ID_Last  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}

Ausgabe über COM:
1
System Ready
2
Compiliert am Feb  5 2009 um 00:05:38
3
Compiliert mit GCC Version 4.1.2 (WinAVR 20070525)
4
5
NIC init:READY!
6
My IP: 192.168.1.99
7
8
** NTP Request gesendet! **
9
** NTP DATA GET! **
10
11
NTP TIME: 00:07:19
12
13
CRC Error (lost connection?) FC:10 (18S)SN: 3f 9f 7a 1 8 0 CRC:84  CRC O.K.
14
CRC Error (lost connection?) FC:10 (18S)SN: 3f 9f 7a 1 8 0 CRC:84  CRC O.K.
15
[usw]

Auch hier gibt es keine Änderung bei verschiedenen Widerständen.


Übrigens manchmal sagt er, dass er keinen NTP-Server gefunden hat. 
Einmal neustarten und er hat die Zeit...

von RoBue (Gast)


Lesenswert?

Hallo Klaus und Karl, danke für die Blumen.

Vielleicht muss man es so sehen:
Wenn ich das geschafft habe, dann müssten das auch andere (z.B. Ihr) 
zustande bringen.

Ich habe unter Linux schon einige Zeit mit bash-Scripts gearbeitet, die 
in Manchem der C-Struktur ähnlich sind.
Dann hatte ich ja den recht ausgereiften Code von Ulrich Radig als 
Vorlage, der zusätzlich von mudman ausgemistet worden ist.
Diese habe ich ausgedruckt (ganz wichtig, nicht nur am PC betrachten) 
und dann auch sofort kommentiert, wenn ich etwas geblickt habe. Dazu 
haben viele hier im Forum beigetragen.
Ansonsten habe ich die Tutorials für C genutzt und evtl. im Internet 
noch den einen oder anderen Befehl gesucht.
Und dann habe ich angefangen, Schritt für Schritt Veränderungen 
vorzunehmen.

Dazu: Einfach Spaß, an solch einer Aufgabe zu reifen.

Dass dann der Code hier zu einer Grundlage für einige wurde, war für 
mich am Anfang gar nicht geplant, hat mich aber sehr gefreut. Ich wollte 
eigentlich nur Denkanstöße und Erkenntnisse weitergeb, um anderen zu 
helfen. Irgendwann merkte ich aber, dass es ganz gut ist, wenn einer die 
Sache etwas kanalisiert und den Überblick behält.

Also: Nicht aufgeben. Schritt für Schritt einarbeiten.

Liebe Grüße, RoBue

von Karl albert L. (karleido)


Lesenswert?

Hallo 1-Wire Experten,

ist es möglich, daß ich mir den Eingang von µC oder einen Sensor 
zerstört habe, als ich mit dem Bus experimentiert habe?

Slebst mit einer alten Version, die nie Probleme machte, werden die 
Werte selten richtig angezeigt. Das geht soweit, das die Seite nicht 
mehr richtig aufgebaut wird, oder die Verbindung ein Timeout bekommt und 
abbricht.

Ich werde die Sensoren mal einzel testen.

Thomas Edlinger hat eine gute Arbeit zu "1-Wire-Netzwerke" geschrieben. 
Enfach bei go... suchen.

Gruß
Karl Albert

von Iwo S. (geht-so)


Lesenswert?

@ RoBue

Der Servo läuft super! Habe jetzt die Webserver_MEGA32_Servo-D7.hex 
drauf. Der Servo muß unbedingt zwei Endmarken bekommen, sonst kann er 
kaputt gedreht werden. Die Bedienung des Servos könnte auch noch besser 
sein. Passt noch nen zweiter Servo als Quelltext rein?

mfg Iwo

von Christian H. (cni) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo RoBue,

ich habe die V1.5 auch getestet, läuft super!

Mittlerweile habe ich einen SHT 71 Sensor (Feuchte- und 
Temperatur-Sensor) mit zum laufen bekommen!
Siehe ScreenShot im Anhang...
Habe dazu die libsht benutzt und eingebunden.

Wenn Du willst, kannst Du gerne meinen Code (Mod) haben und ihn noch in 
die V1.5 einbauen.
Habe es alles so eingebunden, das der SHT Sensor über die config.h 
(USE_SHT) optional ein/aus geschaltet werden kann (inkl. der Ausgabe in 
der webpage.h).

Schreib mir einfach eine Email, dann schicke ich Dir alles zum einbauen!

Viele Grüße,
Christian

von Karl albert L. (karleido)


Lesenswert?

Hallo 1-Wire Experten,

habe den Fehler gefunden. Ich habe für den 1-Wirebus Lüsterklemmen 
benutzt. Wenn da eine Verschraubung nicht ordentlich ist, spinnt der 
ganze Bus. Da hierbei  sich der µC aufgehangen hat, wäre eine 
Fehlerroutine die den Ausfall oder Zusammenbruch des Busse signalisiert 
und den µC weiterarbeiten läßt sinnvoll.

Gruß
Karl Albert

von Christian H. (cni) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo,

da ich bereits einige Anfragen wegen dem Code bekommen habe,
im Anhang dieses Beitrags nun das ZIP-Flie mit den geänderten Source zu 
RoBue´s V1.5_Test-Servo Version.

Wenn jemand das ganze noch so hin bekommt, das man auch Komme-Werte 
bekommt, dann wäre das echt super!

@RoBue
Wenn´s nocht geht, bau es bitte in Deine V1.5 Final mit ein!

Danke

Viele Grüße,
Christian

von Iwo S. (geht-so)


Lesenswert?

@RoBue

Mit der v1.5 bekomme ich den Servo nicht zum Laufen. Mit der 
Servo-D7.hex spielt es super. Sind die Sources der Servo-D7 verfügbar?

mfg

von RoBue (Gast)


Lesenswert?

Hallo Iwo und Christian,

versuche Eure Wünsche und Bitten übers Wochenende umzusetzten und hier 
einzustellen.

Gruß RoBue

von Iwo S. (geht-so)


Lesenswert?

Hi RoBue,

bin am Verzweifeln mit dem Einfügen des CamBildes. Ich denke die 
auskommentierten Zeilen habe ich alle gefunden. Aber unter der 
Stammadresse ist die Seite zu erreichen, ohne Bild und 
Stammadresse/camera.jpg sehe ich das Bild.

92.250.231.221 (wenn ich nicht gerade am rumfummeln bin)

Wie geschrieben, in -D7 lief der Servo, in v1.5 nicht. Leider.

Noch watt: Seit dem ich die Kamera eingebunden habe, werden die 
min-Werte nur noch als Null angezeigt. :-/

mfg

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hi Iwo,
habe Fehler gefunden. Korrekturfiles im Anhang. Bei meinem Servo 
funktionuckelt es zumindest. Danke für den Test. Bitte melde Dich bei 
Erfolg/Misserfolg.

Zur Kamera kann ich z.Z. nichts sagen, da ich meine noch nicht 
installiert habe.

Grüße RoBue

von Iwo S. (geht-so)


Lesenswert?

Hi RoBue,

auch wenn ich mich oute: Ich weiß mit den drei Files nix anzufangen! 
config.h
httpd.c
main.c

Lese solche kryptische Zeilen erst seit ein paar Tagen. Aber in der 
config.h habe ich schon zuviel reingepfuscht, als daß ich sie 1:1 
austauschen möchte. Auch so main.c. Die httpd.c habe ich noch gar nie 
nich angepackt.

Kannste nicht mal beschreiben, wo der Haken ist/war?

Wenn ich die 3x files so einfach übernehme, habe ich ganz neue Sachen, 
die dann nicht mehr gehen, fürchte ich.

Übrigens: Wäre immer noch am Source der "Webserver_MEGA32_Servo-D7.hex" 
interessiert.

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Iwo,
also der Fehler lag darin, dass die Steuerbefehle inzwischen von main.c 
nach httpd.c verschoben wurden (suche bitte: #if USE_SERVO), aber in 
httpd.c die Routine, die diese Befehle ausführen soll (camera/servo.c) 
vorne in httpd.c nicht eingetragen war (#include "camera/servo.h").

Zum Sourcecode:
Wir sind gerade dabei eine EINHEITLICHE Grundlage für die Programmierer 
zu erstellen. "Webserver_MEGA32_Servo-D7.hex" war nur als Test für die 
Servoroutinen gedacht und ist längst überholt. Es bringt Dir nichts, 
wenn Du daran weiterarbeitest, weil dann kaum mehr was kompatibel sein 
wird.

Gruß RoBue

(Neuer hex für Servo im Anhang)

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

2. Testversion von AVR_NET-IO_RoBue_V1.5

- Fehler in Servo-Routinen behoben
- Erweiterung config.h
- Beispielkonfigurationen,
  z.B. minimal, Servo, ...
 (siehe Ordner configfiles und Hexfiles)

SHT-Unterstützung kommt noch!!! Keine Angst.

Gruß RoBue

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hi RoBue,

Servo mit camera funktioniert super, respekt für das tolle projekt.

Hatte immer einen Spannungseinbruch, hab servo nun fremdversorgt, gibt 
es vielleicht eine andere lösung?

Leider ist keine Displayanzeige möglich, kann man den Ausgang auch auf 
den Sub-D umprogrammieren?

Endanschlag > 36 schaltet der Motor nicht ab, links = 14 funktioniert 
mehr geht nicht


Du bist zu schnell ich komme nicht nach die neuen Versionen zu testen?

mfg

orfix


Nicht immer online

http://bauerer.dyndns.org/

von RoBue (Gast)


Lesenswert?

Hallo orfix

Servo:
Anfangs- und Endpunkte einstellen (ab Testversion 2):

config.h:
// Weitere Einstellungen Servo (varrieren je nach Hersteller leicht):
  #define SERVO_MIN  14  // linker Anschlag
  #define SERVO_MAX  36  // rechter Anschlag

Ich habe als Stromversorgung inzwischen ein Schaltnetzteil mit 5V/12V je 
2A.
Da habe ich keine Probleme.

Gruß RoBue

von Stephan L. (mike87)


Lesenswert?

Ich habe heute nochmal ein wenig rumprobiert.
Einmal bin ich auf eine direkte 5V-Versorgung umgestiegen. Damit sind 
die NTP-Fehler weg. Die 5V die aus dem Spannungsregler rauskamen hatten 
eine starke Restwelligkeit.

Mit 1-Wire bin ich keinen Schritt weiter. Inzwischen habe ich den Sensor 
schon direkt an die Schraubklemmen gehangen. Keine Änderung. Weiterhin 
gibt es den CRC-Fehler. Auf dem Oszi sieht man, dass etwas passiert aber 
in Ermangelung eines Logic-Analysers kann ich nicht sagen was.
Würde es nicht bei einigen hier funktionieren hätte ich behauptet, dass 
da noch ein Bug drin ist.
Hat noch jemand eine Idee?

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo Iwo Schulz (geht-so),

Wo soll denn die camera angezeigt werden?

Teste mal, vermute hier die ursache.

In webpage.h  Code für's Kamerabild einsetzen, ich hab's irgendwo in den
Header gesetzt:

"<img src = \"camera.jpg\" width = \"320\"  height = \"240\">\r\n"

suchfunktion benutzen

z.B hier

Autor: Klaus H. (df8jb)
Datum: 06.01.2009 17:59

„min-Werte nur noch als Null angezeigt. :-/“

ist auch bekannt

suchfunktion benutzen

servo mit 1.5 funktioniert nun auch, super service von  RoBue


mfg

orfix

Nicht immer online

http://bauerer.dyndns.org/

von Iwo S. (geht-so)


Lesenswert?

@ RoBue

servo.zip
---------
keine Änderung

AVR-NET-IO_RoBue_V1.5_TEST-2.zip
--------------------------------

nach minimaler Anpassung fährt der Servo nicht mehr hart gegen Null, 
sondern soft gegen max. Bei jeder Schrittverkleinerung fährt er eine 
Stufe herunter um dann zitternder Weise wieder gegen max zu fahren.

@ orfix

Kamera einbinden teste ich jetzt.

von Iwo S. (geht-so)


Lesenswert?

Erba57 Ba wrote:

>
> „min-Werte nur noch als Null angezeigt. :-/“
>
> ist auch bekannt
>
> suchfunktion benutzen
>

Ehm, die Thread-Darstellung ist schon stark unübersichtlich, die 
Suchfunktion topt das Ganze noch. Da du die Problematik kennst, kannst 
du bitte mal genauer beschreiben, wo ich die Lösung finde?

Übrigens, Kamera läuft jetzt! Danke für den Tipp.

von Gerd (Gast)


Lesenswert?

Hallo,

Also ich hatte die ganze Zeit nun Probleme mit 1Wire.

Nun sind die Probleme eigentlich weg
Geändert habe ich:

Von 3 auf 2 Leitungen (wie hier beschrieben)
1. Sensor 2m (0,5mm²)
2. Sensor 4m
3. Sensor 6m
4. Sensor 10m

und nach dem ich das Netzteil
http://www.pollin.de/shop/shop.php?cf=detail.php&pg=NQ==&a=MzEzOTQ2OTk=
Verwendet habe und Dioden und einige Kondensatoren vom Board entfernt, 
habe ich die Probleme beseitigen können. Ach ja die Spannungsregler sind 
auch nicht mehr auf dem Bord.
Und versorge das Board direct von dem Netzteil.

Bin noch auf der Suche nach dem Passenden Servo. Bei Reichelt fand ich 
nichts. Hat da jemand bezugsquellen?

Robue funktionieren die Funkstechdosen von Polling
http://www.pollin.de/shop/shop.php?cf=detail.php&pg=NQ==&a=MzMzOTQ0OTk=
mit deiner Idee ?

Gruß Gerd

von Iwo S. (geht-so)


Lesenswert?

Gib mal Servo bei der Co**ad-Suche ein. Ab 4,95€ wirste damit 
zugeworfen. ;-)

von Gerd (Gast)


Lesenswert?

Danke,
Ach du Sch.. Ab und zu sieht man(n) den Wald vor lauter Bäume nicht.
Habe bie Reichelt Polling ELV gesucht aber dort ....

Na danke noch mal.

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo Iwo Schulz (geht-so)

Kein problem, helfe gern, unübersichtlich ist miserabel hast recht wurde 
schon öfter bemängelt. Aber keiner hat eine Lösung?

min/ max:
vom großen Meister RoBue persönlich, vielleicht hast du eine lösung?


Suchen nach:

Autor: RoBue (Gast)
Datum: 31.01.2009 17:17


Hab auch das problem mit min max, sporadisch klappt es.

Die Idee drehen des servos unter dem cam bild hab ich von deiner seite 
übernommen.
Kann aber keine Bewegung bei dir feststellen, schau mal bei mir


bauerer.dyndns.org/





Mit freundlichen Grüßen

orfix

von Michael N. (nobody85)


Lesenswert?

Hi Leute,
hab mir jetzt auch mal das Pollin NetIO-board bestellt.
Nun meine Frage:
Ich wollte das Board als eine kleine Haussteuerung nutzen.
Das Problem was ich habe ich würde gerne mein Licht in den einzelenen 
Räumen dimmen (also 8Dimmer an der Zahl) weiß nur nicht wie ich das 
umsetzen soll. Habe einen 1-Tastdimmer beim Großen C gefunden. Nur wie 
soll ich den mit dem board verbinden das ich den aktuellen Lichtstand 
ermittle bzw. sehe ob er an oder aus ist...
Könnte ja die analogen eingänge nehmen aber das board hat ja nur 4 
solche Eingänge.
Außerdem würde ich auch noch gerne die Temp. in den Räumen ermitteln?
Hat einer ne Idee wie ich das mit dem dimmen am besten umsetze.
Bzw. wie ich die analogen Eingäge erweitern kann.

von Iwo S. (geht-so)


Lesenswert?

Ja nee, der Servo funktioniert ja leider nicht mit der Version 1.5. Bei 
Servo-D7 ging das super.

Jetzt harre ich der Dinge, die da kommen servotechnisch..

Deswegen hatte ich ja nach dem Coder der Servo-D7 gefragt. Abba is 
nich....

von RoBue (Gast)


Lesenswert?

Fragen Fragen, Fragen ...

... ich versuche mal ein paar Antworten.

-> Alter Servo-Code (Iwo):
Hab jetzt doch danach gesucht, um ihn Dir zu schicken, aber er wurde 
wohl schon von mir gelöscht. Mist und sorry. Wenn ich ihn doch noch 
finde, stelle ich ihn ein. Aber warum funktioniert der neue bei manchen 
und bei anderen nicht? Weitere Rückmeldungen wären wichtig!
(Welchen Servo hast Du? Den von C*****? )

-> 1-Wire Fehler (orfix u.a.)
Da komme ich zur Zeit auch nicht weiter. Ich hab die Routinen von Wil 
übernommen und der hat sie wohl von PeDa. Es könnte daran liegen, dass 
beim ersten Auslesen ein Fehler (CRC etc.) auftaucht. Dann wird 0 Grad 
in beiden Speicherstellen beibehalten. Dann kommen irgendwann doch 
Daten. Da in der Regel die Temp. über 0 Grad liegt, wird nur der 
Max-Wert neu beschrieben, aber der Min-Wert bleibt. Evtl. mit der 
seriellen Ausgabe vergleichen, ob es gleich beim Start Lesefehler gibt. 
Habe die weit entfernten Sensoren mit eigener Stromversorgung 
ausgestattet. Da sank die Fehlerquote deutlich. Die  0,0 müsste übrigens 
nach Mitternacht verschwinden - oder?

-> LCD nicht mehr an PORTD zu betreiben (Servo an D7, orfix)
Ja und Nein. Ich dachte, dass PORTC besser zum Schalten zu gebrauchen 
wäre und deshalb habe ich selbst auf die PORTD-Version umgestellt. Nun 
ist PORTD7 sozusagen hardwaremäßig für den Puls-Betrieb mit dem Timer 
verknüpft.
Ausweg: Serielles Display (siehe Radig). Braucht nur 3 Leitungen. Oder 
ein MOD, das doch wieder die alten Leitungen nutzt, aber das schaffe ich 
z.Z. nicht. Für die serielle Version spräche jedoch auch, dass man den 
den Feuchtesensor an PORTD betreiben könnte (D0,1 -> UART; D2,3,4 -> 
LCD; D5,6 -> SHT; D7 -> Servo). Ist angedacht, aber ob schon in V1.5 
verwirklichbar, weiß ich nicht.

-> Funksteckdosen von Pollin (Gerd)
Müsste an sich funktionieren. Weiss aber natürlich nicht, was in dem 
Handsender drinsteckt. Der 4066-Baustein wirkt als einfacher Schalter 
(in beide Richtungen). Solange also mit der Taste einfach etwas 
überbrückt wird , dürfte es keine Probleme geben. Probleme kann evtl. 
die Pulsdauer machen, da manche (zB. FS20) ab einer gewissen Länge 
irgendwelche anderen Funktionen aktivieren.

So, jetzt bin ich vorerst am Ende.
Weiterhin viel Spaß, RoBue.

von M. W. (hobbyloet)


Angehängte Dateien:

Lesenswert?

Iwo Schulz wrote:
> Ja nee, der Servo funktioniert ja leider nicht mit der Version 1.5. Bei
> Servo-D7 ging das super.
>
> Jetzt harre ich der Dinge, die da kommen servotechnisch..
>
> Deswegen hatte ich ja nach dem Coder der Servo-D7 gefragt. Abba is
> nich....

Hallo Iwo,

vieleicht hilft dir mein gedöhns weiter.
Bei funzt der Servo Super, habe einen Graupner C1041 dran.

Gruss Marcel

von Erba57 B. (orfix) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Iwo Schulz (geht-so)


klemme mal eine led an der servo, besser wäre noch ein ozi.
war überrascht wie verrauscht die spannung an einen 0,5 A NT ist und 
dann noch der spannungseinbruch von ca. 1 V beim drehen.

war soeben life in der cam

mfg

orfix

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hallo cni,
bitte mal die hex-Datei testen (Atmega32).
Gruß RoBue

von Iwo S. (geht-so)


Lesenswert?

Hi RoBue,

also Servo läuft! Super.... Die min-Temp geht auch (manchmal).

mfg

von Gisbert M. (gisbert)


Lesenswert?

Hallo zusammen
Ich habe heute mal die Servos am 1.5er getestet und muss sagen klappt 
prima.
Vielen Dank auch von mir an alle die hier tolles leisten, besonderer 
Dank an RoBue.

Habe seit Mittwoch die 5€ Servos vom C*. Mit der ersten Testversion habe 
ich eins fast geschafft, es wird sehr schnell heiß, wenn es in den 
Anschlag fährt.
Bei den Tests mit der neuen Version hatte ich festgestellt , dass mein 
AVR (644 mit orig. Netzteileingang mit Kühlkörper + 9V 1A + 1,5A 
Steckernetzteile ) jedesmal abstürzte wenn ich ihn von rechts nach links 
laufen ließ. Ich habe dann einen 1,2 Ohm Widerstand in die Plusleitung 
gelegt und danach Verhalten sich beide (Typ RS-2 + ES-05) normal. Die 
Trimmung ist bei beiden etwas unterschiedlich. Da ich erst angenommen 
hatte , dass das Weglaufen mit der letzten Version an meinem AVR mit 
14,745600 MHz lag habe ich zuerst  mit einem zweiten Board mit 16 MHz 
getestet. Die jetzige Version läuft aber auch mit 14,7456 Mhz. da ist 
der Regelbereich etwas nach unten geschoben.

Zu der Diskussion über 1-Wire kann ich nur sagen, dass meine 4 Sensoren 
ganz gut laufen, ich habe 2-Draht parasitärer Mode benutzt, nachdem ich 
mit 3-Draht auch Störungen hatte. Ich benutze verdrillten Schaltdraht an 
den ich gedrehte 3pol IC-Fassungen angelötet und nach dem Brücken der 
äußeren pins mit Srumpfschlauch versehen habe. Dadurch kann ich die 
Sensoren noch umstecken. Störungen gab es nur wenn der Sensor nicht 
richtig eingesteckt wird oder wenn ich die Leitung (als Spule) sehr nah 
an störende Verbaucher lege.
4-adrige Telefonleitung kann probematisch sein da diese als Sternvierer 
verseilt sind und dort EMV gut einstreuen kann. Ich habe mit anderen 
Bussystemen da schon fast verzweifelt.

Anscheinend werden die Sensoren ein wenig Betriebswarm, denn ich stelle 
fest dass die Temperatur nach kurzer Betriebszeit um ca 1° hochgeht auch 
wenn die Umgebung sich eher leicht abkühlt.

So, das wars erstmal von mir.

Gruss Gisbert

von RoBue (Gast)


Lesenswert?

Hallo Iwo, freut mich natürlich.
Mit welcher Version? Von hobbyloet oder meine Testversion? Woran lags?

Hallo cni,
wird Dein hex-File auch um einiges länger, auch wenn in config.h die 
SHT-unterstützung deaktiviert wird? Ich muss das auch in makefile 
auskommentieren, damit ich die alte Länge erhalte.
Benutzt Du ein LCD an PORTD? könnten wir uns evtl. auch auf die 
Anschlüsse D5 und D6 für SHT einigen?
Wie kann man mehrere Sensoren ansteuern?

Grüße RoBue

von Iwo S. (geht-so)


Lesenswert?

Hi RoBue,

diese Version habe ich aufgespielt und entsprechend angepasst: 
AVR-NET-IO_RoBue_V1.5_TEST-2

mfg

von Gast123 (Gast)


Lesenswert?

Endlich ist der Bausatz auch bei uns in Österreich leicht zu erhalten 
(neuhold sei dank). Software lief sofort. Allerdings kann ich über die 
RS232 Schnittstelle keine verbindung aufbauen.
Radig's Software hab ich soweit zum laufen gebracht.
Aber mit dem LCD hab ich probleme. Ich hab es auf EXT angeschlossen und 
die Pinbelegung von RoBue verwendet. Ich benutze ein 2x16 LCD mit 
Standart HD~ Controller. Es zeigt nur in der Oberen Zeile einen Balken 
an.
Wie könnte ich einfach zum Beispiel die IP ausgeben lassen?
Bin in C leider noch am lernen :/

Grüße :D

von Gast123 (Gast)


Lesenswert?

Ok, hat sich erledigt. Hab es geschafft das ding zum rennen zu bringen. 
Danke @ RoBue ^^

Und nun, gute nacht

von Iwo S. (geht-so)


Lesenswert?

Moin...

seit gestern habe ich die RoBue v1.5 Test-2 laufen. Was mir dabei 
auffällt:

Bei der Temperatur schleicht sich ab und an (oft) eine Anzeige von 85°C 
ein, die dann in den Max-Werten hängen bleibt.

Die Zeit bis das Bild dargestellt wird, ist sehr lange. Derzeit habe ich 
eine Auflösung von 320x240 Pixeln eingestellt. Mit den Übertragungsraten 
auf der seriellen Schnittstelle habe ich zwischen 38400 und 115200 
getestet, aber da scheint der "Flaschenhals" nicht zu sein. Das scheint 
echt die Übertragung vom ATMega zu sein. Gerne würde ich die noch 
bessere Auflösung nutzen. Aber dann kommt die Bildübertragung ganz zum 
Erliegen, fürchte ich.

Wozu sind folgende Zeilen am Ende der wegpage.h? Ich habe noch keinen 
Balken gesehen:
1
//----------------------------------------------------------------------------
2
//Das GIF Bild für den Balken
3
PROGMEM char bild_balken[] = {
4
  0x47,0x49,0x46,0x38,0x39,0x61,0x02,0x00,0x0A,0x00,0xA2,0x00,0x00,0xA2,0xA5,0xED,
5
  0x84,0x8F,0xE5,0x66,0x7C,0xDD,0x49,0x60,0xD6,0x21,0x44,0xDA,0xFE,0x01,0x02,0x00,
6
  0x00,0x00,0x00,0x00,0x00,0x21,0xF9,0x04,0x05,0x14,0x00,0x05,0x00,0x2C,0x00,0x00,
7
  0x00,0x00,0x02,0x00,0x0A,0x00,0x00,0x03,0x0A,0x48,0x34,0x23,0x12,0x01,0x48,0x00,
8
  0x1D,0x53,0x09,0x00,0x3B,'%','E','N','D'};
9
//-----------------------------------------------------------------------------
10
//Nur Dateiname und Pointer eintragen  
11
  WEBPAGE_ITEM WEBPAGE_TABLE[] = // Befehls-Tabelle
12
  {
13
  {"index.htm",Page1},
14
  {"daten.html",Page2},
15
#if USE_CAM
16
  {"camera.jpg",bild_balken},
17
#endif //USE_CAM
18
  {"balken.gif",bild_balken},
19
//  {"ledon.gif",led_on},
20
//  {"ledoff.gif",led_off},
21
  {NULL,NULL} 
22
  };

von RoBue (Gast)


Lesenswert?

Hallo Iwo,
ich bin froh, dass nun das Meiste bei Dir (und Gast123) nun läuft.

Die 85 Grad sind jedoch ein Hinweis, dass es Auslesefehler gibt. Und da 
85 Grad in der Regel als Temperatur nicht erreicht wird, bleibt dieser 
Wert im Max-Speicher stehen (bis 00:00 Uhr).

Das Balken-Bild habe ich auskommentiert. Ursprünglich war es zur 
grafischen Darstellung von Analogwerten gedacht (Balkenlänge = Größe des 
Werte). Halte ich für verzichtbar. Spart wieder Speicherplatz. Der 
Balken hat jedoch bei Nutzung des Servos über Slider (s.o.) eine Art 
Wiederauferstehung gefeiert. Doch auch dies halte ich vorerst für 
verzichtbar, aber ich denke, wir werden es zumindest als MOD einbauen. 
Aber ds wird sicherlich einen Atmega644 erfordern.

Grüße RoBue

von ich_eben (Gast)


Lesenswert?

Hallo, ich habe einen DS18B20 wie folgt angeschlossen:
Pin1 - GND
Pin2 - ADC4
Pin3 - 5V
mit Widerstand (2 mal 5,6k parallel)zwischen ADC4 und 5V
die sensoren.hex geflashed und putty mit 9600 baud geöffnet, da 
erscheint aber nichts, sollte eine statusmeldung vom programm kommen, 
oder habe ich etwas falsch angeschlossen?

von Iwo S. (geht-so)


Lesenswert?

Hi...

Putty kenne ich zwar nicht, aber das sollte mit jedem Terminaprogramm 
gehen, wenn 9600 8N1 eingestellt ist. Die Adresse wird nach einer Weile 
das ausgespuckt.

von ich_eben (Gast)


Lesenswert?

kannst du mir sagen, in welchem zeitrahmen das abläuft so ca

von Iwo S. (geht-so)


Lesenswert?

M. W. wrote:
> Hallo Iwo,
>
> vieleicht hilft dir mein gedöhns weiter.
> Bei funzt der Servo Super, habe einen Graupner C1041 dran.
>
> Gruss Marcel

Hi Marcel,

sri dass ich auf deinen Post nicht geantwortet habe. Die Darstellung des 
Thread ist einfach zu unübersichtlich.

Die Soft hatte ich auch schon aufgespielt, aber leider erfolglos. Habe 
keinen Kontakt mit dem Server bekommen. Ich werde das die Tage aber noch 
mal testen, jetzt wo es mit der Version RoBue 1.5 Test-2 auch geht. Wer 
weiß, woran es gelegen hat.

mfg Iwo

von Klaus H. (df8jb)


Lesenswert?

>Iwo Schulz (geht-so)

Hallo Iwo,

der Bildaufbau geht mit einem ATMega644 ca. 5 mal flotter als mit dem 
32er (wg. größerem MTU-Wert irgendwo - finde die Stelle gerade nicht, 
wird aber automat. berücksichtigt....)
Mehr Platz für die Software hat man dann auch gleich.

camera.jpg braucht einen Pointer; bild_balken dient hier als 
dummy-pointer - der war halt schon da - und wird später durch das 
live-Bild ersetzt.

Ich habe die Daten-Zeilen auskommentiert und dann geschrieben:
PROGMEM char bild_balken[] = {};   // leerer pointer


Gruß Klaus
------------------------------------------------------------------
Webcam-Server im Testbetrieb:
http://df8jb.dyndns.org/  (nicht immer online)

...wg. besserer Wartbarkeit auf ext. Server ausgelagerter webpage.h:
http://avrboard.eluhost.de/
------------------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.4a, Atmega 644
Kamera: Philips DC-3840

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal einige Bilder von meinen Sensoren:
Heizungskeller (Zirkulationspumpe), Sensormodul

Gruß RoBue

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

>Autor: ich_eben (Gast)
>Datum: 09.02.2009 13:32

>ich habe einen DS18B20 wie folgt angeschlossen:
>Pin1 - GND
>Pin2 - ADC4
>Pin3 - 5V
>mit Widerstand (2 mal 5,6k parallel)zwischen ADC4 und 5V
>die sensoren.hex geflashed und putty mit 9600 baud geöffnet, da
>erscheint aber nichts, sollte eine statusmeldung vom programm kommen,
>oder habe ich etwas falsch angeschlossen?

Hallo,

Ich habe 1 und 3 am Sensor verbunden = parasitäre Versorgung.
Der Anschluss stimmt nur für das TO92-Gehäuse, die beiden anderen 
Ausführungen
sind beide anders belegt, siehe Bild im Anhang.
Flash mal die Datei aus dem Anhang auf den ATMega32.
Damit lese ich meine Sensoren aus.
Die Ausgabe erfolgt per RS232, das sollte immer klappen.

Gruß Klaus
------------------------------------------------------------------
Webcam-Server im Testbetrieb:
http://df8jb.dyndns.org/  (nicht immer online)

...wg. besserer Wartbarkeit auf ext. Server ausgelagerter webpage.h:
http://avrboard.eluhost.de/
------------------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.4a, Atmega 644
Kamera: Philips DC-3840

von Gast123 (Gast)


Lesenswert?

Wo können sich Fehler verstecken wenn die RS232 Schnittstelle nicht 
funktioniert? Habe alle Lötstellen überprüft. Das Kabel ist auch sicher 
in Ordnung da ich es sonst an meinem STK verwende.
Stromversorung ~7,5V DC.
Ethernet Schnittstelle funktioniert problemos. Kann auf den Webserver 
zugreifen, LCD funktioniert, Temperatursensor folgt hoffentlich noch 
heute/morgen.
Ich benutze HTerm als Terminal Programm. 9600 8N1, alles was ich sende 
bekomm ich 1:1 bei recive zurück.

Grüße, Gast123

von RoBue (Gast)


Lesenswert?

Hallo Gast123,
kann es sein, dass Du Txd und RxD tauschen musst?
Ist Software-Handshake eingestellt?

Gruß RoBue

von Gast123 (Gast)


Lesenswert?

Ich würde nur nicht verstehen warum ich das tauschen muss. Schließlich 
scheint es ja bei allen anderen mit dem Pollin-Board zu funktionieren.
Dumme frage, was ist Software-Handshake, bzw wo kann ich das einstellen? 
=)

von RoBue (Gast)


Lesenswert?

Hallo Gast123,
also es gibt 2 Ausführungen von seriellen Datenkabeln:
Das eine dient zur Verlängerung z.B. an Modem,
das andere dient zur Koppelung von 2 PCs, da sind die Leitungen 
sozusagen gekreuzt (SubD9: Pin2 <-> Pin3, Pin3 <-> Pin4, Pin5 <-> Pin5).
Eigentlich würde die Verbindung zwischen PC und AVR-NET-IO ein solches 
Kabel erforden. Aber die Kreuzung der Leitungen wird auf der Platine 
selbst erzeugt, d.h. man braucht deswegen ein einfaches RS-2232 
Verlängerungskabel. Aber auch da kann es irgendwelche Sonderversionen 
mit gekreuzten Leitungen geben. deswegen meine Anfrage.

Noch eine Möglichkeit:
Welchen Port hast Du einegstellt? COM1? Versuchs mal mit COM2.
Hast Du überhaupt einen echten COM-Port oder beneutzt Du einene 
USB-COMPort-Wandler, dann musst Du wahrscheinlich COM4, COM5 oder höher 
einstellen.

Hardwarehandshake ist in der Regel in den Terminalprogrammen 
abgeschaltet (irgendwo in den Optionen müsste das zu finden sein). Dazu 
werden weitere Leitungen benutzt, um den Datenverkehr zu regeln. Diese 
hat aber das AVR-NET-IO nicht.

Ansonsten kann ich Dir nicht weiterhelfen.

Gruß RoBue

von Dieter T. (dth)


Angehängte Dateien:

Lesenswert?

Hallo RoBue, hallo Leute,

wie hier Beitrag "Re: AVR für wenig Geld im LAN" 
beschrieben, habe ich mich ein bisschen mit verschiedenen Lösungen 
beschäftigt die Temperaturdaten aufzeichnen.

Ich habe ein Plugin für Munin geschrieben das die Daten der 
Temperatursensoren in eine RRD Datenbank schreibt und ein wenig Grafisch 
aufbereitet.
Server dieser Lösung ist ein NAS von Buffalo das sich ansonsten im 
Keller langweilt. OPSystem darauf ist Debian Lenny.

Gruß Dieter

von Gast123 (Gast)


Lesenswert?

Ich benutze einen USB-RS232 Converter. Den muss man auch installieren. 
Eingestllt ist er als COM1.
Noch eine andere frage. Wenn ich sensor.hex auf meinen mega32 flashe. 
Und den Sensor, DS1820, anschließe (Pullup 3,9k). Wo kann ich dann die 
ID auslesen?

Grüße, Gast123

von RoBue (Gast)


Lesenswert?

Hallo Gast123,
normalerweise müsste man die ID im Terminalprogr. sehen, so alle 15 - 30 
sec..

Gruß RoBue

von Christian H. (cni) Benutzerseite


Lesenswert?

Iwo Schulz wrote:
> Erba57 Ba wrote:
> Ehm, die Thread-Darstellung ist schon stark unübersichtlich, die
> Suchfunktion topt das Ganze noch.

Erba57 Ba wrote:
> Hallo Iwo Schulz (geht-so)
>
> Kein problem, helfe gern, unübersichtlich ist miserabel hast recht wurde
> schon öfter bemängelt. Aber keiner hat eine Lösung?

Ja, das fällt hier fast jedem auf!

Vielleicht ist es echt mal an der Zeit, den Thread ganz zu schliessen 
und in einem eigenen Forum:
http://son.ffdf-clan.de/include.php?path=forum/main.php
weiter zu machen!
Dann hat man auf die Dauer mehr davon (auch zukünftige AVR-NET-IO 
Anwender)!!!

Gruß
Christian

von Dieter T. (dth)


Lesenswert?

Gast123 wrote:
> Ich benutze einen USB-RS232 Converter. Den muss man auch installieren.
> Eingestllt ist er als COM1.
> Noch eine andere frage. Wenn ich sensor.hex auf meinen mega32 flashe.
> Und den Sensor, DS1820, anschließe (Pullup 3,9k). Wo kann ich dann die
> ID auslesen?
>
> Grüße, Gast123

Hallo Gast123,

hast du mal die Java SW des Herstellers probiert?
Wenn du einen USB-RS232 Converter hast, gehts damit am PC am 
schnellsten.

http://www.maxim-ic.com/products/ibutton/software/1wire/1wire_api.cfm

Gruß Dieter

von Christian H. (cni) Benutzerseite


Lesenswert?

RoBue wrote:
> Hallo Iwo, freut mich natürlich.
> Mit welcher Version? Von hobbyloet oder meine Testversion? Woran lags?
>
> Hallo cni,
> wird Dein hex-File auch um einiges länger, auch wenn in config.h die
> SHT-unterstützung deaktiviert wird? Ich muss das auch in makefile
> auskommentieren, damit ich die alte Länge erhalte.
> Benutzt Du ein LCD an PORTD? könnten wir uns evtl. auch auf die
> Anschlüsse D5 und D6 für SHT einigen?
> Wie kann man mehrere Sensoren ansteuern?
>
> Grüße RoBue

Hi RoBue,

ja das Problem stellt sich, da die libsht ziemlich groß ist.
Ist musste servo, camera, telnet, wol, sendmail und rtl8019 im makefile 
auskommentieren:
1
# If there is more than one source file, append them above, or modify and
2
# uncomment the following:
3
SRC =  main.c usart.c stack.c timer.c cmd.c base64.c
4
5
#SRC += networkcard/enc28j60.c networkcard/rtl8019.c
6
SRC += networkcard/enc28j60.c
7
8
#SRC += httpd.c telnetd.c ntp.c lcd.c udp_lcd.c wol.c
9
SRC += httpd.c ntp.c lcd.c udp_lcd.c
10
11
#SRC += http_get.c analog.c sendmail.c
12
SRC += http_get.c analog.c
13
14
SRC += camera/cam.c camera/servo.c
15
16
SRC += 1-Wire/crc8.c 1-Wire/delay.c 1-Wire/ds18x20.c 1-Wire/onewire.c
17
18
SRC += sht/libsht.c
Dann hatte ich die passende Größe für den Mega32. :-(
Um alles zu nutzen braucht mann dann wohl doch einen Mega644!
Evtl. kannst Du es ja als MOD mit einbauen.
Die Anschlüße sind ja in der Config einstellbar, meinetwegen 
Standartmäßig auf D5 und D6, kann man dann ja ändern, wenn man will!
Mehrere Sensoren gehen nur über weitere 2 Ports, also wären pro Sensor 2 
weitere Ports belegt!

Viele Grüße,
Christian

von Gast123 (Gast)


Lesenswert?

Ok, dann ist das problem nur noch das ich am Terminal ja leider nichts 
auslesen kann :/
Es wurde keinerlei extra Software ausser der Treiber mitgeliefert. Ich 
denke aber nicht das es am Kabel liegt. Weil ich benutze es für mein 
STK500, Atmel Evolution Board und easyAvr. Dort funktioniert es 
einwandfrei.
Ist in der Software irgendetwas zum umstellen/einstellen?

Grüße, Gast123

von RoBue (Gast)


Lesenswert?

Hallo cni,
danke für die Info, habs gleich rausgeschrieben.

Kann Du "mein" Test-hex für sht testen (s.o.), dann weiß ich, ob ich 
Deine Routinen richtig eingebunden habe?

Dann wäre ich so im Großen und Ganzen fertig mit V1.5.

Gruß RoBue

von Christian H. (cni) Benutzerseite


Lesenswert?

RoBue,

OK dann stell bitte die IP auf 192.168.178.46 ein, oder auf DHCP!

Danke

Gruß
Christian

von Iwo S. (geht-so)


Lesenswert?

LASST UNS DOCH MAL DAS FORUM WECHSELN, 1500 BEITRÄGE SIND DOCH NICHT 
MEHR ZU ÜBERBLICKEN!

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

Habe fertig!

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hallo cni,
hier ist das Testfile.
RoBue

von Gast123 (Gast)


Lesenswert?

So, Console läuft. Hab die 10µF Elkos durch 1µF Tantals getauscht. Das 
war ne fitzlerei.
Verwunderlich ist aber auch das ich nur über Hyper Terminal eine 
Verbindung aufbauen kann. Mit HTerm oder Putty tut sich nach wie vor 
nichts.
Das Problem mit den Kondensatoren hab ich gesehen, wurde eh schon ins 
Wiki aufgenommen.

Grüße, Gast123

von Make-Newbe (Gast)


Lesenswert?

Hallo everybody,
ich verfolge dieses Thema schon seit geraumer Zeit.
Wirklich toll was ihr hier leistet. Grosses LOB.

Beim Compilieren der Sources ist bei mir leider ein Problem aufgetreten 
das ich nicht selbst lösen kann, darum bitte ich euch um Hilfe.
Problem: Beim Compilieren bekommen ich folgende Meldung,
"make: *** Keine Regel vorhanden, um das Target 
>>Hexfiles/Webserver_MEGA32.eep<<, benötigt von >>all<< zu erstellen. 
Schluss"
Ich benutze ein Linux OS auf der Kommandozeile und die Sourcen von RoBue 
"AVR-NET-IO_RoBue_1.5_TEST_.zip" .
Was mache ich falsch???
Muss ich ein File editieren??

Danke für eure Hilfe.

Gruss
Johannes

von ich_eben (Gast)


Lesenswert?

Hallo,
Ich habe zwei 1-Wire sensoren angeschlossen, ich habe auch die id 
ausgelesen, sie fängt mit 0x28 an, in der Beschreibung von RoBue steht
- 1-Wire (PORTA7):
Es werden bisher nur Temperatursensoren vom Typ
  -> DS18S20 (DS1820B?) mit ID 0x10
unterstützt.
kann mir jemand sagen an was das liegt / was man ändern muss?

von RoBue (Gast)


Lesenswert?

Hallo ich_eben,

versuchs einfach mal. Ich hab keine 0x28-Typen, aber theoretisch könnte 
es trotzdem klappen, da der Auslesevorgang - soweit ich weiß - identisch 
ist.

Gruß RoBue

von Peter #. (ich_eben)


Lesenswert?

versucht habe ich es, mit der sensoren.hex werden sie auch ausgelesen, 
jedoch mit dem webserver nicht mehr.
trotzdem danke für die hilfe

von Christian H. (cni) Benutzerseite


Lesenswert?

RoBue wrote:
> Hallo cni,
> hier ist das Testfile.
> RoBue

Ja, funktioniert!

Gruß
Christian

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

Naamt zusammen,

nachdem ich endlich mal mein LCD ans Board geklemmt hatte, fehlten mir 
doch die Nachkommastellen bei den Temperaturen...
Wer die auch gern hätte, kann einfach anstelle der drei Original-Zeilen 
das angehängte Code-snippet einsetzen.

(ansonsten nochmal Dank an RoBue für die 1.5er...)

Viel Spass,
Gruß Klaus
------------------------------------------------------------------
Webcam-Server im Testbetrieb:
http://df8jb.dyndns.org/  (nicht immer online)

...wg. besserer Wartbarkeit auf ext. Server ausgelagerter webpage.h:
http://avrboard.eluhost.de/
------------------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, Atmega 644
Kamera: Philips DC-3840

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

... der Code sollte auch noch rein...


Gruß Klaus
------------------------------------------------------------------
Webcam-Server im Testbetrieb:
http://df8jb.dyndns.org/  (nicht immer online)

...wg. besserer Wartbarkeit auf ext. Server ausgelagerter webpage.h:
http://avrboard.eluhost.de/
------------------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, Atmega 644
Kamera: Philips DC-3840

von Christian H. (cni) Benutzerseite


Lesenswert?

Hi RoBue,

das solltest Du auch noch mit aufnehmen in die V1.5!
Sehr gut Klaus!

Danke

Gruß
Christian

von RoBue (Gast)


Lesenswert?

Danke Christian für Deine Rückmeldung (SHT71)
und danke Klaus für die LCD-Ausgabe.
Werde das so schnell wie möglich einbauen. Bin leider am Wochenende 
etwas einegspannt.

Ich kämpfe immer noch mit dem Problem, dass die Ausgabe der Werte im 
Bereich von -1 und +1 Grad nicht (immer) stimmen, insbesondere die 
min/max-Werte. Ist das bei Euch auch so? Könnte es vielleicht am 
Compiler selbst liegen, also dass er da im einstelligen int-Bereich (9 
bis -9) einen Fehler beim Vergleichen macht?

Gruß RoBue

von RoBue (Gast)


Lesenswert?

Hallo Klaus,
genau den Fehler meine ich, den Du bei Sensor 2 hast (00:05 Uhr, 13.02):

Temp.           min   max
0,2    0,2 / 0,1 <- !!!

Mist!

RoBue

von Klaus H. (df8jb)


Lesenswert?

Hi RoBue,

jaja, genau.
hab ja schon mal geforscht, bisher ohne Erfolg. Bin aber noch nicht
allzu tief eingestiegen; das ist immer schwierig bei fremdem Code.  Aber
es nicht noch nicht aller Tage Abend.
Dass es der Compiler ist, halte ich für unwahrscheinlich, das wäre
sicher schon bekannt.

Mal sehen, ob es irgendwann irgendwer findet; ich tauche auch noch mal
ein, ist ja schon etwas unschön so.

Gruß Klaus
------------------------------------------------------------------
Webcam-Server im Testbetrieb:
http://df8jb.dyndns.org/  (nicht immer online)

...wg. besserer Wartbarkeit auf ext. Server ausgelagerter webpage.h:
http://avrboard.eluhost.de/
------------------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, Atmega 644
Kamera: Philips DC-3840

von Roland B. (robue)


Lesenswert?

Hallo Klaus,

der Witz ist ja eigentlich der, dass der Sensor gar keine 10tel messen 
kann. Er kann nur 0,5 Grad Abstände ausgeben. Die 10tel werden 
softwaremäßig erzeugt. Letzten Endes wären die 0,5-Schritte völlig 
ausreichend und besser beherrschbar.

Ich weiß einfach nicht, wo der Fehler sitzt:

In der Ausgabe (httpd.c) oder in der Vergelichsfunktion für min/max 
(main.c).

Ich hab den Eindruck, dass der Vergleich das Problem ist, aber an sich 
muss doch klar sein, dass z.B. 0,2 Grad (Wert in ow_array: 2) größer als 
0,1 Grad (Wert in ow_array: 1) ist. Und diesen Vergelich führen Routinen 
des Compilers durch.

if (ow_array[i]  < ow_array[i+MAXSENSORS])
        ow_array[i+MAXSENSORS] = ow_array[i];
if (ow_array[i]  > ow_array[i+MAXSENSORS*2])
        ow_array[i+MAXSENSORS*2] = ow_array[i];

Die Alternative wäre, dass die Ausgabe den Wert 0,2 anziegt, aber in 
ow_array etwas anderes steht (also nicht der Wert 2) und durch den 
Umwandelvorgang für die Webpage (itoa-Befehl) falsch dargestellt wird. 
Aber auch dies ist eine Routine des Compilers.

Vielleicht weiß jemand Rat.

Gruß RoBue

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

Hallo RoBue,

die tatsächliche Auflösung von 0.5 Grad reicht natürlich völlig. Die 
Temps liegen ja als Zehntel-Grad-Integers mit Vz im Array; da hat sich 
die Zehntel-Berechnerei wohl angeboten.
Kann man ändern, aber hat m.E. nix mit dem Fehler zu tun.
Ich will mal diversen Codeteile auf meinen Mac portieren, dann kann man 
beliebige Temp-Werte eingeben und testen, wenn das so klappt, wie ich 
denke.
Xcode (Apple's Entwicklungsumgebung) benutzt allerdings auch den 
GCC-Compiler...

Was mir allerdings noch auffiel: bei den Werten wie gestern abend

Temp.           min   max
0,2               0,2 / 0,1 <- !!!

fehlte zeitweise das Vorzeichen, auch bei der aktuellen Temperatur!
Die 0,2  waren also -0,2,  die  0,1 waren dagegen über Null,
und DANN stimmen die Angaben ja wieder!
Nicht, dass wir den Fehler an der falschen Stelle suchen...?
---

Noch etwas zur Kommastellen-Ausgabe (wozu eine kleine Pause doch gut 
ist):
es geht auch in drei Zeilen und ganz ohne zusätzliche Variablen, 
Verkettungen usw...
1
// ############# (main.c) original: nur Vorkommastellen ############
2
3
//lcd_print(1,0,"Tmp:            ");     
4
//lcd_print(1,5,"%i C",ow_array[0]/10);
5
//lcd_print(1,11,"%i C",ow_array[1]/10);    
6
7
// ################# mit dez.Punkt u. Nachkommastelle ###########
8
9
lcd_print(1,0,"T:              ");
10
lcd_print(1,3,"%i.%iß",ow_array[0]/10,abs(ow_array[0]%10));
11
lcd_print(1,10,"%i.%iß",ow_array[1]/10,abs(ow_array[1]%10));

Das "esszett" erzeugt bei meinem LCD eine Art Grad-Zeichen, könnte
mit anderen LCDs anders sein, weil offenbar Sonderzeichen.
Man kann auch wieder "C" oder "c" schreiben, sieht aber merkwürdig aus,
weil es aus Platzgründen (16 Z.)  direkt am T-Wert klebt.


Gruß Klaus
------------------------------------------------------------------
Webcam-Server im Testbetrieb:
http://df8jb.dyndns.org/  (nicht immer online)

...wg. besserer Wartbarkeit auf ext. Server ausgelagerte webpage.h:
http://avrboard.eluhost.de/
------------------------------------------------------------------
Pollin AVR-Net-IO Board, mod. Firmware RoBue 1.5, Atmega 644
Kamera: Philips DC-3840

von RoBue (Gast)


Lesenswert?

Hallo Klaus,
danke für die Infos. Werde die LCD-Ausgabe in den nächsten Tagen 
einbauen und Version 1.5_Test-3 herausbringen (mit sht71-Unterstützung).

Mit den Temperaturwerten:
Ich möchte das eigentlich mit V1.5_final gelöst haben. Aber das scheint 
noch etwas zu dauern. Hab mir einige Testes überlegt, aber die brauchen 
Zeit (und die richtige Temperatur ;-) ).

Gruß RoBue

von Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

Hallo Robue,

gerade habe ich genau das Sinken der Außentemp. von +1º  nach -1º 
verfolgen können.
Feststellung: zwischen 0º und > -1º  wird ein positiver Wert angezeigt, 
das Minuszeichen fehlt.
D.h. nach 0.9º  kommt  -1.0º  in der LCD-Anzeige wie auch auf der 
webpage.

Die Werte werden zur Ausgabe nicht mit der gleichen Routine behandelt, 
also muss dieser Fehler tiefer liegen und hat evtl. etwas was mit der 
Abfrage für subzero zu tun, oder mit dem Auslesen des Sensors selbst.
Laut Datenblatt ist ganz klar, wann die minus-Bits gesetzt sind. (Bild)
Wo nun etwas falsch läuft, kann ich aber bis dato nicht erkennen...
Simulieren kann ich das nur sehr schwer über kaum bis gar nicht...

Wer hat dazu eine Idee?


Gruß Klaus

------------------------------------------------------------
Webcam-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 Jürgen A. (jad24)


Lesenswert?

Hallo Dieter T.
sehr interessant deine Darstellung!
Ich habe auch einen kleinen Server mit "Langeweile" laufen... :-)

Kannst Du mal berichten wie du das gemacht hast?
Gruß JAD

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

An alle AVR-NET-IO-Fans,
hier nun die Sourcen der versprochenen Version 1.5 TEST-3.

Neuerung/Verbesserungen zu TEST-2:
- SHT71-Unterstützung (Dank an Christian/cni)
- Erweiterung LCD-Ausgabe (Nachkommastellen, 4 Temperaturwerte, Status 
PORTC, Dank an Klaus/df8jb)

Nochmals herzlichen Dank an alle Mitarbeiter und Mitdenker.

Problem mit Temperaturwerten zwischen -1 und 0 noch nicht geklärt.
Danke für Deine Infos, Klaus.
Habe heute mit 2 C-Profis sprechen können und die vermuten den Fehler 
ebenfalls in den 1-Wire Routinen und nicht in main.c. Also müssen wir 
wohl dort zuerst suchen. Na, dann Prost!

Liebe Grüße und viel Spaß beim Testen.

RoBue

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo Robue,

hab die cam und den servo aktiviert, hab an PORTD meinen Servo und 
einige Leds. Servo ruckelt ohne befehl und die LEDs blinken. Hab ich 
hier was vergessen zu deakt/aktvieren?

hab wieder die alte sw aktiviert


mfg

orfix

http://bauerer.dyndns.org/

von Markus F. (5volt) Benutzerseite


Lesenswert?

=> Sascha Tubsids:
Du brauchst .NET Framework 2.0 damit die Software von Pollin läuft.

Ich werde mir wohl auch mal so ein Board kaufen. Die Konstruktion von 
Pollin mit den Spannungsreglern gefällt mir aber nicht (riesige 
Energieverschwerndung). Ich werde da wohl für die Erzeugung der 3,3V 
einen MC34063 (Schaltregler) verwenden, und nicht einfach einen LM317.

von Chris (Gast)


Lesenswert?

Hallo Leute,

ich verfolge euren Thread schon von begin an. Mein Net-IO läuft auch mit 
Display usw. was ich bisher noch nicht geschafft habe ist meinen 
Temperatursensor LM75 zum funktionieren zu bringen.

Ihr verwendet alle den DS18x20, ich will mir auch ein paar DS bestellen, 
könnt ihr mir mal kurz zurufen wie ich diese am Board beschalten mus 
(Vorwiderstände, Adressierung, an welche Ports am Board)?

Danke im Voraus, tolle Arbeit

Chris

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

hallo Chris,

willkommen im forum.

ist schon oft hier erklärt worden, schau auch auch mal hier
http://son.ffdf-clan.de/include.php?path=forum/showthread.php&threadid=12

mit bild.

hab heute mal eine grafik erzeugt
http://birne.altmuehlnet.de/hp/px5/logger/avr.php


mfg

orfix

http://bauerer.dyndns.org/

von Karl albert L. (karleido)


Lesenswert?

Hallo

ich beschäftige mich mit dem 1-Wire Bus.
Wenn das AVR-NET-IO gestartet wird. ohne das der 1-Wire Bus anliegt, 
werden Standartwerte 15,0 Grad und 0,0 Grad für Min + Max angezeigt.
Wird der Bus wieder angeschlossen. Erscheinen die aktuellen Werte und 
bei Min 0,0 Grad und bei Max 85,0 Grad. Dies ist auch verständlich, da 
die 85 ja vom Power on Reset der Sensoren stammen. Hier fehlt ein Filter 
in der Software um diesen Wert zu unterdrücken.
Wird das AVR-NET-IO neu mit angeschlossenem Bus gestartet werden bei der 
ersten Anzeige die Standartwerte angezeigt. Dies ist auch logisch, da ja 
noch keine Messung ausgewertet werden konnte. Bei der zweiten Anzeige 
sind dann der Aktuelle, Min + Max gleich. Das ist auch logisch, da ja 
nur ein Wert vorliegt.  Min + Max zeigen erst nach einigen Messungen 
Unterschiede an.
Fällt der Bus wieder aus, so bleiben in der Anzeige die alten Werte 
erhalten.
Wenn die Aktuellen Werte jetzt auf 0 gesetzt würden, könnte man den 
Ausfall bemerken. Das würde auch für einen einzelnen Sensor gelten.

Gruß
Karl Albert

von Rolf D. (mudman)


Lesenswert?

Hallo Gemeinde. Ich möchte in meinem AVR-Modul eine Temperaturschwelle 
über das WEB-Interface setzten. In den hier gesehenen Frontends 
(Webseiten) machen das alle nur mit Checkboxen für + und -. Ich möchte 
den Wert aber direkt als Zahl eingeben. Da ich mich mit HTML aber so gut 
wie garnicht auskenne, fehlt mir irgendwie der Ansatz. Hat hier jemand 
mal was in der Richtung angefangen oder schon eine Lösung?

von RoBue (Gast)


Lesenswert?

Hallo orfix,
Dein Problem hört sich so an, als ob die LCD noch aktiviert wäre
(#define USE_SER_LCD 1 -> auf "0" setzen).
Mehr kann ich nicht sagen. Habe leider den geliehenen Servo wieder 
zurückgegeben.

Hallo karleido,
Du hast Recht, es fehlen noch passende Filter, aber ich habe vorerst 
noch ein anderes Problem (s.o.). Die Frage ist, WIE man Auslesefehler 
anzeigen soll. Welcher Wert wäre sinnvoll? 85 ist ein Hinweis auf 
Übertragungsfehler, aber machmal eben auch die 0 oder gar nichts.

Hallo mudman,
ich kann Dich gut verstehen. Ich finde die Lösung auch nervig, aber sie 
war für mich der einfachste und zugleich platzsparendste Weg. Ich konnte 
da auf das vorhandene System aufbauen. Texteingaben werden aber sicher 
noch kommen. Aber erst ab Version 1.6ff. Hoffe auf Mithilfe von cni. OK?

Gruß RoBue

von Christian H. (cni) Benutzerseite


Lesenswert?

Hallo,

also ich habe keine Lösung (noch nicht) aber das Prinzip ist mir schon 
klar!
Man müsste für jeden Schwellwert in der webpage.h einen eigenen 
Feld-Namen im Formular definieren, etwa so (am Beispiel - Schwellwert 
für C0):
1
  "<tr><td><input type=\"checkbox\" name=\"OUT\" value=\"A\"%PORTC0> "
2
  Ausg_C0
3
  "</td><td>ab <input type=\"text\" name=\"SWC0\" value=\"%VA@10\" size=\"3\" maxlength=\"3\"> &deg;C aus</td><td> -> Sensor 0</td></tr>\r\n"
Und dann müsste in der Name "SWC0" in der httpd.c ausgewertet und 
gesetzt werden:
1
  var_array[10] = swc0;
Wobei "swc0" dann der ausgelesene Wert (im Post) aus dem Formular-Feld 
wäre.

Für die webpage.h ist mir das klar, wie das geht. Doch wie wertet man 
dann in der httpd.c das ganze dann aus? Momentan wird ja nur "OUT" 
ausgewertet, abhängig von der geklickten Checkbox.

Vielleicht hat jemand ja eine weitere Idee dazu?

Danke

Gruß
Christian

von Werner B. (werner-b)


Lesenswert?

>...
> Vielleicht hat jemand ja eine weitere Idee dazu?
> ...

http://son.ffdf-clan.de/include.php?path=forum/showthread.php&threadid=25

von RoBue (Gast)


Lesenswert?

Hallo Klaus H. (df8jb) und andere,

ich habe endlich den Fehler bei der Ausgabe der Temperaturen im Bereich 
von 0 und -1 gefunden:
Das Problem lag doch in "meinen" Ausgaberoutinen bzw. bei der 
Interpretation durch den Compiler.
Warum?
Wenn man den Wert vor dem Komma durch eine Division durch 10 berechnet, 
erhält man zwischen 0 und -0,9 Grad eine satte "0" und eben keine "-0", 
die man für die Ausgabe bräuchte. "0" hat halt keine Vorzeichen.
Das macht die Ausgaben komplizierter, aber man kann es in den Griff 
bekommen bzw. ich habe es, glaube ich, bei mir geschafft. Ich habe 
abgefragt, ob der Wert in ow_array < 0 ist. Wenn ja, habe ich dann das 
Vorzeichen einfach in den Ausgabespeicher geschrieben und die 
Zahlenwerte mit *(-1) positiv gemacht.

Die schlechte Nachricht:
Der Code wird um einiges länger, so dass ich die Kommastellen bei der 
LCD-Ausgabe wieder entfernt habe. Schade, aber gerade diese sind am 
aufwändigsten. In httpd.c und cmd.c gehts gerade noch. Vielleicht hat 
jemand eine Lösung.
Bevor man in Tränen ausbricht, sollte man bedenken: Eigentlich sind die 
Dezimalstellen absoluter Schwachsinn, denn der Sensor beherrscht nur 
eine Auflösung von 0,5 Grad und hat dazu eine Unschärfe von 0,5 Grad. 
Nur um den Augen etwas zu bieten, muss man einiges an Code reinwursteln. 
Das betrifft nicht nur die Ausgabe in httpd.c, main.c oder cmd.c, 
sondern auch schon in ds18x20.c. Ich denke, das wird sich letztlich gut 
auf 1k belaufen.

Hallo orfix,
wie siehts mit dem Servo aus? Kannst Du dich mal melden?

Grüße RoBue

von Rolf D. (mudman)


Lesenswert?

@cni: Wie gesagt, mit dem HTML hab ich so meine Probleme, wenn das 
Frontend die Werte an den AVR liefert (durch drücken eines Button) 
bekomme ich das in C schon hingefriemelt, damit es ausgewertet wird. 
Also werde ich mich mal mit deinem Tip versuchen.
@werner-b: Wenn ich das richtig verstehe, geht das in die Richtung der 
Verarbeitung der Variablen im C-Code und hilft mir leider nicht weiter.

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Rolf / mudman,

in meinem httpd.c-File ist der erste Ansatz einer Routine drin, die Text 
übernehmen kann. Habe ich bei im Forum von Radig gefunden. Mir ist es 
auch schon gelungen, etwas empfangen, hatte aber bisher keine Zeit, das 
weiterzuverfolgen.

Suche mal nach:
  char* nPos=strstr_P((char*)&eth_buffer[TCP_DATA_START], 
PSTR("IMES="));

Anbei die Korrekturen für das 1-Wire-Problem

Grüße RoBue

von Klaus H. (df8jb)


Lesenswert?

Hi RoBue,

aha -  ähnliche Idee: - ich hatte subzero, was immer richtig war, 
herangezogen, um ausgabeseitig das Minuszeichen einfach zu setzen.  Fand 
ich aber etwas hintenrum.
Die Zehntelgrade brauche ich aber einfach; man sieht dadurch ja eine 
relative Tendenz beim Temperaturverlauf, auch wenn der Wert der absolute 
Wert der Nachkommastelle nicht stimmt.
Ist wie beim Multimeter: die letzte angezeigte Dezimal-Stelle kann man 
eigentlich vergessen.

Eine Null hat nun mal kein Vorzeichen; aber wie wäre es, nicht duch 10, 
was integer ist, sondern durch 10.0, also float, zu dividieren? Dann 
wird nämlich, auch wenn der Dividend integer ist, das Ergebnis ein 
float, und dann müsste es doch stimmen. Implicit cast, oder wie das 
heisst. Hab's aber noch nicht probiert. Kenne php und C erst seit 
vierzehn Tagen, und FORTRAN usw. ist ja out...
(btw: eine unsicherere, unlesbarere  und in vielem unlogischere Sprache 
als C ist mir nicht bekannt; ist ja auch eine der niedrigsten unter den 
sog. Hochsprachen, auch wenn mich jetzt die Studenten steinigen, die 
damit zwangsweise lernen mussten, weil die Unis kein Geld ausgeben 
wollten)

>Der Code wird um einiges länger, so dass ich die Kommastellen bei der
>LCD-Ausgabe wieder entfernt habe. Schade, aber gerade diese sind am
>aufwändigsten.

...das liest sich ganz so, als hättest Du meine aufwendige alte Version 
eingebaut, und nicht die neue mit diesen drei Zeilen, wie im Original, 
zwei davon nur etwas länger:
1
lcd_print(1,0,"T:              ");
2
lcd_print(1,3,"%i.%iß",ow_array[0]/10,abs(ow_array[0]%10));
3
lcd_print(1,10,"%i.%iß",ow_array[1]/10,abs(ow_array[1]%10));

Zudem spielen für den ATMega 644 ein paar Bytes doch keine Rolle; für 
Kamerabetrieb ist der 32er sowieso kaum zu gebrauchen, weil die 
Bildausgabe um den Faktor 5 langsamer ist.

Bin übrigens gerade dabei, ohne viel Code-Aufwand eine zweite Kamera zu 
nutzen und diese auf der webpage durch einen Ausgabekanal von PORT C 
umzuschalten. Klappt soweit schon.
Bliebe noch, die serielle Ausgabe trotz Kamera zu erhalten. Sollte auch 
möglich sein.

Gruß Klaus

------------------------------------------------------------
Webcam-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 Klaus H. (df8jb)


Angehängte Dateien:

Lesenswert?

Hi RoBue,

sieh Dir doch mal meine Simulation an; die ist so lauffähig und gibt auf 
der Konsole aus:
1
int main(void)          // Test wg. Vorzeichenfehler zwischen 0º und -0.9º
2
  {
3
  int ow_array[30];        // gegeben: Array f. Temp-Werte als Integer-Array
4
  float tp1;          // tp1 deklarieren als Fließkommazahl
5
  
6
  
7
  ow_array[0] = -9;        //  Wert aus Sensor in Array ablegen (integer) = -0.9 Grad
8
  
9
    tp1 = ow_array[0]/10;    // Wert durch 10 dividieren:  bleibt int:  Ergebnis = 0 : Vorzeichen futsch!
10
    printf("%4.1f ºC\n", tp1);    // Ausgabe in Konsole : 0.0
11
        
12
    tp1 = ow_array[0]/10.0;    // Wert durch 10.0 dividieren:  macht aus int => float:  Ergebnis = -0.9000000  OK  s.u.
13
    printf("%f ºC\n", tp1);    // ohne Formatangabe: Ergebnis = -0.9000000 
14
15
    printf("%4.1f ºC\n", tp1);    // 4.1 = 4 Zeichen insgesamt, Dez-Punkt, eine Nachkommastelle = -0.9 OK
16
17
    
18
    
19
        
20
    return 0;
21
  }

So erhält man aus der Int-Division ein Float Ergebnis, und das 
Minuszeichen ist auch da.
Damit sollte die eigentliche Ursache des Fehlers beseitigt sein.

Gruß Klaus
--

von RoBue (Gast)


Lesenswert?

Hallo Klaus,
die Idee ist gut, aber - wie gesagt - erst ab Atmega 644 wirklich 
sinnvoll,
denn float kostet nochmal eine Menge Platz. Das bedeutet, dass wir mit 
644-Alternativ-Routinen arbeiten sollten.

Außerdem: bei mir funktionuckelt das nicht.
mit "usart_write" bekomme ich keine Ausgabe bie %f,
bei "printf" bekomme ich eine Fehlermeldung des Compilers (implizit 
declaration, %4.1f expects type double ...).

Gruß RoBue

von Klaus H. (df8jb)


Lesenswert?

Hi RoBue,


es sind ja alle Integer-Divisionen mit Temperatur-Dividenden zw. 0 und 
-0.9 Grad betroffen, nicht nur die, die Ausgaben produzieren, die man 
direkt sieht, also auch andere Vergleiche und Bedingungen (Schalten PORT 
C usw).
Wenn du den 32er noch weiter unterstützen willst, hast Du natürlich 
Recht. Kann man ja auch als Herausforderung sehen, soviel wie möglich 
unterzubringen.
Wer aber wie ich so gerade eben noch 5 EUR für einen 644er übrig hat 
;-), freut sich vielleicht, wenn alles deutlich besser vonstatten geht 
(Cam usw.) und manches nicht aus Platzgründen entfallen muss...

Wo hast Du meine Simulation laufen lassen?
Auf dem AVR selbst geht das natürlich nicht; printf, manche 
Formatierungsangaben usw. kennt der ja gar nicht. Das sollte nur zeigen, 
wie sich die besagten Divisionen verhalten.
Es läuft nur direkt in einer C-Entwicklungsumgebung auf einem Rechner 
mit Bildschirmausgabe, so habe ich das ja auch erstellt.

Eine Frage, evtl. kannst Du das beantworten:
main.c:
1
if (( ow_array[0]/10 < var_array[10] ) || ( ow_array[0] < 0 )) {
2
    PORTC |= (1 << PC0); // ein
3
...
hier wird auch durch 10 und nicht 10.0 dividiert, was wieder null ergibt 
und das Minus schluckt; nur was macht die ODER-Abfrage dahinter? Immer 
schalten, wenn Temp negativ ist? So sieht es aus.
Den Sinn sehe ich noch nicht.

Gruß Klaus
--

von Nickodemus (Gast)


Lesenswert?

Hallo,

ich habe ein Problem mit meinem LCDisplay. Leider tut sich nach dem 
anschliessen überhaupt nichts am Display. Hab schon 2 verschiedene 
Displays sowie 2 versch. Atmega versucht. Es handlet sich um 2 Zeilen 
Diplays weshalb ich dies in der Config auch so umgestellt habe, aber 
auch mit den originalen 4 Zeilen tut sich nichts. Die vergrahtung ist 
nach der Textdatei, hab das eben auchnochmal durchgemessen. Habt ihr 
noch irgendwelche Tipps was ich probieren könnte?

Mfg. Nickodemus

von Costa P. (copa)


Lesenswert?

@ Nickodemus :
hast Du schonmal überprüft, ob nur eine Kontrastspannung fehlt.
(brauchen die meisten LCD um "lesbar" zu sein)

Gruß, copa

von RoBue (Gast)


Lesenswert?

Hallo Klaus,

" ... hier wird auch durch 10 und nicht 10.0 dividiert, was wieder null 
ergibt
und das Minus schluckt; nur was macht die ODER-Abfrage dahinter? Immer
schalten, wenn Temp negativ ist? So sieht es aus.
Den Sinn sehe ich noch nicht. ..."

An dieser Stelle ist gar nicht vorgesehen, dass es Kommawerte gibt. Die 
Temperatur wird einfach über ganze Zahlen geschaltet. Wie gesagt, ... 
s.o.
Als Gefrierschutz war vorgesehen, dass die Heizung bei unter 0 Grad 
automatisch einschaltet. Ist aber völlig überflüssig. Da hast Du Recht. 
Stammt vermutlich noch aus der Zeit, als ich das mit den Negativwerten 
noch nicht geblickt hatte. Schmeiß es einfach raus. Mach ich auch.

Ich habe die float-Routinen unter WinAVR laufen lassen.

Gruß RoBue

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo RoBue,


Vielen dank für deine Hilfe.


#define USE_SER_LCD 1 -> auf "0" setzen.

Genau das wars, servo funktioniert wieder, Endstellung hab ich auch 
justiert klappt auch wunderbar.

LCD Seriell Leiterplatte hab ich auch in Ulis Shop bestellt.

Mit freundlichen Grüßen

orfix

von Klaus H. (df8jb)


Lesenswert?

Hi RoBue,

alles klar soweit.

>Ich habe die float-Routinen unter WinAVR laufen lassen.

AVR, ja klar -  da kann es nicht laufen und macht auch keinen Sinn. Der 
uC hat ja kein Standardausgabegerät, worauf printf was ausgeben könnte.
Auf einem "richtigen/normalen" GCC-Compiler  läuft es.
"Unsere"  main.c hat daher nur #include <avr/io.h> drin.
Wenn Du da auch  #include <stdio.h>  einbindest, ist zumindest die 
Fehlermeldung beim compilieren weg; sehen kann man trotzdem nix; ist ja 
auch kein Bildschirm dafür da.

Du hast ja immer ziemlich fix vorhandene Bugfixes und Änderungen 
eingebaut, mich interessiert deshalb:
wie und wo baust Du eigentlich Deinen Code zusammen und testest ihn? Mit 
WinAVR/Progr.Notepad?
Das wäre ja unendlich mühsam: trial and error und immer wieder flashen.
Das AVRStudio hat wohl einen Simulator dafür parat; den will ich 
gelegentlich mal probieren.

Gruß Klaus
--

von Nickodemus (Gast)


Lesenswert?

@ Copa

Danke für die schnelle Antwort, Poti hatte ich aber schon dran. 
Scheinbar hab ich nur pech gehabt, denn nachdem ich eben ein drittes 
Display angeschlossen habe funktonierte es. Entweder hatte ich die 
beiden anderen kaputtgespielt gehabt oder defekte bekommen. Zumindst 
läuts jetzt :-)

Mfg. Nickodemus

von Christian H. (cni) Benutzerseite


Lesenswert?

RoBue wrote:
> in meinem httpd.c-File ist der erste Ansatz einer Routine drin, die Text
> übernehmen kann. Habe ich bei im Forum von Radig gefunden. Mir ist es
> auch schon gelungen, etwas empfangen, hatte aber bisher keine Zeit, das
> weiterzuverfolgen.
>
> Suche mal nach:
>   char* nPos=strstr_P((char*)&eth_buffer[TCP_DATA_START],
> PSTR("IMES="));

Hi RoBue

und dann weiter?
In etwa so:
1
char* nPos=strstr_P((char*)&eth_buffer[TCP_DATA_START], PSTR("SWC0="));
Wobei SWC0 der Name des Formular-Feldes ist?

Gruß
Christian

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Christian,
ich denke, dass es genau so gehen muss.
Ich habe Dir den Thread bei U.Radig als Zip-File hier eingestellt.
(Da ging es eigentlich um eine Ausgabe auf LCD, die über das 
Webinterface eingegeben werden soll.)

Hallo orfix,
da fällt mir ein Stein vom Herzen. Puuuuuuh. Gut, dass Du es gleich 
gemeldet hast. Danke.

Hallo Klaus,
ich arbeite mit Win-Notepad, WinAVR und Bootmanager. Ich teste also 
direkt auf dem µC.

Grüße, RoBue

von Stephan L. (mike87)


Lesenswert?

Ich habe mein 1-Wire Problem endlich lösen können.
Bis ich darauf kam warum die CRC-Werte immer falsch waren dauerte es 
doch etwas länger.
Folgendes Problem:
Beim Einstellen der ID in der config.h müssen diese HEX-Werte unbedingt 
in Großbuchstaben angegeben werden. In Kleinbuchstaben gibt es sonst 
"CRC Error (lost connection?)"

Ein kleiner Hinweis in dem Kommentar darüber wäre vielleicht für andere 
hilfreich.

von Klaus H. (df8jb)


Lesenswert?

Hallo RoBue,

nach Einbau Deines kleinen Minuszeichen-Patches für 0 ... -1 Grad gibt 
es bei mir von -1 Grad abwärts auf der webpage u. daten.html  zwei 
Minuszeichen.
Behoben hab ich's so:

httpd.c
1
           // evtl. Vorzeichen einfuegen:  
2
           if (( ow_temp < 0 ) && (abs (ow_temp) <10))       
3
                       {....

Gruß Klaus
--

von RoBue (Gast)


Lesenswert?

Hallo Klaus,

ich hab das Problem nicht. Hast Du die Änderungen nu manuell eingefügt 
und vielleicht Folgendes vergessen:

---

// evtl. Vorzeichen einfuegen:
if ( ow_temp < 0 ) {
   ow_temp *= (-1); <---------------- (!!!)
   var_conversion_buffer[0] ='-';
   memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,1);
   a ++;
}

---

Könntest Du eine ausführliche Beschreibung zur Einbindung einer Webcam 
verfassen? Die würde ich gerne zu Version 1.5 beifügen. Ich habe schon 
etwas, das Du hier in diesem Forum hier (s.o.) verfasst hast, aber evtl. 
braucht das noch Ergänzung, z.B. Benutzung eines Servos.

(Ich habe noch keine Cam im Einsatz)

Grüße RoBue

von Klaus H. (df8jb)


Lesenswert?

Hi Robue,
1
// evtl. Vorzeichen einfuegen:
2
if ( ow_temp < 0 ) {
3
   ow_temp *= (-1); <---------------- (!!!)
4
   var_conversion_buffer[0] ='-';
5
   memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,1);
6
   a ++;
7
}
genau das habe ich eingesetzt. Mir ist das zweite Minus erst spät 
aufgefallen, ich musste genau hinsehen, weil beide eng zusammensitzen, 
je nach Zeichensatz.
Sieh doch noch mal bitte genau hin; man übersieht es wirklich leicht.

Der Code macht ja jeden neg. Wert positiv, dann wird das nötige Minus in 
den Buffer geschrieben und der Zeiger auf den Buffer um eins verschoben. 
Dann steht im Buffer auf jeden Fall das Minus vor jedem (vorher 
negativen) ow_temp.
So verstehe ich das, und so muss es ja auch richtig sein.

Wieso dann bei der sonst richtigen Anzeige noch ein Minus herkommt, habe 
ich noch nicht herausgefunden; allerdings klappt es bei mir ja wie 
beschrieben.
In dem Fall werden nur die Werte zwischen 0 und -1 (excl) wie 
beschrieben behandelt.
Weil die anderen Werte ja sowieso vorzeichenrichtig sind, erscheint das 
auf den ersten Blick auch logisch.
Trotzdem müsste es mit Deinem Code funzen... Du hast doch nicht noch 
ausser in der httpd.c etwas eingebaut, was ich nicht gesehen habe?

zur webcam:
das kann ich tun; aber es ist ja überhaupt nicht viel zu machen für die 
Einbindung außer
#define USE_CAM = 1 zu  aktivieren in config.h, dort auch die richtige 
Quarzfrequenz einzustellen und das <img src="camera.jpg"> in den body 
der webpage.h einzusetzen, am besten mit der gewählten Größenangabe und 
evtl. einem Rahmen für die Optik. Und den Dummy-Pointer bild_balken 
aktivieren....  ich schreibe das doch mal alles zusammen auf.

Heute abend werde ich mal den Lötkolben schwingen, um zwei Cams im 
Betrieb per webpage umschaltbar zu machen. Betriebsspannung muss an 
beiden bleiben, nur TX/RX werden geschaltet.
Und einmal muss man beide Cams initialisieren lassen, dann klappt das.
Hab gerade keinen 4066 da, also nehme ich ein DIL-Relais 2x um; das 
passt auch in eine IC-Fassung.
Falls das von Interesse ist, kann ich auch dazu gelegentlich was 
schreiben.

Gruß Klaus
--

von Nick (Gast)


Lesenswert?

Hallo RoBue

Betrifft sensoren.hex

Könntest Du mal die Quellen posten? Ich bekomme die ID meiner DS1822 mit 
family ID 22h nicht ausgelesen. Vielleicht liegts daran, daß nur 
Sensoren mit ID 10h verarbeitet werden? Oder gibt´s weitere Gründe?

Viele Grüße und Dicken Dank
Nick

von gast (Gast)


Lesenswert?


von Erba57 B. (orfix) Benutzerseite


Lesenswert?

hallo Stephan L. (mike87)


Beim Einstellen der ID in der config.h müssen diese HEX-Werte unbedingt
in Großbuchstaben angegeben werden. In Kleinbuchstaben gibt es sonst
"CRC Error (lost connection?)"


kann ich nicht bestätigen, bei mir funktionierts

#define OW_ID_T01  {0x10,0xf3,0x96,0x65,0x01,0x08,0x00,0x37}
#define OW_ID_T02  {0x28,0xbd,0xb9,0xc8,0x01,0x00,0x00,0x61}
#define OW_ID_T03  {0x28,0xea,0xbf,0xc8,0x01,0x00,0x00,0x56}
#define OW_ID_T04       {0x28,0xCC,0x9A,0xC8,0x01,0x00,0x00,0x78}
#define OW_ID_Last  {0x28,0xDA,0xBB,0xC8,0x01,0x00,0x00,0xA4}

hier das ergebniss

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

mfg

orfix

von RoBue (Gast)


Lesenswert?

Hallo Klaus,
ich habe Deinen "-" Fehler nicht.

Siehe meine html-Ausgabe:

<tr><td>Sensor 0</td><td>Raum_1</td><td align="right">-0,3</td><td 
align="left">&deg;C</td><td>-0,3 / -0,2</td></tr>

<tr><td>Sensor 1</td><td>Raum_2</td><td align="right">17,5</td><td 
align="left">&deg;C</td><td>17,5 / 17,5</td></tr>
<tr><td>Sensor 2</td><td>Aussen</td><td align="right">-3,7</td><td 
align="left">&deg;C</td><td>-3,8 / -3,6</td></tr>
<tr><td>Sensor 3</td><td>Pumpe VL</td><td align="right">45,0</td><td 
align="left">&deg;C</td><td>42,7 / 45,0</td></tr>

<tr><td>Sensor 4</td><td>Pumpe RL</td><td align="right">24,8</td><td 
align="left">&deg;C</td><td>24,8 / 25,7</td></tr>

Gruß RoBue

von RoBue (Gast)


Lesenswert?

Hallo orfix,
ich sehe, dass Du auch Sensoren mit ID 0x28 einsetzt.
Ich habe keine.
Funktionieren sie mit AVR-NET-IO_V1.5 oder wurde der Code angepasst?
Müsste ich wissen, da weiter oben jemand Probleme mit diesen Sensoren 
hatte.

Gruß RoBue

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo RoBue,

meine sensoren laufen sehr gut nur mit RoBue 1.5 code, hab nichts 
geändert.
Außerdem könnte ich das gar nicht.

hier das ergebniss

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


mfg

orfix

von Nick (Gast)


Lesenswert?

Hallo orfix,

>#define OW_ID_Last  {0x28,0xDA,0xBB,0xC8,0x01,0x00,0x00,0xA4}

schön, aber wie bist Du an die Sensor-ID gekommen?

Meine DS1822 lassen sich weder mit mit DF8JB´s noch mir RoBue´s 
Testroutine auslesen. Soll heißen, es kommt weder Sensor-ID noch 
Temperatur. Auf meinem Analyser sehe ich jedoch, daß der Sensor 
antwortet.
Laut Datenblatt müßten die DS1822 mit 0x22 beginnen?

Die DS1820 gehen ohne Probleme.

Gruss
Nick

von RoBue (Gast)


Lesenswert?

Hallo orfix,

ich glaube bei Dir gibts noch ein Fehlerchen:

 #define OW_ID_Last  {0x28,0xDA,0xBB,0xC8,0x01,0x00,0x00,0xA4}

ist, soweit ich verstanden habe, als Abschluss vorgesehen und MUSS 
eigentlich

 #define OW_ID_Last  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}

heißen! In der Abfrageroutine in main.c wird solange eine Sensor 
ausgelesen, bis die ID 0x00 ist.

Gruß RoBue

von Stephan L. (mike87)


Lesenswert?

Also ich habe das heute nochmal überprüft. Seither geht es auch mit 
Kleinbuchstaben. Irgendwo muss da der Wurm drin sein. Auf zwei 
unabhängigen Boards bestand der selbe Fehler.
Das zweite Board werde ich die Tage mal mit der neuen hex beschreiben 
und schauen ob danach die Schreibung auch egal ist. Sonst hatte ich 
nämlich absolut nichts verändert.

von M. W. (hobbyloet)


Lesenswert?

RoBue wrote:
> ist, soweit ich verstanden habe, als Abschluss vorgesehen und MUSS
> eigentlich
>
>  #define OW_ID_Last  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
>
> heißen! In der Abfrageroutine in main.c wird solange eine Sensor
> ausgelesen, bis die ID 0x00 ist.
>
> Gruß RoBue

Richtig!
Die Gross oder kleinschreibweise ist vollkommen egal.

Wichtig ist:
#define OW_ID_Last  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
ganz unten, nach den angeschlossen Sensoren der Bauart DS18S20.

von Jürgen A. (jad24)


Lesenswert?

Nick wrote:
> schön, aber wie bist Du an die Sensor-ID gekommen?

Versuche es doch mal mit digitemp!
Siehe dazu meinen Beitrag vom
09.12.2008 14:03

Gruß JAD

von Klaus H. (df8jb)


Lesenswert?

@all:    mein Vorgehen mit der Cam habe ich  mal zusammengefasst.
@RoBue:  Servo habe ich noch nicht testen können, das jetzige tut nix.
Muss erst noch einem alten E-Flieger eins rausoperieren.
Btw: bei dem 90º Bildwinkel sind 4, max. 5 big steps zum Drehen OK.
RadioButtons zur Positionierung wären dann OK und simpler, denke ich.
-----------------------------------------------------------------------
Schritte zur Kamera-Einbindung Philips DC3840  (empfohlen: ATMega 644)
Anschluss: (RX -> pin12, TX pin11  MAX232-Fassung)
-----------------------------------------------------------------------

1. config.h:

1.1 ändern:
        #define F_CPU 14745600UL
        #define USE_CAM  1            // 0 = ohne Camera
1.2 gewünschte Auflösung (->Bildgröße) aktivieren, z.B.
        #define CAM_RESELUTION    1   // (Tippfehler NICHT korrigieren!)


2. webpage.h:  (\r\n sind überflüssig -> nur Optik im Browser-Quellcode)

2.1 Kamera-Bild in HTML- body an der gewünschten Stelle einfügen:
"<img src =\"camera.jpg\" width=\"320\" height=\"240\"border=\"1\"><br>"
2.2 einfügen in PROGMEM-Bereich:
       PROGMEM char cam_dummy[] = {};
2.3 eintragen in  WEBPAGE_ITEM WEBPAGE_TABLE[] = // Befehls-Tabelle:
        #if USE_CAM
 --> {"camera.jpg",cam_dummy},  <--
        #endif //USE_CAM


3. makefile

3.1 ändern (bei Umstieg auf 644):
      #MCU = atmega32
  -->  MCU = atmega644  <--
      #MCU = atmega644p

---------------------------
Gruß Klaus
--

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo RoBue,

#define OW_ID_Last  {0x28,0xDA,0xBB,0xC8,0x01,0x00,0x00,0xA4}

da ich leider überhaupt keine ahnung von C habe und es ohne probleme 
funktioniert hat, dachte ich alles ok.

habs nun geändert,


  #define OW_ID_T01  {0x10,0xf3,0x96,0x65,0x01,0x08,0x00,0x37}
  #define OW_ID_T02  {0x28,0xbd,0xb9,0xc8,0x01,0x00,0x00,0x61}
  #define OW_ID_T03  {0x28,0xea,0xbf,0xc8,0x01,0x00,0x00,0x56}
  #define OW_ID_T04       {0x28,0xCC,0x9A,0xC8,0x01,0x00,0x00,0x78}
   #define OW_ID_T05  {0x28,0xDA,0xBB,0xC8,0x01,0x00,0x00,0xA4}

  #define OW_ID_Last  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}

hier wurde dann der letzte sensor nicht ausgelesen,
16:22
http://birne.altmuehlnet.de/hp/px5/logger/avr.php?datum=2009-02-19



PROGMEM  uint8_t    DS18B20IDs[MAXSENSORS+1][OW_ROMCODE_SIZE] = {
              OW_ID_T01,  // 1. DS18B20
              OW_ID_T02,
              OW_ID_T03,
              OW_ID_T04,
              OW_ID_T05,
//              OW_ID_T06,
//              OW_ID_T07,
//              OW_ID_T08,
              OW_ID_Last };  // Endmarker

hab dann in dir main noch T05 aktiviert, nun läufts.

danke für den hinweis

mfg

orfix

von RoBue (Gast)


Lesenswert?

Hallo AVR-NET-IO-Fans,

ich würde heute oder morgen gerne die Version 1.5 "final" fertig machen, 
die dann als zukünftige Programmiergrundlage dienen soll.

Wer noch Anmerkungen, Anleitungen und Hinweise dazugeben möchte (wie 
z.B. Einbau Webcam, danke Klaus), mache es bitte so schnell wie möglich.
Das Gleiche gilt für gefundene Fehler.

Evtl. wäre in diesem Zusammenhang auch - wenn Ihr wollt - ein neuer Name 
für das ganze Projekt möglich, da mein Name die Sache nicht so ganz 
trifft.

Grüße RoBue

von Costa P. (copa)


Lesenswert?

> Evtl. wäre in diesem Zusammenhang auch - wenn Ihr wollt - ein neuer Name
> für das ganze Projekt möglich, da mein Name die Sache nicht so ganz
> trifft.
>
> Grüße RoBue

Neuer Name ? das wär aber Schade und wird Deinem großen Beitrag für 
diese Community hier nicht gerecht.
Meine Idee hierzu:  ------>   AVRoBue   ;-)

@Nick und anderen die Probleme mit sensoren.hex haben (wie ich selbst 
bis heute):
Daran denken, dass man den Widerstand zwischen 5V und A7 (ADC4) 
benötigt; auch dann, wenn man keine "parasitäre Versorgung" sondern 
3-Draht-Anschluss vornimmt.

von Klaus H. (df8jb)


Lesenswert?

Neuer Name?
Geht ja gar nicht.

--

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hallo AVR-NET-IO-Fans,
ich geb nun die fertige (?) V1.5 raus.

Im Verzeichnis "Infos" finden sich Anleitungen zu vielen Themen des 
AVR-NET-IOs. Bitte dort nachsehen, bevor man hier Fragen stellt.

Dazu sollte man
   _AVR-NET-IO_RoBue_V1.x.txt
   config.h
   main.c
ausdrucken und sich gründlich durchlsesn.

Viel Freude am Weiterentwickeln und herzlichen Dank für alle Mithilfe.

Dank auch an die Firma Pollin für ihre tolle Hardware und Ulrich Radig 
für sein Webserverprogramm, auf das ich aufbauen konnte.

Mal sehen, was weiter daraus wird.
Ich denke der Umstieg auf den Atmega644 mit einer besseren Weboberfläche 
wäre sinnvoll.

RoBue

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Nun die Infos ...

von Klaus H. (df8jb)


Lesenswert?

Hallo,

@RoBue:
Prima gemacht, wie gewohnt; auch die Infos. Vielen Dank!

@all:

Erste Versuche online mit zweiter Kamera am gleichen Board.
Umgeschaltet wird momentan noch mit C_03; deshalb geht das auch noch mit 
der Schaltanweisung dafür.
Für den Button "wählen" habe ich ein zweites Sendeformular <form> in 
webpage.h eingebaut, damit allein C_03 angesprochen wird.
Problem: beide Kameras müssen einmal initialisiert werden, das geht 
gleichzeitig, wenn RX/TX beider Cams einfach parallelgeschaltet werden. 
Danach müssen sie aber wieder getrennt werden; das geht momentan nur 
manuell. Danach sind beide Cams benutzbar.

Wenn jemand eine Idee hat, wie man das automatisieren kann, z.B. Timer 
mit Power On starten, nach Ablauf Trennung der beiden Leitungen oder 
ähnliches, dann bitte raus damit....

Gruß Klaus
--
TwinCam-Server Testbetrieb: http://df8jb.dyndns.org/
(nicht zu verwechseln mit zwei Nockenwellen)

von RoBue (Gast)


Lesenswert?

Hallo AVR-NET-IO-Fans,
da bisher keine Reaktionen gekommen sind,
noch ein paar Bemerkungen von mir:

Die Version 1.5 soll nun für die nächste Zeit als Grundlage für 
Weiterentwicklungen dienen.

Änderungen oder Erweiterungen sollten als MOD-Files geliefert werden.
Das meint:
Alle Source-Files, die eine Änderung gegenüber der Version 1.5 erfahren 
haben, und eine kurze Beschreibung werden "angeliefert". Diese ersetzen 
dann die vorhandenen und man kann die Änderungen eincompilieren.
Ich werde versuchen, die MODs im Laufe der Zeit in config.h zu 
integrieren, so dass sie zum festen Teil der nächsten Version werden.
Wäre das ok?

Zum Atmega644:
Die Leute, die das AVR-NET-IO kaufen, habe zunächst nur einen Atmega32 
(ich z.B. auch noch).
Wenn Sie unsere Software testen wollen, sollte es zumindest immer eine 
Version geben, die noch auf dem Atmega32 läuft einigermaßen gut läuft 
(Schaltausgänge, LCD, 1-Wire).
Aus dem Grund versuche ich trotz all der tollen Erweiterungen (auch fürs 
Auge) doch den Code noch schlank zu halten.
Trotzdem denke ich, dass es an der Zeit ist, mit dem Einsatz eines 644 
die Möglichkeiten weiter "aufzubohren", vor allem in Bezug auf die 
Weboberfläche (Silder, Charts, Text/Zahlen-Eingaben).

Liebe Grüße, RoBue

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

hallo  RoBue,

1.5 läuft ohne probleme mit cam + temp, danke für dein tolles projekt.

lcd seriell muss ich noch testen.

 aber meine tempsensoren laufen heute nicht stabil?

http://birne.altmuehlnet.de/hp/px5/logger/avr.php?datum=2009-02-21


mfg

orfix

von RoBue (Gast)


Lesenswert?

Hallo orfix,
sieht ja abenteuerlich aus.
Kann es sein, dass es Nebel hat? Das macht den Außensensoren sehr zu 
schaffen.
Ansonsten habe ich keine Idee.

Gruß RoBue

von WoPe (Gast)


Angehängte Dateien:

Lesenswert?

Hallo RoBue!

Ich vermisse im v1.5 die Erweiterungen aus Ulrich Radigs letzem Code von 
damals (Stack v1.1.5). Der unterstützt auch DHCP (also IP Config über 
den Router statt über RS232/Programmer einstellen) und DNS (um mit 
Servernamen statt IP zu arbeiten, wie es auch im NTP demonstriert wird). 
Mir sind auch ein paar kleinere Änderungen am Code auf Netzwerkseite in 
Ulis letzer Version zu der davor aufgefallen (wo eben DHCP noch nicht 
drin war), war mir aber zu mühsam die diffs zu diesem V1.5 Code 
durchzusehen, ob die alle drin sind da ich einfach zu viele Deltas durch 
"Umformatierungen" u.s.w. vorhanden sind...

Daher hier für die, die das AVR-NET-IO v1 Board für andere (ev. 
netzwerklastigere) Themen und nicht unbedingt eine Heizungssteuerung und 
Sensorbusse brauchen, anbei der letzte Code von Ulis Homepage mit (so 
gut es ging) minimalsten (!) Anpassungen des Originals. Nicht als 
"Konkurrenzcode" gedacht, sondern als Alternative für Puristen, um 
Deltas zum Original leichter tracken zu können und um die Erweiterungen 
auf Uli's Seite (wie SD/MMC) direkt zu verwenden - dafür ohne 1-Wire & 
Co.... :-)

Code und Webserver-Seite selbst ist lediglich die Basis-I/O Ausgabe an 
das Pollin-Board angepasst. Ach ja, ich habe auch ein AVR Studio 4 
Project File erzeugt, für die, die den Code gerne direkt dort verwenden 
möchten (braucht WinAVR + GCC plugin).

Liebe Grüße,
WoPe

von WoPe (Gast)


Lesenswert?

Noch 'ne Info zur Config des beiliegenden HEX im UR_newStack1_1_5.tar.gz 
zum direkten flashen...

Netzwerk: DHCP on, DNS on, NTP on
(Router mit DHCP erforderlich, sonst gibts keine IP und kein DNS 
resolving)
Seriell: 9600, 8N1 (default), zeigt DHCP Ergebnis wie 
ip/gateway/nameserver, Hilfe mit "?"
Web user / password: "admin" / "avr-net-io"

Ev. kann diese Version wer brauchen. Viel Spass damit.

von Parker (Gast)


Lesenswert?

Hallo RoBue!

Vielen Dank für das tolle Komplettpaket! Zwei Sachen sind mir in main.c 
der v1.5 aufgefallen, als ich meine Temperaturen auf einem LCD anzeigen 
wollte:
1. Mein Compiler möchte in Zeile 408 und 416 je eine geöffnete 
geschweifete Klammer zwischen "else" und dem nachfolgenden Befehl 
"lcd_print".
2. In Zeile 413 und 416 sollte die Ausgabe der zweiten Temperatur an 
einer anderen Position erfolgen, als die erste Temperatur, die sonst 
immer wieder sofort überschrieben wird. Ich schlage die Position 10 vor, 
damit wird auch eine Temperatur über 100°C noch korrekt angezeigt.
Das meine ich damit (Zeile 413):
alt: lcd_print(2,3,"-%i,%iß",(TWert/10),(TWert%10));
neu: lcd_print(2,10,"-%i,%iß",(TWert/10),(TWert%10));

Danke auch an alle anderen, die mit ihren Beiträgen dieses Projekt 
ermöglicht haben!

Gruß Parker

von RoBue (Gast)


Lesenswert?

Hallo Parker,
danke für den Hinweis. Da gabs ein paar Fehlerchen, die ich nicht 
bemerkte, weil ich keine Komma-Ausgabe auf dem LCD eingestellt habe. Ist 
nun korrigiert. Ich warte noch ein wenig, ob weitere Fehler kommen, und 
dann stelle ich die korrigierten Files hier ein.

Hallo WoPe,
ich finde es gut, wenn Du Uli Radigs Sourcen für AVR-NET-IO umschreibst. 
Ich werde mir das in der nächsten Zeit genauer ansehen. Nach meinen 
Informationen hat sich nicht so viel geändert, was es für nötig gemacht 
hätte, den neuen Stack für AVR-NET-IO_RoBue zu wählen. Da habe ich mir 
einfach die Mühe gespart. DHCP halte ich z.B. nicht für so dringend, 
denn für "mein" Konzept muss man sowieso in config.h Einstellungen 
vornhemen, so dass man dabei auch die IP etc. eintragen kann. Aber 
trotzdem: Ich werden versuchen, auf den neuesten Stand zu kommen.

An alle:
Nach ungef. 150 Downloads würden mich doch noch weitere Erfahrungen von 
Euch mit der Version 1.5 interessieren. Wichtig auf jeden Fall, da ich 
es selbst nicht testen kann: Wie funktionieren Servo, Webcam, SHT71. 
Kurzes ok würde reichen (oder ein längeres: Hiiiiilfe, geht nicht, 
...").

Grüße, RoBue

von SoN (Gast)


Lesenswert?

Version 1.5 funktioniert klasse!!!

irgendwo fragtest du nach den Sensoren mit 28er ID, ja die gehen 
perfekt.
Servo und Cam und SHT hab ich nicht.
DHCP ist "nice to have" aber nicht wirklich nötig.
gruss
Stephan

http://son.ffdf-clan.de

von Dieter T. (dth)


Lesenswert?

Hallo  RoBue,
hallo Jungs,

Version 1.5 funktioniert in meinem Environment ohne Zicken!

Habe den SHT71 bestellt und werde später berichten.

Vielen Dank!

Gruß Dieter

von Stephan L. (mike87)


Lesenswert?

Auch bei mir läuft sie problemlos. Vielen Dank.

Noch eine kleine Anregung zur universellen config.h
Die Einstellung der Zeilenlänge des LCD (16/20 Zeichen) liegt noch in 
der LCD.c
Das könnte man vielleicht auch noch verschieben. Mir gelang es auf die 
schnelle leider nicht. Daher kein Codebeispiel.

von Stefan M. (stefan-muehlbauer)


Lesenswert?

Hallo zusammen,
Ich habe nun auch mal wieder etwas getestet.

Servo geht jetzt besser als vorher, ich kann jetzt zumindestens ca. 5 
Positionen anfahren. Irgendwie verstehe ich das mit den min und max 
Werten noch nicht.

Mailfunktion : Es geht jetzt zumindest die Testmail raus (mail an 
konsole eingegeben). Wann sollte eigentlich eine automatische Mail 
generiert werden?

Schaltfunktionen gehen auch. Ich hab nur die AD Wert Prüfung und die 
Temperatur Prüfung getestet.

Wie kann man die Vorgabewerte der Automatik ändern, hab die Stelle 
irgendie nicht gfunden ?

Ich hab leider nicht mehr Zeit gehabt.

Gruss
Stefan

von RoBue (Gast)


Lesenswert?

Hallo Stefan,

-> Servo (vgl. servo.c)
Analoge Servos müssen alle 20ms einen Impuls bekommen, dessen Länge 
(i.d.R. zwischen 1ms und 2 ms) seine Position bestimmen.
Impuls und Impulslänge wird beim AVR-NET-IO über Timer2 an PORTD7 
erzeugt.
Die Werte für Min/Max sollen dabei die kürzeste und die längste 
Impulsdauer festlegen, also den Links- und Rechtsanschlag, damit der 
Servo nicht "durchdreht". Letztlich muss man das aber am jeweiligen 
Servo testen und einstellen. Theoretisch sind nach diesem System ca. 25 
Zwischenpositionen (13 ... 37) möglich.

-> Vorgabewerte der Automatik (main.c)
 // RoBue:
 // Variablen-Array
 // zum Abspeichern verschiedener Werte
 // und zum Einfügen in die Webseite %VA@00 bis %VA@29
 // VA4-7  -> Analogwert von PORTA4-7
 // VA8    -> Position Servo fuer Webcam
 // VA9    -> Manueller Betrieb ein/aus
 // VA10-17  -> Schaltwerte Temperaturen
 // VA18,19  -> Schaltwerte analog
 // VA20-23  -> Schaltzeiten ein/aus hh,mm,hh,mm
 // VA24-28  -> Reserve
 // VA-Ende  -> Counter
unsigned int var_array[MAX_VAR_ARRAY] = 
{10,50,30,0,0,0,0,0,25,0,15,15,15,15,15,15,15,15,750,750,12,0,12,0,0,0,0 
,0,0,0};

-> Mail
hatte ich bisher noch nicht im Einsatz. Keine Ahnung.

Gruß RoBue

von CaiusJulius (Gast)


Lesenswert?

Hallo,

meine Platine scheint einen Defekt zu haben.
1. Bei Betrieb an einer 9v Batterie leuchtet die LED nicht.
2. Der Stabi (7805) wird sehr, sehr heiß, mit befeuchteter Finger 
zischt.

Ich habe beide Stabis ausgewechselt, kein Erfolg.

Weiß jemand, woran das liegen könnte, bzw. was ich überprüfen könnte?

Gruß, CJC

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

Hallo RoBue,

hab eine Serielle LCD wegen dem servo montiert.
„-> LCD nicht mehr an PORTD zu betreiben (Servo an D7, orfix)“


hab bei zeile 192 in der config.h   #define USE_SER_LCD    1
aktiviert. Wenn die sekunde = 8 ist blitzt die lcd tempanzeige kurz auf.
Liegt es an // Auslesen bei ss=8,18,28,38,48,58?

Wollte das ganze dann in 4 bit LCD mode testen,
wo kann ich die 4 bit lcd anzeige aktivieren ob hier das blitzen auch 
kommt?
Habs nicht mehr geschafft?

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

Cam, servo, laufen stabil, wirklich eine super arbeit


Mit freundlichen Grüßen

orfix

von Gast (Gast)


Lesenswert?

Irgendwo ein Kurzschluß? Ein IC vielleicht verkehrt herum eingesteckt?

Gruß Sascha

von Urs (Gast)


Lesenswert?

> 2. Der Stabi (7805) wird sehr, sehr heiß, mit befeuchteter Finger zischt.
> Ich habe beide Stabis ausgewechselt, kein Erfolg.
> Weiß jemand, woran das liegen könnte, bzw. was ich überprüfen könnte?

Kurzer irgendwo. ISP Kabel in JTAG schnittstelle drin oder andersherum? 
Die Pinbelegung ist ja so genial gewählt, das man zumindestens bei einer 
Kombination einen kurzen produziert.

Evtl. auch den AVR geröstet (mal rausziehen).

Ich hatte auch mal einen Attiny, der funktionierte an und pfirsich ganz 
normal (erstaunlicherweise), aber machte sich bei mir durch übergrossen 
Strombedarf unbeliebt. Was an dem kaputtging weiss ich auch nicht, aber 
seine Brüder waren genügsam, also lag's nicht an der Schaltung.

von CaiusJulius (Gast)


Lesenswert?

Nein, ich habe eine gekauft-bestückte Platine ohne Zusatzkabel.

Totzdem funzt es nicht.

Gruß, CJC

von Rainer Zufall (Gast)


Lesenswert?

Guck doch mal nach ob auf deiner Platine zufällig der gleiche 
Layoutfehler ist:
http://www.mikrocontroller.net/attachment/40217/IMG_3087_1.jpg

von RoBue (Gast)


Lesenswert?

Hallo orfix!

Noch mal zur Sicherheit die Einstellungen in config.h:

-> Serielles LCD:
#define USE_SER_LCD    1
#define USE_LCD_4Bit    0

-> 4-Bit-LCD:
#define USE_SER_LCD    1
#define USE_LCD_4Bit    1
(Servo ist dann nicht möglich!!!)
#define USE_SERVO    0

Zeigt es überhaupt etwas an oder ist das Blitzen das einzige 
Lebenszeichen?

Versuche evtl. auch mal für das serielle LCD den Servo abzuschalten
#define USE_SERVO    0
Vielleicht gibts da Probleme bei der Portsteuerung.

Habe 74LS164 bestellt und warte auf sein Kommen.
Dann kann ich vermutlich mehr sagen.
Es könnte sein, dass es trotz allem Probleme bei einzelnen LCDs gibt.
Das Timing ist nicht einheitlich.
Ich hatte auch mit einem Display Probleme.

Gruß RoBue

von CaiusJulius (Gast)


Lesenswert?

Nein, habe den Atmega abgenommen, die Leiterbahnen sehen gut aus. Danke, 
aber ...

Wenn ich den Atmega herausnehme, leuchtet die LED UND der Stabi wird 
nicht mehr heiß. Ist der Atmega kaputt? Kann das sein?

Kann ich einen neuen Atmega kaufen?

Gruß, CJC

von Christian H. (cni) Benutzerseite


Lesenswert?

RoBue wrote:
> Hallo AVR-NET-IO-Fans,
> da bisher keine Reaktionen gekommen sind,
> noch ein paar Bemerkungen von mir:
>
> Die Version 1.5 soll nun für die nächste Zeit als Grundlage für
> Weiterentwicklungen dienen.
>
> Änderungen oder Erweiterungen sollten als MOD-Files geliefert werden.
> Das meint:
> Alle Source-Files, die eine Änderung gegenüber der Version 1.5 erfahren
> haben, und eine kurze Beschreibung werden "angeliefert". Diese ersetzen
> dann die vorhandenen und man kann die Änderungen eincompilieren.
> Ich werde versuchen, die MODs im Laufe der Zeit in config.h zu
> integrieren, so dass sie zum festen Teil der nächsten Version werden.
> Wäre das ok?

Hi RoBue,

JA, das ist OK!

Der SHT71 funktioniert, allerdings ist in Deinem MOD in der webpage.h 
ein kleiner Fehler drin:
1
"<tr><td>Sensor 0</td><td>"T00"</td><td align=\"right\">%OW@00</td><td align=\"left\">&deg;C</td><td>%OW@08 / %OW@16</td></tr>\r\n"
funktioniert nicht!
Erst nah dem ich aus "T00" den Wert "T01" gemacht habe, wurde der Code 
kompiliert!

Ansonsten läuft er!

Ich hoffe mal, in die 1.6 oder 1.5.1 kommt endlich die Text-Wet Vorgabe 
von Schwellwerten?

Viele Grüße,
Christian

von Karl albert L. (karleido)


Lesenswert?

Stephan L. wrote:
> Auch bei mir läuft sie problemlos. Vielen Dank.
>
> Noch eine kleine Anregung zur universellen config.h
> Die Einstellung der Zeilenlänge des LCD (16/20 Zeichen) liegt noch in
> der LCD.c
> Das könnte man vielleicht auch noch verschieben. Mir gelang es auf die
> schnelle leider nicht. Daher kein Codebeispiel.

Hallo Stephan,

ich würde die Einstellung nicht in die config.h verlegen. Wenn du mal 
die LCD.c für ein anderes Projekt benötigst, fehlen dir dann die 
Angaben.
In der universellen config.h sollten nur die zum Projekt gehörenden 
Einstellungen vor genommen werden. Ein Weg wäre eine eigene lcd-config.h 
die dann in der Projekt config.h eingebunden wird.

Gruß
Karl Albert

von RoBue (Gast)


Lesenswert?

Hallo Christian,
schon wieder ein Bug. Das passiert, wenn man etwas ändert und nicht mehr 
den Überblick hat, wo man diese Veränderung überall durchführen sollte. 
Danke fürs Testen und Auffinden.

Noch eine Bitte:
Kannst Du auch die Variante kurz testen, die den sht71 an PORTD 
anschließt? Konfiguration allein über config.h.

Textfelder etc. in webpage.h.
Ich bin ehrlich:
Ich trau mich gerade nicht ran, da ich z.Z. genaug Kraft für die Pflege 
des vorliegenden Codes brauche.
Und da ist noch der Beruf, die Familie, ...
Aber es ist ja noch nicht aller Tage Abend ...

1.5.1 wird wohl nur die Korrekturen bringen.

Grüße, RoBue

von Christian H. (cni) Benutzerseite


Lesenswert?

Hi RoBue,

die 1.6 sollte dann schon die Text-Felder enthalten, die die 
Schwellwerte per WebPage vorgeben!!!

Der Anshluß von dem SHT an PORTD hat geklappt, muuste dazu nur in der 
config.h folgende Zeilen ändern:
1
  #define SHT_SCK_PORT    PORTD
2
  #define SHT_SCK_DDR    DDRD
3
  #define SHT_SCK_PIN    PD1
4
  #define SHT_DATA_PORT    PORTD 
5
  #define SHT_DATA_DDR    DDRD
6
  #define SHT_DATA_PORT_PIN  PIND
7
  #define SHT_DATA_PIN    PD2

Ansonsten ist mir noch aufgefallen, das die min und max Werte vom 1. 
Sensor schief laufen!
Also ich hab den SHT71 und einen DS18S20 am AVR-NET-IO und die Wrte von 
min und max passen nun nicht mehr. Obwohl ich "MAXSENSORS" auf 1 gesetzt 
habe.

Viele Grüße,
Christian

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.