Software Aktuelle und alte Versionen

Hallo Rolf,

die Timer-Funktion wurde bisher (aus Zeitmangel) nicht richtig getestet, das müssen wir noch nachholen. In diesem Zuge ergeben sich bestimmt Lösungen (freiwillige Programmierer gesucht! ;-)). D.h. der Code müsste als nächstes auf Deine Beobachtungen hin gebugfixt werden. Bis dahin: müssen wir ohne Timer leben...

Den "Perimeter Comm error" würde ich beheben - Evtl. in das entsprechendes Thema (Induktionsschleife) hier im Forum schauen.

Allgemeiner Aufruf: an alle Informatiker und E-Techniker! Bitte meldet euch hier wenn es euch gibt :) - Wir suchen Leute die an der Entwicklung/Fehlerbeseitigung mithelfen können/wollen :)

Gruss,
Alexander
 
Hallo Alexander,
danke für die Info. Beim programmieren kann ich leider nicht mithelfen. Ich teste erst mal weiter und berichte wenn mir etwas auffällt.

Gruß Rolf
 
Hallo Sven,

ist in v0.9.2.7 behoben:

v0.9.2.7 22.04.2014 added motor mower acceleration (motorMowAccel), motor testing bugfix, sonar right/left timeout

Gruss,
Alexander
 
Hallo Alexander,

das RTC-Modul wird per I2C eingeschleift, nicht? Im Schaltplan ist es nicht erwähnt.
Danke und Gruß aus 49448 :)

Peter
 
Hallo Alexander, hallo Sven,
es ist gar nicht so einfach, Euch bei der Entwicklung der Soft zu folgen.
Ich benutze jetzt (noch ohne Odometrie):
Mega: 9.19
Receiver: 6.0.1
IMU: 6.0.2

Bis auf zeitweise fehlerhaftes einfädeln in die Schleife funktioniert alles prima.

Jetzt wollte ich auf die aktuelle Soft updaten und habe folgendes Problem.

Update Receiver auf 6.0.3= Cutty läuft nur noch rückwärts.
Zusätzlich update Mega auf 9.2.7= Cutty läuft gar nicht mehr, Meldung in der Konsole: Perimeter Comm error
Mega 9.2.7 mit Receiver 6.0.1= Cutty läuft nicht, Perimeter Comm error

Ich habe die Soft auf die o.g. Version zurückgesetzt und jetzt läuft alles wieder.

Es ist für mich schwierig, nachvollziehen, was sich bei einer neuen Softwareversion ändert und ob es sinnvoll ist diese zu installieren.
Vielleicht könntet Ihr eine kurze Info zu einem Update geben. Oder gibt es die und ich kann sie nur nicht finden.

Gruß und einen schönen Tag
Rolf
 
Hallo Alexander,

will grad die neuste Software einspielen. Die ermittelten Werte müssen da ja immer manuell geändert werden bevor der Code in den Mega kommt.

Dazu eine Frage:
Ist nachfolgendes noch aktuell, oder kann ich es ignorieren?
UPDATE: ich sehe gerade, dass sich mal wieder ein Fehler eingeschlichen hat - falls kein RTC-Modul verwendet wird, bitte folgende Zeile in der Roboter-Config wie folgt auskommentieren:

int readSensor(char type){
...
// case SEN_RTC: readDS1307(datetime); break;

Das RTC-Modul verwende ich ja noch nicht.

Danke, LG
Stefan
 
I just downloaded IMU Version:0.6.0.4 and I compiled it for my Pro Micro ATmega32U4.
Unfortunately, compiled code size is to big:

Sketch uses 31,006 bytes (108%) of program storage space. Maximum is 28,672 bytes.
:huh:

What the older version of IMU I can use with ardumower Version:0.9.3.0 ?
I used IMU 0.3.6 before.
 
Hello,

We are currently porting all Nano code to the Mega+Due. The latest IMU code is marked as 'experimental' - I would recommend to disable it and wait until we have finished porting. After that, all code (IMU, Perimeter, main) will run either on one Mega or one Due.

Regards,
Alexander
 
Hi Alex

I was about to draw a PCB layout for an arduino mega shield, housing the arduino nano for perimeter detection
with 2 LM386 circuits

And 1 arduino nano for the IMU

If i'm right you are going to try to implement all in the main arduino mega code right ?

Please let me know, then I can skip the PCB development

Thanks

Walter
 
Hallo zusammen,

nachdem ich mit dem DUE nicht alleine weiter komme versuche ich nun zuerst den Mower mit einem Mega zum laufen zu bekommen.

Nach dem Tausch des Arduino hab ich nun leider das Problem, dass die Fahrmotoren über die PfodAPP zwar angesprochen werden ich sie aber nicht mehr stoppen kann. Dies ist sowohl beim Testen unter "Settings" als auch bei "Manuell" der Fall. Forward und Reverse funktioniert aber Stop rechts und links nicht...
Im Automatikbetrieb macht er zwar was er soll aber wenn ich auf OFF gehe macht er auch hier einfach weiter der Fleißige ;)

