Problem mit meinem MSP-Board

Hey Leute, ich hab mal ein Problem mit meinem MSP-Board. Irgendwie scheint es so,dass alte Sketches noch immer "drinnenstecken" würden. Zum Beispiel hatte ich davor so programmiert, dass alle LEDs, außer eine, sagen wir LED 4, leuchten und wenn ein Taster, sagen wir Taster 1 gedrückt wird leuchtet er. Hat funktioniert. Dann nochmal aber mit Taster 2. auch funktioniert. Jedoch, obwohl nichts mehr mit Taster 1 im Sketch steht (außer im void setup) leuchtet die LED auch, wenn ich den Taster 1 drücke. Noch komischer wird es wenn ich ein Sketch habe welches nur eine LED zum blinken bringt. Dann blinkt sie, jedoch die anderen LEDs leuchten,außer die, die ich oben nicht zum Leuchten gebracht habe und wenn ich Taster 1 oder 2 drücke leuchet die, die nicht leuchtet. Ich hab auch mal ein Sketch ge-uploadet, welches nur manche LED leuchten lässt und manchmal, wenn ich ein Sketch "abspielen" will, leuchten wie am Anfang alle LEDs oder nur diejenigen die ich ein andermal leuchten gelassen habe. Oder ich habe auch mal einen Sketch programmiert, bei der alle LEDs leuchten. Spiele ich die ab, leuchten manchmal alle LEDs oder auch mal die alle außer die LED4, wenn ich die Schaltung anstupse... An der Schaltung liegt es nicht, kann ich eigentlich fast ausschließen. Am Microcontroller glaube ich auch nicht, habe sie schon versucht zu wechseln, aber hat nichts gebracht. Wahrscheinlich liegt es am MSP-Board oder an einen Fehler von energia. Habt ihr ein paar Tipps, was der Fehler ist?

Was ist das MSP-Board? Welchen Arduino verwendest Du. Gibst Du uns den Schaltplan? ecc. Uwe

Das MSP-Board ist sowie Arduino ein Microcontroller glaub ich. Ich benutze das MSP430-Board von Texas Industries (von der Schule aus) Es unterstützt aber auch die Programmierung von Arduino. Weiß jetzt nicht wie ich den Schaltplan geben soll, an ihm liegt es aber auch nicht, ist soweit richtig, von meinen Lehrern auch schon bestätigt, kann sie jetzt aber leider nicht fragen, da ich es bald abgeben muss und zu Hause weiter mache. Könnte sie dann nur montags fragen, Mittwoch ist aber schon Abgabe.

StudentXX: Das MSP-Board ist sowie Arduino ein Microcontroller glaub ich.

Boah ey!

StudentXX: Ich benutze das MSP430-Board von Texas Industries (von der Schule aus) Es unterstützt aber auch die Programmierung von Arduino.

Boah ey! Gab es eine Namensänderung und "Texas Instruments" heißt nun "Texas Industries"? Da muss ich wohl etwas verpasst haben.

Die Arduino-Software ist allerdings für AVR-Controller und nicht für TI-Controller, wenn ich mich nicht täusche!

Sag mal in echt: Die Software, mit der Du Deine Programme in Dein TI-MSP-Board hochlädst, hast Du Dir nicht von www.arduino.cc heruntergeladen, sondern von wo?

Ich wette drauf: Die Webseite hat mit www.arduino.cc nicht das geringste zu tun.

StudentXX: Weiß jetzt nicht wie ich den Schaltplan geben soll, an ihm liegt es aber auch nicht, ist soweit richtig, von meinen Lehrern auch schon bestätigt, kann sie jetzt aber leider nicht fragen, da ich es bald abgeben muss und zu Hause weiter mache. Könnte sie dann nur montags fragen, Mittwoch ist aber schon Abgabe.

Vielleicht wendest Du Dich besser an ein Forum, wo man sich mit TI-MSP Boards auskennt? Und mit der von Dir verwendeten Software.

Selbst wenn diese "andere" Software Quellcode-kompatible Sketches übersetzen kann: Die TI-MSP Boards sind keine Boards mit AVR-Controller und es ist auch nicht jede Hardware-Schaltung, die an einem AVR-Controller funktioniert, an einem MSP-Controller funktionsfähig.

