Logic level converter van 3.3 naar 12 V

Ik wil graag een adresseerbare 12v LED-strip aansturen met een Raspberry Pi.
Nu is de uitgang op de Pi 3.3V. Daar de LED-strip 12V wil ik de 3.3V naar 12V brengen met een level converter om te verbinden met het Datalijntje van de LED-strip. Nu heb ik al gezocht op deze site en internet, maar ik kom niet tegen wat ik zoek.(Veel 3.3 naar 5V of van 12 naar 3.3V)
Ik heb een breadbord en wat weerstanden en de volgende transistors:
2x BC547
1x BC557
1x BS170

Heeft iemand een schema om dit te bewerkstelligen?
Van wat ik gezien heb op het internet kan het niet zo heel moeilijk zijn, maar voor mij is het hobbymatig en ik ontbeer net voldoende kennis om het zelf te ontwerpen en kan geen goed voorbeeld vinden.

Het lijkt me toch sterk dat die databus op 12V werkt. Geen enkel digitaal systeem werkt met zo'n logic level. Check de datasheet nog maar eens goed.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
benleentje

Golden Member

Een level converter printje is niet alleen voor 3,3V naar 5V, die 2 waarden bepaal je zelf.
https://www.ebay.com/itm/For-Arduino-New-Logic-Level-Converter-Bi-Dire…
Voor het bepalen van het hoge niveau zet je op HV aansluiting 12V en voor het lage niveau zet je op LV 3.3V.
In theorie werkt dat gewoon omdat het niveau aanpassen door een enkel fet gebeurt. Of de gebruikte fet op deze bordje 12V aankan weet ik niet maar het lijkt me sterkt dat het niet kan.

https://cdn.sparkfun.com/assets/f/3/3/4/4/526842ae757b7f1b128b456f.png

Heeft iemand een schema om dit te bewerkstelligen?

Zie hier boven.

[Bericht gewijzigd door benleentje op donderdag 17 september 2020 21:28:35 (13%)

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.

Op 17 september 2020 21:17:58 schreef flipflop:
Het lijkt me toch sterk dat die databus op 12V werkt. Geen enkel digitaal systeem werkt met zo'n logic level. Check de datasheet nog maar eens goed.

Dus jij verwacht dat die data verbinding rechtstreeks met de raspberry pi kan worden verbonden. Is het verstandig dat ik er een weerstand tussen zet ter bescherming van de 3.3 V uitgang op de RPi?

Shiptronic

Overleden

Welke LED strip gebruik je (LINK, DS) ?

Wie de vraag stelt, zal met het antwoord moeten leren leven.

Op 17 september 2020 21:41:53 schreef Smarty:
Dus jij verwacht dat die data verbinding rechtstreeks met de raspberry pi kan worden verbonden. Is het verstandig dat ik er een weerstand tussen zet ter bescherming van de 3.3 V uitgang op de RPi?

Ik zou dat wel verwachten. Of met een level van 5V. Maar aannames zijn zelden een goed idee, dus daarom moet je het zelf controleren.

Waarom een weerstand? Waarom zou die de output beschermen? Of ben je van plan de boel kort te sluiten af en toe?

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Thevel

Golden Member

Op 17 september 2020 21:41:53 schreef Smarty:
Is het verstandig dat ik er een weerstand tussen zet ter bescherming van de 3.3 V uitgang op de RPi?

Een weerstand kan voorkomen dat je de RPi opblaast als de FET in sluiting ligt.
Maar een weerstand kan ook nadelig zijn, als je snel schakelt kan de FET warm worden.

Gaat het mogelijk om een CS8208 strip of soortgelijks ?
Er lijkt geen informatie beschikbaar te zijn, enkel verkopers en een soort brei uit vertaalcomputers.

Het lijkt er wel op dat het compatibel is met WS2812 / 2815 of soortgelijks. Ik zou beginnen met een 3.3V en dan 5V data signaal. Persoonlijk plaats ik bij 2812's altijd een 100 Ohm serie terminator aan het begin van de (vaak UTP-) lijn. Uc pinnen zijn snel en reflecties nergens goed voor, maar dat lijkt vooral een kwestie van smaak te zijn.

Met sturing uit Pi geen ervaring.

Het betreft een 12 V Ledstrip met een WS2811S (van Worldsemi) Zie foto's

Ik heb een level shifter van 3.3 naar 5 volt gemaakt, volgens onderstaand model.

Ik heb het getest met python op pin 12(GPIO18), maar het werkte niet.

Hoe kan ik testen of de GPIO18 (pin 12) werkt?

Op 18 september 2020 19:06:22 schreef Smarty:
Hoe kan ik testen of de GPIO18 (pin 12) werkt?

Meten met oscilloscoop.
LEDje aansluiten en kijken of ie knippert (lage bitrate maken).

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

https://cdn-shop.adafruit.com/datasheets/WS2811.pdf

Ok. Er zit dus een ongeveer 5V "zener" in dit IC, de logica werkt gewoon op die spanning en stuurt open collector outputs welke 12V aan kunnen.
Een minimale VINH van 0,7 * 5 is inderdaad 3,5 en dus te hoog voor sturing met 3.3V.

De getoonde schakeling oogt traag voor dit signaal, maar ik heb met de beperkte set onderdelen geen zekerdere suggestie. Gemeten met een multimeter werkt het opgebouwde in basis wel ?

Als de uitgang in software geïnverteerd kan worden kan een transistor vervallen en wordt het wat eenvoudiger.

Voor een eenvoudige test is ook zonder voorkennis een 5V Arduino vermoedelijk het snelste.

Ik had inmiddels weer behoorlijk wat sites en video's bekeken. Ik heb de Level shifter er tussen uit gehaald en de data in van de ledstrip direct met gpio18 en nu functioneert het. :)

Dit was eigenlijk pas het testen, want ik wil er ambilight mee simuleren.

Maar goed stap 1 is gezet. Was even bang dat de ledstrip niet werkte. Ben al helemaal blij dat zowel de ledstrip en GPIO18 functioneren.

Bedankt allen voor het meedenken!

Mooi dat het werkt :) Het zal mogelijk op het randje zitten, maar dit is geen kritische toepassig.
Sluit om problemen met spanningsval zo veel mogelijk te voorkomen de voeding en de data gnd apart op de strip aan, en gebruik gescheiden voedingen.

