Beiträge von CarstenE

    Also du nimmst direkt die 18v und lädst damit über den USB Ladeport, richtig? kann leider deinen Kabeln im Bild nicht so richtig folgen.

    Nachdem ich hier vor zwei Monaten als blutiger Cerea Anfänger gestartet bin, hab ich viel über die Programmierung der Arduinos lernen müssen.


    Damit die nächsten es etwas einfacher haben, hab ich hier mal alles zusammengeschrieben, was wichtig sein könnte.


    Vielleicht hilfts dem ein oder anderen ja dabei, sein Projekt um zu setzen.


    Für Fehlerfreiheit kann ich nicht garantieren, grundsätzlich hat aber bisher alles damit funktioniert.

    Viel Spass und Viel Erfolg!!



    Grundsätzlich gibt es zwei Kommunikationsrichtungen.

    Von Cerea zum Arduino und umgekehrt.

    Die Befehle sind immer identisch aufgebaut:

    Es beginnt mit dem Zeichen „@“, gefolgt von einer Adresse in Form von einem Wort (immer in GROSSBUCHSTABEN).

    Anhand dieser Adresse kann der Empfänger zuordnen, was gerade mitgeteilt werden soll.

    Danach folgt ein „ ; “, und danach mehrere Zahlen, jeweils getrennt durch ein Semikolon.

    Jede Zahl beinhaltet eine gewisse Information, mit der weitergearbeitet werden kann.

    Am Ende kommt dann noch das in Grossbuchstaben geschriebene Wörtchen „END“, damit der Empfänger weiß dass dieser Befehl zu Ende ist.

    Als Beispiel:

    @STATUSAM;1;0;END

    Wie beim Computer üblich steht die „1“ für „Ein“ und die „0“ für „Aus“,

    oder es wird eine Zahl übertragen, da zählt dann der Wert dieser Zahl zB bei km/h.


    Befehle von Cerea an den Arduino:


    @STATUSAM;1;0;END

    (Diesen Befehl sendet allerdings nur die Version für die Kupplung)

    Mit dieser Zeichenfolge teilt Cerea einem Arduino zwei Informationen mit.

    Die „1“ ist hier als Beispiel für den eingeschaltenen Zustand der „Auto“ Funktion innerhalb Cerea,

    wäre Auto deaktiviert würde dort eine „0“ stehen.

    Wobei im Beispiel die „0“ für ein deaktiviertes „Markieren“ steht. ( Aktiviert dann also „1“)

    -------------------------------------------------------------------------------------------------------

    @CEREA;5.44;-1;0;0;0;0;0;0;0;0;0;0;END

    Diese Zeichenfolge ist rund um die Programmierung für einen Spritzcomputer und ähnlichem interessant.

    12 Informationen werden übermittelt!

    „5.44“ ist hier wahllos als Beispiel für die Aktuelle Geschwindigkeit eingetragen.

    „-1“ ist ein freier Wert (dem Autor ist auch noch nicht bekannt für was, vermutlich aber für zB Soll Liter pro ha)

    Danach folgen 10 durch Semikolon getrennte „0“. Jede Null steht für den Schaltzustand einer Teilbreite. Die Erste „0“ steht dabei für die Teilbreite ganz links. Zehn genau deshalb, weil Cerea bis zu Zehn Teilbreiten verwalten kann. Sind die Teilbreiten aktiv, steht an der Stelle für die aktive Teilbreite eine „1“.

    Und hier kommt etwas das man wissen muss. Sind für das entsprechende Anbaugerät nur drei Teilbreiten in Cerea eingestellt, reduziert sich die Zeichenfolge um 7 Positionen.

    Es werden immer nur so viele Teilbreiten geschickt wie auch aktiv sind.

    Demnach sähe die Zeichenfolge mit der mittleren TB aktiv dann so aus.

    @CEREA;5.44;-1;0;1;0;END


    @HIDRAU;1;END

    Dieser Befehl wird von Cerea gesendet wenn man bei aktivierter Funktion Markieren auf einen schon bearbeiteten Bereich kommt. Damit könnte man ein Ventil Steuern (zb die einen Zylinder der etwas aus hebt, oder ähnliches)



    Befehle vom Arduino an Cerea


    Wir müssen mit dem Arduino eine Zeichenfolge generieren, die wir über den USB Port an Cerea senden.

    Grundsätzlich gilt dabei für alle:

    „@“ gefolgt von der Adresse in Grossbuchstaben mit den Informationen getrennt durch Semikolon.

    Das Ende der Information wird durch ein „END“ markiert

    Der Arduino gehorcht bei diesem senden aber seinen eigenen Regeln die sich wie folgt darstellen

    Das Kommando zum senden auf dem USB Port heißt „Serial.print(xxxx);“ die xxxx stehen für die Info. Diese kann Text als solcher sein, dann muss dieser in Anführungszeichen stehen, oder zB der Wert einer Variablen. Hierbei wird einfach die Bezeichnung der Variablen in die Klammern gesetzt ohne weitere Zeichen. Man findet auch schonmal ein Serial.println(xxxx) was aber in diesem Zusammenhang gleichbedeutend ist.

    Danach folgt noch :


    Serial.print('\r');

    Serial.print('\n');


    Anhand dessen erkennt Cerea dass der Befehl vollständig übertragen ist.


    Beispiel:


    Serial.print ("@BOOMBOX;1;1;0;0;0;0;0;0;0;0;END");

    Serial.print('\r');

    Serial.print('\n');



    Man kann das auch mischen:


    Serial.print ("@BOOMBOX;"+BTB1+BTB2+"0;0;0;0;0;0;0;0;END");

    Serial.print ('\r');

    Serial.print ('\n');


    In diesem Beispiel werden die Beiden „1“ durch den Inhalt einer Variablen „BTB1“ bzw „BTB2“ ersetzt.



    Hier die einzelnen Befehle die an Cerea gesendet werden können:


    Um Cerea von extern zu steuern gibt es den Befehl


    @SDOSE;A;B;C;D;E;F;G;H;I;J;K; END


    Jeder der Buchstaben A bis K steht für eine Funktion innerhalb Cerea, und kann entweder den Wert 1 oder 0 haben, wobei die eins für „Ausführen“ steht

    Der Befehl muss hierbei aber immer komplett ausgefüllt abgeschickt werden, kann also nicht verkürzt werden. Das ist auch der Grund warum er nicht so gerne verwendet wird, da das zu Programmierproblemen führen kann.

    A - Markieren

    B - Kontur

    C - (mir unbekannt)

    D - (mir unbekannt)

    E - A Punkt

    F - B Punkt

    G - Auto

    H - Nach links verschieben

    I - nach rechts verschieben

    J - drehen nach links

    K - drehen nach rechts


    Marc

    Ist die Miniform um Markieren Ein oder Aus zu schalten. Hierbei wird kein Wert benötigt.

    Dieser Befehl so abgesendet verändert einfach nur den Zustand von Markieren. Also von Ein zu Aus und umgekehrt.

    Gleiches gilt für @AUTO



    @BOOMBOX;0;0;0;0;0;0;0;0;0;0;END

    Schaltet die Teilbreiten einzeln ein oder aus. Zehn „0“ stehen für zehn mögliche Teilbreiten die Cerea verwalten kann. „0“ schaltet die Teilbreite aus, „1“ ein. Der Befehl muss immer komplett übertragen werden, d.h. die übrigen nicht vorhandenen Teilbreiten müssen auf „0“ gestellt werden.




    Die folgenden Vier Befehle dienen nur dafür einen Wert an Cerea zu übermitteln, den man sich im Arbeitsbildschirm einblenden lassen kann.


    Zum Beispiel den aktuellen Spritzdruck, die L/ha …

    Dazu muss in der Config unter BOOMs die boomBoxControl auf den Wert 1 geändert werden

    In den folgenden Befehlen steht das „x“ immer für den Wert der übertragen werden soll.

    Dieser sollte im Arduino einer Variablen entsprechen, die man iwie erzeugt.


    @PRESION;x;END vermutlich für den DRUCK


    @CAUDAL;x;END vermutlich L/min


    @APLICADO;x;END vermutlich L/ha


    @WE;x;END frei wählbar

    Diese Befehle geben dem Arduino aber alle kein Feedback was gerade geschaltet ist. Ich hätte gerne eine Info von Cerea wenn etwas ein oder ausgeschaltet wird. Dann könnte man das erst abfragen, auswerten und danach einen neuen passenden @SDOSE Befehl zusammensetzen. Also Vorabversion. Wäre schön von jotesen da was zu bekommen. In der Telegr.gruppe bin ich mitlerweile. Carsten E.

    Hab gerade eine Ähnliche Frage im Section Control Teil des Forums geschrieben.

    Gut für die Übergabe des Auto Parameters gibt es ja dann jetzt wohl was . Darf man Fragen wie der Befehl heisst?


    Marcar aktiv oder nicht wäre noch schön. Kann man aber sich bestimmt irgendwie über den @ CEREA befehl zusammenreimen.

    Schonmal jemand was dazu probiert?

    Ich bastel gerade mir eine eigene Bedienung zusammen.


    Ich habe glaube ich das ganze Forum durch aber eine Auflistung aller @- Kommandos nicht gefunden.

    Aus allem was ich bisher gelesen hab, hab ich bei der Teilbreitenschaltung die Möglichkeit über @- Befehle in beide Richtungen zu kommunizieren

    @Cerea teilt dabei meinem Arduino mit wie die Teilbreiten zu schalten sind, andersherum kann ich über den @Boombox Befehl Cerea miteilen welche Teilbreiten geschaltet wurden.


    Gibt es für den @SDOSE Befehl etwas Vergleichbares? Habe nichts gefunden.

    Ich hätte gerne von Cerea eine Information über die Schaltzustände von zB Auto , A, Marca. So könnte man Knöpfe beispielsweise mit Licht unterlegen.

    Kann man zwar , wenn man ausschliesslich über die externe Bedienung arbeitet, kommt aber völlig durcheinander wenn man ab und an aufs Display tippt.


    Ideen?


    Ist wahrscheinlich auch der Grund warum mit SDOSE so schwierig zu arbeiten ist...

    Hallo zusammen


    Ihr benutzt alle immer Eure selbst gedruckten Zahnräder.


    Gibts jemanden der da mal was anderes ausprobiert hat.


    Zum einen habe ich etwas ein Platzproblem ( Claas Arion neuerer Baureihe) zum anderen finde ich es persönlich jetzt optisch nicht sooooo ansprechend ( Kleiner Fimmel von mir).


    Mir schwebte vor eine Zahnriemenversion zu bauen, mit einem 10 mm Riemen. Jemand schon mal gemacht?


    Was habt Ihr an den Zahnrädern für Übersetztungsverhältnisse, bzw welches Verhältnis sollte man mindestens haben?


    Danke

    Ich Arbeite an die Rabatten für Forenmitglieder (bitte mich kontaktieren), Speziel für ' Black Friday' gibt es Gratis Versand für Bestellungen ab 275 euro. Rabatt Kode: cerea1

    Also ich habe heute dreimal versucht, bei Euch den Kit zu bestellen. Habe sogar noch ein paar Kabel mehr dabei gepackt, womit ich bei über 280 Euro lag. Den Code cerea1 bekomme ich aber nicht zum laufen. Ich werde immer wieder darauf aufmerksam gemacht, dass der Code abgelaufen, falsch oder ausgereizt sei. Was mach ich falsch?