100 Lichter am COM-port

Message
Author
pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#16 Post by pcAlko »

He Danke!!!
werd ich am Montag gleich besorgen!

hoffe die hat er in Graz auch lagernd.
melde mich dann wieder wenns funktioniert!
oder auch nicht funktioniert.
vielleicht, bzw. höchst warscheinlich ergeben sich ja dann
bei der Software von owfs auch noch fragen.

nochmals DANKE
8) pcAlko

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#17 Post by pcAlko »

Hallo Janka!

Ich war heute beim Conrad.
eine SMD Laborkarte BE466 habe ich bekommen,
aber mit einem SO-DIP Adapter konnten sie nichts anfangen.
laut Homepage Österreichische Seite
http://www1.at.conrad.com/scripts/wgate ... width=1280
find ich auch nur DIP-Schalter Raster.

soll ich den DS2408 jetzt nur auf die Laborkarte löten?
ich habs ausprobiert, in die Löcher würde der IC problemlos einrasten.


Dann hätte ich da noch eine Frage:
Ist es egal wieviel Grad ich bei der Lötstation einstelle?

vielen dank im vorraus
8) pcAlko

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#18 Post by Janka »

pcAlko wrote: eine SMD Laborkarte BE466 habe ich bekommen,
Fein.
soll ich den DS2408 jetzt nur auf die Laborkarte löten?
ich habs ausprobiert, in die Löcher würde der IC problemlos einrasten.
Löcher? SMD-Platinen haben keine Löcher... Du musst selbst wissen, wie du einen haltbaren mechansichen Aufbau hinbekommst. Dem Strom ist es bei den niedrigen Frequenzen jedenfalls egal, ob das ganze fliegend verdrahtet wird oder auf 'ner Platine.
Dann hätte ich da noch eine Frage:
Ist es egal wieviel Grad ich bei der Lötstation einstelle?
Das kommt auf das Lot an. Falls du bleifreies Lot gekauft hast: Wirf es weg. Das ist bei keiner Temperatur ordentlich von Hand zu verarbeiten, damit brutzelst du nur die Bauteile kaputt.

Kauf ein SnPb40 oder SnPb38Cu2-Röhrenlot (mit Flussmittel drin), dann reichen 300°C. Mehr schadet auch nicht, wenn du nur kurz lötest. Beide Teile *gleichzeitig* 2s erwärmen, dann eine minimale Menge Lot *an die Teile*, nicht an den Kolben, führen, Kolben und Lot wegnehmen, fertig. Nicht länger als 5s an einer Stelle rumkokeln. Übe erstmal mit Drahtstücken!

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#19 Post by pcAlko »

DANKE!!

werd ich machen.

8) pcAlko

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#20 Post by pcAlko »

Hallo Janka!

Ich bin jetzt so weit dass ich den owfs server installiert habe,
den USB mit einem DS1820 verbunden habe,
und er mir diese auch erkennt
nur leider gibt er mir keine korrekte temperatur zurück! (nur 85)

In dem gemounteten verzeichnis habe ich zwei so lange ID nummern
eine 10.EC184C010800 das ist der Thermostat den er als type DS1820 erkennt
und 81.97192A000000 ist als type ein DS1420
den gibt er mir auch an wenn gar nichts am USB hängt.
keine Ahnung was er damit will.

Ich muss dazu sagen, dass der Server als root lauft
und ich auf das gemountete Verzeichnis auch nur als root zugreifen kann
könnte das das Problem sein?

oder hast Du sonst irgend eine Idee was ich falsch gemacht haben könnte?
8) pcAlko

ach ja,
gestartet hab ich den server mit
sudo /opt/owfs/bin/ -u /var/1-Wire/mnt
kann ich den auch wieder beenden?
um ihn vielleicht anders zu starten.

ja dann wäre da noch dass ich kein device /dev/ttyUSB finde
um das programm unter eier anderen berechtigung zu starten

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#21 Post by Janka »

