Forum: Mikrocontroller und Digitale Elektronik Einstieg USB + Mikrokontroller


von Rene L. (zappel)


Lesenswert?

Hi µC!

Ich habe nun die letzten 3 Tage gegoogelt, gesucht, gelesen und geschaut 
... doch je länger ich darüber nachdenke und desto mehr Informationen 
ich in mich rein stopfe desto unschlüssiger werde ich mir ...

Angefangen hat alles mit der Suche nach einem Ambient-Light zum 
Nachrüsten für den PC ... gibt es nix tolles ... also informiert was es 
so zum selber basteln gibt, was man braucht ... wie es realisiert werden 
kann ... nun bin ich auf ein tolles Video gestoßen - und der Wille ist 
da es nachzubauen ... auf eigene Faust! 
(http://www.youtube.com/watch?v=mXBqg3Zeg0k)

Nun bin ich so weit das ein paar Dinge fest stehen ...
- es soll per USB angeschlossen werden
- es sollen min. 8 oder 9 LEDs ansteuerbar sein
- ich möchte die Helligkeit mittels PWM regeln (idealerweise die PWM 
selbst programmieren, kein D/A-Wandler ... diese Features können zwar 
auf dem µC vorgesehen sein, aber zu Übungszwecken möchte ich das später 
selbst programmieren :) )
- das ganze soll kostengünstig sein

---

Dabei möchte ich mich schrittweise voran tasten ... erst nur eine LED 
ansteuern (an / aus), dann eine LED mit PWM, später mehrere LEDs faden, 
ganz zum Schluss die Farben der LEDs mit einer eigenen Software setzen

---

Nun aber meine eigentliche Frage: Was benötige ich so richtig ... ich 
dachte an ein Launchpad von TI ... oder Microstick ... oder Arduino ... 
oder oder oder ... ich weiss vor lauter Varianten schon garnicht mehr 
wonach ich suchen sollte ...

Was könnt ihr für einen Einsteiger empfehlen? (Delphi, C++ und andere 
Sprachen beherrsche ich "fließend" ;) aber das hier ist Neuland)

(grrr) Ist das viel Text geworden - aber vllt. liest es sich ja jemand 
durch und hilft mir ein wenig auf die Sprünge :)

von Gelöscht (kami89)


Lesenswert?

Hallo Rene,

Also zum Thema USB kann ich dir nur die USB-Seriell-Wandler empfehlen. 
Mit denen lässt sich die Kommunikation zwischen PC und Mikrocontroller 
extrem einfach gestalten.

Häufig werden die Chips von FTDI, z.B. der FT232RL verwendet:
http://www.ftdichip.com/Products/ICs/FT232R.htm
Es gibt auch fertige Platinen, bestückt mit diesem IC.

Da RXD und TXD von diesem IC 5V-Pegel haben, lassen die sich direkt mit 
jedem UART-fähigen Mikrocontroller verbinden.

PC-Seitig wird dir ein serieller Port simuliert, welcher sich sehr 
einfach auch mit Delphi usw. ansprechen lässt. Dafür gibt es fertige 
Bibliotheken.

mfg

von Holger W. (holgerw)


Lesenswert?

PIC 18F2550 o.ä., Quarz und eine USB Buchse.
Software von www.sprut.de
Einfacher gehts nimmer...

Im Bild mal 2 Testaufbauten, links RFM12 Funkmodul mit USB Anschluß
Holger

von Holger W. (holgerw)


Angehängte Dateien:

Lesenswert?

Bild wollte nicht im vorh. Post

von Therfd (Gast)


Lesenswert?

Nimm nen ATmega328 oder irgendwas Arduino kompatibles, interessant wäre 
auch noch das hier für dein Vorhaben:
http://www.obdev.at/products/vusb/index-de.html

von Rene L. (zappel)


Lesenswert?

Um die PICs zu programmieren braucht man doch ein extra 
Programmiergerät? Das wollte ich wenn möglich vermeiden und bevorzuge 
ISP - daher auch die Idee auf eines der oben genannten Starterkits 
zurückzugreifen - zumindest für die ersten Gehversuche ...

Demoboards scheint es ja auch welche für die PICs zu geben - nur die 
sind auch gleich ein Stück teurer

