H-Brigde motor 12VDC - 11A

Lambiek

Special Member

@deKees

Kijk hier eens naar, dit zijn de signalen.

https://www.circuitsonline.net/artikelen/view/41/5

Iets naar beneden scrollen.

Als je haar maar goed zit, GROETEN LAMBIEK.

DC motoren zijn niet fundamenteel anders dan BLDC motoren. Lees anders even wat literatuur over het aansturen van DC motoren.

De onderste 2 MOSFETs aan is niet "vol op de rem", dat is stroom recirculeren. Als je dat lang genoeg blijft doen, wordt de stroom negatief, en pas op dat moment ga je daadwerkelijk remmen.

Het zou helpen als je je "gevoel" zou kunnen onderbouwen met een redenatie over de onderliggende natuurkunde. 10 tegen 1 dat je tijdens het schrijven ervan ofwel realiseert dat je het fout hebt, of dat je de natuurkunde niet begrijpt. Daar kom je het beste achter door te proberen het uit te leggen. In beide gevallen is het een leermoment.

[Bericht gewijzigd door SparkyGSX op 12 juli 2021 22:30:37 (35%)]

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Ha ja, nu zie ik het ook :) .

Met een stel extra spoelen L1 en L2 om een extra tijd-element in te bouwen. Dan kan het wel werken inderdaad. Maar dat moet je dan wel weten. En dan wordt het ook iets minder simpel.

Nee die extra spoelen zijn niet nodig, uitgezonderd in zeer uitzonderlijke situaties, zoals bij ijzerloze rotors, maar dan is het gebruikelijk om de PWM frequentie te verhogen; 100kHz is in zulke gevallen niet vreemd.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Lambiek

Special Member

Op 12 juli 2021 22:30:17 schreef deKees:
Ha ja, nu zie ik het ook :) .

Met een stel extra spoelen L1 en L2 om een extra tijd-element in te bouwen.

Die spoelen zíjn hier als filter bedoeld, dat is hier een feriet kern met één winding.

Als je haar maar goed zit, GROETEN LAMBIEK.

Even redeneren dan. :)

De motor is 12V en draait op volle snelheid. Dan staat er 12V op de klemmen. Bij max last loopt er dan 11A in de motor van TS.

Als je dan de motor loskoppelt dan blijft die 12V gewoon op de klemmen staan zolang de motor op snelheid is. De motor werkt dan als generator. Er loopt dan geen stroom, want er is geen circuit. Daar gaat geen tijd overheen. Tussen 12V aangesloten (met 11A ankerstroom) en loskoppelen (geen stroom) zal niet veel tijd zitten.

Maar er staat dan nog wel 12V op de klemmen. Als je die dan kortsluit dan gaat er een sterke stroom lopen die de motor afremt. Vergelijkbaar met de kortsluitstroom als je 12V koppelt terwijl de motor stilstaat. Enkel begrend door de ohmse weerstand van het anker.

De vraag is nu hoe lang dat duurt voordat er zoveel stroom gaat lopen. Er zal wel een bepaalde kleine zelfinductie in de motor zitten waardoor het eventjes duurt om die remstroom op te bouwen.

Om de boost condensator van de gate driver te laden moet de klemspanning van de motor wel naar nul in elk geval. Terwijl de motor op dat moment nog wel 12V genereert.

Eigenlijk kun je zo een motor een beetje vergelijken met de secundaire wikkeling van een trafo. Als je die kortsluit dan loopt er ook veel meer stroom dan je op basis van de zelfinduktie zou verwachten, puur doordat de primaire wikkeling het opgewekte magnetisch veld compenseert. De kortsluitstroom wordt enkel begrend door de ohmse weerstand van de trafo (primair en secundair).

@Sparky: Thanks. Ik dacht dat ik het wel ongeveer begreep en toch.... Weer wat geleerd. Je hebt helemaal gelijk!

@dekees. Stel je motor staat stil. Sluit je hem nu kort, dan is bij iedere snelheid die je hem zorgt z'n back-EMF voor een stroom die een koppel opwekt tegengesteld aan de draairichting. Maximaal remmen noem jij dat. Dit is niet het geval.