pcAlko wrote:Hallo Janka!
Ich bin jetzt so weit dass ich den owfs server installiert habe,
den USB mit einem DS1820 verbunden habe,
und er mir diese auch erkennt
Sehr gut.
nur leider gibt er mir keine korrekte temperatur zurück! (nur 85)
Das ist ein bekanntes Problem. Stell erstmal sicher, dass du die neueste Version von owfs benutzt. Im Notfall das CVS-Image von der Webseite nehmen.

Dann muss der VDD-Anschluss des DS18B20 auf jeden Fall auf +5V oder GND liegen, nicht einfach unverbunden lassen. Besser ist: +5V, weil dann keine Eigenerwärmung durch die Ladungspumpe erfolgt und auch die Messung schneller hintereinander erfolgen kann. Simultanes Messen an mehreren Chips geht auch nur mit externer Stromversorgung.

und 81.97192A000000 ist als type ein DS1420 den gibt er mir auch an wenn gar nichts am USB hängt. keine Ahnung was er damit will.
Der ist in dem USB-Hostadapter eingebaut. Steht auch in dessen Datenblatt. Damit kannst du den Hostadapter selbst als einmaligen Schlüssel benutzen.

Ich muss dazu sagen, dass der Server als root lauft
und ich auf das gemountete Verzeichnis auch nur als root zugreifen kann
könnte das das Problem sein?
Nein. Wenn du als normaler Benutzer auf das FUSE-Verzeichnis zugreifen willst, musst du die Rechte von FUSE anpassen. Soll ein normaler Benutzer über owserver auf einen Onewire-Host zugreifen, muss man das glaube ich dort konfigurieren -- kann auch sein, dass owserver das grundsätzlich erlaubt. Willst du direkt per Language-Binding (owtcl etc.) auf einen USB-Hostadapter zugreifen, musst du folgende Datei unter /etc/udev/rules.d einspielen:

Code: Select all

SUBSYSTEMS=="usb", ATTRS{idVendor}=="04fa", ATTRS{idProduct}=="2490", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="ow", MODE="0664"
(alles in eine Zeile schreiben!). Dann eine Gruppe "ow" anlegen und den Benutzer deiner Wahl zu dieser Gruppe hinzufügen.

gestartet hab ich den server mit
sudo /opt/owfs/bin/ -u /var/1-Wire/mnt
kann ich den auch wieder beenden?
um ihn vielleicht anders zu starten.
z.B. mit sudo /bin/kill ...
ja dann wäre da noch dass ich kein device /dev/ttyUSB finde
um das programm unter eier anderen berechtigung zu starten
Die Devicenode wechselt jeweils beim Einstecken. Nimm die udev-Regel oben, dann wird die richtige Berechtigung automatisch eingestellt.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#22 Post by pcAlko »

Hallo Jank!

Lass mich das ganze nochmals aufrollen.
Also:
Ich hab den USB-Adapter DS9490R
mit folgenden Pins:
1 - VDD 5VDC Output
2 - GND Power Ground
3 - OW 1-Wire data
4 - GND_OW 1-Wire Return
5 - SUSO USB Suspend Output
6 - N.C. No Connection

Dazu den Thermostat DS1820:
1 - GND Ground
2 - DQ Data In/Out
3 - VDD Power Supply Voltage

Beim OW vom Adapter kommen beim Leerlauf +5V heraus
Im Moment habe ich den OW (USB) mit dem VDD (Thermo) verbunden
und den GND_OW (USB) mit dem DQ (Thermo)
(ach ja, es könnte auch sein dass ich OW und GND_OW vertausche)

dadurch zeigt er mir im gemounteten Verzeichnis die ID vom Thermostat an
sowie die 85 °C im Verzeichnis der Thermostat-ID unter temperature
Janka wrote:Dann muss der VDD-Anschluss des DS18B20 auf jeden Fall auf +5V oder GND liegen
Sozusagen soll ich den OW mit DQ verbinden (was für mich logischer wäre)
den GND_OW (USB) mit dem GND vom Thermo.
und jetzt mal experimentell den VDD auch mit GND_OW (USB) und GND (Thermo)
verbinden,
oder VDD mit +4.5V externe quelle und den negativen pol mit GND_OW und GND

