Show Posts
Pages: [1] 2 3 ... 5
1  International / Deutsch / Re: Mehrere DS18x20 auf langen Leitungen über 2 oder mehr Pins angeschlossen on: March 13, 2013, 03:20:30 pm
Hallo sunnests,

Willkommen hier im Forum.

Da ich was ähnliches vorhabe ("nur" 15m und nur 1 Sensor aber dafür ungeschirmtes Stromkabel), bin ich mal neugierig, wie Du das stabil hinbekommen hast. Verwendest Du 2 Adern oder 3, um die DS18x20 Sensoren anzuschließen? In meinen Tests war die Variante mit extra 5V Ader wesentlich stabiler, als die 2-Ader-Variante. Welchen Pullup nimmst Du? In einem 2-Ader-Test mit 15m 2 adrigem Kabel konnte ich mit 2kOhm gute Ergebnisse erreichen.
Mit welcher Spannung hattest Du die besten Ergebnisse? Ist da die Versorgungsspannung der DS18x20 gemeint?

Die Erfahrung, dass Steckverbindungen recht unzuverlässig sind, habe ich auch gesammelt und inzwischen 2 Minimal-Arduinos (ähnlich http://arduino.cc/en/Main/Standalone) auf Lochraster-Platinen gelötet. Da hängen die DS18x20 dran und funken ihre Daten via 433 MHz-Modul ins Haus.

Als Lib setze ich die von http://www.bastelitis.de/temperaturen-messen-mit-dem-arduino/ ein - mit einer kleinen Anpassung für den DS18B20.

Viele Grüße,
Michael.
2  International / Deutsch / Re: Projektvorstellung: Beleuchtung mit LED Strip und Serial to Ethernet Wandler on: March 09, 2013, 02:14:58 pm
Ein sehr schönes Projekt. Besonders elegant finde ich die Anbindung des Arduino ans Ethernet mittels TTL/RS232-zu-Ethernet-Adapter. Damit spart man sich ATMega-seitig ja alles, was mit Netzwerk zu tun hat. Wird der Adapter direkt an RX/TX angeschlossen? Gibt es vielleicht sogar einen Anschluss, der einen Reset ermöglicht? Dann könnte man den ATMega ja sogar via Ethernet programmieren?

Wo bekommt man so einen Adapter her? Ein kurzes googeln hat keinerlei Bezugsquelle in DE hervorgebracht :-(

Viele Grüße,
Michael.
3  International / Deutsch / Re: Standalone an PC anbinden - welche Optionen? on: March 09, 2013, 02:11:10 pm
Ich hab inzwischen den TTL-USB Adapter von E-Bay im Dauereinsatz - leider kann ich den nicht empfehlen. Für den verbauten Chip (PL-2303HX) gibt es keinen offiziellen Treiber für neuere Windows mehr (im Netz lässt sich noch einer finden). Unter Linux kommt es nach ca. 10-15 Minuten zum kompletten Daten-Stillstand. Derzeit lasse ich mein Progrämmchen alle 2 Minuten per Script beenden und neu starten - damit läuft es rel. stabil.

Sehr interessant finde ich auch diesen Ansatz: http://arduino.cc/forum/index.php?topic=153118.0 - ein Ethernet zu RS232 Adapter mit TTL-Anschluss. Damit kann man vermutlich direkt RX/TX mit Ethernet verbinden - der Arduino sollte sich so sogar programmieren lassen?
4  International / Deutsch / Re: Arduino Fenster offen/geschlossen on: March 01, 2013, 02:31:47 am
Es gibt fertige Magnetschalter - such mal beim Elektronikversender Deines Vertrauens nach "Reed-Kontakt". Das eigentliche Bauteil kostet nur ein paar Cent aber mit nem Gehäuse drum ist es sicher praktischer zu verbauen. So ein Teil ist für den Arduino wie ein Taster/Schalter - mit den Button-Libs kommst Du da weiter, wenn es um Entprellung geht.

Wenn Du es kabellos und einfach willst, besorgst Du dir ein paar Fenster-Kontakte z.B. von Homematic  (~30€/Stück). Die senden AFAIK auf 868 MHz - wäre zu schauen, ob es dazu eine Arduino-Lib zum Empfangen gibt.

Wenn Du Kabel bis zum Arduino ziehst, ist es rel. einfach mit einem  Ethernet-Shield Änderungen an den Flanken (=Kontakt öffnet/schließt sich) via Ethernet ins heimische Netz zu senden.

Sinnvoll ist es, den Fensterkontakt gegen Durchtrennen/Kurzschließen der Kabel zu schützen - hier schließt du den z.B. am Analog-Eingang an und schaltest einen Widerstand in Reihe, einen zweiten Parallel nahe des Sensors. Damit wechelt dieser nicht mehr zwischen 0/5V sondern zwischen zwei Werten, die dazwischen liegen. 0V ist dann "Kabel durchtrennt". 5V ist "Kabel kurzgeschlossen".
5  International / Deutsch / Re: Zähler 0000 - 9999 on: February 17, 2013, 03:49:38 pm
Achso, jetzt ergibt es Sinn :-)

Es wird übersichtlicher, wenn Du das Problem in Teilprobleme zerlegst:
1. Die einzelnen Ziffern ermitteln.Das hat J3RE schon beschrieben.

Alternativ machst Du 4 Zähler, zählst den 1. hoch, wenn der >9 ist, setzt du ihn auf 0 und zählst den 2. eins höher usw. bis der 4. zähler > 9 ist.

2. Die Ziffern senden. z.B. als  Funktion(en).

const int ziffernZuPins[]= {22,24,26,28,30,32,34,36,38,40};

void zifferAn(int ziffer) {
  for (int i=0;i<=9;i++) {
    digitalWrite(ziffernZuPins,(i==ziffer)?HIGH:LOW);
  }
}
boolean sendeSequenz(int ziffer1,int ziffer2,int ziffer3,int ziffer4) {
  zifferAn(-1); // alle aus
  delay(10);
  zifferAn(ziffer1);
  delay(10);
  zifferAn(-1); // alle aus
  zifferAn(ziffer2);
  delay(10);
  zifferAn(-1); // alle aus
  zifferAn(ziffer3);
  delay(10);
  zifferAn(-1); // alle aus
  zifferAn(ziffer4);
  delay(10);
  return pruefeErgebnis();
}

@dertester - mit so ziemlich jeden Sketch kann man was Illegales machen bzw. hineininterpretieren. Beispiel: Wie schreibe ich einen Sketch, der eine Zeit zurückzählt und nach Ablauf oder wenn jemand eine falsch Signalleitung entfernt, zündet ääähm einen Pin  auf 1 setzt ;-)
6  International / Deutsch / Re: DS18B20 als defekt erkennen on: February 17, 2013, 03:35:26 pm
Ach den Sketch hatte ich gar nicht gesehen - du verwendest eine andere Sensor-Lib als ich. Diese bietet die Funktion "isConnected()", um zu prüfen, ob ein Sensor verbunden ist. Diese Funktion liest die Temperatur und prüft, ob die Daten gültig sind - beim auslesen der Temperatur passiert aber Lib-Intern das selbe. Liefert der Sensor keine/fehlerhafte Daten, kommt der Wert "DEVICE_DISCONNECTED" zurück, welcher mit -127 definiert ist.

