Selbstbau CUN (MapleCUN)

Begonnen von Telekatz, 09 November 2016, 20:29:52

Vorheriges Thema - Nächstes Thema

PeMue

"... und noch 'ne Platine"  :o

Hallo zusammen,

ich möchte folgenden Aufbau des mapleCUx:
3x Radio (868 MHz, 433 MHz, 868 MHz, die ersten beiden für slowrf)
1x 1-wire (statt 4. Radio)
1x HMUART Platine für HomeMatic
1x MySensors Gateway
1x LAN Anbindung optional (als Ersatz für meinen CUNO v2).

Und das Ganze soll in ein vernünftiges Gehäuse eingebaut werden. Da mir der mapleMini zuviel Platz braucht, habe ich das Ganze genommen und diskret auf die Platine gepackt. Hat (hoffentlich) den Vorteil, dass ich platzmäßig mit den Radios etwas flexibler bin.
Ich habe als Basis eine Platine von Ranseyer genommen und bei locutus 2-fach Transceiver die Beschaltung des STM abgekupfert. Da ich mich mit dem STM Prozessor nicht wirklich auskenne, würde ich mich freuen, wenn jemand kritisch über meinen Schaltplan schauen könnte:
- der linke Teil neben dem Rahmen wird entfallen, ebenfalls die langen Stiftleisten rechts in der Mitte
- wozu ist im original mapleMini das Signal DISC (ich vermute, da wird irgend eine Impedanz auf USBDM geschaltet), braucht man das?
- wofür ist der Bootjumper bei locutus?
- warum ist im originalen mapleMini PB8 und BOOT0 parallel geschaltet, bei locutus PB8 offen?
Wenn jemand generell noch mal über die Verdrahtung schauen könnte, wäre das echt toll.

Danke schon mal im voraus.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Ranseyer

#316
Hi Peter,

da du auf nem alten Stand von mir aufsetzt solltest du mal mein Changelog lesen ob dich da etwas betrifft: https://github.com/ranseyer/CUN-STM32/blob/master/HW-MAPLE-Large/History-Bugs.txt

Mal ein paar Gedanken:
-Der Reset Button ist aus meiner Sicht vollkommen unnötig. Den ARM Debugger nutze ich nicht und auch keiner der User meiner Platinen bekannt...
-Im NRF24L01 ohne Möglichkeit für LNA+PA sehe ich auch nur begrenzt Sinn.
-Nutzung von OneWire auf meinen Platinen habe ich auch noch nicht gehört.
-MySensory geht nun auch mit RFM69 auf günstigeren Frequenzen.

Ich kann man gelegentlich ein Foto posten wie meine Hauptnutzung aktuell so aussieht.
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Telekatz

Zitat von: PeMue am 07 Juni 2017, 17:36:14
- wozu ist im original mapleMini das Signal DISC (ich vermute, da wird irgend eine Impedanz auf USBDM geschaltet), braucht man das?
Mit DISC kann man den USB Host dazu bringen, die USB Verbindung zu trennen und wieder neu zu verbinden. Das ist für den Bootloader wichtig, da der sich als DFU Gerät am USB Host meldet, die Firmware dann aber z.B. ein neue Verbindung als CDC Gerät aufbauen möchte.

Zitat von: PeMue am 07 Juni 2017, 17:36:14
- wofür ist der Bootjumper bei locutus?
Kann man weglassen und direkt auf GND legen. Je nach Pegel von BOOT0 und BOOT1 kann man festlegen, dass der STM32 vom Flash, SRAM oder internen Bootloader starten soll. Bei BOOT1=0 und BOOT0=1 wird der Bootloader gestartet, BOOT1=1 und BOOT0=1 wird vom SRAM gestartet. Vom Flash wird gestartet bei BOOT0=0.

Zitat von: PeMue am 07 Juni 2017, 17:36:14
- warum ist im originalen mapleMini PB8 und BOOT0 parallel geschaltet, bei locutus PB8 offen?
PB8 wird beim Maple Bootloader dazu verwendet, nach dem Booten im Bootloader bleiben zu können. Außerdem kann man dadurch den Taster auch noch für eigene Zwecke nutzen. Ansonsten wäre der nur zum starten des internen Bootloaders zu gebrauchen.


1-Wire hatte ich eigentlich anstelle vom dritten Transceiver vorgesehen. Dort sind auch die I2C Pins vom STM32. Außerdem sind diese Pins auch 5V tolerant. Den DS2482 würde ich dann auch mit 5V betreiben.
Dem 1-wire Anschluss würde ich noch eine Polyswitch für die 5V spendieren.
Für die Abblockkondensatoren am STM32F1 sieht Referenzschaltung im Datenblatt auch andere Werte vor. (Datenblatt 5.1.3)