dann erkennt er mir aber nicht mal den USB Adapter!!!!

Bitte helfen!
8) pcAlko

warum meine externe quelle nur 4.5V hat:
Ich hab da das Netzgeraet PA300 von Conrad gekauft
wenn ich 3V einstelle messe ich 4.5V
die nächste Stufe wäre 4.5V
da mess ich aber schon 6.3V
und ich hab keine Ahnung ob das von Relevanz ist,
aber es könnte ja sein dass ich dadurch, wenn ich über 5V liege
den USB-Adapter oder den Thermo zerstöre
das Messgerät ist ein VC840 mit ca. 12% Abweichung

seit neuestem entdecke ich auch ein Verzeichnis 'simultaneous'
dieses hat ebenfalls ein temperature Datei
in dieser steht aber nur 0

ach ja, ich habe owfs Version 2.7p3
das CVS Repository find ich nirgends
hab auch noch nie von sowas irgendwelchen source-code bezogen.

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#23 Post by pcAlko »

Hallo Janka!

Ich habs hinbekommen!!!!
Natürlich so wie Du es gesagt hast. :)
Danke für Deine Anweisungen.

Den DS2408 hab ich noch nicht gelötet, kommt aber noch.
Habs mal versucht mit der einstellung --fake=29
die datei type ist dann richtiger weise DS2408
und dann gibt es die Dateien latch.0-7, PIO.0-7 und sensed.0-7

die ändern sich aber immer alle selbstständig!???
auch strobe ändert sich selbstständig zwischen 0 und 1
wie kann ich das dann testen?
änderungen mit echo 0 > PIO.0
bleibt nutzlos
ich habs auch mit --tester=29 probiert
dann bleibt zwar alles immer auf 1,
aber ich kann nichts ändern.

Mein Englisch versagt da vollkommen!
könntest Du mir da weiterhelfen!?

8) pcAlko

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#24 Post by Janka »

Keine Ahnung, --fake habe ich noch nie benutzt.

Die Onewirechips arbeiten normalerweise ab einem Vdd von 4,3 Volt, einige Chips sogar ab 1,3V. Ist die Spannung an Vdd zu gering, versorgen sich die Dinger aus der DQ-Leitung mit Strom. Dann ist die Anzahl der Chips aber begrenzt und der Bus wird auch langsamer.

Das Simultaneous-Verzeichnis ist dazu da, eine gleichzeitige Abfrage aller A/D-Wandler (Thermosensoren und Batteriesensoren sowie DS2450) anzustoßen. Da das Wandeln ziemlich lange dauert, wäre es blöd, wenn man auf jeden Chip einzeln warten müsste. Außerdem gibt es da noch die Nodes "single" (meine Erfindung ^__^) und "present", womit man schneller als mit "uncached" abfragen kann, welche Chip-ID am Bus sitzt, zum Beispiel für IButton-Schlüssel. Allerdings klappt letzteres nur mit genau einem Chip am Bus, deswegen ist das mit dem DS2490 (der hat ja bereits einen IButton drin) nicht sinnvoll einsetzbar.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#25 Post by pcAlko »

Hallo Janka!

Das testen mit --fake kann ich vergessen
das setzt mir laufend zufallswerte
ich darf aber nichts setzen
--tester hab ich noch nicht verstanden
sie schreiben da irgendetwas mit website von algorithm die ich aber nicht finde.

Ich hätte da aber noch eine andere Frage an Dich
hoffe Du kannst mir da weiterhelfen.

ich bräuchte da noch andere Chips
wäre fein wenn es die auch von maxim gäbe:
gut wäre eine Helligkeit messung
da würde sich zb. auch eine Wiederstandsmessung anbieten.
gefunden habe ich unter owfs den DS2890 (Resistance)
soviel ich aber aus dem Datenblatt entnehmen kann
wäre das ein Pointiometer also regelbarer Wiederstand.
ich nehme an das ist sowas wie ein Poti
damit kann ich aber keinen Wiederstand messen.

