D1 Mini Shield Support

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: D1 Mini Shield Support

Beitrag von little.yoda » 24.05.2019, 19:40

mich hat der Ehrgeiz nochmal gepackt und ich es habe es nochmal ausprobiert.

:-)

Und es funktioniert: motor_base.ino aus https://github.com/wemos/WEMOS_Motor_Sh ... no_Library funktioniert
Dateianhänge
d1motor.jpg
d1motor.jpg (79.42 KiB) 7711 mal betrachtet

Benutzeravatar
Zoltan
Beiträge: 622
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 107 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: D1 Mini Shield Support

Beitrag von Zoltan » 24.05.2019, 20:50

Hallo Sven!
little.yoda hat geschrieben:
24.05.2019, 19:40
mich hat der Ehrgeiz nochmal gepackt und ich es habe es nochmal ausprobiert.
Ich habe dran fest geglaubt und gehofft :)
little.yoda hat geschrieben:
24.05.2019, 19:40
- Firmware von https://github.com/pbugalski/ geflasht
Auf einem meiner Shields habe ich motor_shield.bin und auf dem anderen motor_shield_30.bin geflashed. Mal sehen...
little.yoda hat geschrieben:
24.05.2019, 19:40
- Auf der Rückseite die Pads für IO Standby verbunden (siehe Foto)
Ist das unbedingt nötig? Warum muss man das, wo hast du die Info dafür her? Auf dem Foto vom Wemos Wiki ist es offen bei STBY I0-I2C. Ich schätze, offen ist es notwendig, es mit S und hochziehen, beim Zulöten geht er aber auf I2C Stdby Mode? Oder funktioniert das nicht? Siehe auch unten?
little.yoda hat geschrieben:
24.05.2019, 19:40
- Auf der Rückseite die Pads für RST verbunden (siehe Foto)
Ist auf meinem MS verbunden, auch auf dem Foto im Wemos Wiki. Reset Knopf auf D1 tut ihn wohl auch resetten, denke ich.

Komischerweise sind AD0 und AD1 offen gewesen (also I2C war auf 2D, seit Flash aber auf 30)
little.yoda hat geschrieben:
24.05.2019, 19:40

- Sichergestellt, dass an VM/GND anliegt
Hm, das ist wohl trivial, oder missverstehe ich hier etwas? Aha, hast editiert... nun klar :)
little.yoda hat geschrieben:
24.05.2019, 19:40
- Den Pin "S" auf High (3,3V) gezogen ist
Ist das unbedingt nötig? Warum muss man das, wo hast du die Info dafür her? Das hängt doch mit dem Stdby im S oder I2C Mode zusammen?Und wie genau hast du es gemacht? Ist es das lila Kabel? Es sind drei lilas, 2 wohl Motor...? Siehe auch oben?

Die Bilder sind leider etwas unscharf...

Bitte noch einige Details besser erklären für DAUs :)

DLG Zoltan
Zuletzt geändert von Zoltan am 24.05.2019, 21:21, insgesamt 3-mal geändert.
LG Zoltan
Mein YT Kanal: www.youtube.com/@oldnat

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: D1 Mini Shield Support

Beitrag von little.yoda » 24.05.2019, 21:15

Hi

Habe oben ein paar Punkte ergänzt (Hash-Wert, Mindestens 5 Volt, ...).

Die meisten Punkte habe ich aus diversen Beiträge. Ich will jetzt auch nicht sagen, dass alle Punkte notwendig sind. Es beschreibt einfach erst mal, wie es bei mir funktioniert.
S ist einfach mit einen der vielen 3,3 Volt Pin verbunden.

Man könnte(!) es testen, ob es auch ohne S Pin funktioniert, wenn man die PADs andersherum (STBY und S_STBY im Schaltplan [1]) verbindet. Keine Lust, es jetzt weiter aus zutesten.


[1]https://wiki.wemos.cc/_media/products:d ... _motor.pdf


Sonst kannst du dir auch mal auf dem Foto des Originals anschauen, welche PAD verlotet sind:
https://wiki.wemos.cc/_media/products:d ... .0.0_2.jpg

Benutzeravatar
Zoltan
Beiträge: 622
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 107 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: D1 Mini Shield Support

