Als je gaat PWMmen dan zou ik zeker alle 4 mosfets apart aansturen.

Dus Q8 of Q1 statisch aanzetten en dan PWM op Q2 of Q9. Geen dead-time nodig.

En dan kun je ook remmen (Q8 & Q1) of (Q9 & Q2) tegelijk aan.

5 onderdelen waarom dan gelijk een TB6612 oid gebruiken?
Daar zit alles al in en die kan volgens mij ook gewoon op 3,3V.

Op zondag 11 januari 2026 18:55:21 schreef benleentje:
5 onderdelen waarom dan gelijk een TB6612 oid gebruiken?

Deze heb ik allemaal op voorraad en grotendeels al in mijn bestukkingsmachine zitten. Dus voor een enkel printje gaat er gewoon een print door de bestukker en doe ik met de hand de '245 er op. De TB6612 is een component wat ik niet al heb, dus speciaal moet inkopen, hetgeen de boel weer compliceert.

@deKees, ik neem het in overweging.

In deze opzet is de shoot-through aanzienlijk en -niet verrassend- afhankelijk van de schakeltijden en Rds(ON) van de gebruikte FETs.

Een vergelijkbare opzet (halve H-brug) in een RFID lezer van mijn voorganger zorgde voor zoveel storing dat het ding niet door de EMC-keuring kwam, het heeft een PCB redesign en veel extra C's en ferrite-beads gekost om het te 'temmen'...

Ik zou het nooit zo doen. Maar als je dit tóch wil doen, dan zou ik er op zijn minst voor zorgen dat de fets snel uitgaan en traag aan. Dat kost wel wat vermogen door het trage aanschakelen.

Dus serieweerstand bij de gates en diode erover zodat de gate capaciteit snel leeg is.

Motortje loopt op 3V. Dan kan je de 4 MOSFET' s ook via een goed berekend weerstandje voeden. Dan kan je zonder problemen alle MOSFET's korte tijd tegelijk open sturen.

Ondanks dat DEZE motor maar 50mA gaat trekken, wil ik het printje geschikt hebben voor zeg de 1A, wat ik soepel door deze mosfets durf te sturen.

Ik zag er tegenop om de extra draden te moeten routeren.... Effe doorbijten en... zo gepiept!

Ik ben blij met de "push" die deKees me gegeven heeft. Genoeg motivatie om toch even die extra draadjes te leggen.

@Ohm pi, dan kan ik dus niet meer in de toekomst een keer dit bordje misbruiken om een 1A motor aan te sturen. De huidige hardware heb ik "met maar 1 kant op" (dus maar 1 mosfetje) kunnen prototypen op een ander bordje. Zo misbruik ik wel eens een bordje om een volgend project te kunnen prototypen...

Dan maak je het weerstandje 0Ω of je overbrugt het weerstandje, maar deKees heeft natuurlijk de echte oplossing gegeven.

Als je dat printje ook voor 1A wilt gebruiken zou ik wel de traces waar die stroom doorheen moet aanpassen, de (zo op het oog) 6mil spoortjes zijn daar wat iel voor...
En geheel volgens de wetten van behoud van ellende gaat er in de toekomst vast wel nòg meer stroom doorheen...

ipv die HCT245 kun je ook een HCT595 gebruiken, nog steeds 8 uitgangen, maar maar 3 lijntjes naar je µC.

@fatbeard, tx. 8 mil zijn ze nu.. ik zal ze upgraden naar 32mil.

Voor de highside fets zou die 595 nog wel kunnen, maar er zitten ook twee ws2812 outputs op. De meeste 5V chips willen officieel min 70% vcc voor een hoog niveau, maar 66% (3.3V) werkt ook wel. Ws2812 wil officieel 85% en 66% werkt echt niet. Vandaar dat er zo'n levelshifter tussen moet.

Het pio programma wordt erg tricky als je via een 595 de leds wil aansturen... zou te doen zijn denk ik. Hmmm 19MHz klok voor de 595, zal net gaan denk ik.

Wat @Roland waarschijnlijk bedoelt is een HCT595 op 5V als levelshifter...

Persoonlijk zou ik voor zo'n flut motortje een L293D gebruiken geloof ik. Drivers parallel zetten, heb je vermogen genoeg en makkelijk aan te sturen.

maar er zitten ook twee ws2812 outputs