weisst Du wie ich das bewerkstelligen könter?

8) pcAlko
Janka wrote:Außerdem gibt es da noch die Nodes "single" (meine Erfindung ^__^)
das heißt du hast da mitprogrammiert
Da hab ich ja den besten Lehrmeiter erwischt :wink:
ich verstehe da nur noch nicht wofür man da die Geschwindigkeit braucht?
die Teile messen doch ununterbrochen
und ich frage immer den aktuellen stand ab
Wenn der Computer immer läuft weiß ich zum bsp. immer die aktuelle Temperatur
da musst du mir etwas helfen
vielleicht denk ich da ja in eine ganz falsche Richtung.

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#26 Post by Janka »

pcAlko wrote: gut wäre eine Helligkeit messung
da würde sich zb. auch eine Wiederstandsmessung anbieten.
DS2450 ist ein universeller A/D-Wandler. Der ist für sowas gedacht.
gefunden habe ich unter owfs den DS2890 (Resistance)
soviel ich aber aus dem Datenblatt entnehmen kann
wäre das ein Pointiometer also regelbarer Wiederstand.
ich nehme an das ist sowas wie ein Poti
damit kann ich aber keinen Wiederstand messen.
Ja. Der ist außerdem abgekündigt, gibt es nur noch Reste von zu kaufen.
Janka wrote:Außerdem gibt es da noch die Nodes "single" (meine Erfindung ^__^)
ich verstehe da nur noch nicht wofür man da die Geschwindigkeit braucht?
die Teile messen doch ununterbrochen
und ich frage immer den aktuellen stand ab
Das gilt aber nicht, wenn man IButton-Schlüssel verwendet. In diesem Fall kennt der Rechner die Adresse des Schlüssels, der gerade angesteckt ist, ja nicht. Dann gibt es zwei Methoden, diese rauszufinden. Eine langsame, über "uncached" scannen, das dauert für jeden Chip am Bus 64*3 Bit, also 11ms. Außerdem belastet es bei allen Hostadaptern außer den USB-Typen die CPU stark, so dass das Scannen von nur 3..4 Chips durchaus mal 200ms dauern kann. Die "single"-Node braucht hingegen konstant immer ~5ms.

Wenn man schnell erkennen muss, welcher Schlüssel gerade angesteckt ist (Kassenprogramm, mein Projekt), muss man relativ häufig abfragen. Das geht dann zu Lasten anderer Sachen auf dem kleinen Rechner.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#27 Post by pcAlko »

Janka wrote: DS2450 ist ein universeller A/D-Wandler. Der ist für sowas gedacht.
he super,
da habe ich dann 4 A/D Wandler
muss ich haben :lol: (kaufen)
auslesen kann ich die ja dann mit PIO.A-D
wofür ist dann das PIO.ALL?
OK, da seh ich auf der OWFS HP das die auch zum setzen gehen
Da muss ich in meinem schlauen Büchlein erst mal nachlesen
für was man so einen A/D Wandler alles brauchen kann.

wieder einmal Danke!!!


zum DS2408 hätte ich noch eine Frage
hoffe ich komme morgen dazu den zu löten.

mit strobe variiere ich ob ich einen Eingang oder Ausgang haben möchte.
was ist nun wenn ich zum Beispiel ein Licht auf P0 eingeschaltet habe
auf P1 möchte ich messen ob ein Kontakt herein kommt
dazu schalte ich strobe um
und messe auf P1
bleibt dann beim umschalten von Strobe ein Strom an P0 oder geht das Licht wieder aus?
und für was brauche ich eigentlich für jeden der 0-7 Pins
jeweils drei Files latch / PIO / sensed ???

8) pcAlko

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#28 Post by Janka »

