Gurtwickler GW60 mit ESP8266

Begonnen von lukasbastelpeter, 11 November 2016, 22:32:20

Vorheriges Thema - Nächstes Thema

Papa Romeo

Hallo Harrison,

vergiss das obere Bild. War eine Vorversion und nur als Anschauung,wegen des Lötpunktes am Hallsensor, für mar565 gedacht.
Dein unteres Bild zeigt die richtige Belegung.
Im Anhang auch nochmal zu sehen.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

harrison

Danke für die schnelle Antwort!

Papa Romeo

Hallo lukasbastelpeter,

sieht ganz gut aus und kann ich ja fast, bis auf R12 und R13, für meinen Aufbau übernehmen.
Jetzt gilt es, das alles auf eine Platine umzusetzen. Da bin ich sehr gespannt drauf.
Aber da hast du mir eins voraus....du hast nen Schaltplan... denn zu meiner Schande muss ich gestehen, dass ich in dieser Beziehung etwas "faul" bin
und einen Schaltplan in der Regel erst erstelle, wenn´s denn unbedingt sein muss.

Die Idee mit dem "Platine hinten anbringen" (da sitzt bei mir z.Z. der zusätzliche 433 MHz-Empfänger für die Handfernbedienung)  finde ich auch nicht ohne, aber dann würde ich
statt dem ESP12 einen ESP07 mit abgesetzter, externer Antenne zum Einsatz bringen.

Gruß

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

lukasbastelpeter

Danke für das Feedback!
Ja, abgesetzte Antenne wäre schon noch etwas eleganter. Ich muss mal schauen in wie weit das Layout mit einem 07er kompatibel wäre.
Aktuell habe ich die NodeMCUs auch hinten montiert und keinerlei Probleme mit dem Empfang, daher sollte das so auch funktionieren. Und abgesetzte Antenne ist für mich Wunderwerk der Technik. Keine Ahnung was ich dann da beachten muss.

Schaltplan habe ich tatsächlich. Ich habe mich mit dem LayoutTool meiner Arbeit angefreundet und nutze jetzt die kostenlose Version privat. Da ist der Schaltplan notwenig bevor Layoutet werden kann.

R12 u. R13 halte ich eigentlich auch gar nicht für nötig. Die sind im Wemos aber auch so verbaut. Ich werde mal testen ob es später auch einfach eine Brücke tut.
Aber der ADC ist sowieso erstmal Zukunftsmusik.

Grob habe ich das alles schonmal positioniert auf der Fläche. Mit ein bisschen Gefummel sollte das grade so passen. Ich würde gerne nur einseitig bestücken und Befestigungsmäßig muss ich mir auch noch etwas ausdenken.

Heute Abend vielleicht das Layout, mal schauen. Dann mein erster Gerber-Export aus dem Tool, gefolgt von der ersten Asien-PCB-Bestellung.
Da ich noch keinerlei Erfahrung mit Gerber-Export habe, hätte jemand die Möglichkeit die Daten mal zu prüfen bevor ich 6-8 Wochen auf die Platinen warte und dann nochmal neu bestellen muss?

Danke Euch!
# Raspberry Pi
# Homematic, Z-Wave
# HUE, Tradfri
# Harmony
# ESP8266  Basteleien per MQTT

Papa Romeo

Hallo Lukasbastelpeter,

korrigiere bitte deinen Schaltplan und dreh die Schottky-Diode D3 (zwischen Eingang Hall-Sensors und GPIO16/D0) um.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

lukasbastelpeter

Hi, danke. Der Zug ist aber abgefahren. Ich habe schon die Platinen bestellt. Muss ich dann beim Bestücken bedenken :(
# Raspberry Pi
# Homematic, Z-Wave
# HUE, Tradfri
# Harmony
# ESP8266  Basteleien per MQTT

Manu

#66
Sodele, da ja scheinbar wenig Interesse daran bestand, z.B. die GW60 auch per %-Werte ansteuern zu können, habe ich -wie angedroht- mein eigenes "Ding" programmiert.

Features (bisher):

  • AutoAP: ist kein WLAN konfiguriert oder das konfigurierte nicht erreichbar, wechselt der ESP zur Konfiguration in den APMode
  • WebConfig: komplette Konfiguration über das Webinterface. Sowohl im APMode als auch im ClientMode
  • One file fit's all: keinerlei hardcoded Daten für WLAN und MQTT (Ausnahme MQTT-Topics: nur Topic-Prefix definierbar), somit kein "eigenes" Programm für jeden GW60 nötig
  • MQTT-Funktionen: "up", "stop", "down", "state" (Rückgabe von "Direction", "Position" und "Position-Percent"; siehe Bild) , "save" (speichern der unteren Position), "0-100%"
ToDo:

  • Web-Interface für Bedienung des GW60
  • Code-Optimierungen
  • ...

P.S.: JA!, ich programmiere grundsätzlich in Englisch. So gibt es kein "Deuglisch", wenn man auch mit includes arbeitet ;-)

