Vastloop problemen

Hardware geleverd door Arduino
Berichten: 2
Geregistreerd: 08 Jun 2019, 09:16

Vastloop problemen

Berichtdoor Herman@vanderhaak.nl » 08 Jun 2019, 09:21

Dag

Ik heb een groot project met veel arduino onderdelen.
Bestaande uit rfid, relais, lcds e.d.

Nu lopen heel veel van deze onderdelen regelmatig vast. Ik heb geen ideeën meer waarom dat kan zijn.

Ik gebruik overal 12v aanvoer 1.25 A voeding per unit via een 23 AWG kabel van maximaal 10 meter. Lijkt me dat er dan voldoende overblijft.

Er gaat dus alleen spanning over die kabel. Sensoren zijn vlak bij de units. Onderstaand script bijvoorbeeld. Hierbij moet ik toevoegen dat ook de schakelaars via deze 23awg kabel lopen.

Dus 3 kabels met 12V naar 3 arduinos met een rfid reader incl relais.

Retour per rfid een kabel die via het relais loopt. (zelfde kabel als de 12v aanvoer)

Die drie schakelaars hebben een eigen digitale poort die via input_pullup schakelen. Die werken meestal goed.

De vierde is alleen een schakelaar die via een kabel van 7 meter op dezelfde manier via input pullup werkt. Deze laatste werkt prima als ik reset, maar na een minuut of 10 werkt die niet meer. Reset ik, dan.doet hij het weer.
Een getimde periodieke software reset (asm volatile) lost het niet op.

Ben ten einde raad. Heb haast op elke unit problemen.
Zit volgens mij niet in de scripts.

Aansluiting op arduino via dupont pennen of via breakout bord met schroefklemmen. Niks helpt. Ook 12V 4A aanbieden lost het niet op.

Zelfs een eenvoudig lcd scherm met keypad loopt vast. Daarbij loopt de aanvoer spanning via een kabel van nog geen 5 meter.

Ik gebruik diverse clones, o.a. robotdyne maar ook andere 'merken'

Wie weet raad.

Woont er wellicht nog een specialist in Zwolle om eens te kijken samen?


Een vd scripts

int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4= 0;
int relay = 7;
int MP3 = 13;
int A;

void setup(){

pinMode(8, INPUT_PULLUP); // Biljet 1
pinMode(9, INPUT_PULLUP); // biljet 2
pinMode(10, INPUT_PULLUP); // biljet 3
pinMode(11, INPUT_PULLUP); // kluis
pinMode(MP3, OUTPUT); // MP3
pinMode(relay, OUTPUT); // RELAIS 1

Serial.begin(9600);

}

void loop(){
Serial.println("-------------------");
A++;
delay(500);
Serial.println(A);
buttonState1 = digitalRead(8);
buttonState2 = digitalRead(9);
buttonState3 = digitalRead(10);
buttonState4 = digitalRead(11);

if ((buttonState1 == LOW)
&& (buttonState2 == LOW)
&& (buttonState3 == LOW)
)
{ digitalWrite(MP3, HIGH);
if (buttonState4 == LOW) {
digitalWrite(relay, HIGH);
Serial.println("reset over 5 sec");

delay(5000);

softReset();

}

else {

digitalWrite(relay, LOW);
delay(500);
}

}
else{
digitalWrite(relay, LOW);
digitalWrite(MP3, LOW);
}
if ((A>300))
{
Serial.println("reset over 5 sec");

delay(5000);

softReset();
}

}



void softReset (){
asm volatile (" jmp 0");
}


Ook zonder de software reset werkt dit eenvoudige script dus niet.

Advertisement

Berichten: 2867
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Vastloop problemen

Berichtdoor shooter » 08 Jun 2019, 12:44

Het zit wel in je programma.
Zorg dta je serial print spaarzaam ofwel eens per seconde gebruikt. Dus even een functie van maken die elke seconde aangeroepen wordt.
Pull Up werkt goed maar je kunt er ook met een paar weerstanden van 10k het beter definieren.
Iets opvragen gaat heel snel, maar iets steeds herschrijven is beter van niet, ofwel alleen als er iets verandert.
Een software reset maakt een zootje van je geheugen door stapeling etc dus geen goed idee.
Voeding kan het probleem zijn doordat je naar de 5Volt moet kijken , want 12 Volt wordt gebruikt door een spanningsregelaar.
Maak een schema of een foto
paul deelen
shooter@home.nl

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast