Programmieren eines Teils der Akku-Ladestation

Hallo bin Robar 24 jahre alt und habe eine Aufgabe aus der schule und brauche hilfe bei Code schreiben

Ziel- und Aufgabenstellung Die Akku-Ladestation eines Flurförderfahrzeugs enthält einen Laderegler, der mithilfe eines Mikrocontrollers (Arduino) den Ladevorgang steuert und überwacht. Im Einzelnen sollen nachstehende Funktionen erfüllt werden. Erstellen Sie auf Basis der „Anforderungen an die Programmierung" einen Anschlussplan und ein Arduino-Programm, das die nachstehenden Anforderungen umsetzt. Führen Sie die Funktion des Programms mit der angeschlossenen notwendigen Hardware ihrem Lehrer spätestens am Abgabetag vor. Funktionsfehler bei dieser Vorführung führen zum Punktabzug. Übergeben Sie am Abgabetag eine Dokumentation ihres Projektes mit folgenden Inhalten: Deckblatt (Projekttitel, Gruppenmitglieder, Klassenbezeichnung, Bearbeitungszeitraum) Inhaltverzeichnis Vorliegende Aufgabenstellung mit dem umseitig abgedruckten Bewertungsraster Anschlussplan des Arduino Programmausdruck Freiwillig: Verbesserungsvorschläge für zukünftige Projektdurchführung

  1. Anforderungen an die Programmierung

Über die Taster auf der Platine 2 kann die Ladezeit eingestellt werden.
Der Taster ist an Pin 2 angeschlossen. Bei Programmstart beträgt der Zählerwert null Stunden. Bei jeder Betätigung wird der Wert um eine Stunde erhöht bis der Zählerwert neun Stunden beträgt. Bei einem weiteren Tastendruck wird der Zähler wieder auf null Stunden Ladezeit zurückgesetzt.

Die Ladezeit wird in einer Sieben-Segment-Anzeige dargestellt.
Die aktuell eingestellte Ladezeit wird in Stunden auf einer Siebensegment-Anzeige
dargestellt. Diese ist mit ihren Segmenten a.g an Pin 7..Pin 13 angeschlossen.

Die Akkuspannung wird erfasst: Akku defekt, Akku geladen.

Über den Analogeingang A0 wird die aktuelle Akkuspannung erfasst. 5V am Analogeingang entsprechen 30V Akkuspannung. Die Bemessungsakkuspannung beträgt 24V. Ein defekter Akku liegt vor, wenn die Akkuspannung um mindestens 10% unter die Bemessungsspannung gesunken ist. Dann kann der Ladevorgang nicht qestartet werden und eine rote LED, die an Pin 6 anschlossen ist leuchtet. Ist der Akku geladen, liegt die Akkuspannung mindestens 5% über der Bemessungsakkuspannung. Der Ladevorgang kann auch dann nicht gestartet werden und eine grüne LED, die an Pin 5 anschlossen ist leuchtet.

Der Ladestrom wird erfasst und dargestellt.

Der Ladestrom wird über den Analogeingang A1 erfasst.
Liegen 5V am Analogeingang an entspricht das einem Ladestrom von 20A. Der aktuelle Ladestrom wird auf dem Serial- Monitor angezeigt.

ich brauche nur Leichte Formulierung oder der Code nur dieser schritte :point_down:***

Start und Stopp des Ladevorgangs und Umgang mit Störungen

Der Ladevorgang wird über ein Freigabesignal an Pin 4 (High-Pegel A Freigabe) an den Leistungsteil des Ladegeräts gestartet. Dieses wird erzeugt, wenn eine Ladezeit eingestellt wurde und der an Pin 3 angeschlossene Start-Taster betätigt wurde. Liegt jedoch eine der folgenden Abschaltbedingungen vor, wird das Freigabesignal wieder entzogen bzw. verhindert und der Leistungsteil bricht den Ladevorgang ab bzw. startet diesen gar nicht erst: Vor erteilter Freigabe: Akkudefekt wird festgestellt Akku wird als bereits geladen erkannt Nach erteilter Freigabe: Betätigung des Tasters an Pin 3 (Stoppfunktion) Akkuspannung außerhalb der zulässigen Ladespannung von 26V...29V

sketch_aug05a-20210818T051249Z-001.zip (‏1.4 ‏ك.ب)نص منسَّق سابقًا

Also wie weit biste? Zeige dein Code , Schaltplan erst danach wird dir geholfen.
Komplett alleess von "0" wird Dir das niemand machen
Grüße

1 Like

Ich sehe in deinem Beitrag zwar keine Frage, dafür habe ich aber eine an dich:
Was bist du denn bereit, für diesen Sketch zu zahlen, wenn wir den für dich schreiben sollen ?

1 Like

Das sollen nicht wirklich wir für Dich machen?

Zerlege das sProblem in Teilproblemen; Programmiere einen Sketch dafür und erweitere den Sketch jeweils um das nächste Teilproblem.