pcAlko wrote: mit strobe variiere ich ob ich einen Eingang oder Ausgang haben möchte.
Die Strobe-Node im owfs legt fest, ob PIO.xxx auf den Ausgang durchschalten. Wenn du gemischt beschaltest, musst du strobe immer auf 1 gesetzt lassen und kannst die RSTZ-Funktion nicht nutzen, mit der man das Activity-Latch von außen rücksetzen kann. Du kannst es allerdings immer noch per Programm zurücksetzen.
was ist nun wenn ich zum Beispiel ein Licht auf P0 eingeschaltet habe
auf P1 möchte ich messen ob ein Kontakt herein kommt
dazu schalte ich strobe um
Nein. Du musst nur auf den Pins, wo du lesen willst, immer eine 0 am PIO ausgeben -- sonst wird einfach der Transistor am Ausgang diesen auf 0 ziehen und du liest immer 0.
jeweils drei Files latch / PIO / sensed ???
PIO ist das, was geschrieben werden soll, bzw. was am Ausgang des Ausgangs-Latch ansteht.

sensed ist dagegen direkt am Pin gemessen. Wenn PIO=1, dann ist am Pin logischerweise immer 0. Wenn PIO hingegen 0, ist der Pin entweder 1 oder 0, je nachdem, was außen gerade angeschlossen ist.

latch ist das Activity-Latch. Da merkt er sich, ob seit dem letzten Abfragen des Activty-Latches sich der Zustand am Pin geändert hat. Nützlich für Taster.

Lies dir mal das Datenblatt des DS2408 genauer durch. Insbesondere die Schaltung auf Seite 9.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#29 Post by pcAlko »

den DS2408 habe ich jetzt gelötet!

etwas zum schmunzeln ...
Image
(warum zeigt er mir das Bild nicht an? Emails bekomm ich auch nie von meinen Threads)

jetzt stellt sich mir nur die Frage ob das auch so passt!?

links oben kommt der USB herein
OW 1-Wire Data habe ich mit I/O vom Chip verbunden
und GND_OW 1-Wire Return mit GND vom Chip.

Das darunter schwarze 2 polige Kabel das von links ins Bild kommt ist die externe Strom-Quelle ca. 4.45 V
plus (untere Kabel mit weißem Streifen) ist mit VCC vom Chip (braunes Kabel) verbunden
. sowie über 100 K Ohm mit RSTZ

Die drei weißen Kabel sind Pin 0, 1 und 4
mehr hab ich noch nicht angeschlossen (bzw. mein Bruder)

nun hab ich dass Messgerät wie im Bild mit der roten Klemme an P0 gehängt
und die schwarze Klemme dahinter (nicht zu sehen) an den minus-Pol der externen Quelle.

der Chip wird erkannt
strobe habe ich mit

Code: Select all

echo yes>strobe
auf 1 gesetzt
P0 ist auf 0
das Messgerät zeigt mir ca. 2 V an.
ich setze P0 mit

Code: Select all

echo yes>PIO.0
auf 1
und das Messgerät zeigt mir ca. 1.5 V an

das kommt mir irgendwie spanisch vor
Ist da auch alles OK, oder habe ich irgendetwas vergessen???

8) pcAlko

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#30 Post by Janka »

4,45V sind außerhalb der Toleranz, da kann es beliebige Fehlfunktionen geben. Min. 4,75V!

Die Pins P0..P7 und -RSTZ sind zwar (auch) "logische" Ausgänge, aber deshalb kommt da noch lange kein Strom raus!

Guck dir nochmal das Schaltbild im Datenblatt an. Da kannst du sehen, dass jeweils zwischen Px und *GND* ein Transistor ein- oder ausgeschaltet werden kann. Ist er ausgeschaltet, hängt Px "in der Luft", bzw. es kommt ein sehr geringer Strom aus dem *Eingang* des Activity-Latches raus. Ist der Transistor eingeschaltet, ist Px über ihn mit GND verbunden. Da es sich um einen MOS-Transistor handelt, sollte man an Px ~0V gegen Masse messen können.

Schnapp dir eine LED (am besten eine 2mA-LED, die sind empfindlicher) und schalte diese in Reihe mit einem 1kOhm-Widerstand gegen +5V. Dann kannst du diese LED einschalten, indem du Px über den Transistor im Chip auf GND legst.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Post Reply