Forum: Mikrocontroller und Digitale Elektronik Ampelmodell " 4 * ( grün, Gelb, Rot )


von Tarrr s. (ta_sam)


Lesenswert?

Hallo Zusammen,
ich bin auf euere Hilfe angewiesen!
Ich muss mittels TMS320 C2000 von Texas Instruments ein Ampelmodell " 4 
* ( grün, Gelb, Rot )realisieren. Ich komme mit der Entwicklungsumgebung 
garnicht klar und stehe unter Zeitdruck.
Ich bin neu in der microcontrollerwelt und wäre sehr für jede Hilfe sehr 
dankbar.
Viele Grüße

von Falk B. (falk)


Lesenswert?

@Tarrr sammm (ta_sam)

>Ich muss mittels TMS320 C2000 von Texas Instruments ein Ampelmodell " 4
>* ( grün, Gelb, Rot )realisieren.

Schöner COntroller, aber um Größenordnungen zuviel für sowas einfaches.

> Ich komme mit der Entwicklungsumgebung
>garnicht klar und stehe unter Zeitdruck.
>Ich bin neu in der microcontrollerwelt und wäre sehr für jede Hilfe sehr
>dankbar.

Wenn du nen'n schnellen Snack willst, geht zu McDonalds. Einfach mal 
Hopp-Hopp wird das nichts.

von Detlef K. (adenin)


Lesenswert?

Auf Grund der ausführlichen Informationen kann ich da nur moraliche 
Unterstützung geben:
Das ist genau der richtige Prozessor für eine Ampelsteuerung und für 
Anfänger.

von Peter D. (peda)


Lesenswert?


von Tarrr s. (ta_sam)


Lesenswert?

Danke, dass ihr so schnell antworten konntet.

eine LED blinken lassen, ist soweit kein Problem, aber wie ich dieses 
Modell realisieren soll " 12 LED´s steuern " bzw die Befehle für mein C 
code da hoffe ich auf eure Hilfe hoffe.

von Falk B. (falk)


Lesenswert?


von Gerald G. (gerald_g)


Lesenswert?

Ganz ehrlich, kannst du eine led blinken lassen, kannst du auch 2 
blinken lassen, usw.
Das ampelproblem ist genau das gleiche, nur wird mit einem "switch" 
Befehl nacheinander geblinkt

von Mike (Gast)


Lesenswert?

Tarrr sammm schrieb:
> aber wie ich dieses Modell realisieren soll " 12 LED´s steuern "

Die 12 LED hängen doch alle irgendwie logisch zusammen, d.h. du solltest 
dir erstmal überlegen, welche Zustände deine Kreuzung annehmen kann. 
Dann baust du dir einen Zustandsautomaten, der z.B. einfach 
zeitgesteuert sein kann, oder aber auch durch Ampelanforderungen 
(Fußgänger drückt, Bus hat Vorzugsfahrt) beeinflußt werden kann. Mit den 
Zuständen steuerst du dann, z.B. über eine Tabelle, deine 12 Lichter.

von Tarrr s. (ta_sam)


Lesenswert?

danke viel Mals.
Zustandsdiagramm ist genauso kein Problem wie eine LED blinken zu 
lassen, aber wenn ich einen normalen " aus anderen Projekte für ein 
Ampelmodell " C-code ausführe ,  passiert nichts. Kann mir jdn helfen 
bitte!
danke.

von Peter D. (peda)


Lesenswert?

Tarrr sammm schrieb:
> C-code ausführe ,  passiert nichts.

Also wenn ich meinen C-Code ausführe, passiert was.

von Uwe (de0508)


Lesenswert?

Vielleicht zeigt Du uns deinen Programmentwurf anhand von Pseudocode ?

von Dennis S. (sixeck)


Lesenswert?

Vielleicht weil einfach zusammen kopieren einfach nicht geht. Nase ins 
Buch..... Eine Statemschine ist nun wirklich nichts schweres , und wenn 
du mit der Umgebung nicht zurechtkommst , naja..