Dat wist ik niet, bedoelde idd de HC595 als levelshifter en om I/O te besparen. Ik heb een dergelijke constructie zelf ook gebruikt.

Met de ws2812 voegt een HC595 id complexiteit aan de softwarekant toe.

Voor die paar snelle lijntjes kun je ook SN74LVC1T45 inzetten, dan kun je het trage gebeuren (motortjes) via een 595 doen.
Scheelt in de complexiteit van de aanstuursoftware van de LEDs.

Het is de aloude afweging: simpele (=goed onderhoudbare) firmware of simpele (=goedkope) hardware...

Op zondag 11 januari 2026 17:53:30 schreef rew:
Deze configuratie met de gates aan mekaar is ook wat "men" in chips gebruikt.

Dat zijn blok schematische weergaven en zijn niet de hele werkelijkheid.

Of er zit nog wat tussen de gates om een dode tijd te maken of de fets zijn intern zo geconstrueerd dat er een dode tijd "mee ingebakken" is.
De fets zitten ook op dezelfde 'die' dus kan men dit redelijk fail safe maken.

Met losse componenten is dit vrijwel kansloos en zou ik het nooit zo maken.
Er zijn genoeg drivertjes te koop die dit netjes oplossen zonder vuurwerk en/of dikke emc problemen door kortsluit spikes op voeding etc.

Op maandag 12 januari 2026 09:13:40 schreef fatbeard:
Wat @Roland waarschijnlijk bedoelt is een HCT595 op 5V als levelshifter...

Ja, dat begrijp ik. Voor "statische" signalen (die hooguit een paar duizend keer per sec veranderen) doe je dan even een 8bit shift om de nieuwe data er in te schoffelen. Of je schrijft de data in het pio-data-register en triggert een start, 8x shift, latch, stop van de PIO.

Met twee WS2812 kanalen op de '245 was ik van plan om een PIO programma van 3 regels de led-data uit het geheugen te laten halen.

Dat is "zet output", "output datastream", "clear output" (terug naar begin door een "wrap"). Laat dit op 2.4MHz lopen en je hebt je 800kHz bitjesstroom voor de WS2812 leds.

Als je dit via een 595 wil doen, dan moeten dus 6 "statische" bitjes ergens vandaan. Die moeten ook "geshift" kunnen worden. Ik denk dat je dan een extra register nodig hebt. Dus dat je de statische bitjes in Y bewaart, copieert naar X en dan 6x X shift terwijl je het laagste bitje naar de output stuurt. Dan moet je de eerste van de drie cycli op 2.4MHz de WS2812 bitjes zetten, de tweede keer de databitjes uitvoeren, en de derde keer nul naar het 595 databitje sturen. Ik denk dat dit met de beperkte hardware in de PIO tricky is. Ik verwacht dat je niet genoeg hebt voor tellers om tot 6 te tellen, dus dat je die moet uitschrijven. Ik verwacht dat je niet genoeg hardware hebt om 1-2-3 te tellen, dus dat je dat uit moet schrijven. Kortom, dan zit je al gauw uit 24 van de max 32 PIO instructies, en mogelijk op de 48. Mwah... dit wordt een hele hack om dat voor mekaar te krijgen. Misschien een IO PIO(*) die op 2.4MHz 11|H-gates, dd|H-gates, 00|H-gates produceert en een tweede pio die iedere keer als daar een nieuwe byte uit komt, de 8-bit-595 shift uitvoert. Ja, met twee PIO statemachines denk ik dat het kan lukken.

Maar het blijft een tricky gedoe.

Op maandag 12 januari 2026 13:38:58 schreef henri62:
[...] Dat zijn blok schematische weergaven en zijn niet de hele werkelijkheid.

Ik denk dat het in chips WEL zo zit. Neem een gewone 74HC04, en meet de voedingsstroom als je 1 input langzaam van 0V naar 5V brengt. Je zult zien dat de N-fet aan de ingang AAN gaat boven zeg 1.5V, terwijl de P-fet nog niet uit is.

De reden dat het "wel" werkt is dat dit heel kleine fetjes zijn. RDSON is ongeveer 1k. Als ze op 5V allebij aan zijn loopt er iets van 2.5mA. Mwah! Gaat wel goed.