Stel je hebt een ouderwetse DC motor met 6 Ohm DC weerstand en 3000 RPM bij 12V, max 2A. Draai je hem dan 1000RPM, is de BEMF 4V, gaat er -0.66A lopen en remt ie aardig. Maar zet je er -8V op, dan gaat er 2A lopen en remt ie maximaal...

Dat gezegd zijnde.... Een DC motor kan je elektrisch voorstellen door een spoel, een weerstand en een GROTE condensator in serie.

Dus stel dat deze motor er 5 sec doet om op 3000 RPM te komen als je er 12V op aansluit. Dan is die condensator ongeveer 0.166F. De RC van de spoelweerstand, en de condensator is dan 1s dus dan haal je in 5*RC ongeveer 99% van de eindwaarde.

Goed. Ga je nu 33% PWMen, dan wordt het toerental ongeveer 1000 RPM. De condensator wordt nu opgeladen tot 4V (33% van 12V).

In de "OFF" fase zit je nu met een positieve stroom door de spoel, maar een negatieve spanning over de spoel. Dus de stroom neemt af. Laat je nu je andere laag-mosfet los, dan zal door de spoel de spanning daar met 12.6V toenemen, en is de negatieve spanning over de spoel niet -4V maar -16.6V: De stroom neemt sneller af!

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

De vraag is nu hoe lang dat duurt voordat er zoveel stroom gaat lopen. Er zal wel een bepaalde kleine zelfinductie in de motor zitten waardoor het eventjes duurt om die remstroom op te bouwen.

Om de boost condensator van de gate driver te laden moet de klemspanning van de motor wel naar nul in elk geval. Terwijl de motor op dat moment nog wel 12V genereert.

Hier spreek je jezelf toch tegen en is juist in lijn met wat sparkyGSX zegt. Die 2 a 3% van de tijd dat de onderste fet aanstaat heeft nauwelijks effect op de snelheid van de motor omdat de spoel inderdaad een korte tijd nodig heeft om te reageren op de verandering.

En aan de andere kant zit er in de motor veel meer energie dan die er zou zijn in enkel een spoel, dit in de vorm van kinetische energie door de massa van de motor en last. Ook daar zit een korte tijdsvertraging om te reageren op de verandering.

Op 12 juli 2021 19:57:46 schreef deKees:
[...]
Ja, ik krijg het ook wel geprogrammeerd in eender welke controller. :)

Maar wat gebeurt er dan met de motor als je volgas vooruit geeft voor 95% en de andere 5% volgas achteruit? Lijkt mij niet echt een goed idee.

Dat mis je het hele principe van PWM en ook de perceptie van de snelheid waarmee dat gebeurt. Als ik met de hand een schakelaar ga bedienen en ik oefen dat goed kan ik best goed op 95% zitten van de tijd waarin de schakelaar aan is. Sommige noemen dit geen PWM maar ik zie het verschil niet 95% is 95%. En als ik een hele zware motor en last zou hebben als bv in een goederentrein dan werk deze handmatige pwm net zo goed. Stel dat 100% zou zijn dat de trein 200km/uur rijd dan kan ik met 50% handmatig schakelen een nette snelheid van 100km/uur halen en geen enkele passagier in de trein zou het opmerken en het zal zal ook niet te horen zijn in de motoren.

PWM is dus vrij vertaald het zo snel kunnen schakelen tussen 100% en 0% zonder merkbare nadelen. En ja dat betekend dat je het ene moment de motor naar max toerental stuurt en het andere moment de motor naar 100% stilstand stuurt. Maar dat geld enkel voor de stuur signalen en als die periode kort genoeg is in verhouding met de reactietijd van het systeem is dat geen enkel probleem en heeft het ook geen nadelige gevolgen.

Op 12 juli 2021 21:34:11 schreef deKees:
Maar dan krijg je die boost condensator toch nooit vol?

Je kunt kiezen tussen Volgas achteruit, of volgas op de rem. Allebei ongewenst volgens mij.

Waarom zou dat ongewenst zijn? Dat is het pas als de motor daar te warm van word of dat de mechanische krachten op de motor te groot worden. In het sub micro niveau van pwm gebeurt dit wel de motor gaat vol gas en dan maximaal op de rem maar dat is zeker niet ongewenst of nadelig ook omdat de motor gewoon simpelweg niet genoeg tijd krijgt om zich erop aan te passen.