Wenn ich da mal gedanklich reininterpretiere, Schule, nicht immer 
aufgepasst, und jetzt in letzter Sekunde was zusammen wursteln ? Kennt 
jeder,  hat jeder schonmal gemacht, jeder weis das es nicht läuft.

von Falk B. (falk)


Lesenswert?

@ Tarrr sammm (ta_sam)

>lassen, aber wenn ich einen normalen " aus anderen Projekte für ein
>Ampelmodell " C-code ausführe ,  passiert nichts.

Weil du nicht ansatzweis verstanden hast, wie man das macht und du nur 
Quelltext kopiert hast.

von Tarrr s. (ta_sam)


Lesenswert?

ich habe 4 Wochen, um mich mit einer komplett neuen Entwicklungsumgebung 
zu Recht zu finden. von dem TMS-F28069 finde ich nichts im Net außerdem 
ich bin kein Expert in der Mikrokontrollerwelt. Ich versuche in 4 Wochen 
ein Projekt fertig zu kriegen.

von Tarrr s. (ta_sam)


Lesenswert?

Ich weiß nicht mal wie die Ports heißen, sprich ich kann die Ports 
garnicht definieren

von Kaj (Gast)


Lesenswert?

Tarrr sammm schrieb:
> Ich weiß nicht mal wie die Ports heißen, sprich ich kann die Ports
> garnicht definieren
Gibt es zu dem Controller (k)ein Datenblatt? Da wird zu 100% sowas drin 
stehen wie:

Register | Adresse
PORTA       0x30
PORTB       0x40

usw...

von Tarrr s. (ta_sam)


Lesenswert?

genau das ist mein Problem. Vielleicht ist mein grösste Problem die 
englische Sprache und deswegen hoffe ich auf eure Hilfe.

Die Adressen Bzw die Register und ob ich ISR nutzen muss oder ob es mit 
einem einfachen C-Quellcode realisieren kann, das sind Punkte die mir 
noch ganz unklar sind.
ich bitte daher um Hilfe

von Falk B. (falk)


Lesenswert?

@ Tarrr sammm (ta_sam)

>genau das ist mein Problem. Vielleicht ist mein grösste Problem die
>englische Sprache und deswegen hoffe ich auf eure Hilfe.

Das wird schwierig. Praktisch alle Programmiersprachen basieren auf 
Englisch, die Doku der meisten gibt es nur in Englisch.

>Die Adressen Bzw die Register und ob ich ISR nutzen muss oder ob es mit
>einem einfachen C-Quellcode realisieren kann, das sind Punkte die mir
>noch ganz unklar sind.

Und du willst in 4 Wochen einen 32 Bit Controller ansatzweise 
beherrschen? Oje.

Für eine einfache Ampel braucht man keine Interrupts, die einzigen 
Register die man braucht sind die GPIOs. Der Rest ist einfach(stes) C.

von Peter D. (peda)


Lesenswert?

Tarrr sammm schrieb:
> eine LED blinken lassen, ist soweit kein Problem

Tarrr sammm schrieb:
> Ich weiß nicht mal wie die Ports heißen


Ohne Ports zu setzen kann keine LED blinken.

Was stimmt denn nun?

von Tarrr s. (ta_sam)


Lesenswert?

für das Projekt muss ich nur das wissen, was eine ampelschaltung 
realisiert. Sprich 4 * ( rot, gelb, Grün ) mit dem blinken von Gelb beim 
wechsel zu Rot.

Ich hoffe noch auf hilfe!
danke

von Uwe (de0508)


Lesenswert?

Tarrr,

entwerfe vorab bitte ein Zeitablaufschema, damit wird alles einfacher.

Start 0s Aktion 1
10s Aktion 2 - z.B. alle auf rot
.
.

von Tarrr s. (ta_sam)


Lesenswert?

das Beispielprogramm " LED-Blinken " ist bereits drauf!!!!

Wenn mich jdn um Hilfe fragt, dann helfe ich soweit ich kann oder ich 
lasse es sein ich danke trotzdem!

