DoorPi 2.0 Board - Zusammenbau und Troubleshooting

Begonnen von e3xtreme, 02 Dezember 2017, 23:11:31

Vorheriges Thema - Nächstes Thema

Gunther

Zitat von: e3xtreme am 21 Mai 2018, 22:45:51
Die MCPs habe ich noch nicht im betrieb gehabt, hier liegen wie schon wie von Gunther richtig erwähnt die 2 Adressen vor. Allerdings gibt es keine dezidierten CS Pins wie für SPI oft üblich sondern einen über daisy chain weitergeleiteten Datenstrom, ich könnte mir vorstellen, dass ein Gerät (MCP1,MCP2 oder MAX3100) das nicht tut. Hier kann es abhilfe schaffen den miso und mosi pin zu verbinden damit sollte der entsprechende IC nicht beim SPI Datenverkehr mitmischen.

Was bedeutet das nun konkret?
1.) Wie spreche ich die PINs auf den MCPs denn über daisy chain an? geht das anders als per CS-PIN? Ist der Schaltplan da unpassend? Dort habe ich verstanden, dass die CS-PINs genutzt werden.
2.) Wie kann ich MISO und MOSI verbinden? Muss ich dafür etwas ab oder anlöten?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Prof. Dr. Peter Henning

Ich bin kein Mac-Fan - aber das hat jetzt gerade mal drei Minuten gedauert:

https://www.youtube.com/watch?v=Ix4t-_RZ7NI
https://www.youtube.com/watch?v=nJOvzivDuag

Ist vielleicht die Lösung hier

LG

pah


alexmetz

Danke für den Tip.

Die Videos hatte ich auch schon gefunden, aber ich scheue mich aus folgenden Gründen, diesen Treiber zu installieren:
1. habe ich - soweit ich weiß - keinen CH340 Chip, sondern eine FT232RL (steht jedenfalls drauf) und
2. passt das Symptom nicht, denn bei mir erscheint ja die Schnittstelle. Dieser Treiber scheint wohl auch v.a. bei Chinaklonen zu helfen, den ich ebenfalls nicht hab.
3. Treiberprobleme waren auch mein Verdacht, weswegen ich ,,avrdude" auf dem Raspberry versucht habe, was aber denselben Fehler brachte.

Macht das dennoch Sinn?
FHEM auf RaspberryPi 4
Homematic


alexmetz

bei mir kommt am Mac unter "/dev" beides, sowohl eine "cu.xxx" als auch eine "tty.xxx". Allerdings wird im Arduino IDE nur die "cu.xxx" angezeigt.
FHEM auf RaspberryPi 4
Homematic

Beta-User

War das in #29 ein Versuch mit der Arduino-IDE? Wenn ja: Welche Version haben deine Board-Definitionen in der IDE?

Prüfen kann man das im Board-Manager, oder wenn schon die neueste installiert ist: es gibt einen neuen Bootloader, der standardmäßig ausgewählt wird und (bei Werkzeuge?) eine Auswahloption für den Prozessor - bei den dortigen drei Möglichkeiten könntest du mal "Old Bootloader" auswählen.

Ansonsten könnte das auch ein Problem mit der Spannungsversorgung sein.

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

e3xtreme

#36
Zitat von: Gunther am 22 Mai 2018, 21:16:41
Was bedeutet das nun konkret?
1.) Wie spreche ich die PINs auf den MCPs denn über daisy chain an? geht das anders als per CS-PIN? Ist der Schaltplan da unpassend? Dort habe ich verstanden, dass die CS-PINs genutzt werden.
2.) Wie kann ich MISO und MOSI verbinden? Muss ich dafür etwas ab oder anlöten?

Du kannst die Vias von S01 und S02 mittels einer dünnen litze verbinden, am besten ein flexibles kabel abisolieren und vorsichtig in die 2 löcher stecken, wer einen Lötkolben hat, macht das natürlich mit Lötzinn. Danach mit einem scharfen Messer die 5V-Leitung zum Display Controller trennen und ihn damit deaktivieren.

Ich vermute stark dass der MAX3100 nicht Daisy-Chain-fähig ist, was der 1.Layout Fehler am Board wäre :'(... Aber man kann ihn durch diese zwei kleinen Steps deaktivieren und damit sollten die MCPs jedenfalls funktionieren. Display Unterstützung ist damit bis auf weiteres nicht gegeben :-[

e3xtreme