Bij ons in de werkplaat staan ca 40 machines met een voetpedaal die soms 20x per minuut worden omgepoold waarbij de mechanische krachten behoorlijk zijn er bij elke ompool actie een tik te horen is op de tandwielen. En toch zijn het merendeel van deze machines uit de jaren 70 en al tegen de 50 jaar oud zonder maar ooit een defect motor te hebben gehad. Er \zijn van 2 machines wel de motoren vervangen maar dat kwam door vast gelopen lagers en collega's die gewoon daarmee door blijven werken totdat de machine rooksignalen afgeeft.

Dit om aan te geven dat het continu ompolen van de motor of zelfs een geblokkeerde motor dus geen enkel probleem hoeft te zijn zolang de warmte van de motor niet te hoog word en de mechanische krachten beperkt zijn.

@rew, benleentje: helemaal correct!

Het is uiteraard wel de bedoeling dat de PWM periode veel kleiner is dan de elektrische tijdconstante van de motor, om de rimpel te beperken. Naarmate de rimpel groter wordt, neemt de RMS stroom toe bij dezelfde gemiddelde stroom, en dat geeft meer verliezen bij hetzelfde koppel. Als die rimpel zo groot wordt dat de stroomrichting omkeert, krijg je een negatief koppel, en dat is natuurlijk onhandig, want daarvan gaat de mechanica rammelen.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 13 juli 2021 11:34:57 schreef SparkyGSX:
Het is uiteraard wel de bedoeling dat de PWM periode veel kleiner is dan de elektrische tijdconstante van de motor, om de rimpel te beperken.

Dat begrijp ik, maar hoe bepaal je dat?

Je begreep het al maar PWM is pas echt helemaal fout als de motor daar te warm wan word of zoals jij het al zo mooi zei dat het mechanische staat te rammelen, zolang je daar ruim onder zit is wel te doen, maar ideaal is als je het perfect afstemt om je motor systeem eigenschappen. Zo bedenk ik me nu dat veel PWM sturen goed werken maar niet altijd zijn uitgerekend en dat laat toch wel zien dat er genoeg ruimte zit tussen fout en ideaal.

[Bericht gewijzigd door benleentje op 13 juli 2021 11:54:34 (12%)]

Op 13 juli 2021 11:34:57 schreef SparkyGSX:
Als die rimpel zo groot wordt dat de stroomrichting omkeert, krijg je een negatief koppel, en dat is natuurlijk onhandig, want daarvan gaat de mechanica rammelen.

Daar ben ik het niet helemaal mee eens.... Stel je hebt een "low inductance" motor. Dan kan het zijn dat in een "mechanisch te snel om te merken" het koppel toch al omkeert.

Het is natuurlijk minder efficient. Net als bij een DCDC converter, als de stroom negatief zou gaan, kan je de efficientie van het systeem verhogen door de boel in "vrijloop" te zetten ipv de stroom door de spoel negatief te laten gaan. Je lowside fet moet eigenlijk in "ideale diode" mode zijn.

Vergelijk het inderdaad met een DCDC converter. Daar wordt normaliter gezegd: een rimpel van 30% van de max stroom is acceptabel. Nou, als je dan onder 30% van de max stroom komt (of 15, weet ik veel, kan me niet schelen), dan gaat de stroom dus negatief. Dat is helemaal niet een enorm extreme instelling, toch?

[Bericht gewijzigd door rew op 13 juli 2021 12:16:10 (18%)]

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
ritmeester

Golden Member

Als het kan zou ik toch graag met jullie terug willen gaan naar mijn vraag.

Ik zal eerst wat meer informatie geven met foto’s:

De motor zit op een actieframe waarvan de bovenkant kan inklappen door middel van een motor.
De motor zal dus niet lang draaien want zodra open of dicht dan zijn er eindschakelaars die de motor stoppen. Deze zitten aan de PIC16F1788 gekoppeld.

Ik heb nu twee verschillende meningen gehoord met een 6 tal verschillende mosfet drivers.
Betreffende 4 x NPN maar ook 2 x NPN en 2 x PNP.

Sommige reacties in dit topic tussen gebruikers zijn mooi om te lezen maar gaan mij helaas ver boven de pet. Knowledge zit hier dus genoeg.

In eerste instantie zag ik de noodzaak van PWM niet in maar (edit) Lambiek wees mij er op dat dit toch wel handig kan zijn omdat dan de motor niet meteen op volle toeren gaat draaien maar iets rustiger op gang kan komen.