Da Du das Beispiel "LED" angesprochen hast: Die 8-Bit AVR-Controller geben an ihren Digital-Pins bis zu 40 mA Strom her, das reicht also locker, um mit einem geeigneten Vorwiderstand eine 20mA-LED zu betreiben.

Soviel Strom an den Pins vertragen die meisten Controller überhaupt nicht. Gerade mal nachgesehen, ein TI MSP430 verträgt maximal 6 mA an einem Digitalausgang. Versuchst Du nun, an einem mit max. 6 mA spezifizierten Controllerausgang eine LED mit 20 mA zu betreiben, dann ist das bei einem AVR-Atmega völlig problemlos und den TI-MSP430 überlastet Du damit total und würdest ihn beim Versuch wahrscheinlich beschädigen.

20mA LEDs darfst Du an einem TI-MSP430 also nur mit einer Transistor-Treiberschaltung betreiben: Der Controller steuert dann nur einen kleinen Steuerstrom von 1-3 mA durch einen Transistor, der Transistor schaltet die 20 mA für die LED.

Um nur mal ein paar LEDs blinken zu lassen, ist das also mit dem TI-MSP430 von der Hardwareschaltung viel aufwändiger als mit einem AVR-Atmega. Der TI-MSP430 braucht für jede blinkende LED eine Transistor-Treiberschaltung, der AVR-Atmega kann bis 20 mA locker direkt am Pin blinken lassen, weil er selbst bis zu 40 mA belastbar ist (und nicht nur bis zu 6mA).

Wenn Du verschiedene Ports auf Deinem TI-MSP430 bereits "verbrutzelt" hast, weil Du unter Mißachtung des Datenblatts versucht hast, 20mA LEDs direkt zum Leuchten zu bringen, so wie es bei einem Arduino völlig problemlos ist, dann hast Du nicht noch "alte Sketches drinstecken", sondern dann hast Du Deinen Controller durch Überlastung schwer beschädigt. Und in dem Fall wäre es kein Wunder, wenn die Digitalausgänge nicht mehr das machen, was sie sollen.

Sorry, hab den Namen von TI nicht mehr richtig im Kopf gehabt. Ich benuzte als Software Energia, habe in der Schule aber gehört, dass die Sketches, eigentlich die gleichen sind wie von Arduino. Außerdem hatte ich Vorwiederstände und das normale Blinken von LEDs ging in der Schule auch ganz normal ohne Probleme.

Hallo,

seine Energia IDE scheint eine Kopie oder sowas wie unsere Arduino IDE zu sein. Ist ja lustig. :)

http://energia.nu/Reference_Index.html

Nur die Eigenheiten des µC kann auch eine scheinbar gleiche IDE nicht angleichen. Bezüglich Belastung der Ports usw. wie andere schon geschrieben haben.

StudentXX: Vorwiederstände

Musst Du in der Schule auch eine schriftliche Ausarbeitung zu Deiner Bastelei abgeben? In dem Fall würde es sich wohl gut machen, wenn Du die in der Schaltung verbauten Bauteile wenigstens richtig schreiben kannst!

StudentXX: das normale Blinken von LEDs ging in der Schule auch ganz normal ohne Probleme.

Und, nützt Dir das jetzt etwas, dass es in der Schule funktionierte?

Entweder stimmt an Deiner Schaltung etwas nicht. Oder Du hast wegen einer Fehlbeschaltung Dein Controller-Board geschrottet. Oder es stimmt etwas mit Deinem Sketch nicht.

Am besten prüfst Du nun zunächst einmal, ob mit dem Sketch vielleicht etwas nicht stimmt. Dazu kannst Du einen getesteten und funktionierenden Sketch laden und ausprobieren. Z.B. den "Blink" Sketch, und diesen mal für verschiedene LEDs einzeln testen.

Funktioniert denn der "Blink" Sketch für alle in Frage kommenden LEDs auf Deinem Board?

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Oder blinken damit auch zusätzliche LEDs, die gar nicht angesteuert werden? Oder blinkt eine angesteuerte LED damit nicht?