Du müsstest also im Code nur prüfen, ob einer der Sensoren -127°C liefert, dieser wäre dann defekt. Außerdem solltest Du prüfen, ob einer der Sensoren 85°C liefert - in dem Fall könnte es sich um eine echte Temperatur handeln oder um den Standard-Wert, den ein Sensor nach dem initialisieren liefert, wenn er noch keine Messung durchgeführt hat. Diesen Wert würde ich auch als ungültigen Wert behandeln.

Außerdem würde ich noch überlegen, welche Differenz zwischen beiden Sensoren plausibel ist - ist die gemessene Differenz deutlich größer, kannst Du ja gff. auch von einem Fehler ausgehen.
7  International / Deutsch / Re: Standalone an PC anbinden - welche Optionen? on: February 17, 2013, 03:10:32 pm
Vielen Dank für die Erklärung. Das Teil bei E-Bay 111012880656 sollte es doch auch tun? Ist zwar etwas teurer (3,50€ statt <1,50€ beim Chinesen), wird dafür aber aus DE geliefert. Damit würde doch auch der komplette Spannungswandler-Teil des Standalone entfallen, oder?

Ich habe mir allerdings das Thema Ethernet nochmal näher angeschaut. Vorteil hier ist, dass ich einen Arduino einfach irgendwo im Haus platziere und per UDP-Broadcast damit kommunizieren kann. Das ENC28J60 soll wohl nicht so die Welt sein, dafür habe ich einen interessanten Artikel zum WIZ820io gefunden:
http://forums.adafruit.com/viewtopic.php?f=25&t=30368