von Peter D. (peda)


Lesenswert?

Tarrr sammm schrieb:
> Ich hoffe noch auf hilfe!

Da Deine Hardware recht exotisch ist, wird Dir wohl kaum einer die 
Lösung auf dem Silbertablett liefern.

Kannst Du nun LEDs blinken lassen oder nicht?

Wenn ja, dann schreib erstmal mal auf, wie sie blinken sollen.
Ein Programm kann man erst schreiben, wenn man weiß, was es machen soll.

von Tarrr s. (ta_sam)


Lesenswert?

void A1(void) // SCI-GUI
//--------------------------------------------------------
{
  SerialHostComms();    // Serialport controls LED2 (GPIO-31)
              // Will not blink until GUI is connected

  if(LedBlinkTimer == 0)
  {
    GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;    // toggle GPIO34 which 
controls LD3 on most controlCARDs
    #if DSP2834x_DEVICE_H
    GpioDataRegs.GPBTOGGLE.bit.GPIO54 = 1;    // toggle GPIO54 which 
controls LD3 on the C2834x DIMM100 controlCARD
    #endif

    LedBlinkTimer = Gui_LedPrd_ms >> 1;      // divide by 2 (one LED 
blink period is 2 LED toggles)
  }
  else
  {
    LedBlinkTimer--;
  }

von Wertvoller Hinweis (Gast)


Lesenswert?

Wenn Du eine LED blinken lassen kannst, würde ich dieses Programm nehmen 
und am Blink-Ausgang alle 4 gelben LEDs anschließen. Die restlichen 
grünen und roten lässt Du einfach weg. Dann blinken alle gelben LEDs, 
und die Autofahrer müssen die normalen Vorfahrtregeln beachten.

Problem gelöst.

von Tarrr s. (ta_sam)


Lesenswert?

das ist aus den beispielprogramm

von Tarrr s. (ta_sam)


Lesenswert?

hahahahaha und ich bin durchgefallen

von Tarrr s. (ta_sam)


Lesenswert?

Auf dem beispielprogramm ist viel ISR und Counter usw. das macht es für 
mich noch unübersichtlicher

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Tarrr sammm schrieb:
> das Beispielprogramm " LED-Blinken " ist bereits drauf!!!!

Ich nehme an, du hast das selber compiliert und auf den Controller drauf 
bekommen? Na, dann hast du ja schon mal die Umgebung einigermaßen im 
Griff. Das Herleiten der zweiten LED (Beschaltung, Ansteuerung) gemäß 
der ersten LED müßte doch auch möglich sein, oder?

Ansonsten wurde ja schon mal gesagt: Mach dir ein Zustandsdiagramm, und 
bescheribe wann welche LED wie lange leuchten soll. Das gibt dann im 
einfachsten Fall (wenn alles auf einem starren Zeitraster-Taktung von 
z.B. 1 Sekunde basiert) auf eine Liste ählich wie:

Z1: 00-03 Grundzustand: alle ROTE LED an (Kreuzung total gesperrt)
Z2: 04-04 Ampel senkrecht  Rot-gelb, ampel Waagerecht: bleibt rot
...

Irgendwann hast du alle möglichen Zustände fertig beschrieben. Dann mußt 
du dir überlegen, wie du die Sache in Programmiersprache umsetzt. Die 
faulste Methode wäre:

Programmstart:
Z1: Setze alle Lampen gemäß Zustand Z1; warte Z1 sekunden lang
wiederhole bis unendlich:
   setzte alle LED gemäß Zustand Z2, warte Z2 sekunden lang
...
ende der Wiederholschleife

von Eumel (Gast)


Lesenswert?

Was für eine Hilfe erhoffst du dir denn? Ein fertiges Programm?

von Falk B. (falk)


Lesenswert?

@ Tarrr sammm (ta_sam)

>das Beispielprogramm " LED-Blinken " ist bereits drauf!!!!

Schön, aber hast DU es verstanden?