Op 18 september 2020 19:44:58 schreef Aart:
De getoonde schakeling oogt traag voor dit signaal, maar ik heb met de beperkte set onderdelen geen zekerdere suggestie. Gemeten met een multimeter werkt het opgebouwde in basis wel ?

Ik had nog een knoopcel batterij van 3.3V liggen en de uitgang ging netjes van 0 naar 5V, als ik 3.3V op de ingang zette, dus in de basis werkte het.

Op 18 september 2020 20:03:54 schreef Aart[/message]:
Mooi dat het werkt :) Het zal mogelijk op het randje zitten, maar dit is geen kritische toepassig.
Sluit om problemen met spanningsval zo veel mogelijk te voorkomen de voeding en de data gnd apart op de strip aan, en gebruik gescheiden voedingen.

Ik had gescheiden voedingen gebruikt en ook de Data/Gnd naar de PI en de voeding liepen over gescheiden verbindingen.

Misschien had ik beter met die BS170 (= logic level mosfet) kunnen werken, zoals benleentje aangaf, maar in alle schema's van zulke level converters, zie ik nergens GND(ground). En in mijn hoofd gaat er alleen stroom lopen met een ground. :s

Maar goed het was eigenlijk alleen om te testen. Misschien dat ik het nog een keer ga proberen met BS170 als ik zover ben met de Ambilight.

Thx nogmaals!

Die redenatie is niet onterecht, echter;
De FET schakelingen zijn bedoeld voor I2C signalen en soortgelijks; Deze worden actief laag gemaakt met open collectors of drains omhoog is er slechts een pullup. Dan ligt het meer voor de hand tussen signaal en V+ te belasten.
Speciaal van deze converters is vooral dat ze voor dit soort signalen in beide richtingen werken. De gnd van beide voedingen moet doorverbonden zijn, de beide signalen moeten dezelfde referentie hebben.

I/O pinnen werken zowel omhoog als omlaag, de schakeling is bruikbaar. Allicht is een 10k pullup wel wat groot.
MAAR er is wel een 5V voeding nodig voor de 5V kant. Ik weet niet of een Pi daarin voorziet. Een andere optie zou kunnen zijn de voeding op het eerste IC van de strip af te takken.
Met 12V data gaat de strip het op papier kapot.