Beitrag von Zoltan » 24.05.2019, 21:28

Klar... ich habe auch herumeditiert... nun verstehe ich es besser. Ich habe genau das Bild auf dem Wemos Wiki geschaut. Ich glaubte, dass vielleicht das IO und das Hochziehen von S nicht unbedingt nötig wäre, da die Wemos Wiki Fotos dort keine Brücke zeigen und ich es mit dem IO-S Stdby Mode vorerst nirgends gefunden habe.

Aber dann müsste es doch gehen, denn meine Konfig war das gleiche bis auf die IO/Pin S auf 3,3 Ziehen...

Ich weiß nicht wann ich dazukomme, aber ich werde es checken.

DLG Zoltan
LG Zoltan
Mein YT Kanal: www.youtube.com/@oldnat

Benutzeravatar
Zoltan
Beiträge: 622
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 107 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: D1 Mini Shield Support

Beitrag von Zoltan » 24.05.2019, 21:41

Ich habe schlecht geschaut. Es sind wohl 3 Lötpads beim STBY. Meins sieht so aus:

20190524_214503.jpg
20190524_214503.jpg (1.72 MiB) 7692 mal betrachtet

Also genau wie deins jetzt. Also müsste es dann so gehen, scheinbar muss das Hochziehen von S auf 3,3 doch erfolgen - oder Pad umlöten auf I2C? Wie war deins original? Auf dem WemosWiki Foto ist es nämlich auf I2C gelötet - vielleicht funktionierte es deshalb mit dem Sketch dort und nicht bei mir?

DLGZ
LG Zoltan
Mein YT Kanal: www.youtube.com/@oldnat

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: D1 Mini Shield Support

Beitrag von little.yoda » 24.05.2019, 21:49

Teste es doch einfach erst mal so. Den PIN S auf 3,3 Volt und los gehts ...

Im Lieferzustand waren die Pads gar nicht verbunden. Also RST und Standby komplett offen

Benutzeravatar
Zoltan
Beiträge: 622
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 107 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: D1 Mini Shield Support

Beitrag von Zoltan » 24.05.2019, 22:06

Aha. Bei mir war Lieferzustand wie auf meinem Bild. Und im Wemoswiki wieder anders was das Stby betrifft. Da das Ding ziemlich alt ist, sind wohl mehrere Varianten im Umlauf. Nachdem meine so aussehen, wie deins jetzt, ist der einzige Unterschied zwischen deinem funktionierenden und meinem nicht funktionierenden Shield das S-auf-3,3-Hochziehen. Ich teste es (wenn ich dazukomme) und melde mich natürlich.

DLG Zoltan
LG Zoltan
Mein YT Kanal: www.youtube.com/@oldnat

Benutzeravatar
Zoltan
Beiträge: 622
Registriert: 18.09.2018, 11:34
Wohnort: Wien
Hat sich bedankt: 107 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: D1 Mini Shield Support

Beitrag von Zoltan » 25.05.2019, 10:28

So, Problem solved.

Wenn MS STBY auf IO gepadded ist:

20190524_214016.jpg
20190524_214016.jpg (797.36 KiB) 7683 mal betrachtet

muss man S mit 3,3V hochziehen:

20190525_101134.jpg
20190525_101134.jpg (153.83 KiB) 7683 mal betrachtet

Sonst wird der Motor nicht angetrieben. Mit verbundenen Pins funktioniert es.

Oder aber, wenn MS STBY (wie auch im WemosWiki abgebildet), auf I2C gepadded ist:

20190525_093751.jpg
20190525_093751.jpg (745.38 KiB) 7683 mal betrachtet
Bei dieser Stby Konfig braucht man die Verbindung S-3,3V nicht, es funktioniert ohne Verbindung.

Fazit:

1.)
Den neuen FW braucht man, sonst funktioniert MS nicht 100% korrekt (und man muss den 10-Sekunden-Bug umworkarounden, zB. mit einem Ticker, aber das ist schlampig).
Mit dem neuen FW wird der MS eindeutig auf I2C Adresse 30 fixiert, die AD0 und AD1 Pads haben keinen Einfluss auf die Adresse mehr.
Es gibt aber, wenn notwendig, Varianten des FW mit verschiedenen fixen Adressen (siehe hackaday).
Ob motor_shield.bin oder motor_shield_30.bin auf dem MS geflashed wird, ist egal, bei beiden ist die Adresse fix 30, und beide funktionieren.

