PCB design -LED stroomvoorziening

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • joeyl94
  • Registratie: Oktober 2014
  • Laatst online: 19-09 16:44

joeyl94

Probleem'n? Poar neem'n!

Topicstarter
Hallo Tweakers!

Ik ben momenteel bezig met het ontwerpen van een nieuw custom gemaakt sim racing stuurwiel. In het verleden heb ik al succesvol mijn eigen stuurtjes ontworpen, inclusief op maat gemaakte printplaten (PCB's) met microcontrollers (MCU's) die ik zelf heb geprogrammeerd. Voor mijn volgende stuur wil ik echter een PCB ontwikkelen met drukkknoppen en encoders met LED-backlights, engine revlights en fuel indicator lights.

Het ontwerp van het stuur is inmiddels afgerond en mijn aandacht is nu gericht op het ontwerp van de PCB. Ik plan om gebruik te maken van 32x RGB LED 5050 SMD's (10x voor de toerentallen, 6x voor de brandstofindicator en 16x voor de backlights van de encoders), en 46x RGB LED 2121 SMD's (4 backlight led per knop minus 2 LED's vanwege ruimtebeperkingen). Elke LED heeft een maximaal vermogen van 20mA.

Ik wil groepen maken van de LED-achtergrondverlichting en engine revlights, waarbij één kleur voor de gehele groep wordt ingesteld. Ik heb 12 drukknoppen en wil groepen van 3 maken, wat betekent dat elke groep 12 LED's heeft. Elke encoder wordt ook één groep, met 4 achtergrond-LED's per encoder. De 6 LED's van de brandstofindicator worden ook in 2 groepen verdeeld, links en rechts. De 10 engine revlights worden verdeeld over 3 groepen, 3 - 4 - 3.

De PCB zal worden verbonden met de pc via een USB-kabel, specifiek USB 2.0. Ik heb gelezen dat USB 2.0 tot 500mA stroom kan leveren, wat echter niet voldoende is als alle LED-lampjes zouden branden. Daarom vraag ik me af of iemand meer kan vertellen over hoe ik dit het beste kan aanpakken. Welke componenten moeten op de PCB worden geplaatst om alle LED-groepen aan te sturen, en belangrijker nog, hoe kan ik het probleem met de stroomopname oplossen, als dat al mogelijk is?

Iracing Profiel - Twitch - Youtube

Alle reacties


Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 01:08

memphis

48k was toen meer dan genoeg.

5v van de LED's via een externe adapter voeden.

Er zijn mensen die mij een GOD vinden


Acties:
  • +1 Henk 'm!

  • DonJunior
  • Registratie: Februari 2008
  • Laatst online: 23-09 18:54
Ik vraag me af of het daadwerkelijk een probleem gaat zijn.
Een beetje qwerty (gaming)toetsenbord heeft gemiddeld 104 toetsen met alleen een eigen RGB LED
De vraag is of je continu vol vermogen van de LEDs gaat vragen. Bijvoorbeeld de achtergrondverlichting (46x RGB LED 2121 SMD's) zullen niet continue voor 100% aan staan lijkt me. En anders kun je dat wellicht op voorhand al beperken door in te stellen dat deze op max 50% aan kunnen/mogen.
Denk niet dat je tijdens het sturen zo'n bak licht in je gezicht wenst namelijk.

*sowieso


Acties:
  • +2 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 01:08

memphis

48k was toen meer dan genoeg.

Een andere truuk is om de LED's heel snel om en om aan te sturen, multiplexen. Visueel lijken ze dan allemaal te branden maar werkelijk brand er maar 1 of een klein groepje. Gaat denk ik niet echt werken met seriële LED's zoals de WS28xx LED's

[ Voor 4% gewijzigd door memphis op 19-02-2024 16:47 ]

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • joeyl94
  • Registratie: Oktober 2014
  • Laatst online: 19-09 16:44

joeyl94

Probleem'n? Poar neem'n!

Topicstarter
DonJunior schreef op maandag 19 februari 2024 @ 15:54:
Ik vraag me af of het daadwerkelijk een probleem gaat zijn.
Een beetje qwerty (gaming)toetsenbord heeft gemiddeld 104 toetsen met alleen een eigen RGB LED
De vraag is of je continu vol vermogen van de LEDs gaat vragen. Bijvoorbeeld de achtergrondverlichting (46x RGB LED 2121 SMD's) zullen niet continue voor 100% aan staan lijkt me. En anders kun je dat wellicht op voorhand al beperken door in te stellen dat deze op max 50% aan kunnen/mogen.
Denk niet dat je tijdens het sturen zo'n bak licht in je gezicht wenst namelijk.
Dat lijkt mij inderdaad een goede oplossing. Dan zou ik in de firmware al moeten programmeren dat alle leds maar tot een bepaalde waarde aan stroom kunnen gebruiken. Niet dat ze alsnog in simhub (een tool waar je led's mee kunt programmeren) op volle sterkte ingesteld kunnen worden. Het mooiste zou zijn om een eigen kleine programma te schrijven waar alle led groepen beheerd kunnen worden, maar dan moet ik een koppeling zien te maken met iracing waar de engine rpm's uitgelezen kunnen worden.
memphis schreef op maandag 19 februari 2024 @ 16:46:
Een andere truuk is om de LED's heel snel om en om aan te sturen, multiplexen. Visueel lijken ze dan allemaal te branden maar werkelijk brand er maar 1 of een klein groepje. Gaat denk ik niet echt werken met seriële LED's zoals de WS28xx LED's
Ik denk inderdaad niet dat dit de beste oplossing is met 13 verschillende groepen en zoveel led's, maar toch bedankt voor de suggestie!

Iracing Profiel - Twitch - Youtube


Acties:
  • +1 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 00:03

SA007

Moderator Tweaking
Met veel leds is multplexen juist wel een hele goede oplossing, kost veel minder pinnen op je microcontroller.

Wat @memphis zegt is dat dat niet werkt voor alle soorten leds, zoals serieel adresseerbare, maar die kan je ook gewoon doorlussen en nog steeds per stuk bedienen.


Overigens zijn er genoeg producten die meer dan 500mA uit een usb poort trekken, maar netjes is het niet, afhankelijk van hoeveel je er wil gaan maken kan je het ook deels negeren.
Anders optie kan zijn om er een usb-pd circuit bij te hangen, dan kan je tot 5V 3A gaan.

Daarnaast kan je je leds prima minder stroom laten trekken met pwm, dat je 250 leds hebt wil niet zeggen dat ze allemaal tegelijk vol aan hoeven te zijn, dat kan je prima in je software beperken.

Acties:
  • 0 Henk 'm!

  • joeyl94
  • Registratie: Oktober 2014
  • Laatst online: 19-09 16:44

joeyl94

Probleem'n? Poar neem'n!

Topicstarter
SA007 schreef op maandag 19 februari 2024 @ 22:07:
Met veel leds is multplexen juist wel een hele goede oplossing, kost veel minder pinnen op je microcontroller.

Wat @memphis zegt is dat dat niet werkt voor alle soorten leds, zoals serieel adresseerbare, maar die kan je ook gewoon doorlussen en nog steeds per stuk bedienen.


Overigens zijn er genoeg producten die meer dan 500mA uit een usb poort trekken, maar netjes is het niet, afhankelijk van hoeveel je er wil gaan maken kan je het ook deels negeren.
Anders optie kan zijn om er een usb-pd circuit bij te hangen, dan kan je tot 5V 3A gaan.

Daarnaast kan je je leds prima minder stroom laten trekken met pwm, dat je 250 leds hebt wil niet zeggen dat ze allemaal tegelijk vol aan hoeven te zijn, dat kan je prima in je software beperken.
Na mezelf toch meer te verdiepen naar multiplexen is het inderdaad een goede oplossing, excuus ik had te vroeg gesproken! Het enige potentiële nadeel dat ik zie, is dat er mogelijk een lichte flikkering van de LEDs kan optreden. Echter, als ik bijvoorbeeld een 9x9 multiplex opzet, zou ik maximaal 180 mA trekken (aangezien er maximaal 18 LEDs tegelijkertijd zullen branden, met een stroom van 20 mA per LED; hoewel dit minder zou zijn omdat ik 78 LEDs heb en een 9x9 raster er 81 heeft), vooral omdat niet alle LEDs zoals de engine RPM en brandstofindicator constant actief zijn.

Mijn plan is om groepen te maken waarbij elke drukknop een groep van 4 LEDs heeft. Deze groepen moeten individueel worden aangestuurd. Voor de engine RPM LEDs wil ik elke LED afzonderlijk kunnen aansturen, wat neerkomt op 28 kanalen totaal (12 drukknoppen, 4 encoders, 2 fuel indicatoren en 10 engine rpm.) Dus, als ik twee LED-drivers op mijn PCB integreer die in totaal voldoende kanalen bieden, kan ik elke groep individueel van kleur voorzien, toch? Of is er een complicatie door het multiplexen, omdat elke groep zijn eigen rij-/kolom combinatie heeft? Ik veronderstel dat ik dit in mijn code zou kunnen oplossen door verschillende groepen te definiëren waar je de LEDs groepeert?

Iracing Profiel - Twitch - Youtube


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 00:03

SA007

Moderator Tweaking
Of je een flikkering ziet hangt alleen af van de snelheid waarop je de matrix afloopt, als je boven de 100hz komt kan je oog geen flikkering meer zien.

Overigens kan je in een matrix ook de leds met een hogere stroom aansturen als de helderheid te laag is.
Als je de datasheet van een ledje leest staat er vaak een flinke hogere maximale piek stroom in, die je kan gebruiken voor je matrix.

Random voorbeeld: http://www.wayjun.com/Datasheet/Led/5050%20SMD%20LED.pdf
Deze heeft een stroom van 150mA, maar een piekstroom van 300mA, die kan je dus 300mA aansturen als hij maar 50% of minder van de tijd aanstaat in een matrix.

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 01:08

memphis

48k was toen meer dan genoeg.

Hier een filmpje van een startlicht dat ik ooit gemaakt heb. de 5 segmenten staan gemultiplexed, er brand er maar 1. De 2 LED strips per segment verbruiken samen 1.4A en niet gemultiplexed zou ik minimaal een 8A voeding nodig hebben, nu maar een 2.5A. Dat scheelt ruimte en kosten.

YouTube: F1 starting light, high bright version.

Er zijn mensen die mij een GOD vinden


  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 20:56
Het multiplexen van LED's is effectief dimmen. Als je een bepaalde licht output verwacht en je gaat multiplexen dan dim je de led 1/n. Tenzij je er n/1 meer licht uit laat komen in de korte tijd dat hij wel aan is.
Netto is dat geen oplossing als je gewoon te weinig vermogen hebt.

Het kan wel de stroompulsen van het dimmen op de voeding spreiden. Dat zou ik zeker aanbevelen. Eventueel zelfs non-consecutive/pseudo-random pwm.

  • SG
  • Registratie: Januari 2001
  • Laatst online: 22-09 19:45

SG

SG surft naar info hardewaren

LED diverse kleuren zitten op 2 en 4 Volt forward spanning 20mA dus 400 tot 800mW per LED
Je zou ook voor 10mA of ook dimbare leds.
Die 500ma van USB is gegeven maar het is de spanning die mee teld 5V x 500ma = 2,5Watt.
Dat is niet veel als marge wilt houden 500mw per led 5stuks.
Naast simple led driver verstook veel energie met laag rendement.
Je wilt dan een switching constant current led driver regulator met dim opties.
Als kijk naar fanatec sturen zonder al te veel leds is dat al USB-C

USB C kan hogere vermogens lever door klein stroompje met hogere spanning.
5050 wS2812 met interne regelchip zijn daisy chaine 5V 32stuks maar voeding rail krijgt de 1 led volle 5V voeding de laatste led de grootste verliezen. Zelf ben aan verdiepen in WS2815 waar led chain CC aandrijft waar of led door shortcut bypassed worden. Ik heb simulatie schema die aantal led waar circuit die ws2815 functie vervult. Ivm de verschillende forwardspanning van elke kleur heb je dus apart CC rails nodig per kleur.
Dus heb ik gezocht naar led waar elke kleur los aanstuurbaar is dus 6pin rgb leds

X399 Taichi; ThreadRipper 1950X; 32GB; VEGA 56; BenQ 32" 1440P | Gigbyte; Phenom X4 965; 8GB; Samsung 120hz 3D 27" | W2012SER2; i5 quadcore | Mac mini 2014 | ATV 4g | ATV 4K

Pagina: 1