IK zou van de mosfets eerst de datsheet erbij zoeken en dan kijken naar Vgsth. Dat is de drempel waarbij een FET in minimale in geleiding gaat. Als die bv 3,5V is dan werkt die fet zeker niet op 3,3V. Meestal moet de Vgs behoorlijk onder je gewenste schakel niveau zitten. In de datasheet staan dan ook grafieken bij welke spanning op Vgs er welke stroom kan lopen. Als die grafieken bv op 4,5V beginnen dan werkt het zeker niet op een lagere spanning.

Je hebt een diode(?) parallel aan de motor. Deze moet?

IK zei het is een principe schema. Maar zodra je iets van een spoel, relais speol of motor hebt dan moet daar een diode. De spoel wil bij uitschakelen nog juist even doorgaan. Een spoel kan net zoals een condensator energie opslaan. Een spoel doet dat in zijn magnetische veld. Als je de spanning van de spoel afhaalt dan wil die spoel zijn energie kwijt en kan daarbij best hoge spanning pieken generen, denk bv aan een bobine. Die spanning komt over de FEt te staan en die slat bij een te hoge spanning gewoon door. Deze fet kan bv maar 20V aan en zal bij ongeveer 25 - 30v wel een keer doorslaan. Op het moment dat de FET uitschakelt kan de spoel de stroom door de diode sturen.

Als richtwaarde voor de stroom door de diode word de motor stroom genomen. Als daar bv 2A loopt dan moet de diode ook minimaal 2A zijn.

Is de hub enkel voor communicatie en pwm sturing of moet deze ook de spanning van de motor leveren en daarom misschien 9Vdc nodig ?

Dat moet ik eens doormeten. Het schema van de linkt lijkt aan te tonen dat er alleen 5v pwm signaal en 3.3v voedingssignaal nodig is, maar de motor zelf krijgt nergens anders 9v van. Dus of de motor is 3.3v, of iets klopt niet in het schema.

In de originele hub zitten wel 6 batterijen dus 9v zou mogelijk kunnen zijn

Op 13 januari 2023 17:14:10 schreef bbuster:
Bedankt voor de reactie! Ik heb volgens mij nog wat mosfets liggen dus kan eens kijken of die ook werken.

Je hebt een diode(?) parallel aan de motor. Deze moet? En hoe bepaal ik welke ik hiervoor nodig heb?

Ja, moet echt. Exacte dimensionering is niet zo eenvoudig om uit te rekenen, het is veelal handiger om er een ruime slag door te slaan. Begin bv. maar eens met een 1N5403, die is gespec't voor 3 amp, dat is al heel wat.

Nu kun je ipv een motor de uitgang ook gebruiken voor bv een led. Zou deze diode niet in de treinmotor zitten?
Of kan een extra diode nooit kwaad?

Een nadeel, je kunt niet achteruit.

Dan moet je of een H_brug maken, of je moet je motor ompolen via twee relais. Dat kan wel in combinatie met één mosfet.

Dat wilde ik al vragen ja, kan de originele motor in twee richtingen draaien? Het kon toch zomaar eens dat er wat meer elektronica in die hub zit.

Op 13 januari 2023 18:17:50 schreef bbuster:
Nu kun je ipv een motor de uitgang ook gebruiken voor bv een led. Zou deze diode niet in de treinmotor zitten?
Of kan een extra diode nooit kwaad?

Nogmaals het is een principe schema. Als deze motor al met PWM gestuurd word zal daar best wel ergens een diode zitten.
Maar aangezien je zelf aan het nabouwen bent kan het ook zijn dat je die zelf moet toevegen. In een motor zelf zit nooit een diode die zit dan altijd ergens extern.

Zo een diode dimensioneren is helemaal niet moeilijk gewoon de nominale motor stroom + beetje extra aanhouden.

Ik denk (maar weet het absoluut niet zeker), dat de treinmotor (lego 88011) meer logica zit dan alleen de motor. De uitgang van de hub is namelijk pmw (2x per kanaal). Op die uitgang kunnen sensoren, leds of motoren aangesloten worden. Wat ik verwacht is dat de treinmotor zelf logica heeft om dat pwm signaal te gebruiken om de motor aan te sturen maar zeker weten doe ik dat niet.

De treinmotor kan idd 2 richtingen uit

Misschien kun je zoiets maken, of een gedeelte gebruiken. Dan kun je voor de controller een ESP..... gebruiken in plaats van een PIC.

https://www.circuitsonline.net/artikelen/view/54

meer logica zit dan alleen de motor.

Dat zou zomaar kunnen. Toevallig een link naar zo een motor.
Het zou bv zomaar kunnen dat de motor dan ook op 3,3V PWM werkt.

Voor mijn principe schema kan dan alles boven de FET vervallen en komt er dan een weerstand van 330 ohm die aan 1 kant aan de 5V hangt en de andere kant aan de bovenkant van de FET.