Softwarestände hab ich von r35 bis r43 probiert aber leider ohne Veränderung. Als Treiber hab ich noch die L298. Hat das Problem noch jemand oder kann mir nen Tipp geben woran es liegt?


Greez Chrisser
 
Ja, dieses Verhalten habe ich auch.

Der Zustandsautomat reagiert nicht immer.

Mit beiden Apps und auch über den Soft Button am Mower.
 
hmm bei mir reagiert er garnicht sobald er mal fährt. Den Mähmotor kann ich hingegen ohne Probleme an und ausschalten.
 
Ja, hast recht.

mit der manuellen Steuerung geht links rechts nur gelegentlich und Stop gar nicht.

Und das mit beiden apps.
 
Hallo

Ich habe gesehen das es eine 1.0a7-Azurit geben soll.
Leider kann ich diese Version nicht im Downloadbereich finden.
Dort ist die letzte die 1.0a6-Azurit.

Kann mir bitte jemand einen Link zusenden ?

Grüße
André
 
Hallo Forum,
evtl. ist Thema hier nicht richtig und muss verschoben werden.

Frage:
DS1307
Seit "1.0a4-Azurit" mit folgender drivers.cpp-Anpassung (FETT):
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// DS1307 real time driver
boolean readDS1307(datetime_t &dt){
byte buf[8];
if (I2CreadFrom(DS1307_ADDRESS, 0x00, 8, buf, 3) != 8) {
Console.println("DS1307 comm error");
//addErrorCounter(ERR_RTC_COMM);
return false;
}
if ( ((buf[0] >> 7) != 0) || ((buf[1] >> 7) != 0) || ((buf[2] >> 7) != 0) || ((buf[3] >> 3) != 0)
|| ((buf[4] >> 6) != 0) || ((buf[5] >> 5) != 0) || ((buf[7] & B01101100) != 0) ) {
Console.println("DS1307 data1 error");
//addErrorCounter(ERR_RTC_DATA);
return false;
}
datetime_t r;
r.time.minute = 10*((buf[1] >>4) & B00000111) + (buf[1] & B00001111);
r.time.hour = 10*((buf[2] >>4) & B00000111) + (buf[2] & B00001111);
r.date.dayOfWeek = (buf[3] & B00000111) - 1; // Array fuer Wochentag startet mit Null (0-6 entspr. 1-7) --> Zeile 297
r.date.day = 10*((buf[4] >>4) & B00000011) + (buf[4] & B00001111);
r.date.month = 10*((buf[5] >>4) & B00000001) + (buf[5] & B00001111);
r.date.year = 10*((buf[6] >>4) & B00001111) + (buf[6] & B00001111);
if ( (r.time.minute > 59) || (r.time.hour > 23) || (r.date.dayOfWeek > 6)
|| (r.date.month > 12) || (r.date.day > 31) || (r.date.day < 1)
|| (r.date.month < 1) || (r.date.year > 99) ){
Console.println("DS1307 data2 error");
//addErrorCounter(ERR_RTC_DATA);
return false;
}
r.date.year += 2000;
dt = r;
return true;
}

boolean setDS1307(datetime_t &dt){
byte buf[7];
if (I2CreadFrom(DS1307_ADDRESS, 0x00, 7, buf, 3) != 7){
Console.println("DS1307 comm error");
//addErrorCounter(ERR_RTC_COMM);
return false;
}
buf[0] = buf[0] & B01111111; // enable clock
buf[1] = ((dt.time.minute / 10)
 
Hallo Alexander,

danke für Deine Antwort.
Hier eine Kurzfassung:

mit a7 (zuvor war a4 drauf):
unter mower.h -> PCB_1_2 aktiviert
// ------- Choose one Ardumower PCB revision (1.2, 1.3 etc.) ------------------
#define PCB_1_2
//#define PCB_1_3

a7 nun frisch drauf.

Konsole (Serieller Monitor) -> d -> c

--> "c=test RTC"

reading RTC time...
RTC date received: Tue 11.07.2017
writing new RTC time 28-02-2016 23:59...
reading RTC time...
RTC date received: Sat 28.02.2016

--> dannach gleich nochmal "c=test RTC"

reading RTC time...
RTC date received: Sat 28.02.2016
writing new RTC time 28-02-2016 23:59...
reading RTC time...
RTC date received: Sat 28.02.2016

Sag Dir die Ausgabe was?

Viele Grüße
Manfred
 
Oben