mar565

Zitat von: Papa Romeo am 18 April 2019, 21:55:58
..du musst die grüne oder blaue Lackschicht (je nach Fertigungsstand des GW60) etwas abkratzen bis du das blanke Kupfer siehst. darauf kannst du dann löten.
Nochmal eine Rückmeldung.  Beim 3. GW habe ich jetzt einfach ein kurzes Kabel zum bestehenden Lötpunkt geführt (schwarzes Kabel). Geht viel schneller.
Hier noch ein paar Tipps für den Umbau:
-Bei der Hallsonde sollte man die Stifleiste auslöten und die Kabel direkt anlöten.
-Bevor man das Gehäuse schließt, kurz das Netzteil anschließen und mit der LED der Hallsonde überprüfen ob man sie richtig positioniert hat (Nicht mittig in der Aussparung, sondern möglichst nahe an der Ecke der Platine). Bevor man  das Gehäuse verschraubt, am besten nochmal überprüfen.
Es sind ziemlich offensichtliche Dinge,  aber vielleicht spart sich dadurch jemand unnötiges Rumprobieren.

mar565

@Manu
Das sieht ja schon sehr ausgereift aus. Würdest du deine Code teilen?

Papa Romeo

@Manu: Dein Sketch zeigt ja einiges an "Tasmota-Ähnlichkeit". Sieht interessant aus und bietet bestimmt einiges mehr an "Komfort" als mein Sketch. Wie schon öfters erwähnt ist
             das Programmieren für mich eine Notwendigkeit, dass meine Projekte laufen und daher nicht so "aufwendig". Aber ich lerne immer gern dazu und schau auch gerne ab,
             was wie, wo gemacht wird und daher würde mich der Sketch schon auch interessieren.
             Nicht wegen der Ansteuerung über die Prozentangabe (...inzwischen ist mir wieder Eingefallen, warum ich es bei den GW60 doch beim alten Sketch belassen habe), aber bei
             den anderen Sachen sind durchaus Dinge dabei, die ich bestimmt auch für meine Sketche nutzen könnte. .... natürlich "eingedeutscht".. ;) ;D ::)
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Manu

Ich beantworte mal beide Postings zusammen...
Zitat von: mar565 am 07 Mai 2019, 23:26:40
@Manu
Das sieht ja schon sehr ausgereift aus. Würdest du deine Code teilen?
Klar, kommt weiter unten  ;)
Zitat von: Papa Romeo am 08 Mai 2019, 07:06:43
@Manu: Dein Sketch zeigt ja einiges an "Tasmota-Ähnlichkeit". Sieht interessant aus und bietet bestimmt einiges mehr an "Komfort" als mein Sketch. Wie schon öfters erwähnt ist
             das Programmieren für mich eine Notwendigkeit, dass meine Projekte laufen und daher nicht so "aufwendig". Aber ich lerne immer gern dazu und schau auch gerne ab,
             was wie, wo gemacht wird und daher würde mich der Sketch schon auch interessieren.
             Nicht wegen der Ansteuerung über die Prozentangabe (...inzwischen ist mir wieder Eingefallen, warum ich es bei den GW60 doch beim alten Sketch belassen habe), aber bei
             den anderen Sachen sind durchaus Dinge dabei, die ich bestimmt auch für meine Sketche nutzen könnte. .... natürlich "eingedeutscht".. ;) ;D ::)
Das Lustige ist, da ist keine einzige Zeile Tasmota-Code drin (ich kenne den Quellcode). Ich habe bei der ganzen Klamotte aber das Rad nicht neu erfunden. Die ganze GUI ist aus der Arduino-Lib "IotWebConfig". Wo wir dann beim Thema "Deuglisch" wären...
Ich habe jetzt mal die Lib genommen und lokal eingebunden. Sprich, ich nutze diese ausschließlich für dieses Projekt. Deswegen heißt die dann auch "x_IotWebConfig". Dadurch kann ich die modifizieren bzw. in dem Fall auf Deutsch übersetzen. Hier muss gesagt werden, ich programmiere den ganzen Kram in PlatformIO (ich hasse die Oberfläche und Funktionalität der Arduino-Software). Vom Prinzip ist es aber nichts anderes, PlatformIO setzt darauf auf.

Ich hab mal den Code bei GitLab hochgeladen und das Repository jetzt von Privat auf Öffentlich gestellt.
Link: https://gitlab.com/ManuA/GW60-Superrollo

@Papa Romeo: Wenn es für Dich OK ist, würde ich dort gerne auch Deine Gerber-Dateien zur Platine zusammen mit dem Schaltplan (hab ich schon in Eagle gemacht) hochladen. Natürlich mit Quellen-Angaben ;). So hätte man alles an einer Stelle.

Papa Romeo

Hallo Manu,