Die ATmega kann man doch mit dem AVR-Studio programmieren, debuggen, 
etc.? Das ist schon eher etwas für den Anfang - glaube ich zumindest - 
oder lasse ich mich da blenden?

von Holger W. (holgerw)


Lesenswert?

Wenn man dem PIC den USB Bootloader spendiert kann man ihn per USB 
flashen. Aber der Bootloader muss erstmal rein...

Holger

von Rene L. (zappel)


Lesenswert?

Das meine ich ja, und damit der rein kommt brauche ich z.B.: nen Brenner 
wie bei sprut.de ... nach dem Motto: Warum einfach wenn's auch 
kompliziert geht?

Bei so einem fertigen Board habe ich ja auch alles drauf was ich 
brauche, und kann nach Wunsch den µC durch einen anderen (baugleichen) 
ersetzen + programmieren ohne das ich da extra einen Bootloader flashen 
muss? Oder sehe ich das falsch? Der BL müsste dort doch direkt auf dem 
Chip schon drauf sein?

von Rene L. (zappel)


Lesenswert?

Ich habe mir nun 2 TI MSP430 LaunchPads bestellt die nächste Woche 
eintreffen. Falls der Speicher zu wenig ist müssen noch ein paar größere 
Chips her, die Kosten dann aber auch nur wenige Cent.

Werde euch auf dem laufenden halten über das erste kleine Projekt sobald 
ich die Teile in der Hand halte :)

von Rene L. (zappel)


Lesenswert?

So, habe die Launchpads seit 3 Tagen bei mir. Bin mit der Qualität ganz 
zufrieden. Der mitgelieferte Quarz ist eine ganz schöne Fummelei - 
zumindest ohne vernünftigen Lötkolben ... ansonsten die ersten Programme 
zum laufen gebracht, und aktuell eine RGB-LED die ich mittels Soft-PWM 
ansteuere. Dabei nutze ich den Watchdog-Timer, da ich diesen später für 
dieses Projekt eh nicht benötige.
1
/*
2
  3-Kanal-Soft-PWM mithilfe des Watchdog-Timers
3
*/
4
5
#include <msp430g2211.h>
6
7
int max = 100;
8
volatile int timer = 0;
9
int pwm[3] = {90, 100, 100}; // weiss
10
11
void main(void) {
12
  WDTCTL = WDT_MDLY_0_064;
13
  // 100 x 0.064 ms = 6.4 ms = ~156 fps
14
15
  P1DIR |= BIT0;
16
  P1OUT |= BIT0;
17
  P1DIR |= BIT1;
18
  P1OUT |= BIT1;  
19
  P1DIR |= BIT2;
20
  P1OUT |= BIT2;
21
22
  IE1 |= WDTIE;
23
  
24
  __bis_SR_register(CPUOFF + GIE);
25
  
26
  do {} while (1);
27
}
28
29
#pragma vector=WDT_VECTOR
30
__interrupt void WDT_ISR(void) {
31
  ++timer;
32
  
33
  if (timer == max) {
34
    timer = 0;
35
    
36
    P1OUT |= BIT0;
37
    P1OUT |= BIT1;
38
    P1OUT |= BIT2;
39
  }
40
  
41
  if (timer == pwm[0]) {
42
    P1OUT &= ~BIT0;
43
  }
44
  if (timer == pwm[1]) {
45
    P1OUT &= ~BIT1;
46
  }
47
  if (timer == pwm[2]) {
48
    P1OUT &= ~BIT2;
49
  }  
50
}

Ist sicher noch nicht die beste Lösung, aber für den Anfang bin ich ganz 
zufrieden damit ... später muss daraus aber eine 27-Kanal-PWM-Steuerung 
werden - vermutlich mithilfe 2er TLC5940 - also habe ich noch einiges 
vor mir.

Nun aber noch 2 kleine Fragen:
- Gibt es epmfehlenswerte Bücher zur MSP430G - Reihe (ValueLine, 
Launchpad-kompatibel)
- Ist es möglich über das Launchpad (USB) ein 
Kommunikationsschnittstelle zum PC aufzubauen? (Ich möchte darüber die 
Farbwerte ändern können)

MfG

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.