2.)
- Die Shields werden verschieden konfiguriert von den verschiedenen Quellen ausgeliefert.
- Im Zustand, wie es auf WemosViki abgebildet ist, also STBY auf I2C gepadded, funktioniert alles "out of the box" mit den Wemos Examples (und wohl auch sonst mit alles).
- Im Zustand, wie ich es hatte, muss man die Verbindung S-3,3V machen, oder man muss den MS auf I2C vom IO umpadden, da braucht man die Verbindung S-3,3V nicht.
- Im Zustand, wie Sven es hatte, muss man (da dort alles offen war) RST und STBY padden (so oder so, einfacher auf I2C denn da man keine S-3,3-Brücke braucht)

Solution IMHO:
Board mit hackaday flashen.
Board anschauen. Wenn nötig, RST padden und STBY auf I2C (um)padden.

Brücke ist so nicht notwendig.
Fertig.

Jetzt versuche ich, einen einfachen WebSerber mit PWM zu bauen und flashen, testen, und berichten.

Aber hiermit sind die Hindernisse weg, und Sven kann den MS mit I2C in den Framework integrieren.

LG Zoltan
LG Zoltan
Mein YT Kanal: www.youtube.com/@oldnat

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: D1 Mini Shield Support

Beitrag von little.yoda » 25.05.2019, 15:58

Danke für die Zusammenfassung.

Kannst du dir vorstellen, dass du die Zusammenfassung so in ein Text verwandelst, dass ich es in der Dokumentation übernehmen kann?
https://littleyoda.github.io/littleyoda ... coder-DOC/ unter Anwendungen/Lokdekoder
Zoltan hat geschrieben:
25.05.2019, 10:28
Mit dem neuen FW wird der MS eindeutig auf I2C Adresse 30 fixiert, die AD0 und AD1 Pads haben keinen Einfluss auf die Adresse mehr.
Damit zukünftige Leser nicht verwirrt sind. Adresse ist 0x30 (HEX) bzw. 48 (DEC), wenn die PADs frei sind.

Zumindest der von mir verlinkte Sourcecode unterstützt laut Sourcecode Ad0 und Ad1. Ich weiß aber nicht, aus welcher Quelle die Firmware erzeugt wurde. Anbei die Version die ich gerade kompiliert habe. (Noch ungetestet)

Code: Alles auswählen

https://github.com/pbugalski/wemos_motor_shield

commit 81abd36aa15d86f14164ba5f30554ae2ebdc4f7e (HEAD -> master, origin/master, origin/HEAD)
Author: danielfmo <danielfilipe.mo@gmail.com>
Date:   Sun Aug 12 00:05:09 2018 +0200
Dateianhänge
motor_shield.zip
(1.52 KiB) 362-mal heruntergeladen

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: D1 Mini Shield Support

Beitrag von little.yoda » 25.05.2019, 18:49

So ... eine erste Beta-Version ist verfügbar.

Fest auf 0x30 und nur der erste Motor kann angesteuert werden.
Frequenz ist nicht änderbar.

Code: Alles auswählen

{
    "version":"3",
    "cfg":[
        {
            "m":"wlan",
            "ssid":"13",
            "pwd":"XXXXXXXXXXXXXXXXXXXXX"
        },
        {
            "m":"simulateZ21"
        },
        {
            "m":"webservicewifiscanner"
        },
        {
            "m":"webservicelog"
        },
        {
            "m":"cmdlogger"
        },
       {
            "m":"i2c",
            "sda":"D2",
            "scl":"D1"
        }
    ],
        "in": 
        [
         {
            "m":"locospeed",
            "addr":4711,
            "out":[
                "pwm1"
            ]
         }
        ],


        "out": 
        [
        {
            "id":"pwm1",
            "m":"pwm",
           "type":"shieldv1"
        }
        ],
    "connector":[
    ]
}

Antworten