Toon posts:

4-bits SPI PWM leddriver

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben veeleisend, maar ik heb een leddriver nodig die door SPI bus data kan ontvangen, die 4-bits PWM uitstuurt om mijn LEDs aan te sturen. oja, hoe meer kanalen hij uit kan sturen hoe beter. 8 bit pwm is niet te doen.
Kan iemand mij vertellen welke drivers ik daar het beste voor kan gebruiken?

Ik ben bezig om een LEDwiel te maken. (bijvoorbeeld ZOIETS)
aantal rotaties per seconde: +- 4
updates per rotatie: 256
aantal LEDs totaal: 256 (32 per strip, 4 strips per zijde, 2 zijden)
aangezien het RGB leds zijn: 3 kanalen per LED
data per kanaal: 4 bits
totaal: iets meer dan 3.000.000 bps ZONDER OVERHEAD

Ik heb wel drivers gevonden met 12 bit PWM, maar dan kan de SPI bus het niet echt meer aan van een ATMega microcontroller

Wie kan me helpen :-)

Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 12-10 06:44

Sprite_tm

Semi-Chinees

Waarom pak je er dan geen snellere proc bij? Dat zou mijn oplossing zijn. (Komt bij dat je volgens mij met desnoods wat gepruts in asm die 3Mbps ook nog wel haalt trouwens, mits je een hardware SPI-ding pakt.)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Je hebt wel een punt, maar het scheelt enorm veel data die ik moet versturen als ik een 4-bit PWM moduletje heb ipv een 12-bit.

Ik zit er wel aan te denken om een 32MHz XMega te pakken (met dus 16MHz SPI) en dan ben ik al een hoop verder, maar als iemand heeeeel toevallig een 4-bits leddriver weet :*)

Acties:
  • 0 Henk 'm!

  • Lethalshot
  • Registratie: December 2007
  • Laatst online: 13:43
Waarom misbruik je niet gewoon een shift-register zoals de HC595. Er zijn zat voorbeelden waarbij deze op de SPI bus worden aangesloten en dan kan je heel eenvoudig je eigen driver programmeren. De Chips kan je ook gewoon in serie zetten om makkelijk een n*8 kanaals driver te maken. De software hiervoor is ook niet echt wereldschokkend. Tevens kan je het dan zo maken dat alle leds tegelijk updaten ipv 1 voor 1. Daarnaast kosten die shift register helemaal niks meer en kan je je LED's simpel met een weerstandje aan de uitgang van je shift-register hangen.

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 11-10 16:24

SA007

Moderator Tweaking
Wat is momenteel je beperking?
Het aantal bitjes wat je per seconde je datapin op kan krijgen of de maximumclock die je driver aankan?

Voor beide kan het namelijk zeer flink schelen door de drivers een eigen datapin te geven en dan de datapinnen op 1 databus gooien welke 1 op 1 met je geheugen mapped is.
Op die manier kan je 8 registers aansturen in dezelfde tijd als anders 1 register zou sturen en kan je dus 8x de datatransfersnelheid halen.
Kost je wel meer i/o's, maar dan zal met een atmega niet snel een probleem zijn.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wij gebruiken de TLC5940 registers en we vullen deze via SPI. SPI werkt op 1/2 vd processorsnelheid (32MHz/2=16MHz). We hebben gekozen voor een Xmega die 4 SPI-bussen heeft, dus dat zou geen enkel probleem meer moeten zijn.

Bedankt voor jullie input :-)

Acties:
  • 0 Henk 'm!

Verwijderd

Voor een school project heb ik 7x 74HC595's gebruikt om een afbeelding vop een 8x16 RGB Matrix weer te geven. 6 voor de kolommen, en 1 voor de rijen (dubbele rijen) .Ik kan me herinneren dat een 'frame' van RGB kleuren (dus 8x16x3 bits) iets van 10 milliseconde duurde. Dat signaal zou je dus nog kunnen verder kunnen PWM'en. Mocht die TLC5940 niet werken, zouden de schuifregisetrs alsnog een noodoplossing bieden. Het frame werd eenmalig via USB verstuurd in enkele milliseconden.

Maar die TLC5940 heeft wel een hele goede SPI, mits je deze correct aanstuurt. Zelf heb ik problemen gehad met de TLC5947 qua aansturing.

Veel succes met je project!
Pagina: 1