Nogmaals de FET inverteert het signaal dus in je software moet je dan precies andersom aansturen.

[Bericht gewijzigd door benleentje op (24%)]

Het is deze https://www.lego.com/nl-nl/product/train-motor-88011

Maar ik vind er geen info over. Enige info wat ik vind is over de hub maar geen idee of dat klopt:
https://www.philohome.com/wedo2reverse/connect.htm

Op 13 januari 2023 19:55:44 schreef benleentje:
[...]Nogmaals de FET inverteert het signaal dus in je software moet je dan precies andersom aansturen.

Volgens mij zou dat niet eens uit maken als het pwm is. Ipv de ene kant gaat de trein de andere kant op, maar de trein heeft geen voor of achterkant. Dus welke kant die opgaat maakt weinig uit. Maar kan me vergissen

Ah, hier wel meer info maar in tegenstelling tot bovenstaande info lijkt de vcc hier wel 9v te zijn:
https://www.eurobricks.com/forum/index.php?/forums/topic/162288-powere…

Update:
https://www.eurobricks.com/forum/index.php?/forums/topic/162288-powere…
Hier geven ze aan dat vcc toch 3.3v moet zijn

[Bericht gewijzigd door bbuster op (11%)]

Kijkende naar die hub ... dan zit daar al een motordriver op:
https://www.philohome.com/wedo2reverse/cont.htm

Kan het zijn dat motor1 en motor2 gewoon de aansluitdraden van de motor zijn?

-edit-

Uit je eigen link:

Dus er zit letterlijk niets in die motor behalve een C-tje, een zekering en een paar doorverbonden ID pinnen.

Die VCC is dus helemaal niet interessant, want die wordt niet gebruikt voor de motor zelf, de motordriver zit in de hub.

Ik vermoed dat het gewoon een 9V DC motor is.
Je kunt een h-brug gebruiken van een paar cent om die te sturen:
https://electropeak.com/learn/interfacing-mx1508-motor-driver-module-w…

https://www.aliexpress.com/item/1005001636421978.html

https://www.aliexpress.com/item/1005004893592423.html

Bedankt voor de info. Dan ga ik het met een h-brug proberen. De output moet ik dan op de pwm kanalen van de motor zetten?

En hoe kom ik erachter of het 9v is aangezien de links aangeven dat vcc 3.3v is en pwm 5v. De motor is niet heel duur €14 maar toch zonde om hem bewust te vernielen

Bij twijfel met een lage spanning beginnen.

Die 3v3 is voor de logica, maar in die motor zit geen logica.

Dat is een goeie, maar waar stop ik. Hoe weet ik wanneer het teveel is, behalve bij het zien van rook

Als je het type van de motor weet, kun je dat zo opzoeken.

En hoe kom ik erachter of het 9v is aangezien de links aangeven dat vcc 3.3v is en pwm 5v. De motor is niet heel duur €14 maar toch zonde om hem bewust te vernielen

Je hebt nu toch een werkende trein kan je daar niet gewoon de spanning met die naar de motor gaat.

Het leuke is dat een dc-motor niet specifiek voor 1 spanning is het gaat op een 2x hogere spanning gewoon 2x sneller draaien. Echter zitten daar wel grenzen aan een motor kan te snel draaien en dat hoor je in eestte instantie gelijk dat het niet meer goed klinkt. Maar je heb nu al een locomotief en je kan dan eerste de motor op 5V proberen en vergelijken met hoe snel dat draait tegenover de bestaande trein.

Volgens mij zou dat niet eens uit maken als het pwm is.

Dat maakt wel uit. Als je de trein op 80% van snelheid wil laten rijden dan maak je de duty-cycle van het signaal ook 80%. Nu zit daar een FET tussen die dat omdraait en je krijgt dan een duty-cycle van 20%.

[Bericht gewijzigd door benleentje op (17%)]

Ahja idd. Ik zat even met de richting in de war maar het is tussen de 0% en 100% wat dan omgedraaid is. Ik zal morgen eens kijken of ik kan meten wat de originele hun aan volts doorgeeft. Bedankt allemaal alvast voor de hulp!

Op 13 januari 2023 19:55:44 schreef benleentje:
Nogmaals de FET inverteert het signaal dus in je software moet je dan precies andersom aansturen.

Op 13 januari 2023 22:20:02 schreef bbuster:
Ahja idd. Ik zat even met de richting in de war maar het is tussen de 0% en 100% wat dan omgedraaid is.

Ik denk dat jullie iets over het hoofd zien.

Stel je PWM signaal staat op 20%, in het voorbeeld is dat signaal tussen de 0 en 5VDC.