Het wordt afgeraden om de inputs te laten zweven: juist om dit te voorkomen: Nodeloos stroomverbruik. En mogelijk krijg je nog leuke effecten: input slaat om naar "ziet hem als hoog", de output slaat om naar laag, en de stroompiek, spanningsval op de voeding, capacitieve koppeling tussen in- en output of nog wat anders zorgt er voor dat ie WEER omklapt. Dan krijg je ineens een hoog frequente oscillatie die NOG meer stroom trekt dan alleen die 2.5mA.

Neem je darentegen een 74HCU04, dan zit de input direct aan de grote output mosfets. Dan zijn de output mosfets iets van 100 Ohm?, dus krijg je 10x meer stroom te zien als je de input in het midden tussen de nul en 5V houdt.

Op maandag 12 januari 2026 13:38:58 schreef henri62:
Met losse componenten is dit vrijwel kansloos en zou ik het nooit zo maken.

Right. Is wel verstandig. Ik ben "om". Nogmaals dank voor de aansporing om het gewoon goed te doen. :-)

Printje is ondertussen af. Tijdens naar huis fietsen bedacht ik me gisterenavond dat ik een output op 4 GPIOs vergeten was. Ook die nog soepel er bij kunnen klussen.

(*) dus voor het systeem doet ie zowel input, als output. De input is dan "statisch" de 6 bitjes voor de gates, en een stream met WS2812 data. Terwijl ie GEEN echte IO bitjes heeft produceert ie wel een stream die het systeem INkomt: Steeds een 8bit byte die dan door een andere PIO ASAP naar de 959 gestuurd moet worden.

Hoe ga je de uitgangen uitzetten? Beide Nfets geleidend? Dan krijg je een short van de motor en als die nog loopt wel flink stroom door je fets. Wat is de weerstand van de motor? Kun je meten door bijvoorbeeld 20mA te laten lopen, de as blokkeren en dan de spanning meten. Ivm koolborstels heb je waarschijnlijk 2 waardes, even andere posities kiezen.

En dan is je short current 5V/die weerstand. 5V omdat dat dit hier de maximale tegenEMK is.

Wat wil je doen, vooruit/achteruit/coast/brake? Niet alles kan, je kunt niet alle fets uitzetten.

Als je individuele bits wilt sturen dan is een addressable latch als de 74HCT295 beter geschikt.
Die werd vroeger al gebruikt in de Apple-II clone.

Op maandag 12 januari 2026 15:29:10 schreef Hoeben:
Hoe ga je de uitgangen uitzetten? Beide Nfets geleidend? Dan krijg je een short van de motor en als die nog loopt wel flink stroom door je fets.

Maar niet echt anders dan "ineens volgas". (eigenlijk: Precies hetzelfde). (en als ik max 66% PWM doe om de motor op 3.3V te houden, dan is ook de tegen EMK max 3.3V).

Wat is de weerstand van de motor? ...

En dan is je short current 5V/die weerstand. 5V omdat dat dit hier de maximale tegenEMK is.

Gewoon met de multimeter werkt ook. 5 Ohm. 5.1 ohm in het display en 0.1 ohm als de probes tegen mekaar zitten. Ik heb hem niet in een "andere weerstand" toestand kunnen brengen. Iedere keer dat ik dacht "5.4 : Ha! nieuwe waarde!" blijkt ie bij de volgende update weer op 5.1 te staan.

Wat wil je doen, vooruit/achteruit/coast/brake? Niet alles kan, je kunt niet alle fets uitzetten.

Hoezo niet? Ik heb nu per motor 4 GPIOs. Twee via de HCT245, twee direct op de (low side) mosfetjes.

Op maandag 12 januari 2026 16:25:03 schreef deKees:
Als je individuele bits wilt sturen dan is een addressable latch als de 74HCT295 beter geschikt.

De RP2040 CPU heeft 30 GPIOs. Dan zijn er 4 voor "integratie" vergeven, Communicatie en "knipperledje". Blijven er 26 over. Normaliter wil ik er niet veel meer dan 16 voor m'n project gebruiken: het routeren wordt dan lastig.

Nu heb ik 2 I2C. 6x lowside fet, 6x highside fet (via '245), 2x ws2812 (via '245), 4x PWM voor een 12V ledstrip, indien gewenst. Ik heb er nu 20 in gebruik. Zijn er toch nog een stuk of 6 "ongebruikt". OK, geteld: 5, "integratie" is 5, niet 4.