juergs

#318
Hallo Peter,

hier sieht man die DISC-USB-Beschaltung dazu:
MapleMini-Schematic
evtl. hier noch eine Variante:
S64DIL-Maple

Hier noch eine Kurzfassung:
AN2586

dann bekommt man fast auch noch den CC1101 unter?  ;) ;) ;)

johanson-balun-868MHz
johanson-balun-433MHz

stefanru

Wollte mal wieder flashen und mein maple mini weigerte sich.
Hab nun aber wirklich die Lösung :-)
Man muss noch Boot1 mit GND verbinden beim Mini. Dann gehts auf anhieb!

Beschrieben ist das hier:
http://docs.leaflabs.com/static.leaflabs.com/pub/leaflabs/maple-docs/0.0.12/bootloader.html
Step 2: Connect Maple Serial1 to your computer. There are a variety of ways of doing this. We use Sparkfun's FTDI breakout boards, but you could use another Maple, an Arduino, etc. – anything that allows your computer to communicate with the Maple you want to reprogram over a serial interface.

If you do use an FTDI breakout board, first make sure your Maple is disconnected from an external power source, be it battery, USB, or barrel jack. Then, connect the FTDI board's TX pin to Serial1's RX pin (labeled "RX1" on the silkscreen), FTDI RX to Serial1 TX (labeled "TX1"), FTDI ground to ground (labeled GND), and its 3.3V pin to Vin. On Maple Mini, you will also need to tie BOOT1 (pin 2) to ground.

More information on Serial1 is available here.

At this point, you're ready to plug the FTDI board into your computer (via USB).

Step 3: Run the built-in hardware serial bootloader[2]. Accomplish this using the following steps:

Press and hold the reset and BUT buttons.
Release the reset button without releasing BUT.
Release BUT.
At this point, if you followed the instructions correctly, the board will appear unresponsive – the LED won't blink, etc. Don't worry. This is the expected behavior for the serial bootloader.

Do not confuse the above steps, which run the built-in serial bootloader, with the steps for perpetual bootloader mode.


Gruß,
Stefan

Capricornus73

Zitat von: stefanru am 07 Juni 2017, 21:30:01
Wollte mal wieder flashen und mein maple mini weigerte sich.
Hab nun aber wirklich die Lösung :-)
Man muss noch Boot1 mit GND verbinden beim Mini. Dann gehts auf anhieb!

Beschrieben ist das hier:
http://docs.leaflabs.com/static.leaflabs.com/pub/leaflabs/maple-docs/0.0.12/bootloader.html
Step 2: Connect Maple Serial1 to your computer. There are a variety of ways of doing this. We use Sparkfun's FTDI breakout boards, but you could use another Maple, an Arduino, etc. – anything that allows your computer to communicate with the Maple you want to reprogram over a serial interface.

If you do use an FTDI breakout board, first make sure your Maple is disconnected from an external power source, be it battery, USB, or barrel jack. Then, connect the FTDI board's TX pin to Serial1's RX pin (labeled "RX1" on the silkscreen), FTDI RX to Serial1 TX (labeled "TX1"), FTDI ground to ground (labeled GND), and its 3.3V pin to Vin. On Maple Mini, you will also need to tie BOOT1 (pin 2) to ground.

More information on Serial1 is available here.

At this point, you're ready to plug the FTDI board into your computer (via USB).

Step 3: Run the built-in hardware serial bootloader[2]. Accomplish this using the following steps:

Press and hold the reset and BUT buttons.
Release the reset button without releasing BUT.
Release BUT.
At this point, if you followed the instructions correctly, the board will appear unresponsive – the LED won't blink, etc. Don't worry. This is the expected behavior for the serial bootloader.

Do not confuse the above steps, which run the built-in serial bootloader, with the steps for perpetual bootloader mode.


Gruß,
Stefan

Hallo Stefan,

genau das habe ich in meinem Post #287 beschrieben und mir deshalb zum Flashen ein Jumper eingebaut  ;D


Gruß Jörg

stefanru

Oh mist,

ich breche mir hier jedes mal die Finger beim Flashen.
Deinen Post hatte ich übersehen, trotzdem Danke :-)

Habe gerade neu gebaut und mir ist aufgefallen dass es nur noch den mapleCUN gibt in der a-culfw, keinen mapleCUL.
Das ist wahrscheinlich ja auch wurscht.
Nach dem make finde ich nun aber 2 bin Dateien.
MapleCUNx4_W5100_BL.bin
MapleCUNx4_W5500_BL.bin

Welche flashe ich nun auf einen mapleCUL? Also kein Netzwerk vorgesehen.
Wahrscheinlich egal, oder?

