NEWS
Druckmessung
-
Was ich schon alles getestet habe
ok,
@Thisoft:Also zum prüfen vielleicht mal schauen ob du wenn er nicht angesteckt ist den "COM4" auch auswählen kannst. `
nein das geht nicht und am anderen Port ist es COM3AVRISP mkll" `
da kommt nurBeim Hochladen des Sketches ist ein Fehler aufgetreten
Habe schon ein zweites, jungfräuliches Board genommen - dito
Habe gerade einen USB-Programmer(??) mit dem ich die OBI-Steckdose geflasht habe genommen und mit RX,TX.GND und 5V (ja mein Board ist für 5V) versucht - gleiche Symptome
Habe neue IDE 1.8.5 statt 1.8.3 versucht; Außer dass jetzt meine Plugins für den Teensy weg sind auch keine Änderung….
Habe mich auf der Shop-Seite des Boardlieferanten schlau gemacht
http://blog.christians-shop.de/download ... ht-nichts/
Habe gemäß Störungssuche von Arduino mit diversen RESET-Versuchen gespielt
Gruß
Rainer
-
Mit dem Erkennen des Nanos am Port sieht's ja soweit gut aus…
Aktiviere bitte mal in den Voreinstellungen der Arduino-IDE die "Ausführliche Ausgabe" während Kompilierung und Hochladen und poste dann die komplette Ausgabe während eines Hochladeversuches...
-
erster Teil:
!
Compiling core... Using precompiled core Linking everything together... "C:\Users\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\Users\AppData\Local\Temp\arduino_build_90295/Drucksensor01.ino.elf" "C:\Users\AppData\Local\Temp\arduino_build_90295\sketch\Drucksensor01.ino.cpp.o" "C:\Users\AppData\Local\Temp\arduino_build_90295/..\arduino_cache_408994\core\core_arduino_avr_nano_cpu_atmega328_6c812979509dd8770aad63c18d23b249.a" "-LC:\Users\AppData\Local\Temp\arduino_build_90295" -lm "C:\Users\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\Users\AppData\Local\Temp\arduino_build_90295/Drucksensor01.ino.elf" "C:\Users\AppData\Local\Temp\arduino_build_90295/Drucksensor01.ino.eep" "C:\Users\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-objcopy" -O ihex -R .eeprom "C:\Users\AppData\Local\Temp\arduino_build_90295/Drucksensor01.ino.elf" "C:\Users\AppData\Local\Temp\arduino_build_90295/Drucksensor01.ino.hex" Der Sketch verwendet 4026 Bytes (13%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes. Globale Variablen verwenden 238 Bytes (11%) des dynamischen Speichers, 1810 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes. C:\Users\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\AppData\Local\Temp\arduino_build_90295/Drucksensor01.ino.hex:i ! avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch ! System wide configuration file is "C:\Users\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf" ! Using Port : COM3 Using Programmer : arduino Overriding Baud Rate : 115200 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xde !
jetzt kommt nur nochprogrammer is not responding - wie gehabt
avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xde avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xde
-
Da klappt definitiv mit dem Programmer was nicht. Diese Probleme hatte ich noch nie… - nur genügend andere
Aber ich habe beim Googlen was sehr Interessantes gefunden - dein Nano ist doch ziemlich neu -oder?
Dann schau mal hier https://www.heise.de/make/artikel/Ardui … 11641.html ob das zutreffen könnte und versuche das umzusetzen.
-
Danke, werde ich gleich testen.
BTW ich habe auch schon versucht einen Bootloader zu brennen mit gleichem Erfolg
-
scheint bei mir genau anders herum gewesen zu sein, zumindest mit der neuen IDE; ich bin auf 1.6.20 zurück, jetzt klappt es.
zumindest der Upload scheint geklappt zu haben.
Dann schnell das Gleiche noch mit dem verbauten nano durchgeführt - auch hier hörte die rote LED auf zu blinken nach "avrdude done"
USB abgeklemmt, Stromversorgung angeklemmt und WebUI geöffnet nichts.
Stromversorgung ab, USB dran - serielle Konsole liefert nur:
⸮⸮⸮⸮⸮⸮
Gruß
Rainer
-
Korrektur:
Baudrate auf 9600 gesetzt:
Gestartet Analogwert = 25 Binärwert = 00011001 Analogwert = 25 Binärwert = 00011001 Analogwert = 25 Binärwert = 00011001
-
Na klasse! Bis dahin sieht's doch gut aus
Willst du jetzt als Nächstes testen ob sich der Analogwert im Arduino ändert wenn sich der Druck in deinem Sensor ändert, oder wollen wir uns dran machen die Daten über die Schnittstelle zu bringen?
-
Ich entschuldige mich gleich vorab, ich hab den Beitrag nur überflogen - vielleicht ist eh schon alles klar oder überflüssig.
Ich habe mich auch mal mit so einem Sensor gespielt - meine (sehr dürftige) Dokumentation findet ihr im Anhang.
Eigentlich sollte das auch mit Tasmota funktionieren - der A-D-Wandler (ADS1115) wird angeblich unterstütz.
LG Schubi
-
Naja- Tasmota bzw. MQTT überhaupt wäre schon eine Alternative. Dann braucht Rainer aber eine Netzwerkanbindung, also entweder ein WiFi-Shield für den Arduino (gibt's aber nicht für den Nano) oder gleich einen ESP8266 verwenden…
Ich glaube wir bleiben jetzt erstmal bei Rainers Aufbau mit dem 8bit-Schnittstellenmodul.
-
Willst du jetzt als Nächstes testen ob sich der Analogwert im Arduino ändert wenn sich der Druck in deinem Sensor ändert, `
Hab ich schon, aber stärker als bis 27 kann ich nicht pustenHabe jetzt auch noch an der Konfig des Sendemoduls gespielt, jetzt kommen Werte (230), aber die ändern sich beim Pusten fast gar nicht.
Außerdem verstehe ich die 7 möglichen Modi nicht ganz,
in der Bedienungsanleitung ist das auch nur knapp beschrieben
https://files.elv.com/Assets/Produkte/1 … 17_web.pdf
Gruß
Rainer
-
Ja ist schon klar - ich will da nicht klugscheißen - war nur als Zusatzinfo gedacht.
Ich werde jetzt aber aus gegebenem Anlass mal die Sache mit Tasmota probieren.
-
Ja ist schon klar - ich will da nicht klugscheißen - war nur als Zusatzinfo gedacht. `
Danke dafür!Ich nehme dir das ja auch nicht krumm - im Gegenteil.
ich bin halt mit Arduino, ESP & Co nicht allzu fit, und dachte in dem 8-Bit Sendemodul wäre bereits der 8-Bit A/D WEandler integriert, als ich ihn gekauft hatte.
Meine Idee war: anklemmen -> läuft
jetzt komme ich endlich meinem Ziel etwas näher.
Gruß
Rainer
-
Ja, hab so was befürchtet. Wer weiß bei wieviel Druck der Sensor dann mal 4,5 Volt liefert.
Als erstes lasse mal in der folgenden Zeile im Sketch:
sensorValue = analogRead(sensorPin)/4; //weil der Arduino mit 10 bit Auflösung misst, wir aber nur 8 bit übertragen können
das "/4" weg. Wenn der Wert offensichtlich nicht größer als ungefähr 100 ist brauchen wir ihn auch erstmal nicht teilen. Später musst du dann mal testen welche Werte bei echtem Wasserdruck ankommen, ggf. können wir die Referenzspannung des Analogeingangs heruntersetzen…
Mit der Konfig des Sendemoduls kenne ich mich leider auch nicht wirklich aus. Wie gesagt - hab kein solches Dingens.
Du hast geschrieben dass jetzt Werte kommen - stimmen die mit dem im Seriellen Monitor angezeigten Analogwert überein?
-
Das einfache zuerst:
@Thisoft:- stimmen die mit dem im Seriellen Monitor angezeigten Analogwert überein? `
nein!
25-27 im Arduino (manchmal 24)
230 in der WebUI, manchmal 229
ändert sich aber nicht beim pusten, wird da eher minimal niedriger - das kann aber daran liegen, dass das Sendemodul anscheinend einen Trigger braucht (siehe Modi)
/4 nehme ich jetzt raus
EDIT:
Wert liegt beim Arduino jetzt um ohne Druck bei 100 - in der WebUI bei 154
EDIT2: bei kräftigem pusten geht er im Arduino auf 109; in der WebUI auf 148
EDIT3: Habe in der Konfiguration die Eingänge des Moduls invertiert, jetzt passen die Werte!!!!
- stimmen die mit dem im Seriellen Monitor angezeigten Analogwert überein? `
-
OK.
Der Messwert bzw. die Differenz zwischen Pusten oder nicht ist noch nicht so ganz zu gebrauchen. Aber sei's drum. Kümmern wir uns erstmal um die Übermittlung. Mit den Modi wann was getriggert wird das wirst du vermutlich noch herausfinden müssen
Ändere mal im Arduino-Sketch die Setup-Prozedur wie folgt:
void setup() { Serial.begin(9600); for (int digitPIN = firstDigitPIN; digitPIN <= firstDigitPIN + 7; digitPIN += 1){ pinMode(digitPIN, OUTPUT); } Serial.println("Gestartet"); for (int testVal = 0; testVal <= 250; testVal += 10){ sendValue(testVal); delay(Zykluszeit*1000); } }
Damit wird beim Starten des Arduino ein Wert in Zehnerschritten hochgezählt und das solltest du ja relativ gut in der WebUI verifizieren können.
EDIT: -hab gerade dein EDIT3 gesehen. Dann ist das ja auch gut - bin ich wohl irgendwo mit Low- und High-Aktiv durcheinander geraten - musst du den Sketch nicht ändern… Dann wäre es gut wenn du als Nächstes ermitteln könntest was der Drucksensor für Werte im "Echtbetrieb" also mit Wasser liefert...
-
wenn du als Nächstes ermitteln könntest was der Drucksensor für Werte im "Echtbetrieb" also mit Wasser liefert… `
komme gerade aus dem Garten/Werkstatt weil ich das gerade verdrahte.Bis später
Rainer
-
Jetzt habe ich die Nase voll :((
das Sendemodul blinkt nur noch lang-kurz-kurz
Den Fehlercode finde ich nicht; die Seite bei HM inside existiert nicht mehr….
Ein frustrierter Rainer
-
Oh - das klingt gar nicht gut
Laut der Bedienungsanleitung https://files.elv.com/Assets/Produkte/1 … 17_web.pdf S.32 bedeutet das "Gerät defekt"
-
defekt ist nie etwas
Beim Löten hatte ich ja schon Probleme mit dem Sehen, habe jetzt nochmal schnell das Funkmodul nachgelötet (beim Einpacken war da wahrscheinlich Druck drauf) und jetzt läuft es wieder.
Ich brauche auch ne neue Lötspitze, die alte ist schon ganz rund vom bleifrei löten.
Bei einem Druck von etwa 1bar lt. analogem Messinstrument ist der Wert jetzt 159.
Dafür, dass er bei 0 bar bei 100 liegt ist die Spreizung fast für die Katz', wie hier schon vermutet wurde.
Eine "richtige" Kalibration wird wohl auch nicht so einfach sein. Optimal wäre das natürlich bereits im Arduino, alternativ hier im ioBroker.
Gottseidank läuft der Filter jetzt wieder, ich muss nämlich morgen früh dienstlich für 4 Tage weg - da gibt es sonst Haue.
Ich wollte nur schnell Zwischenstand melden und bringe unten alles in Ordnung - zum Umprogrammieren kann ich dann nächsten Sonntag wieder abbauen.
D A N K E
Rainer