Nu heb ik dus nog steeds de prangende vraag; Wat moet ik mij op gaan focussen en gaan maken?

Bijgaand wat foto’s.

I love it when a plan comes together !

En toch zit het me niet lekker. Je kunt wel met een schakelaar 95% gaan PWMmen, maar dan zou ik schakelen tussen 95% aan en 5% uit, en niet tussen 95% vooruit en 5% achteruit.

Dus ik zou voor PWM op een DC motor gaan pulsen in één van de mosfets, bijv linksonder en dan zeker niet de bijbehorende links-boven gaan schakelen. Dus de motor lekker laten freewheelen in de uit-periode.

De tegenoverliggende mosfet rechtsboven blijft dan continue aan. En rechtsonder continue uit. Maar dan wordt de boost-condensator van die gate-driver dus nooit geladen, dus dan heb je een ander soort driver nodig.

Het kan best dat er machines bestaan die er wel tegen kunnen om snel te wisselen tussen vooruit en achteruit, maar ik zou dat nooit gebruiken om de snelheid te regelen.

Als je het mij vraagd zou ik toch gewoon voor relais gaan voor het ompoeln van de richting en dan een enkele fet voor het werkelijk aansturen van de motor, zo deden ze het vroeger ook met heftrucks en de relais hebben zo ook een lang leven, omdat de relais dus stroomloos kunnen schakelen. Echter hou wel een beetje een goede marge voor je fets, want de motor doet dan wel ca 11A op vol vermogen maar dat kan bij een geblokkeerde motor veel hoger zijn en ik zou dan even rekenen op ca 60A. Maar dat moet tegenwoordig geen probleem zijn, 12V en 60A is voor een moderne fet een makkie. Je hebt er al die 300A of meer kunnen bij 20V.
Belangrijkste voor een fet in deze toepassing is toch wel de lage Rdson waar tegenwoordig 10mΩ al erg veel is.

4 keer N-channel zou ik niet doen in dit geval.
Want de Fets bovenin hebben dan een stuurspanning nodig die ver boven de voedingsspannig uitkomt (20V of zo). En dan moet je die half-bridge drivers gebruiken. En dat geeft allerlei beperkingen in de aanstuur mogelijkheden om de boostcondensators geladen te houden.

Dus een set 2 x N-channel als low-side en 2 x P-channel als high side met een set low-side gate drivers geeft dan de volledige aanstuur vrijheid zonder enige beperking in timing.

hennep

Golden Member

Op 13 juli 2021 13:59:28 schreef deKees:
... dat geeft allerlei beperkingen in de aanstuur mogelijkheden om de boostcondensators geladen te houden...

Bedenk dat die condensator niet alleen wordt geladen door de low side fet naar GND te schakelen maar ook als de high side fet gaat sperren. De spoel blijft geleiden en de bodydiode in de onderste fet voorkomt dat de spanning aan die kant lager wordt dan -0.6V

Lambiek

Special Member

Op 13 juli 2021 13:59:28 schreef deKees:
4 keer N-channel zou ik niet doen in dit geval.

Dus wij zitten hier met zijn allen onzin te verkopen? En waarom werkt het bij ons dan wel? En alle datasheets die bij de drivers staan (met voorbeelden) die kloppen allemaal ook niet?

Dus een set 2 x N-channel als low-side en 2 x P-channel als high side met een set low-side gate drivers geeft dan de volledige aanstuur vrijheid zonder enige beperking in timing.

Je hoeft helemaal niets te timen, daar zorgt de driver voor (tenminste bij mijn schema uit het artikel) Ik kan bijv. met twee pwm signalen (geïnverteerd ten opzichte van elkaar) met één potmeter het toerental regelen en de draairichting omkeren van de motor. Potmeter in de middenstand staat de motor stil, verdraai ik de potmeter gaat de motor naar links of rechts en het toerental loopt op.

En kijk nog eens goed naar het schema. Vooral bij de ingangssignalen op de 4011.

Hier de signalen die op de gate staan, die worden door de drivers gemaakt.

En dit zijn de opties om de regelaar aan te sturen vanuit de controller.

Zoals je ziet zijn er maar twee uitgangen van de 4011 die naar de ingangen van de drivers gaan.