Hat damit hier schon jemand Erfahrung gesammelt? Das Teil ist wunderbar kompakt und vollständig. Allerdings habe ich nur einen Händler gefunden, bei dem es incl. Versand 25€ kostet. Beim E-Bay-Chinesen habe ich es noch garnicht gesehen. Gibt's ähnliche Alternativen?

Viele Grüße,
Michael.
8  International / Deutsch / Re: Standalone an PC anbinden - welche Optionen? on: February 16, 2013, 04:49:22 pm
Vielen Dank für die schnelle Antwort. Was bedeutet "TTL"? Und wie würde ich das am Arduino anschließen?
9  International / Deutsch / Standalone an PC anbinden - welche Optionen? on: February 16, 2013, 04:17:56 pm
Hallo zusammen,

nachdem mein erster Standalone läuft, würde ich gerne den Uno+Ethernet Shield durch einen Standalone ersetzen.
Anforderungen:
- "normaler" Standalone
- Verbindung mit PC (Bidirektional) für kleinere Daten-Pakete - Ethernet ist hier keine Pflicht
- einfach umzusetzen
- preiswert (da ich sonst einfach beim Uno+Shield oder Uno-USB-Kabel bleiben könnte)
- von der Programmierung her beherrschbar oder gleich passende Arduino-Lib verfügbar

Die Variante mit dem FT232RL (USB2Serial Breakout) ist bekannt und hinreichend dokumentiert. Allerdings kostet das Teil mit 15€ unwesentlich weniger, als ein kompletter UNO - würde also keinen Sinn machen.

Ethernet würde beispielsweise über Wiznet gehen - nur ist das noch teurer. Eine Alternative wäre ENC28J60. Als Modul habe ich es schon um die 10€ gesehen. Am günstigsten wäre es wohl, das selbst gleich mit zu verdrahten - aber da wird es schon recht kompliziert (Siehe http://maniacbug.wordpress.com/2011/07/10/arduino-ethernet-using-enc28j60/).

Eine andere Option ist RS232. Hier braucht man nur einen Signalwandler aber viele neuere Boards (auch mein Server) haben den Port garnicht mehr.

Ziel meines Threads ist daher, einfach mal rumzufragen, welche Optionen Euch noch einfallen und was ihr evtl. schon ausprobiert habt.

Ein paar Ideen habe ich noch:
- Verwendung von vorhandener "alter" Hardware, wie z.B. Netzwerkkarten oder alten Routern (bzw. Mini-PCI-Wlan-Karten daraus)
- Direkte Nutzung von USB ohne den Umweg über RS232, z.B. über V-USB

Vielen Dank für Eure Antworten,
Michael.
10  International / Deutsch / Re: Schaltung abspecken on: February 16, 2013, 03:20:11 pm
Ich habe im Laufe der Woche alle Bauteile bekommen und gestern Abend mal einen ersten Standalone auf den Breadboard aufgebaut.
Es läuft alles prima, den Arduino, der bisher Thermometerdaten via 1-Wire eingesammelt und via 433 MHz verschickt hat, konnte ich durch Bauteile für ~5€ ersetzen (Spannungsregler, eine Hand voll Kondensatoren und Widerstände, einen Quartz und einen ATMega328 -plus 2 optinale LEDs für Power und TX). Wenn ich ein wenig Zeit übrig habe, löte ich mal alles auf eine Lochraster-Platine.

Da ich ewig nichts "richtiges" mehr gelötet und zusammengebastelt habe, ist das eine super Erfahrung und ich habe einiges gelernt (bzw. mich dran erinnert) - insofern bin ich froh, nicht einfach ein paar Nanos gekauft zu haben.

Mein Projekt "Schaltung abspecken" ist damit ein super Erfolg. Vielen Dank an dieser Stelle für alle Tipps.

Viele Grüße,
Michael.
11  International / Deutsch / Re: DS18B20 als defekt erkennen on: February 15, 2013, 03:19:35 pm
Ich habe mich heute nochmal näher mit der Thematik beschäftigt, da ich die DS18S20 library als DS18x20 auch für den Typ DS18B20 fitt gemacht habe.
Fehlerhafte Sensoren können verschiedene Werte liefern:
- ca. -0.06°C - das passiert, wenn der Sensor einfach weg ist und die OneWire-Lib alle Bits auf 1 setzt (dann kommt 0xFFFFFFFFFFFFFF) raus, je nachdem was man damit anstellt kommt ein Temperatur-Wert knapp unter 0 raus. Abhilfe: Prüfen, dass nicht alle Bits der Message 1 sind.
- +85.00°C - dieser Wert wird von der Original-Library gesendet, wenn der 1-Wire-Bus nicht antwortet.
- +85.00°C - auch wenn der Sensor noch nicht mit der 1. Messung fertig ist, sendet er 85°C. Dies ist der Power-On-Initialwert laut Datenblatt. Da der Wert "in echt" nicht dauerhaft exakt zu messen sein wird, sollte er als "Fehler" interpretiert werden
(Edit: Dieser Wert kommt auch, wenn zwischen 2 Messungen kurz der Strom des Sensors weg war).
- alle Werte <-55°C und >+125°C sollten als Fehler interpretiert werden, da diese außerhalb des Sensor Messbereiches liegen.
12  International / Deutsch / Re: Projekt: Arduino in Haus und Garten on: February 14, 2013, 03:06:00 pm
Die Heizungssteuerung funktioniert schonmal super. Ich sende alle Daten an einen Zabbix-Monitoring-Server, dann kann ich auf bestimmte Daten reagieren. Außerdem lassen sich recht einfach Diagramme erstellen.
Hier mal die Temperaturemessung der letzten paar Tage. Der rote Block unten ist die Heizung - diese braucht ziemlich genau 30 Minuten, um den Raum von 4 auf 5 Grad zu erwärmen. Je nach Außentemperatur ist die Heizung 3 oder 4 mal pro Tag an (500W *1,5h) - ich spare damit also ca. 2 kWh pro Tag ;-)
13  International / Deutsch / Tipps zum Schaltplan zeichnen (Fritzing?) on: February 13, 2013, 03:12:56 pm
Hallo zusammen,

ich möchte mein erstes Teil-Projekt nun vom Uno auf einen Standalone-Atmega portieren. Als erstes will ich alles auf dem Breadboard aufbauen - und das zunächst zeichnen. Als Software teste ich gerade Fritzing, was erstmal einen guten Eindruck macht.
Allerdings komme ich bereits beim planen der Spannungsversorgung an Grenzen. Ich will diese Schaltung aufbauen: http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Spannungsversorgung
Da der Spannungsregler schon recht groß dargestellt wird, der Elko ebenso, überlappt sich entweder das meiste und wird unübersichtlich oder ich verbrauche das halbe Breadboard mit dem (kleinen) Teil der Schaltung.
Hat jemand Tipps, wie man sowas sauber gezeichnet bekommt? Oder sollte ich eine andere Software, z.B. Eagle, nehmen?

Vielen Dank,
Michael.
14  International / Deutsch / Re: Thermometer / Uhr für Motorrad on: February 12, 2013, 03:57:23 pm
Interessant dafür ist vielleicht dieser UNO-Klon: http://www.watterott.com/de/OLIMEXINO-328

- ordentliche Temperaturbereiche
- für "raue" Umgebungen ausgelegt
- Stromversorgung über Li-Ionen-Akku sowie 9-30V - wenn Strom anliegt, wird auch gleich der Akku geladen. Das sollte das Problem der stabilen Spannungsversorgung lösen.

Zum Temperatur messen taugt der DS1820 prima - weiß nur nicht, ob der mit üblichen Öl-Temperaturen zurechtkommt. Außerdem wäre dann ein "unten außen an der Wanne" zu überlegen.
15  International / Deutsch / Re: Raspberry Pi als Entwicklungsumgebung für Arduino on: February 12, 2013, 02:32:20 pm
Ich würde mal in Richtung USB-over-Ethernet schauen - vieleicht kannst Du auf dem Windows-Rechner entwickeln und die nur den USB-Port vom PI via Netzwerk lokal "heranholen".

Sowas in der Art: http://www.eltima.com/de/products/usb-over-ip-linux/ - gibts sicher auch kostenlos irgendwo smiley-wink

Habe eben noch das gefunden: http://usbip.sourceforge.net/

Da des sich aber am Ende um Serial-Over-USB handelt, brauchst Du eigentlich "nur" einen virtuellen Com-Port am Windows-Rechner, welcher auf den Usb-Zu-Seriellen Com-Port auf dem PI zugreift.

Pages: [1] 2 3 ... 5