Hallo,

ich möchte noch anmerken das zwar die Arduino typischen Befehle gleich sind, jedoch die Pinbelegung/Namen/Bezeichnung nicht 1:1 übernommen werden kann. Ich hoffe das weist Du. Damit mußt Du die Arduino Sketche zumindestens in ihrer Pinbelegung vorher immer anpassen. http://energia.nu/Guide_MSP430LaunchPad.html

@jurs 1. Ah verdammt, schreib ich jedes Mal mit ie, obwohl ich das schon mehrfach verbessert bekommen gekriegt habe. 2.Nein, es nützt mir nichts, dass es in der Schule funktionierte, wollte dir damit bloß sagen, dass das Problem nicht daran liegt, dass etwas nicht kompatibel ist und es bei allen mit dem Board und der Software problemlos geklappt hat. 3. DIe LEDs blinken alle, wenn ich es schreibe, außer [u]manchmal[/u] die eine LED, die ich am Anfangspost erwähnt habe. Jedoch leuchten [u]alle[/u] anderen (,nicht blinken, leuchten nur). (Auch, wenn ich merke, dass dir was an mir nicht passt, finde ich es trotzdem gut, dass du versuchst zu helfen.)

@Doc_Arduino Ja, ist mir schon bewusst, arbeiten mit dem ja schon das halbe Schuljahr über. Aber, gut, dass du es erwähnst. (Gibt ja vielleicht ein paar, die es nicht wissen würden.)

Hallo,

jurs möchte Dir sagen, nehme ich stark an, weil Du mit dem Problem nicht weiter kommst, dass Du erstmal die Hardware überprüfen sollst. Jede LED bzw. jeden Port einzeln ob der richtig funktioniert. Dauer aus (digital 0), dauer an (digital 1), blinken. Maximale Strombelastung pro Pin beachten. Wenn Du alle einzeln durch hast, fängst Du wieder vorn an und nimmst immer eine weitere LED/Pin dazu.

Wir nehmen immer noch an, dass Dein µC einen Treffer abbekommen hat. Du kannst hier noch 100 Tage lang schreiben es ist alles i.O., nur wenn dem so wäre würdest Du hier nicht fragen. Da mußt Du Dich mal in unsere Lage versetzen. Wir kennen Dein Board nicht, ich zumindestens, und sollen helfen. Wir wollen ja auch helfen. Wir können jedoch nur Deinen Text lesen den Du schreibst und vielleicht noch der ein oder andere zwischen den Zeilen lesen.

Teste bitte erstmal die Hardware, sprich den µC. Sonst drehen wir uns zu sehr im Kreis.

Edit:
noch dümmer um die Ecke gedacht. Hast Du die Schaltung rund um den µC in der Schule abgebaut und zu Hause wieder aufgebaut, sprich neu verdrahtet? Code ist gleich geblieben? Dann liegt der Fehler im Aufbau. Irgendein Draht falsch gesteckt oder sowas. Dann hilft meistens nur alles runter und neu verdrahten.

StudentXX: 3. DIe LEDs blinken alle, wenn ich es schreibe, außer [u]manchmal[/u] die eine LED, die ich am Anfangspost erwähnt habe. Jedoch leuchten [u]alle[/u] anderen (,nicht blinken, leuchten nur).

Wenn der "Blink" Sketch mit den in Frage kommenden LEDs einwandfrei blinkt, scheint das Board und die LED-Beschaltung soweit OK zu sein.

Bleiben als Fehlerquelle die Taster-Beschaltung (z.B. fehlende PullUp-/PullDown-Widerstände) oder Fehler im Programm.

Am besten postest Du mal die Beschaltung Deines Boards und den Programm-Sketch. Ein Schaltbild kannst Du über "Additional Options" beim Schreiben eines Beitrags dranhängen.

Sonst wird eine Ferndiagnose in diesem Forum noch schwieriger als sie ohnehin schon ist, weil Du ja völlig inkompatible Hardware mit allenfalls bedingt quellcodekompatibler Software verwendest, und keine Arduino-Hardware mit Arduino-Software.