mein Ok hast Du. Schade dass dein Sketch nicht unter Arduino geschrieben ist, dachte wäre eventuell eine Möglichkeit gewesen etwas "abzukupfern"....aber egal.....ach ja, deswegen hab ich das mit den "Prozenten" gelassen.....funktioniert nur "Hundertprozentig" wenn die Impulszahl für die gesamte Verfahrstrecke des Rollladens genau 100 ist. Rückmeldung lässt sich berechnen...aber Anweisung....ich hatte beispielsweise Impulszahlen von 79 (Balkontüre) und 47 (Fenster)....und jetzt z.B. 50 % anfahren....geht nicht....entweder muss ich "ungefähr" 49 oder 51 % anfahren, da 39,5 oder 23,5 Impulse nicht möglich sind.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Manu

Zitat von: Papa Romeo am 09 Mai 2019, 23:16:47
Hallo Manu,

mein Ok hast Du. Schade dass dein Sketch nicht unter Arduino geschrieben ist, dachte wäre eventuell eine Möglichkeit gewesen etwas "abzukupfern"....aber egal.....ach ja, deswegen hab ich das mit den "Prozenten" gelassen.....funktioniert nur "Hundertprozentig" wenn die Impulszahl für die gesamte Verfahrstrecke des Rollladens genau 100 ist. Rückmeldung lässt sich berechnen...aber Anweisung....ich hatte beispielsweise Impulszahlen von 79 (Balkontüre) und 47 (Fenster)....und jetzt z.B. 50 % anfahren....geht nicht....entweder muss ich "ungefähr" 49 oder 51 % anfahren, da 39,5 oder 23,5 Impulse nicht möglich sind.
Es ist im Prinzip Arduino. Die Datei kannst Du auch mit Arduino öffnen. Ich weiß da lediglich nicht, wie die von mir modifizierte Lib da rein kommt. Was definitiv funktionieren wird, ist den Ordner "lib" rüber zu kopieren zu C:\Users\<user>\Documents\Arduino\libraries.
Beim Anfahren der %-Werte musst Du anders denken. Beispiel: Rollladen ist oben (0%) und soll auf 50% fahren. Rolladen fährt.... tick...tick...tick... Bedingung zum Stopp ist dabei 50% oder größer. Das kann dann genau 50 sein, oder 52,7 oder auch 90 (wenn das der nächste Impuls ist). Genau den Punkt wirst Du nicht treffen. Die Kunst ist es, den nächst möglichen zu treffen. Sprich beim Hochfahren ein "Kleiner als" und beim Runterfahren ein "Grösser als".

Danke für das OK, Deine Dateien mit ins GitLab einfügen zu dürfen.

mar565

Hallo Manu,
Danke für die tolle Arbeit. Ich hab es ohne Probleme im ioBroker zum Laufen gebracht. Leider hab ich da ein Paar Fehlermeldungen im Log. Soweit ich es verstehe, können die puback massages nicht zugeordnet werden, wodurch dann ein reconnect ausgelöst wird. Den Fehler selbst kann ich aber nicht finden. Hab allerdings auch erst seit kurzen mit MQTT zu tun.
Vielleicht liegt es ja an meiner Servereinstellung?
Eine Lösungsmöglichkeit wäre wohl die QoS auf 0 zu ändern, das würde ich aber gerne vermeiden.
Kann mir da jemand einen Tipp geben?

@Manu: Sobald es läuft, werde ich der AP-GUI noch ein Feld zur Auswahl des Ports hinzufügen. Vielleicht möchtest Du das auch übernehmen.

Manu

Zitat von: mar565 am 10 Mai 2019, 18:16:02
Hallo Manu,
Danke für die tolle Arbeit. Ich hab es ohne Probleme im ioBroker zum Laufen gebracht. Leider hab ich da ein Paar Fehlermeldungen im Log. Soweit ich es verstehe, können die puback massages nicht zugeordnet werden, wodurch dann ein reconnect ausgelöst wird. Den Fehler selbst kann ich aber nicht finden. Hab allerdings auch erst seit kurzen mit MQTT zu tun.
Vielleicht liegt es ja an meiner Servereinstellung?
Eine Lösungsmöglichkeit wäre wohl die QoS auf 0 zu ändern, das würde ich aber gerne vermeiden.
Kann mir da jemand einen Tipp geben?
Puh... mit ioBroker kenn ich mich garnicht aus. Ich hab alles mit Node-Red realisiert. Meine 3 Gurtwickler (und auch mein "Simulator") funktionieren ohne jegliche Reconnects. Vielleicht hat da einer eine Idee, der auch mit ioBroker arbeitet.

Welche PubSubClient-Version nutzt Du?
Zitat von: mar565 am 10 Mai 2019, 18:16:02
@Manu: Sobald es läuft, werde ich der AP-GUI noch ein Feld zur Auswahl des Ports hinzufügen. Vielleicht möchtest Du das auch übernehmen.
;D Da bin ich auch schon dran. Die Erst-Definitionen sind im eben hochgeladenen Quellcode-Update (auskommentiert) schon drin. Will da aber erst das drum herum, wie Dateien von Papa Romeo in das Repository einpflegen, usw.,  noch fertig machen.