Danke und Gruß,
Stefan

Capricornus73

Zitat von: stefanru am 07 Juni 2017, 21:54:07
Oh mist,

ich breche mir hier jedes mal die Finger beim Flashen.
Deinen Post hatte ich übersehen, trotzdem Danke :-)

Habe gerade neu gebaut und mir ist aufgefallen dass es nur noch den mapleCUN gibt in der a-culfw, keinen mapleCUL.
Das ist wahrscheinlich ja auch wurscht.
Nach dem make finde ich nun aber 2 bin Dateien.
MapleCUNx4_W5100_BL.bin
MapleCUNx4_W5500_BL.bin

Welche flashe ich nun auf einen mapleCUL? Also kein Netzwerk vorgesehen.
Wahrscheinlich egal, oder?

Danke und Gruß,
Stefan

Hallo Stefan,

wenn kein Netzwerk vorgesehen ist dann ist es egal welche Du flashst! Die Dateien sind nur unterschiedlich, weil es zwei Netzwerkadapter LAN gibt, welche mit der Firmware unterstützt werden (W5100 oder W5100). Für den Betrieb über USB ist es egal.


Gruß Jörg

juergs

#323
Bei mir haben beide nicht  (MapleCUL) funktioniert:
MapleCUNx4_W5100_BL.bin
MapleCUNx4_W5500_BL.bin

Die MapleCUL4x.bin von hier:
https://forum.fhem.de/index.php/topic,60458.msg638507.html#msg638507
funktioniert als MapleCUL.

Jürgen

stefanru

#324
Hab ich auch gerade gemerkt, was ist da los?
Habe nun beide mehrmals versucht und nach dem Flashen abzeihen vom USB neu anstecken macht der Maple nix.
Keine LED, garnix. Wird auch nicht als USB device erkannt.

Ich verstehe das nicht. Konnte bisher immer selbst bauen.
Was geht denn da jetzt in die Hose?

Gruß,
Stefan

Ranseyer

Keine Ahnung was ihr da genau macht.

Genau nach der Anleitung hat es bei mir schon X-Mal geklappt. (Ich verwende allerdings nur noch W5500 LAN, zum W5100 kann ich nichts sagen)

-Den Bootloader tauschen per Debug-Port und USB-Adapter (Außeren Button halten, und dann Spannung anlegen)
-Dann erst das fertige Firmware Binary per USB-Anschluss am MAPLE flashen (Keinesfalls das Binary für Bootloader direkt flashen, evtl ist das euer Problem)

Die beiden Steps müssen unbedingt passend zueinander gemacht werden so dass die Adressen in der Firmware passend zum Bootloader sind.

Grüße
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Telekatz

Zitat von: juergs am 07 Juni 2017, 22:09:17
Bei mir haben beide nicht  (MapleCUL) funktioniert:
MapleCUNx4_W5100_BL.bin
MapleCUNx4_W5500_BL.bin

Die MapleCUL4x.bin von hier:
https://forum.fhem.de/index.php/topic,60458.msg638507.html#msg638507
funktioniert als MapleCUL.

Jürgen
Die Dateien mit "_BL.bin" am Enden sind für den Maple mini Bootloader. MapleCUL4x.bin ist für das direkt flashen ohne Maple mini Bootloader.

juergs

Hallo Ranseyer,

Unterschied CUN & CUL-Platine?

Ich beziehe mich nur auf Locutus 2*CC1101-Platine ohne LAN.

Grüße,
Jürgen

juergs

Zitat von: Telekatz am 07 Juni 2017, 22:24:45
Die Dateien mit "_BL.bin" am Enden sind für den Maple mini Bootloader. MapleCUL4x.bin ist für das direkt flashen ohne Maple mini Bootloader.

Jetzt!  Hatte die Platinen mit gekauften CPUs bestückt, ohne Maple-BL.

Danke, hatte mich auch gewundert.

Noch eine Frage: Geht der DFU-Bootloader wirklich nicht auf dem F103?

Jürgen

stefanru

Hups,

kannst du mir das nochmal erläutern?
"-Den Bootloader tauschen per Debug-Port und USB-Adapter (Außeren Button halten, und dann Spannung anlegen)
-Dann erst das fertige Firmware Binary per USB-Anschluss am MAPLE flashen (Keinesfalls das Binary für Bootloader direkt flashen, evtl ist das euer Problem)"

Ich flashe mit FTDI und dem Demonstrator.
Habe einfach das Bin, also MapleCUNx4_W5500_BL.bin geflasht.
Wie muss ich denn nun vorgehen? Habe doch nur das File vom Build.

Sorry und Gruß,
Stefan