Op 13 juli 2021 13:46:47 schreef ritmeester:
In eerste instantie zag ik de noodzaak van PWM niet in maar Arco wees mij er op.......

Volgens mij was ik dat, maar maakt verder niet uit. :)

Nu heb ik dus nog steeds de prangende vraag; Wat moet ik mij op gaan focussen en gaan maken?

Je had deze toch gevonden, waarom maak je die niet gewoon.

https://www.instructables.com/H-Bridge-PWM-DC-Motor-Driver/

Zet dat ding op een bread-board en sluit er een kleine motor op aan en ga wat experimenteren.

We kunnen wel voorbeelden blijven geven, maar daar wordt de keuze alleen maar moeilijker door.

Als je haar maar goed zit, GROETEN LAMBIEK.
hennep

Golden Member

Ik dacht dat TS geen PWM wilde gebruiken. De schakeling van instructables heeft dat nodig om de bootstrapcondensator op spanning te houden.
Ritmeester, je hebt logic level fets. Die kun je direct vanuit een microcontroller pin aansturen. Zelfs met 3.3V logic haal je die 11A en blijft je in het DC gebied van de safe area.

Probeer het eens zo, low side direct vanuit de microcontroller aansturen en high side met de truc van Pros.
Dit kost je 4 pinnen van de controller en de dead time mag je zelf bepalen in je programma.

Wel even opletten met het programmeren dat Q3 en Q4 inverteren.

EDIT:
reactie op hieronder, volgens mij zat hij op het omslagpunt. Met deze schakeling kan hij beide kanten op.

Lambiek

Special Member

Op 13 juli 2021 15:24:50 schreef hennep:
Ik dacht dat TS geen PWM wilde gebruiken.

Hij vindt het nu misschien wel makkelijk in verband met aanlopen en afremmen. Maar ik laat het geheel aan de TS. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

Je hoeft helemaal niets te timen, daar zorgt de driver voor

Welke driver?
In het voorbeeld stuur je de zaak aan met pulsen. Dat zal wel werken als je dat goed doet.

Maar als je de gates statisch aanstuurt dan loopt de boost condensator in de gate driver leeg en dan gaat de high-side fet uit na een tijdje. Dat kun je alleen voorkomen door te gaan pulsen en daar komt timing bij kijken.

Lambiek

Special Member

Op 13 juli 2021 15:31:50 schreef deKees:
Welke driver?

Welke driver? In mijn geval de IR2184.

In het voorbeeld stuur je de zaak aan met pulsen. Dat zal wel werken als je dat goed doet.

Dat werkt zeker ja. Hoe wil jij het doen dan?

We hebben het toch continue over het gebruik van fet drivers of mis ik iets.

Als je het wil doen zoals in het laatste voorbeeld van hennep dan komt er wel timing bij kijken, dat moge logisch zijn. Dan ga je alle vier de fets direct uit je controller aansturen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Ik heb het draadje niet echt gevolgd maar ik zou zoiets kopen.
Dat werkt heel goed! wel nog wat warmtepasta tussen de print en koelplaat aanbrengen.

LDmicro user.
Lambiek

Special Member

Op 13 juli 2021 15:49:03 schreef MGP:
Ik heb het draadje niet echt gevolgd maar ik zou zoiets kopen.

Dat is wel de eenvoudigste weg ja. :) Maar daar leer je weer niet veel van.

Als je haar maar goed zit, GROETEN LAMBIEK.

Ik kijk meer naar de praktische aanpak van dit project :p

LDmicro user.

En alle datasheets die bij de drivers staan (met voorbeelden) die kloppen allemaal ook niet?

In de datasheet van de IR2184 staat niks over het aansturen van motoren. Het woord 'motor' staat er ook niet in.

En als ik zoek op het aansturen van Brushed DC motoren dan stuurt infinion me naar CY96800, eentje met ingebouwde chargepump voor de high-side.

En dan zie ik hele tabellen met gate drivers met interne charge pump die een DC voeding voor de high side genereren zonder dat je daarvoor de fets moet aansturen.

En het is niet de IR2184 die de timing verzorgt van het PWM signaal. Die doet alleen de timing van de dead-time tijdens omschakelen. En dan moet je maar hopen dat de vaste 0.4 en 5 microseconden in jouw geval goed uitkomen.