Als het signaal hoog is dan geleid de fet en die trekt de motor naar de 0V/GND. Dat signaal is inderdaad geïnverteerd, maar dat moet ook anders gaat je motor niet draaien.

Dus de tijd dat de fet geleid is gewoon 20%, "in het voorbeeld" als het signaal 0V is dan geleid de fet niet meer en wacht 80% voordat de volgende puls van 20% komt.

Als het PWM signaal laag is aan de gate van de fet, dan staat er op het knooppunt van de motor en de fet 12VDC. De motor wordt op dat moment niet naar de 0VDC/GND getrokken door de fet.

Er hoeft dus niets in de software geïnverteerd te worden, de motor draait gewoon als de puls hoog is en stopt als de puls laag is. Maar daar merk je uiteraard niets van omdat de frequentie groter is dan 10KHz.

Hier kun je de spanning zien op het knooppunt van de motor en de fet als het PWM signaal hoog is.

En hier de spanning als het PWM signaal laag is.

Op 14 januari 2023 17:06:47 schreef Lambiek:

Ik denk dat jullie iets over het hoofd zien.

Ik ga ervan uit de het het PWM signaal is naar de HUB die een 5V positieve PWM signaal verwacht ipv een 3,3V.

Dat maakt niet uit, als je een N-FET gebruikt hoeft er niets geïnverteerd te worden. Tenzij de controller een ander signaal uit stuurt.

De spanning kan 3.3 of 5VDC zijn, dat doet er niet toe voor de werking.

Ik heb al veel regelaars gemaakt en heb nog nooit een PWM signaal geïnverteerd in de software.

Alleen bij een regeling waarmee je via een potmeter ook de draairichting en het toerental kan regelen moet er één PWM signaal van de twee geïnverteerd worden.

Op 13 januari 2023 09:15:18 schreef bbuster:Het enige "probleem" is dat zo'n Hub minimaal €50 per stuk kost. Om even 4 locs bij te bouwen ben ik dus behalve de motortjes, blokjes etc al €200 kwijt voor de hubs.

Die van de treinen wel ja. Die van Technisch Lego niet. Dus als je die sloopt, het ding zelf is te groot voor een trein van 6 nopjes breedte, en er als voeding 2x18650 cellen aan hangt ben je voor 25€ klaar incl accu.

Wat de motorspanning betreft, Lego motoren zijn ontworpen voor 9V, maar ze draaien regelmatig op minder, zo hebben de hubs een 7,4V Lithium accu. De mensen die LEGO motoren testen en vergelijken op mechanisch vermogen en rendement, gooien er 6-12V in, en dat gaat allemaal goed. https://www.philohome.com/motors/motorcomp.htm

Desalnietemin zou ik heel graag een shield maken voor bijvoorbeeld een Arduino Pro-Micro of een Microbit (BLE 5./0!) om 6 motoren/sensoren aan te sturen. Het programmeren van Lego blijft op dit moment erg halfbakken. Enige wat er op dit moment qua hardware is dat hier een beetje op lijkt is de Raspberry Pi Build Hat. Maar die heeft geen USB poort om te programmeren. De Technic-hubs hebben die ook niet, bovendien draaien alle Lego hubs op STM-32 wat programmeren net wat lastiger maakt dan SAMD of NRF52.
Het zou erg tof zijn als we een soort open-source schild kunnen maken voor standaard ontwikkelborden zoals de Arduino's, Feathers, en andere veelgebruikte pin-outs. Helaas kan ik nog geen goede leverancier van de PCB connectors vinden, ze staan wel op Ali maar zonder kwantum-korting, dus 10 plugjes kosten al zo 40€, hubs slopen is goedkoper!

  • PyBricks werkt aardig maar met veel overhead, je moet erg ingewikkeld firmware op dure hubs flashen, en je moet van Python en de Chrome browser houden.
  • Bricklife Scratch werkt prima vanuit meerdere browsers, maar ondersteunt vooralsnog geen helderheid op de kleursensor, wat lijnvolgers nagenoeg onmogelijk maakt.
  • Lego's eigen software is een draak
  • De Raspberry Pi Build-Hat lijkt ook leuk, ware het niet dat het ding zelf al op een RP2040 draait, en de Raspberry Pi dus helemaal niet nodig heeft, behalve dan om de firmware voor een UART protocol erop te flashen, wat de RP2040 door het volatiele geheugen iedere keer weer kwijt is. Bovendien voelt een volledig OS met een UART verbinding naar een microcontroller als een te complex systeem.

Dit is blijkbaar de interface op pin 5 en 6
Iemand een idee hoe dit werkt? Het is een Renesas ISL317xE RS 485 chip. Daar wordt blijkbaar de info van de sensoren over gestuurd, zoals de hoek van draaien van een motor, en de data uit een kleur of afstandssensor. Geen I2C dus.

[Bericht gewijzigd door blanka op (38%)]