Programmiere mal das Du erkennst das Tastendrücken und erhöhst den Sundenzähler. Danach muß der Taster losgelassen werden damit er wieder gedrückt werden kann und die Zeit um einen Einheit erhöht werden kann. Ist die Zeit schon 9 erfolgt keien weitere Erhöhung
Die Ladezeit wird in einer Sieben-Segment-Anzeige dargestellt.
Mach das mal mit einer beliebigen Zahl zwischen 0 und 9.

Spannungsmessung mittels eines Analogeinganges und Umrechnung. Kontrolliere die gemesse Spannung auf 2 Schwellwerte. Zu tief- Akku kaputt, Zu hoch Akku voll und demenprechende Aktionen bzw Nichtaktionen (Nichtladen)

Analog Messen und auf Strom umrechnen, Wert am Serial-Schnittstelle augeben. Entscheiden wie oft das pro Sekunde gemacht werden soll.

Start und Stopp des Ladevorgangs und Umgang mit Störungen

Startkondition Starttaster gedrückt, Ladezeit verschieden von 0, Akku nicht kaputt und auch noch nicht voll geladen.
Stopkondition: Starttaster nochmal gedrückt; Zeit abgelaufen; Spannungsmessung erkennt vollen Akku.

Ausgabe signal an Pin 4 für LADEN.

Grüße Uwe

Naja, für 30.000€ Vorkasse (und nur Vorkasse) könnte sich da jemand finden.

Gruß Tommy

@robar0069
das fehlt noch immer.

Ansonsten so wie Uwe schreibt. Mach eins nach dem anderen. Die Aufgabe ist eh schön strukturiert.
Mach mal den ersten Punkt

wenn es fragen gibt, poste deinen Code in Code-Tags und stelle eine Frage.

Wir brauchen eine Reaktion von dir damit wir sehen, dass du noch da bist oder schon vom Sessel gekippt bist.

ich hab mein Code da oben gepostet und habe fasst alle außer letzte Schritte
danke für deine Aufmerksamkeit

Robar

ich habe den Post bearbeitet und mein Code da oben hinzugefügt .
ich habe alle Schritte erfüllt außer die letzte

Danke euch
Robar

Hallo uwe,
ich habe da oben mein Code gepostet schau mal dir an
kannst du bitte bei der Code letzter schritte mir helfen ich bin ganz neu in Arduino-World

Grüße
Robar

sketch_aug05a-20210818T051249Z-001.zip (‏1.4 ‏ك.ب)

alle außer letzte schritte

Du brauchst deine Aussage nicht mehrfach posten.
Und deinen Sketch als zip-Datei zu posten, ist die schlechteste Lösung.
Nur sehr wenige öffnen Zip-Dateien.
Setze den Sketch hier direkt in Code-Tags rein.
Dazu in der IDE mit rechter Maustaste auf den Sketch klicken und "Für Forum kopieren".
Danach hier einfügen.

Formatieren wir das mal:


Der Ladevorgang wird über ein Freigabesignal an Pin 4 (High-Pegel A Freigabe) an den Leistungsteil des Ladegeräts gestartet.

Dieses wird erzeugt, wenn eine Ladezeit eingestellt wurde und der an Pin 3 angeschlossene Start-Taster betätigt wurde.

Liegt jedoch eine der folgenden Abschaltbedingungen vor, wird das Freigabesignal wieder entzogen bzw. verhindert und der Leistungsteil bricht den Ladevorgang ab bzw. startet diesen gar nicht erst:
Vor erteilter Freigabe:

  • Akkudefekt wird festgestellt
  • Akku wird als bereits geladen erkannt

Nach erteilter Freigabe:

  • Betätigung des Tasters an Pin 3 (Stoppfunktion)
  • Akkuspannung außerhalb der zulässigen Ladespannung von 26V...29V

fein jetzt ist die Wurscht lesbar.

Ich sehe da eine Finite State Machine
Du hast also lt. Anforderung zwei Status
STANDBY und CHARGE

IM STANDBY fragst du den Taster ab, nur wenn die Eintrittsbedingungen stimmen, schaltest du weiter in CHARGE

bei Eintritt in CHARGE schaltest du deinen PIN4 ein
Während CHARGE machst du die Prüfungen (auf Taster Pin3 und auf Akkuspannung)
Als Exit Bedingung also entweder Pin3 oder die Akkuspannung
Bei EXIT schaltest den PIN ab und fällst wieder zurück auf Status STANDBY

jetzt soll es dir etwas leichter fallen, das in Code zu gießen.

ps. so Kleinigkeiten, wenn ich das lese:

const int buttonPin = 2;                                  //Taster
// versus
int ErrorLED = 6;
int FertigLED = 5;
//oder gar:
int Ladevorgang = 4;
int Start = 3;

wüsste ich sofort welche Zusatzfragen ich dir stellen würde.

und dreh dir auf alle Fälle in der IDE die Compilerwarnings auf - der mault auch (berechtigt).