Beim C2000 Lauchpad, aka PICCOLO ist schon ein schönes Demo drauf 
und es gibt auch das komplette Projekt bei TI zum Download! Das kann man 
im Code Composer Sutio einfach aufmachen und einfach ändern!

Damit kriegt man auch eine Ampel in 4 Wochen hin! Sogar mit Timer und 
allem.

Fang erstmal damit an, das vorhandene Projekt LEICHT zu ändern. Lass man 
die 4 LEDs mit anderen Mustern blinken.

von Tarrr s. (ta_sam)


Lesenswert?

Ich versuche es hinzukriegen. ich möchte mich bei euch allen ganz 
herzlich bedanken.

von Tarrr s. (ta_sam)


Lesenswert?

aber wie schon geschrieben, meine schwache englischkenntnisse machen es 
mir noch schwerer

von Helge A. (besupreme)


Lesenswert?

Hier http://www.ti.com/product/TMS320F28069/technicaldocuments ist dein 
Prozessor beschrieben. Hast du denn keine Dokumentation zu deinem 
Experimentiersatz dazu bekommen? Sind die 12 LED schon angeschlossen, 
sodaß du geich programmieren kannst? Gibt es dazu eine Dokumentation, wo 
die angeschlossen sind?

Strukturen wie diese: GpioDataRegs.GPBTOGGLE.bit.GPIO34
sollten in der Hilfe deiner Entwicklungsumgebung zu finden sein (und 
hier im Forum: Beitrag "Re: Registerbeschreiben in Code Composer v4 auf TMS320F2808" ).

von Tarrr s. (ta_sam)


Lesenswert?

Vielen Dank. Ich habe eine Platine so muss ich noch nicht direkt löten.
Ich habe vom professor nur den controller bekommen, die software dazu 
musste ich sogar selber aus der seite installieren

von Detlef K. (adenin)


Lesenswert?

Tarrr sammm schrieb:
> Ich habe vom professor nur den controller bekommen, die software dazu
> musste ich sogar selber aus der seite installieren

Das sind ja unzumutbare Zustände!

von Tarrr s. (ta_sam)


Lesenswert?

Es ist leider so und ich muss die leistung bringen ansonsten bin ich 
durchgefallen

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Tarrr sammm schrieb:
> Ich habe vom professor nur den controller bekommen, die software dazu
> musste ich sogar selber aus der seite installieren

wahnsinn! Das sind ja mal Anforderungen!

Dir ist aber schon klar, (wenn du "Professor" schreibst vermute ich das 
zumindest mal) Daß du irgendwann mal selbstständig als Ingenieur 
arbeiten wirst, und sogar andere Menschen anleiten wirst, etwas zu tun? 
Fühlst du dich einer solchen Verantwortung und Aufgabe gewachsen?

Tarrr sammm schrieb:
> Es ist leider so und ich muss die leistung bringen ansonsten bin
> ich durchgefallen

könntest du das angesichts des vorherigen Gesagten nachvollziehen, warum 
du durchfallen würdest?

: Bearbeitet durch User
von Detlef K. (adenin)


Lesenswert?

Er, Sie oder Es versucht doch gerade seine/ihre Führungsqualitäten zu 
erproben, um eine Aufgabe gelöst zu bekommen.

von Karl H. (kbuchegg)


Lesenswert?

Dann ist aber die Mitleidsmasche der falsche Weg. Das funktioniert 
nicht.

von Mike (Gast)


Lesenswert?

Tarrr sammm schrieb:
> Zustandsdiagramm ist genauso kein Problem

Dann zeig's mal, sonst läuft das Ding Montag immer noch nicht.

von Udo S. (urschmitt)


Lesenswert?

Tarrr sammm schrieb:
> Zustandsdiagramm ist genauso kein Problem
Eben, zeige uns doch mal dein Zustandsdiagramm der Ampel, dann sieht man 
weiter.
Was ist das eigentlich für ne Uni/Fachschule und was für eine Arbeit?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.