Statistischer Erhebung zur Verbreitung von µC im Forum

  • Hast du eine µC-Grundausstattung? 1

    1. Habs probiert, ist nix für mich - lang lebe der 74xx! (0) 0%
    2. Ich überlege, obs was für mich wäre... (0) 0%
    3. Ja, liegt hier, aber wie geht das? (0) 0%
    4. Ist bestellt, warte auf die Lieferung (0) 0%
    5. Klar, wie kann man ohne leben (1) 100%

    Es würde mich mal interessieren, wer hier schon alles µC zuhause hat und ob irgendwelche Ideen für Tutorials vorhanden sind...

  • \:D/
    bin auch bereits infiziert. Angefangen hats wegen ner Vorlesung, haben da mit nem ATMEL Butterfly angefangen. Naja dann wollte ich mal was selbst entwerfen und bin nicht mehr davon losgekommen...


    Hmm, an Tutorials ist ja schon einiges abgedeckt. Ich denke mal für den Bereich der LED-Steuerung wären eh hauptsächlich Blink-,Blitz-, PWM-, Fader-Schaltungen von Interesse und die fliegen ja schon genügend hier rum.


    Evtl könnte man ne Matrix mal durchkauen, bzw wie man ne RGB-Matrix ansteuert oder so.

  • Habe gerade angefangen mich mit PICs zu beschäftigen.
    Habe Flocode mit dem entsprechenden E-Blocks zu Hause
    ist ein gutes System vor allem Flowcode ist relativ einfach zu verstehen,
    habe zwar noch ein paar schwierigkeiten aber mit etwas übung wird das schonn gehn. :oops:
    Ein Tutorial wäre bestimmt Hilfreich.

  • Hmm, vielleicht habe ich die Frage ja auch zu streng auf Leds bezogen...
    Aber selbst µc-Tutorials gibts schon zu genüge im Netz.


    RGB_LED_MAN:
    Hast du dich schon einmal im Elektor-Forum umgeschaut,da müssten ein paar Leute rumgeistern,die davon n bißchen Ahnung haben. Schließlich werden die Dinger ja auch sicherlich in größeren Mengen von Elektor vertrieben.


    ch820:
    Schau mal bei http://www.mikrocontroller.net vorbei, da gibts ein mittlerweile recht umfangreiches Tutorial für die AVRs.

  • RGB-Matrix is so ne Sache... nicht ganz einfach das.
    Vor allem, wenn man auch noch mehr als 8 Farben anzeigen will...
    Wir können ja mal anfangen, uns so ein Ding auszudenken.


    Ich schlage vor:
    - 8x8 RGB-LEDs in einem Modul
    - Ansteuerung über TWi oder SPI, zur Not RS232
    - Pro Pixel 2 Byte, also 4 Bit pro Farbe plus 4 Bit Helligkeit z.B.
    - Zur Not ginge auch ein Byte pro Pixel - also 2/2/3 z.b.
    - Also Controller nen Mega8, der 2313 ist zu klein, glaube ich.
    - Die Module sollten kaskadierbar sein

  • Joa. Für den Anfang gäbs mal ein paar Projekte zum nachbauen.


    Atmel Evaluationsboard 2.0 Bausatz liegt hier rum und im Rechner Schaltpläne für verschiedene µC getriebene Gerätschaften.
    Zwei Attiny2313 liegen hier auch schon für oben erwähnte Schaltungen.


    In was proggt man denn so?
    Literaturtipps? Ebooks?

  • ch820:
    Fang einfach an!
    besorg dir irgendwoher ein passendes HEX oder BIN file für deinen µC und versuch das da rein zu flashen. Wenn du die Hürde hast, dann lad dir Bascom und fang mit nem LED-Blinker an.
    Von da aus kommen dir von alleine Ideen und bei der Suche nach Lösungen findet man immer neuen Input.
    Die Bascom-Hilfe ist auch recht informativ, wenn auch nicht wirklich super strukturiert...


    Und du kannst natürlich immer gerne hier fragen!

  • Zitat von "UnregisteredGuest"

    In was proggt man denn so?
    Literaturtipps? Ebooks?


    Also ich mache das mit Bascom Basic.
    Aktuelle Demo (kann alles, aber nur bis 4kB Code - reicht aber dicke):
    http://www.mcselec.com/index.p…ownload&gid=139&Itemid=54
    Handbuch dazu:
    http://www.mcselec.com/index.p…ownload&gid=140&Itemid=54
    Ein Forum dazu gibts auch:
    http://www.mcselec.com/index2.…3b2fbc1253c75665d3caf2470Oder bei Roboternetz auf Deutsch:
    http://www.roboternetz.de/phpBB2/viewforum.php?f=32

  • Zitat von "UnregisteredGuest"

    In was proggt man denn so?


    Bei mir ists eher C. Assembler wäre auch kein Problem, aber zu unübersichtlich.


    Stefan_Z
    8x8 klingt gut. Das mit dem Mega8 hängt davon ab, was genau gemacht werden soll. Erhält der Controller immer ein neues "Bild",dann reichen bei 8x8 und 1Byte pro Pixel die 128Byte SRAM aus. Aber tendenziell wäre ein Mega8 besser.
    Schnittstelle würde ich auf jeden Fall auf SPI setzen, da RS232 nicht ohne weiteres an mehr als einen anderen schicken kann und TWI bringt uU nicht die nötige Geschwindigkeit.


    Des weiteren wäre noch zu überlegen, wie die LEds angesteuert werden. Die Zeilen/ Spalten meinetwegen direkt vom Controller. Aber die einzelnen Farben wohl über Schieberegister. Z.b. 74HCT595.



    Das ne RGB-Matrix schon ne recht kniffelige Sache ist weiß ich, aber ich träume auch schon länger von ner Art Wandbild, dass das "Bild" wechseln kann...

  • Der Tiny2313 ist einfach zu klein... 2k Flash reichen nicht aus, um coole Funktionen zu implementieren.
    Der µC sollte schon das "Bild" statisch im RAM halten und solange anzeigen, bis er ein neues kriegt.
    Oder man baut direkt einen Font mit ein, etc.. Dafür braucht man dann aber halt einfach Platz.


    Zur Absteuerung brauchen wir auf jeden Fall noch zusätzliche Chips, das ist klar. 8x8x4 Pins bei den LEDs sind ja alleine schon 256 Lötstellen ;)
    Wirklich interessant ist die Frage, wie wir die LEDs genau ansteuern und wie die Farben gemischt werden.
    Bei Spaltenmultiplexing wären ja immer noch 3x8 = 24 LEDs zu dimmen.


    Einen Weg könnten wir gehen, das dürfte sogar recht einfach sein: Allegromicro.com bieten ein 32-Bit Shift-Register an...
    http://www.allegromicro.com/en/Products/Part_Numbers/6818/
    Das Ding kann bis zu 40mA @ 40V verkraften und akzeptiert SPI bis 33MHz. Samples sind geordert, wenn sie ankommen berichte ich mehr.


    Der Vorteil bei einem 32-Bit Shift-Register wäre halt, dass man die 24 LEDs alle zusammen schalten könnte und dazu noch die 8 Spalten - und das alles in einem Chip. Dadurch kann man sich das Deaktivieren der LEDs beim Spaltenwechsel sparen (wegen Geisterbildern) und Platz sowieso.

  • Das mit dem 32bit-Schieberegister klingt nicht schlecht.
    Das mit der Anzahl an zu dimmenden Leds müsste aber klappen.
    Habe im Moment wie schonmal erwähnt meine 5x7 Matrix(einfarbig) mit 8 möglichen Helligkeiten am Laufen.


    DER Tiny läuft mit 8MHz, der Timer mit 1MHz, alle 256 Takte ein Int(theoretsich)... Innerhalb eines Ints lade ich ein neues Bild, erstelle die Ausgabe und berechne die PWM...


    Habe gerade mal 150Takte für ne simulierte Ausgabe auf ein SR mit eingebaut und es läuft unverändert schnell(augenscheinlich).


    Ich denke bei 16MHz sollte der Mega8 das schaffen. Außerdem gibts ja keine 24Bit Fabtiefe. Wozu auch bei 64 Leds pro Block?

  • Hmm,mir kam gerade noch eine Idee, wie man das Problem mit den Schieberegistern umgehen könnte.


    Also: Man benutzt anstelle der SRs einfach jeweils einen ULN2803 und legt zur Ansteuerung den ganzen Port darauf. Das ganze baut man dann 3mal,für jede Farbe einmal und aktiviert jeden ULN mit nem Transistor.
    D.h., dass man insgesamt 2fach multiplext,nämlich einmal in den Spalten und dann in den Farben. Da aber die Ansteuerung des SRs wegfällt, kann der ATMega in "Ruhe" die PWM durchrattern, oder man macht das wie du mit der Geschichte mit der Hardware-PWM und den 6Leds. Hab damit noch nicht experimentiert und weiß nicht, wie schnell das wirklich ist.

  • Hallihallo,


    ich schrub das schon im anderen Thread.
    Ich befürchte, das schon zu schnell mit Begriffen hantiert wird
    die nicht jeden plausibel sind.
    Anhand der ermittelten umfrage denke ich. das man wirklich ganz
    unten anfangen sollte - ok - elektronische Kenntnisse sollten
    schon vorhanden sein.
    Ich würde mich jedenfalls sehr freuen wenn hier was mit bascom
    gestartet wird.
    Ein guten Eisteigerkurs gibt auch im rcline Forum, der aber speziel
    auf rc modellbau ausgelegt ist.


    Das hier speziell für LED Anwendungen zu realisieren, würde mir
    besser gefallen.
    Als weiteres Projekt würde mir das von stefan_z gut gefallen, das
    mit den vielen gedimmten leds...mir mehr details zum prog.


    Gruss, Andreas

  • bademeister:
    Ich befürchte fast, dass die Hardware-PWM zu langsam ist. Die Umschaltung braucht einiges an Zyklen, daher kriegen wir da Timingprobleme.
    Die ULNs funktionieren bestimmt, vor allem gibt man die Daten da ja parallel aus, das wird deutlich schneller gehen. Allerdings braucht der µC dann viel mehr Pins und die Farben leuchten nicht mehr gleichzeitig.


    Das 32-Pin SR hat halt den Vorteil, dass der µC nix anderes machen muss, als vier Bytes rauszupushen. Drei mal Farbe und einmal Spalte.
    Die Manipulation der 32 Bits ist auch denkbar einfach, selbst für die Farbstufen sollte es möglich sein, was einfaches mit Logik-Funktionen zu machen.
    Nehmen wir mal als Datenformat pro Pixel ein Byte:
    RRGGBBHH - 2 Bit pro Farbe + 2 Bit Helligkeit (2 Bit = 4 Stufen)
    Entsprechende Soft-PWM-Muster (O = an / X = aus):
    (es wären dann vier Durchläufe pro Spalte nötig)
    00 - 00% - XXXX
    10 - 25% - OXXX
    01 - 50% - OXOX
    11 - 100% - OOOO


    Die Helligkeits-Bits müsste man über die Spalten-Durchgänge anwenden, die Pixel mit den dunkleren Stufen würden dann halt entsprechend ausgeschaltet. Auf 0% regeln macht keinen Sinn, daher braucht man hier mindestens 5 Durchgänge:
    XXXXO - 20%
    XOXOX - 40%
    OXOXO - 60%
    OOXOO - 80%
    OOOOO - 100%


    Wie man am geschicktesten und schnellsten die 8 Bytes einer Spalte zusammenfügt und vor allem die Soft-PWM clever einbaut, darüber können wir uns jetzt mal den kopf zerbrechen.
    Am besten wäre es glaubich einen neuen Thread zu machen und da erstmal ein Diagramm der gewünschten Funktion zu machen.
    Danach implementieren wir es in Basic und C - sollte eigentlich einfach sein, wenn die Logik mal steht...

  • Zitat von "meiserati"

    Als weiteres Projekt würde mir das von stefan_z gut gefallen, dasmit den vielen gedimmten leds...mir mehr details zum prog.


    Ich kann den Code mal raussuchen...
    Aber es ist echt nicht mehr als:
    - PWM setzen
    - 1. LED aktivieren
    - warten
    - LED deaktivieren
    - PWM umstellen
    - warten
    - 2. LED aktivieren
    - usw.


    Wie man die PWMs aktiviert steht schon im Power-Fader-Tutorial, ist also keine Hexerei.