Ik hoef dus niet zuinig te zijn. Als ie "alleen WS2812" had gedaan, dan had ik toch een '245 nodig gehad en had ik alleen 5+8 zullen hebben en 17 pootjes open gehouden (dan dus 8 WS2812 kanalen: die '245 heeft ze toch!). In dat geval knoop ik er nog wel een paar aan een "voor het geval dat" connector, maar ik ben happy om ze te verkopen met 17 pins die eigenlijk nergens aan zitten. Kleiner (minder GPIO) dan de RP2040 is er niet. De RP2040 kost kwa inkoop evenveel als een Attiny44 met maar 10 bruikbare GPIOs. Dus waarom zou ik niet een 8x snellere CPU kopen met 1024x meer RAM, en 1024x meer flash? (ik koop de 4Mbyte flash chips. Scheelt centen, niet de moeite om 1 maatje kleiner te kopen en ooit "oeps te weinig flash" tegen te komen).

De motortjes lijken ergens rond de 100mA stuk te gaan. Dus met die 5V/5Ohm = 1A mag je hem dus niet blokkeren.

Op maandag 12 januari 2026 10:32:54 schreef Lambiek:
Persoonlijk zou ik voor zo'n flut motortje een L293D gebruiken geloof ik. Drivers parallel zetten, heb je vermogen genoeg en makkelijk aan te sturen.

Ik zou dat zeker niet doen. De LS293 heeft zowat 2 volt spanningsval en bij 5 volt voeding is dat behoorlijk veel.

Maar waarom niet een DRV8837 of zo? 65 cent bij Mouser, 14 cent bij JLC. Zo klein kun je het nooit zelf bouwen. Als je meer stroom wilt is er vast wel een dergelijke chip die dat ook kan voor weinig geld en weinig gedoe.

Op maandag 12 januari 2026 14:48:45 schreef rew:
[...]Ik denk dat het in chips WEL zo zit. Neem een gewone 74HC04,

In dat soort chips wel ja, in motordrivers die flinke stromen kunnen weg douwen niet.

Gruwelijk nasty enzo ...

Op maandag 12 januari 2026 22:54:50 schreef floppy:
Ik zou dat zeker niet doen. De LS293 heeft zowat 2 volt spanningsval en bij 5 volt voeding is dat behoorlijk veel.

Dit is maar een voorbeeld, er zijn genoeg drivers in chip vorm.

Nee, in de powerstage natuurlijk niet.

@sparkyGSX Tijdens mijn stage in 1987, heeft mijn begeleider me geleerd dat ieder extra component op de PCB ongeveer een gulden kost. Ook al is het een weerstandje van een cent.

De bijkomende kosten van het inkopen van zo'n onderdeel, magazijnruimte houden, montage enz. dat kost allemaal geld. Afgerond een gulden.

Tegenwoordig is het iets anders. Toen zaten er kerels met soldeerbouten in de productie-hal (waar nu gebridged wordt). Tegenwoordig is alles SMD en zitten veel van m'n onderdelen permanent in de bestukker. Alles wat daarin zit kost "inkoop plus een kleine afschrijving van de bestukker". Geen omkijken naar. Iedere 3000 stuks moet er een nieuwe rol in. Mwah. Maar een extra onderdeel, nieuw in te kopen enz. Daar geldt die "componenten kosten plus een euro" voor.

Kortom, mijn policy is dat ik liever niet "nieuwe" onderdelen ontwerp voor m'n printjes, maar veel liever de "heb ik toch al" onderdelen.

En zo'n speciaal "1.8A" chipje, zal ook nog wel wat "derating" hebben net als een mosfet (om het met "redelijke PCB ruimte en warmte-afvoer te doen). Heeft dat ding 0.5 Ohm weerstand? Ik heb nu 10x beter, dus kan ik ongeveer 3x meer stroom aan voor dezelfde warmteontwikkeling. En dus onderdelen die ik toch al heb. Ik ben happy met het huidige ontwerp.

Alsnog bedankt voor de tips en pointers naar "doet alles wat je wil in 1 chip" natuurlijk, maar in mijn situatie ga ik dit keer voor de "losse onderdelen" aanpak, maar hopelijk ondhoud ik waar ik de naam van dat chipje kan vinden als ik in de toekomst een keer WEL die oplossing moet kiezen.

[Bericht gewijzigd door rew op (32%)]