OK... habe es verifiziert  :(, MAX3100 unterstützt kein daisy-chaining... Man kann also entweder die Port Extender oder das Display über den MAX3100 nutzen, also entweder oder. dementsprechend müssen bei dem Board dann MISO und MOSI Signale der MCPs, bzw. wie beschrieben beim MAX3100 gekappt und neu verbunden werden.

Alternativ kann man über die iButton LED Pins R und B per i2C das Display ansteuern, falls man wirklich beides braucht.

Dazu werde ich ein Tutorial machen, hat aber fürs erste low prio bei mir... :-X

alexmetz

Zitat von: Beta-User am 23 Mai 2018, 09:54:24
War das in #29 ein Versuch mit der Arduino-IDE? Wenn ja: Welche Version haben deine Board-Definitionen in der IDE?

Prüfen kann man das im Board-Manager, oder wenn schon die neueste installiert ist: es gibt einen neuen Bootloader, der standardmäßig ausgewählt wird und (bei Werkzeuge?) eine Auswahloption für den Prozessor - bei den dortigen drei Möglichkeiten könntest du mal "Old Bootloader" auswählen.

Ansonsten könnte das auch ein Problem mit der Spannungsversorgung sein.

Gruß, Beta-User

Ja das war ein Versuch mit Arduine IDE v. 1.8.5.
Unter "Werkzeuge --> Board --> Boardverwalter" steht "Arduino AVR Boards Bulit-In by Arduino Version 1.6.20 INSTALLED"
Unter "Werkzeuge --> Prozessor " habe ich "ATmega 328p (5V, 16MHz)" ausgewählt. Es gibt sonst nur noch die 3,3V-Variante und 2 Varianten des ATmega 168. Eine Option "old Bootloader" o.ä. gibt es da nicht.

siehe Screenshots.

FHEM auf RaspberryPi 4
Homematic

Beta-User

Hm, das ist seltsam.
Kannst du mal nach "Aktualisierbar" sehen?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

alexmetz

Zitat von: Beta-User am 23 Mai 2018, 15:07:18
Hm, das ist seltsam.
Kannst du mal nach "Aktualisierbar" sehen?

Es gab in der Boardverwaltung eine Aktuialisierung auf 1.6.21. Hat aber keine sichtbare Änderung gebracht.
FHEM auf RaspberryPi 4
Homematic

Beta-User

Kommt eventuell zusätzlich noch darauf an, welches Board man wählt. Zwischenzeitlich flashe ich auch pro minis wieder als "Nano", und für den sollte es ein anderes Menue geben:
https://github.com/arduino/ArduinoCore-avr/commit/1b14cc07331268e95eddcce2cc67e29ed667e62f#diff-fce09ad94aad2ba67472cd9142f00146
Müßte eigentlich auch für den ATMega hier gelten.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Gunther

#42
Zitat von: Beta-User am 23 Mai 2018, 09:54:24

Ansonsten könnte das auch ein Problem mit der Spannungsversorgung sein.

Gruß, Beta-User

@Alex: Kannst Du das ausschließen? Häng doch mal einen aktiven USB-Hub mit Stromversorgung dazwischen.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Zitat von: e3xtreme am 23 Mai 2018, 14:44:12
OK... habe es verifiziert  :(, MAX3100 unterstützt kein daisy-chaining... Man kann also entweder die Port Extender oder das Display über den MAX3100 nutzen, also entweder oder. dementsprechend müssen bei dem Board dann MISO und MOSI Signale der MCPs, bzw. wie beschrieben beim MAX3100 gekappt und neu verbunden werden.

Alternativ kann man über die iButton LED Pins R und B per i2C das Display ansteuern, falls man wirklich beides braucht.

Dazu werde ich ein Tutorial machen, hat aber fürs erste low prio bei mir... :-X

Das sieht auf den Bildern ja easy aus. In echt kann ich die Pins kaum erkennen - werde ich alt?  ::)

Was ich noch nicht verstehe:
1.) Wofür brauche ich den Max3100?
2.) Können die Port Extender (=MCP23S17) nicht direkt am Arduino betrieben werden? Oder fehlt mir dann etwas?

Wenn ich nun Deine Anleitung hinbekomme: Verbaue ich mir dann etwas?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Habe nun die 5V Verbinung gekappt sowohl die beiden anderen verbunden (frickelig!!!)  :o

Leider bringt das mit folgendem Sketch keinen Erfolg:
#include <SPI.h>              // We use this library, so it must be called here.
#include <MCP23S17.h>         // Here is the new class to make using the MCP23S17 easy.

// Einbindung der beiden MCP23S17
// https://playground.arduino.cc/Main/MCP23S17
// Bank 1 is address 0 (A0=GND A1=GND A2=GND)
// Bank 2 is address 4 (A0=+ A1=GND A2=GND)
MCP Bank1(0, 10);
MCP Bank2(4, 10);   

void setup() {
  Serial.begin (9600); // Ausgabe in der Seriellen Konsole starten um z. B. Klingelknopf zu prüfen
 
  Bank1.begin();
  Bank2.begin();

  Bank1.pinMode(9, HIGH); // Pin9 auf Bank1 (RNG1 --> GPB0 auf Bank1) - ebenfalls mit INPUT statt HIGH (Dokufehler?) versucht
 
  pinMode(3, OUTPUT); // LED vom Klingeltaster direkt an Arduino (LED1 am Doorpi-Board)
}

void loop() {
  int Klingeltaster; // Definition des Klingeltasters
  Klingeltaster = Bank1.digitalRead(HIGH); // Zuweisung des Wertes zum Klingeltaster
  Serial.println(Klingeltaster,DEC); // Serielle Ausgabe um Klingeltaster im Seriellen Monitor zu prüfen
 
  digitalWrite(3, LOW);   // LED von Klingeltaster Dauer-AN (komischerweise funktioniert das mit LOW statt mit HIGH)
}


Eigentlich sollte doch so ein Tastendruck einen Wechsel von 0 auf 1 im seriellen Monitor bedeuten, oder?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden