Hallo Gemeinde,
ich habe ein kleines Hardwareproblem mit meinem MKR1300. Hier einmal kurz mein Aufbau:
2x 18650 in Reihe geschaltet (also ca 8,4V). Mit ls7805 auf 5V runter geregelt und dann in den Arduino über Vin.
Nun habe ich folgendes Problem, dass der MKR nicht startet, bzw manchmal im Sketch hängen bleibt. Dies erkenne ich daran, da die angeschlossenen LED's nicht in der entsprechenden Reihenfolge leuchten!
Der Arduino ist also nicht am PC angeschlossen, da es ein Standalone projekt werden soll! (Ich habe auch "!while Serial" entfernt, wie man es oft ließt)
Das Problem tritt auch nur sporadisch auf! Neu powern hilft ab und zu (Also Sketch läuft dann ohne Probleme) Bei ca 100 mal neu powern, funktioniert es vielleicht 5 mal... 
Ich vermute auch, dass es nicht an der Stromversorgung liegt, denn über die 5V (also nach dem LS7805) versorge ich auch einen Digispark Attiny 85, und der läuft ohne Probleme!
Kann mir jemand helfen? Noch mehr graue Haare kann ich wirklich nicht gebrauchen!!!!
Wenn gewünscht, kann ich auch den CODE hochladen. Ich vermute aber nicht dass es daran liegt, denn wenn der MKR einmal läuft, macht er auch genau was er soll...
PS: die 18650 sind natürlich voll geladen.
Bei ca 100 mal neu powern, funktioniert es vielleicht 5 mal... 
Wenn es nicht an der Stromversorgung und nicht am Sketch liegt, bleibt noch die übrige Umgebung.
Was für Sensoren sind dran, was soll dein Arduino machen?
Hast du mal einen primitiv-Blink-Sketch probiert?
Blink werde ich heute mal versuchen!
Die Idee mit Sensoren/Stromverbraucher hatte ich auch schon. Es sind 3 Led's, 2 Servo und ein Relais angeschlossen!
Meine Vermutung war, dass das Relai und die Servos zu viel Strom ziehen und die Spannung dadurch zusammenbricht und in folge dessen der Arduino aussteigt. Deshalb habe ich alles bis auf die Led's ausgesteckt und erneut getestet. Leider mit gleichem Ergebnis.
Johannes81:
.....
Nun habe ich folgendes Problem, dass der MKR nicht startet, bzw manchmal im Sketch hängen bleibt......
Naja....diese Aussage finde ich etwas widersprüchlich.
Wenn der Arduino im Sketch hängen bleibt, muss er schon gestartet sein.
Da du uns keine weiteren Informationen lieferst, ist es schwer weitere Aussagen zu treffen.
Und wie kannst du sicher sein, dass es nicht am Sketch liegt ?
Also poste bitte den Sketch und ein Schaltbild deines Projektes.
Ja, zugegeben klingt wirklich widersprüchlich. Ist es aber nicht, da (siehe Sketch) zuerst die LED ROT angeht und nach Tastendruck die LED ORANGE.
Manchmal geht die nicht einmal die rote Led an, manchmal geht die rote Led an und ich kann die Taste drücken, so dass die Orange angeht. Wechselt dann aber nicht mehr auf rot zurück wie es sollte!
Ja und manchmal einfach ohne Probleme!
#include<SPI.h>
#include<LoRa.h>
#include<Servo.h>
// Alle Schalter und Button wo angeschlossen
Servo Horizontal; //Servo mit dem Namen Horizontal
Servo Vertikal; //Servo mit dem Namen Vertikal
int pos; //Positionsvariable für Servo Horizontal
int poos; //Postionsvariable für Servo Vertikal
int startknopf = 6; //Zuweisung an welchem Pin Startknopf angeschlossen ist
int knopfzustand = LOW;
int fehler = 8; //Zuweisen an welchem Pin LED ROT angeschlossen ist
int pruefen = 9; //Zuweisen an welchem Pin LED ORANGE angeschlossen ist
int gefunden = 10; //Zuweise an welchem Pin LED GRÜN angeschlossen ist
int servosignal = 7; //Zuweisen an welchem Pin der Transistor für Servos angeschlossen ist
bool y;
bool z;
bool g;
bool x;
unsigned long vor = 0;
unsigned long in = 0;
unsigned long zuerst = 0;
unsigned long danach = 0;
long lastSendTime = 0;
long lastSendTimeZ = 0;
long lastSendTimeD = 0;
long lastSendTimeV = 0;
long lastSendTimeF = 0;
long lastSendTimeS = 0;
long lastSendTimeSI = 0;
long lastSendTimeA = 0;
long lastSendTimeN = 0;
String incoming;
int sensorValue;
int sensorValueA;
int sensorValueB;
int sensorValueC;
int sensorValueD;
int mittelwert;
int delta;
int interval = 200;
int pausezeit = 5000; //definiert wie lange Schranke offen ist >>>>>>>>>>>ÄNDERN<<<<<<<<<<<<<<<<<<<<
//____________________________________________________________________________________________
//==============================================================================================
void setup() {
//Serial starten
Serial.begin(9600);
//while(!Serial); // evtl. raus nehmen
if (!LoRa.begin(868E6)) {
Serial.println("LoRa konnte nicht gestartet werden!");
while (1);
}
//INPUT und OUTPUT definieren
pinMode(fehler, OUTPUT);
pinMode(pruefen, OUTPUT);
pinMode(gefunden, OUTPUT);
pinMode(servosignal, OUTPUT);
pinMode(startknopf, INPUT);
Horizontal.attach(4); //an welchem Pin das Servo Horizontal angeschlossen ist
Vertikal.attach(5); //an welchem Pin das Servo Vertikal angeschlossen ist
y = LOW;
z = LOW;
g = LOW;
x = LOW;
}
Ich kann leider nicht den gesamten Code posten, da ich die 9000 Zeichen überschreite...
Deshalb nur bis LOOP
Hast du denn einen SerialMonitor dran beim Start?
LoRa scheint das einzig Interessante an deinem setup zu sein.
Hi
Wie zeigt sich Dein Sketch, wenn LoRa nicht anspringt?
Ich denke, dann bleibt auch die rote LED aus - da hätten wir zumindest schon Mal EINEN der 'Hänger'.
Bei ALLEM, was Deinen Sketch in einen nicht endenden Zustand bringt, lasse eine Blinkfolge ausgeben, daß man weiß, wo's hängt.
(ok, wenn einzig LoRa ein while(1) hat - aber dann will ich auch wissen, wenn wir Da angekommen sind)
Ok, bis zum setup() scheint's ja ganz nett zu sein - wobei mir die ganzen int nicht gefallen (byte würde reichen, außerdem wäre const bei den Dingen, die sich NIE ändern werden ... z.B. Pin-Zuweisungen ... nicht die schlechteste Idee - aber nur nebenbei)
Ok, dann weiter mit loop() 
MfG
Ich vermisse noch dein Schaltbild.
Und du solltest dringend ein paar serielle Ausgaben in den Sketch einbauen und mit diesen überprüfen, wo der Sketch stoppt.
Hallo Gemeinde,
entschuldigt bitte die etwas verspätete Antwort.
Hurra, ich konnte das Problem lösen.
Ich habe eure Empfehlungen probiert (Blink, Serial,....) Leider alles ohne Erfolg.
Die Lösung war dann letztendlich, dass ich die Hardwareanordnung etwas verändert habe! Diese sieht nun so aus:
Batt 8,4V geht in zwei separate LS7805, an den beiden Ausgängen davon zwei dicke Kondensatoren und dann mit einem Strang in den Digispark und mit dem anderen in den MKR. (GND verbunden). Läuft nun alles problemlos. Anscheinend habe ich den einen LS7805 zuvor etwas überfordert...
Danke für eure Unterstützung.
Gruß,
Johannes
Deine Schaltung solltest du aber noch mal überdenken.
Batteriebetrieb und 7805 Spannungsregler ist die schlechteste Kombination die ich kenne.
Dabei wird ein Teil deiner kostbaren Energie in Wärme umgesetzt, die dir weiter nicht zur Verfügung steht.
Und das gleich 2 mal. Das nenne ich mal Verschwendung.
Setze hier StepDown-Regler ein, die haben einen deutlich besseren Wirkungsgrad.
Werde ich mir zu herzen nehmen. Hatte, bzw. habe ich aber momentan nicht rumliegen.