Show Posts
|
|
Pages: 1 2 [3] 4
|
|
31
|
International / Deutsch / Re: Bootloader Delay
|
on: April 22, 2012, 06:41:20 am
|
Hallo, ich hoffe ich verschreie es nicht, aber mittlerweile hat sich etwas getan. Aber der Reihe nach. Wg. Seilwinde Taster: Die elektr. Seilwinde(250W) wird nur händisch betätigt und ist nicht mit dem µC verbunden. Wenn ich auf den Taster für hinauf/hinunter drücke bzw. loslasse sind Fehler aufgetreten. Wie oben erwähnt 2 RC Glieder direkt beim Taster und das Problem war gelöst. Der Betrieb der Verbraucher bei meiner Schaltung hat keine Probleme verursacht. Es war immer das Umfeld. Wg. Gemeinsame Masse, Optokoppler Aus Kostengründen wird die gesamte Schaltung über 1 kleines Netzteil (welches die Batterie speist) versorgt. Die eingesetzten Optokoppler sind eigentlich nur für die Pegelwandlung zuständig, bzw. zum Schutz der Inputpins vor Überspannung. Also nicht optimal. Die längste Leitung ist ca 25m. Die Überlegung war dass ich den µC-Pin vor einer in die Leitung induzierten Überspannung schützen könnte wenn es über Optokoppler läuft. Trotz gemeinsamer Masse. Funktioniert das eigentlich? Die eingesetzten Pullups sind die internen vom Mega. Tastvorgänge habe ich immer erkannt, sogar welche die nicht da sind. Wg mögliche Lösung Gestern habe ich viele Tests gemacht, um Abstürze des µCs zu provozieren. Leider habe ich erst recht spät erkannt dass oft nur die Laptop-Usb-µC Verbindung abbricht, obwohl der µC normal weiterarbeitet. Egal. Irgendwann habe ich mir die Kabelführung der bestehenden Installation angesehen. Die schaut ungefähr so aus:  Von unten kommt die Zuleitung. Der Untere Verteilerkasten(1) versorgt den oberen und geht nach rechts weiter zu anderen Geräten(4) (elektr. Seilwinde usw.) Der obere Verteiler(2) geht zum Licht bzw. Bewegungsmelder, und zum Lichtschalter mit Steckdose (3). Im Punkt wo sich die blauen Linien kreuzen sind die Leiter nicht verbunden. Alle eingezeichneten Leiter befinden sich in einer Wand Nachdem was ich über EMV gelesen habe nicht wirklich optimal. Also das Kabel von 2-3 ausgezogen, Lichtschalter zwischen 1 und 2 geklemmt. Danach wieder getestet. Der µC ist nicht mehr abgestürzt! Hoffentlich bleibt das so, habe schon oft gehofft eine Lösung gefunden zu haben und 2 Tage später ist die Ernüchterung gekommen. Der µC erkennt wenn ich störe immer noch ab und zu einen Input als Low, aber im Bereich von unter 50ms, also leicht zu erkennen. Ich hoffe, dass es das war. Vielen Dank für eure Hilfe.
|
|
|
|
|
32
|
International / Deutsch / Re: Bootloader Delay
|
on: April 21, 2012, 03:16:04 am
|
Hallo, Wg. SPS: Ich will keine SPS einsetzen, sondern möchte meine EMV Probleme natürlich langfristig lösen und unbedingt mit µC´s und Arduino arbeiten, weil mir das Projekt irrsinnig taugt. Das der Watchdog nicht perfekt ist, ist mir klar. Die Fehlersuche erschwert er mir jedoch mMn nicht, denn wenn der µC ohne Watchdog irgendwann hängenbleibt weiß ich auch nicht warum. Ein externer Watchdog ist aber ohne Frage die bessere Lösung, und macht viel mehr Sinn. Wg. Hardware gebaut Hallo Tobias, Alle Eingänge laufen über Optokoppler. Die Ausgänge über mehrere ULN2803 also mit integrierten Schutzdioden. Es werden u.a. 4 Relais geschaltet. Die Relais haben zusätzliche Schutzdioden. Probleme machen jedoch externe Geräte wie der oben genannte Taster vom elektr. Aufzug. Der Aufzug ist nicht mit dem µC verbunden. Es gibt aber auch Probleme mit Netzteilen von Ladegeräten beim Einstecken (mangels On/Off Knopf)… Habe schon angefangen Leitungen zu verlegen um möglichst große Abstände zu erreichen usw. es ist besser geworden. Aber noch nicht befriedigend. Zur Watchdog Lösung: Wie im Link von Udo beschrieben war das Problem, dass nach einem WD-Reset, der WD-Timer auf eine sehr kurze Zeit gesetzt wurde (vermutl. 15ms). Also hat mein Programm gar keine Chance gehabt den WD wieder auszuschalten. Obwohl der WD zuvor auf 8 Sekunden eingestellt war. Die Lösung war im Makefile '-DWATCHDOG_MODS' beim 328-er hinzuzufügen. Danach den Bootloader kompilieren und zu brennen. Anleitung dazu: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1255016475/1Jetzt lässt mir der Watchdog genug Zeit um mein Programm zu starten und um ihn zu deaktivieren.Die Anlage selbst dient nur zu Überwachung von Eingängen bzw. einer Zufahrtstrasse, mit Geschwindigkeitsmessung, Temperatursensoren, Hundfütterung usw. also nichts großartig Gefährliches was jemanden verletzen könnte.
|
|
|
|
|
33
|
International / Deutsch / Re: Bootloader Delay
|
on: April 20, 2012, 03:36:35 pm
|
|
Hallo,
Danke für die Antworten.
Ich habe mich etwas gespielt, und mit einem Duemilanove328 einen ProMini168 eingeschaltet und dann gewartet bis dieser einen Ausgang schaltet. Den Ausgang schalten war die 2. Anweisung nach dem pinMode in setup()
Vom Einschalten bis zur Rückmeldung waren es 1460ms. Wenn der ProMini den Duemilanove geschaltet hat waren es 1457ms. Gemessen habe ich nur mit der millis() Funktion.
Werde morgen den Watchdog ausprobieren auf jeden Fall mit mehr als 1500ms. Hoffentlich beißt er nicht.
Wg. Grund für den Wachtdog Ich habe immer wieder EMV Probleme. Es passiert immer wieder dass der µC hängenbleibt. Verfälschte Werte (z.B. Eingang ist kurz Low obwohl kein Taster gedrückt) fängt er auch immer wieder ein, aber die kann ich via Software handeln.
An allen Leitungen zum µC hängen mittlerweile Ferrite und Varistoren, 230V Leitungen haben mittlerweile Entstörkondensatoren, Spannungsversorgung habe ich mit Pufferbatterie und Kerkos zu stabilisieren versucht, und der µC ist in einem geerdeten PC Gehäuse. Trotzdem passiert es immer wieder dass sich der µC aufhängt. Z.B: 230V Aufzug letzte Woche: beim Ausschalten ist der µC hängengeblieben, obwohl er nur via Batterie versorgt war und ca 10m Entfernt. Das ist nicht nur 1x passiert sondern war super reproduzierbar. Was leider nicht häufig der Fall ist. Netzfilter zwischen den 230V Leitungen haben nicht geholfen. Mit einem RC Glied parallel zum Schalter war dieser Fehler nicht mehr provozierbar. Was jedoch nur Probleme--; bedeutet.
Der µC der den Watchdog bekommen soll, muss sich immer wieder via Funk bei einem anderen µC melden. Wenn er das nicht tut, gibt dieser Fehlermeldungen aus (Website und später auch Handy).
So das ist der lange Grund für den Watchdog.
|
|
|
|
|
34
|
International / Deutsch / Re: Bootloader Delay
|
on: April 20, 2012, 11:47:07 am
|
|
Hallo Udo, DANKE. Ich habe Fall 2.
Ich bin davon ausgegangen, dass ein einmal gesetzter WD nach einem Reset sofort wieder aktiv ist. Schön das es nicht so ist. Danke!
|
|
|
|
|
35
|
International / Deutsch / Bootloader Delay
|
on: April 20, 2012, 02:58:53 am
|
|
Hallo,
wie lange dauert es eigentlich bis ein Sketch startet, wenn keine Daten kommen? Der Bootloader wartet ja eine zeitlang auf Daten. Millis() und micros() beginnen erst nach dem Bootloader zu messen oder?
Ich möchte einen Watchdog einsetzen, den Bootloader behalten und verhindern, dass das Bootloader Delay zu lange für den Watchdog dauert.
Vor dem Aufspielen von einem neuen Sketch will ich den Watchdog dann mittels Taster deaktivieren, so dass die Zeit fürs neu programmieren keine Rolle spielt.
Vielen Dank.
|
|
|
|
|
37
|
International / Deutsch / Re: 15m SPI Kabel- oder doch nur Temperaturproblem
|
on: February 24, 2012, 01:19:18 am
|
|
Hallo,
Wieso hast Du 15m SPI und erst dann den Transcever? Der Arduino ist in einem Gebäude fix eingebaut. Ohne das Lange SPI Kabel, kein Empfang.
Wg RS232: Habe mir gedacht die SPI Signale auf RS232 Niveau umzusetzen wg. Störungsempfindlichkeit. Bin ich damit auf dem Holzweg?
wg. Multiplexen: Mit Multiplexen meine ich umschalten zwischen meheren SPI Geräten. Ich weiß schon dass das normalerweise nicht notwendig ist, allerdings stören manche Ethernet-Shields die SPI-Leitungen auch wenn sie nicht selected sind.
|
|
|
|
|
38
|
International / Deutsch / 15m SPI Kabel- oder doch nur Temperaturproblem
|
on: February 23, 2012, 10:53:54 am
|
|
Hallo, ich habe ein Problem bei einer Funkstrecke. Seit ca. 2 Wochen verliere ich immer wieder Sendungen zwischen 2 Arduinos mit 2,4Ghz Transceivern. In den 6 Monaten davor hat es jedoch ohne Probleme funktioniert.
Das Austauschen der Transceiver hat leider keine Besserung gebracht. Die nrf24l01+ Transceiver senden jetzt bereits bis zu 15 mal. Trotzdem gehen immer wieder Sendungen verloren.
Die meisten Probleme traten bei Temperaturen unter -12°C (gemessen beim Transceiver) auf. Kann es sein dass diese Temperatur zu kalt für die Quarze ist?
Ein SPI Kabel von einem Mega zum Transceiver beträgt etwas über 15 Meter, ich fürchte dass das zu lang sein könnte. (Erklärt allerdings nicht warum es zuvor funktioniert hat)
Angenommen es ist die SPI Verbindung was wäre eine sinnvolle Alternative:
1. Mehrere Max3232 Chips an beiden Seiten an die bestehenden Kabel 2. Zusätzlicher Arduino zum Transceiver und Verbindung zum Mega über Uart
Und in dem Zusammenhang gleich noch eine Frage: Welche Chips eignen sich zum Multiplexen von SPI?
|
|
|
|
|
40
|
International / Deutsch / Re: Arduino-Usb Usb-Arduino
|
on: January 29, 2012, 02:21:26 pm
|
|
Ich habe es über die direkte Verbindung gemacht. Jedoch Pin 0 und Pin1 vom Duemila. Hat das Bohren und Kabelziehen leider nicht erspart, aber es funktioniert jetzt.
|
|
|
|
|
42
|
International / Deutsch / Arduino-Usb Usb-Arduino
|
on: January 29, 2012, 04:11:11 am
|
|
Ist es möglich 2 Arduinos (1xMega 1x Duemila) via USB zu verbinden. Es geht dabei nur um die Physische Verbindung via USB Kabel. Pin 0 und 1 sind ja mit dem FTDI Chip verbunden. Soweit ich es verstanden habe, setzt dieser die Signale von Pin 0 und 1 auf TTL Logik um. Wenn der FDTI Chip des 2. Controllers diese wieder zurück umsetzt, dann müsste ich mittels USB Kabel eine Kommunikation zustande bringen.
Ich habe den Mega fix eingebaut. Dieser ist mit SD, Touchscreen, Funk, MP3 Modul, RTC, div Sensoren... schon recht gut ausgelastet. Jetzt soll der Mega seine Infos noch ins Internet schicken. Da ich nicht weit von ihm entfernt einen Duemila mit ENC Chip habe, möchte ich diese beiden miteinander verbinden. Die Kabelkanäle und Gehäuseöffnungen vom Mega sind voll, weitere Kanäle und Bohrungen würde ich mir durch das Nutzen der USB Verbindung gerne ersparen.
Beim USB Kabel muss ich natürlich 2 Leitungen tauschen. Wird es funktionieren?
Besteht die Gefahr dass ich etwas grille?
|
|
|
|
|
43
|
International / Deutsch / Re: funkstrecke realisieren
|
on: January 18, 2012, 07:58:10 am
|
|
Wenn die Entfernung nicht zu groß ist, dann kann ich den NRFL2401+ Chip empfehlen. 2,4ghz, SPI Ansteuerung, Arduino Lib vorhanden, Interne Sendebestätigungen.
Arbeitet bei mir auf ca 25m durch 1 Wand problemlos. Trotz nur 1m Abstand zu WLan Router und extrem langer SPI Leitung. Vorallem bekommt man die Module recht günstig ($3). (5V toleranz beachten) Jeelabs hat die RFM12 Module. Die sollen eine höhere Reichweite haben.
|
|
|
|
|
44
|
International / Deutsch / Re: Kann man diesen Code vereinfachen?
|
on: November 10, 2011, 04:19:31 am
|
|
Habe ich das jetzt richtig verstanden?
Der ?-Code kann zur Compilezeit aufgelöst werden, wenn das Ergebnis feststeht. Damit kann ich mir Schreibarbeit ersparen. ?-Code funktioniert dann wie ein intelligentes #define (unter obiger Voraussetzung).
Wenn das Ergebnis nicht feststeht wie beim Abfragen eines Pins, bringt mir der ?-Code dann Vorteile? Ist er schneller als If .. else?
Ich habe ein paar einfachste Zeitmessungen gemacht und keinen Unterschied feststellen können.
|
|
|
|
|
45
|
International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem
|
on: April 20, 2011, 02:26:46 pm
|
|
Hallo Uwe,
Ich habe die Arduinos nur zum Messen der Spannungen im Fehlerfall gekoppelt. Hätte ich GND nicht koppeln sollen? Habe gedacht dass muss so sein? War ein Versuch den Fehler zu finden, der Fehler ist auch davor aufgetreten. Wie gesagt bin Anfänger.
Wg. Schweißgerät Bedeutet der Einsatz von einem Schweißgerät automatisch, dass der Arduino ausfällt? Gibt es eine Möglickeit das zu verhindern?
|
|
|
|
|