Arduino Mega stopt
10 berichten
• Pagina 1 van 1
Arduino Mega stopt
Geachte,
ik ben enkele maanden bezig met Arduino en ben een zwembadsturing aan het maken met volgende functies:
* aansturing filterpomp
* aansturing chloorpomp
* aansturing zonneverwarmingsklep
Hardware bestaat uit :
* Arduino Mega
* DS 3132 klok
* LCD 20 X 4
* relaiskaart 8 kanalen
Ik heb alles geprobeerd en toto gisteren werkte alles .
Nu heb ik aan de relaiskaart enkele relais gehangen om oa de pomp aan te sturen en nu loopt het mis .
Als de verwarming aan gaat gaan er 2 relais aan . Op de moment dat deze terug uit gaan valt Mega stil .
Als ik de grote relais terug afkoppel werkt alles terug normaal .
Ik heb al een andere voeding genomen zodat alles gescheiden is maar probleem blijft : bij het afvallen van de relais stopt mega met werken .
Ik ben een beetje ten einde raad en weet niet hoe dit op te lossen .
Iemand nog ideeen ?
Jan
Berlaar Belgie
ik ben enkele maanden bezig met Arduino en ben een zwembadsturing aan het maken met volgende functies:
* aansturing filterpomp
* aansturing chloorpomp
* aansturing zonneverwarmingsklep
Hardware bestaat uit :
* Arduino Mega
* DS 3132 klok
* LCD 20 X 4
* relaiskaart 8 kanalen
Ik heb alles geprobeerd en toto gisteren werkte alles .
Nu heb ik aan de relaiskaart enkele relais gehangen om oa de pomp aan te sturen en nu loopt het mis .
Als de verwarming aan gaat gaan er 2 relais aan . Op de moment dat deze terug uit gaan valt Mega stil .
Als ik de grote relais terug afkoppel werkt alles terug normaal .
Ik heb al een andere voeding genomen zodat alles gescheiden is maar probleem blijft : bij het afvallen van de relais stopt mega met werken .
Ik ben een beetje ten einde raad en weet niet hoe dit op te lossen .
Iemand nog ideeen ?
Jan
Berlaar Belgie
Advertisement
- nicoverduin
-
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Arduino Mega stopt
Jan,
Begin maar eerst met de sketch hier neer te zetten, en liefst ook een schema. Zo op afstand zonder inhoudelijke info kunnen wij weinig. Overigens hoe weet je of de mega stil valt? Of heb je een heartbeat led erop zitten?
Begin maar eerst met de sketch hier neer te zetten, en liefst ook een schema. Zo op afstand zonder inhoudelijke info kunnen wij weinig. Overigens hoe weet je of de mega stil valt? Of heb je een heartbeat led erop zitten?
Re: Arduino Mega stopt
Geachte,
ik denk dat deze stopt omdat de uitgangen niet meer logisch aangestuurd zijn en omdat klok op display stil staat .
Meestal komt er onzin ( rare bewegende karakters) op display .
Dit gebeurt elke keer als relais afvallen .
Hieronder de code :
cpp code
ik denk dat deze stopt omdat de uitgangen niet meer logisch aangestuurd zijn en omdat klok op display stil staat .
Meestal komt er onzin ( rare bewegende karakters) op display .
Dit gebeurt elke keer als relais afvallen .
Hieronder de code :
cpp code
#include <Time.h>
#include <TimeAlarms.h>
#include <Wire.h> // Comes with Arduino IDE
#include <TimeLib.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define DS18B20 6
#include <DS3231.h>
#include <DS1307RTC.h> // a basic DS1307 library that returns time as a time_t
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
OneWire ourWire(DS18B20);
DallasTemperature sensors(&ourWire);
DS3231 clock;
RTCDateTime dt;
int relayV = 23;
int relayP = 25;
int relayC = 27;
bool merkerV;
bool merkerP;
bool merkerC;
bool merkerF;
unsigned long TIMER0 = 0; // Variable to hold elapsed time for Timer 0
unsigned long previousMillis = 0;
const long interval = 300000;
void setup() {
Serial.begin(9600);
setSyncProvider(RTC.get); // the function to get the time from the RTC
pinMode(relayV, OUTPUT);
pinMode(relayP, OUTPUT);
pinMode(relayC, OUTPUT);
digitalWrite(relayV, HIGH);
digitalWrite(relayP, HIGH);
digitalWrite(relayC, HIGH);
Alarm.alarmRepeat(12,30,0, FilterAan); // schakelpunten instellen en benoemen
Alarm.alarmRepeat(16,30,0, FilterUit);
Alarm.alarmRepeat(13,0,0, CLRPompAan);
Alarm.alarmRepeat(13,4,0, CLRPompUit);
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines, turn on backlight
{
lcd.backlight();
delay(250);
lcd.noBacklight();
delay(250);
delay(1000); //was 1000 aangepast naar 100 (26-04-2016)
sensors.begin(); // start reading sensors
}
lcd.backlight(); // finish with backlight on
} // end of setup
void FilterAan(){ // als schakepunt bereikt wordt zet merkerF op 1
merkerF = true;
lcd.setCursor(17,2); // zet cursor op juiste plaats
lcd.print("AAN"); // schrijf op LCD "Aan"
}
void FilterUit(){
merkerF = false;
lcd.setCursor(17,2);
lcd.print("UIT");
}
void CLRPompAan(){
merkerC = true;
lcd.setCursor(17,1);
lcd.print("AAN");
}
void CLRPompUit(){
merkerC = false;
lcd.setCursor(17,1);
lcd.print("UIT ");
}
void digitalClockDisplay(){ // zonder deze regel loopt klok niet
}
void loop(){
Alarm.delay(1); // zonder deze regel worden schakelpunten niet uitgevoerd
unsigned long currentMillis = millis(); // timer : op dit moment current millis instellen
digitalClockDisplay();
dt = clock.getDateTime();
lcd.setCursor(0,0); //Start at character 4 on line 0
lcd.print(dt.hour); lcd.print(":");
lcd.setCursor(3,0); //Start at character 4 on line 0
lcd.print(dt.minute); lcd.print(":");
lcd.setCursor(6,0); //Start at character 4 on line 0
lcd.print(dt.second);
lcd.print(" ");
delay(100);
{
if (Serial.available())
{
// wait a bit for the entire message to arrive
delay(100);
// clear the screen
lcd.clear();
// read all the available characters
while (Serial.available() > 0)
{
// display each character to the LCD
lcd.write(Serial.read());
}
}
//read temperature and output via LCD
lcd.setCursor(0,1); //de volgende regels zetten juiste tekst op LCD
lcd.print("Tzw");
lcd.setCursor(10,1);
lcd.print("C");
lcd.setCursor(0,2);
lcd.print("Tda");
lcd.setCursor(10,2);
lcd.print("C");
lcd.setCursor(0,3);
lcd.print("Tzp");
lcd.setCursor(10,3);
lcd.print("C");
lcd.setCursor(12,1);
lcd.print("Chlr");
lcd.setCursor(12,2);
lcd.print("Filt");
lcd.setCursor(12,3);
lcd.print("Verw");
sensors.requestTemperatures(); // temperaturen ophalen en op LCD zetten
lcd.setCursor(4,1);
lcd.print(sensors.getTempCByIndex(0));
//sensors.requestTemperatures();
lcd.setCursor(4,2);
lcd.print(sensors.getTempCByIndex(1));
//sensors.requestTemperatures();
lcd.setCursor(4,3);
lcd.print(sensors.getTempCByIndex(2));
//{
if (merkerF||merkerV) { // pomp schakelen als er filteren gevraagd wordt OF verwarmen
merkerP=true;
lcd.setCursor(17,2);
lcd.print("AAN");
}
else {
merkerP=false;
lcd.setCursor(17,2);
lcd.print("UIT");
}
if (merkerC) { // relais aansturen chloorpomp(omgekeerde logica)
digitalWrite (relayC,LOW);
lcd.setCursor(17,1);
lcd.print("AAN");
}
else {
digitalWrite (relayC, HIGH); // relais afleggen chloorpomp (omgekeerde logica)
//digitalWrite(Led4, LOW);
lcd.setCursor(17,1);
lcd.print("UIT ");
}
if (sensors.getTempCByIndex(0) >29){ // verwarming gaat uit als water zwembad boven 29 graden is
merkerV=false;
lcd.setCursor(17,3);
lcd.print("UIT");
}
else if (sensors.getTempCByIndex(1) > 25){ // verwarming gaat aan als op dak temp hoger is dan 25 °C
lcd.setCursor(17,3);
lcd.print("AAN");
merkerV=true;
}
else if(currentMillis - previousMillis >= interval){ //nadraaien van verwarming om op en afspringen te voorkomen. Interval = 5 min = 300000
previousMillis = currentMillis;
merkerV=false; //weet niet dat dit true or false moet zijn
lcd.setCursor(17,3);
lcd.print("UIT");
}
if(merkerP){ //omgekeerde logica: als merker hoog is stuur uitgang laag en schakel relais in
digitalWrite (relayP,LOW);
}
else
{
digitalWrite (relayP,HIGH);
}
if(merkerV)
{
digitalWrite (relayV,LOW);
}
else
{
digitalWrite (relayV,HIGH);
}
}
}
/* ( THE END ) */
Re: Arduino Mega stopt
Geachte,
een schema heb ik niet echt maar hier een foto van de kast( in bijlage) . Momenteel terug een beetje rommelig omdat ik naar dit probleem aan het zoeken ben . In het midden bovenaan zit de Arduino relaiskaart . De bovenste " relais sturen op hun beurt de relais aan die eronder staan . Naast deze 4 relais staat een schakelaar waarmee ik de aansturing van deze relais kan onderbreken .
Als ik dit doe werkt alles zoals het hoort .
Jan
een schema heb ik niet echt maar hier een foto van de kast( in bijlage) . Momenteel terug een beetje rommelig omdat ik naar dit probleem aan het zoeken ben . In het midden bovenaan zit de Arduino relaiskaart . De bovenste " relais sturen op hun beurt de relais aan die eronder staan . Naast deze 4 relais staat een schakelaar waarmee ik de aansturing van deze relais kan onderbreken .
Als ik dit doe werkt alles zoals het hoort .
Jan
- nicoverduin
-
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Arduino Mega stopt
Dit klinkt sterk naar het ontbreken van een blus diode over die grote relais. Heb jij die erover zitten? Want ik zie geen foto
Re: Arduino Mega stopt
voeding van relais bord mag niet van de arduino afkomen.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Arduino Mega stopt
Nico,
je hebt helemaal gelijk .
Ik had al een andere 12 v voeding gezet om voeding te geven aan de 4 relais om dit circuit volledig te scheiden van de Mega maar dit gaf nog steeds hetzelfde resultaat .
Ik heb nu blusdiodes over de spoelen van de 4 relais geplaatst en Mega valt niet meer uit .
Ondertussen heb ik ook de voeding terug weggenomen en werk ik terug met 1 voeding en alles blijft OK .
Ik ga nog wel eerst wat testen alvorens dit als opgelost te beschouwen .
Bedankt .
Jan
PS : foto kon ik niet toevoegen als bijlage omdat file te groot was .
Mochten jullie toch geinterreseerd zijn laat me dan weten hoe ik de foto toch kan toevoegen.
Jan
je hebt helemaal gelijk .
Ik had al een andere 12 v voeding gezet om voeding te geven aan de 4 relais om dit circuit volledig te scheiden van de Mega maar dit gaf nog steeds hetzelfde resultaat .
Ik heb nu blusdiodes over de spoelen van de 4 relais geplaatst en Mega valt niet meer uit .
Ondertussen heb ik ook de voeding terug weggenomen en werk ik terug met 1 voeding en alles blijft OK .
Ik ga nog wel eerst wat testen alvorens dit als opgelost te beschouwen .
Bedankt .
Jan
PS : foto kon ik niet toevoegen als bijlage omdat file te groot was .
Mochten jullie toch geinterreseerd zijn laat me dan weten hoe ik de foto toch kan toevoegen.
Jan
- nicoverduin
-
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Arduino Mega stopt
Er zijn van die openbare sites waar je een foto op kan zetten en dan een url naar die foto zetten. Zo doe ik het tenminste.
- Nightmystic
- Berichten: 133
- Geregistreerd: 10 Jan 2016, 16:39
Re: Arduino Mega stopt
Zelf gebruik ik dropbox, dan zet je het in de cloud en link je er vanaf hier naartoe.
Je maakt dan wel een account aan en hebt het programma op je pc draaien. Dus als je dropbox verder nergens anders voor gebruikt of weinig hier post is het niet je beste optie
Je maakt dan wel een account aan en hebt het programma op je pc draaien. Dus als je dropbox verder nergens anders voor gebruikt of weinig hier post is het niet je beste optie
- nicoverduin
-
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Arduino Mega stopt
Ik heb een eigen domein met 15G ruimte dus daar ff een foldertje gemaakt ![Smile :)](./images/smilies/icon_e_smile.gif)
![Smile :)](./images/smilies/icon_e_smile.gif)
10 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 14 gasten