H-Brug + PWM

Hallo,

Ik ben een robotwagentje aan het maken. Op het internet is hier enorm veel over te vinden en heb dan ookal de basisfuncties klaar. Ik heb een L293D H-Brug gebruikt. Ik gebruik motoren van 7.5V, 160mA

Nu zou ik graag snelheidsregeling implementeren. Ik stuur de "Enable" pinnen van de L293D aan via PWM om zo snelheid te kunnen regelen.

Het resultaat was echter niet wat het moest zijn, bij een lage waarde ging het spoel in de motoren aan het piepen. Wat relatief logisch is maar ik kon gene lage snelheid halen ook niet, pas vanaf een pwm waarde van 150 wilden de motoren draaien en dit ging al relatief snel. Ik heb dan echter eerst even getest of de motoren wel traag konden draaien d.m.v. de voeding rechtstreeks op de motoren te hangen. De motoren werkten zo vanaf een 1.5V op een zeer trage snelheid. Dus de motoren kunnen wel degelijk traag draaien.

Nu met mijn beperkte elektronica kennis dacht ik eraan om even een condensator parallel met de motoren te zetten zodanig we af zijn van dat hoogfrequent. En dit werkte vrij goed alleen zit ik nu met een probleem waar ik toch even jullie ervaring en deskundigheid voor nodig heb.

Is er eigenlijk een manier om te bereken hoe groot deze condensatoren moeten zijn? Ik heb getest met 1µF, 10µF,100µF,300µF,400µF,1000uF,4300µF Want hoe groter hoe stabiel de spanning natuurlijk, een hoe minder je laatste hebt van hoogfrequent. Maar is er een nadeel aan zo'n hoge capaciteit te nemen? Ik heb dan ook nog een effect dat volgens mij door deze hoge capaciteit komt. Indien mijn motoren rechtdoor gaan en daarna de stroom moet omwisselen om achteruit te gaan, dan gaat hij veel tragen tot niet achteruit en ik denk dat dit komt omdat de condensator moet ontladen. Nu dacht ik ik zet 2 condensatoren één voor de heenrichting via een diode en 1 voor de terugrichting via een andere diode maar dit is maar een gedacht.

Ik ben vooral software gericht, daarom dat ik zeer blij zou zijn indien iemand ervaring heeft met zoiets en mij zou kunnen helpen. Is er nog een andere oplossing dan hoor ik het ook graag, een DAC is dat misschien ook maar zoals ik al zei analoge is niet echt mijn ding.

Alvast bedankt! MVG, AmdAero!

Hoi AmdAero.

Als ik naar de capaciteiten kijk, spreek je over elco's. Zo'n elco is polariteits gevoelig, je kunt dat onder andere zien aan de min die altijd word aangegeven op de behuizing (meestal met een witte of zwarte streep emt een - erin). Wanneer je zulke elco's toepast, dan zijn er een aantal zaken waarmee je rekening moet houden, en de polariteit is de eerste daarvan. Doe je dat niet, dan neem je het risico dat de elco ontploft, en das geen geintje.

Het kan zijn dat de motoren niet helemaal zo werken als je denkt. Om een motor aan de gang te krijgen, heb je een grotere stroom nodig. Maar om de motor aan het lopen te houden, kun je de stroom lager laten gaan dan die startstroom. En je moet uiteraard ook rekening houden met de belasting van de motoren, das uiteraard ook van niet geringe invloed. Wellicht zijn de motoren niet bedoeld om met PWM te gebruiken, en dan kun je ook soortgelijk gedrag krijgen. Wat is de stroom door de motoren als je er 1,5 volt op zet ? En wet is de voedingsspanning die je aan de L293D aanbiedt ? Wist je dat je zo'n 3 volt spanningsverlies hebt, en dat je dat dus moet incalculeren ?

Dat zijn al een hoop opmerkingen. Je kunt eens proberen door met 50 % te beginnen, of je dan na het starten die waarde nog een stukje omlaag kunt brengen. Ik vermoed (uit ervaring) dat je niet veel lager dan 30 % zult uitkomen, maar das toch al weer een heel stuk minder dan 50 %.

Ik weet niet wat je verder allemaal tot je beschikking hebt, maar een display die je de huidige waarde weergeeft en een toets (of twee) is voor die test dan wel handig. Laat je de motor beginnen met 50 %, wat dan ook op het scherm verschijnt, en telkens als je op de knop drukt gaat ie een stapje omlaag. En dan onthoud je de laagste waarde waarbij de motor nog draait.

In je uiteindelijke sketch laat je m dan starten op 50 % voor heel korte tijd, en gaat dan naar de nu bekende laagste waarde. Nogmaals: vergeet niet dat je de test waarschijnlijk zonder belasting uitvoert, en dat je met je definitieve versie waarschijnlijk net iets anders zult uitkomen.

Je oplossing met de condenstoren zou ik laten varen.

piepen is normaal, komt vooral door goedkope motor, zorg wel voor paar diodes die voorkomen hoge spanningen en over de voeding die dikke elco.

Ik heb ondertussen wel wat ervaring met motoren en PWM. Mijn advies: Denk aan volgende zaken: 1) Minder dan 50% PWM (zonder extra schakelingen) is zoeken naar problemen. 2) Probeer de PWM frequentie hoger te krijgen. Lees deze post maar eens van mij http://blog.baeyens.it/#post12 3) Ik heb geen ervaring met rc low pass filters en motors maar die zouden je wel moeten kunnen helpen. Deze site kan je helpen de r en c waarden te berekenen http://sim.okawa-denshi.jp/en/Fkeisan.htm. Misschien kan je dan wel onder de 50%PWM.

Verder nog dit: - Hoe lager de pwm/volt hoe minder vermogen. Net bij vertrekken heb je juist extra vermogen nodig. Als je motor op 1.5 volt traag genoeg draait heb je een tragere motor of een tandwielkast nodig. - Het piepen is een heel gekend probleem. Om het piepen te vermijden moet je hoog frequent gaan. Met een arduino alleen lukt dat niet. - Goedkope motoren maken het piepen erger.

Voor wat betreft je vraag over elco's. De RC grafieken die je met de tool die ik hierboven noemde heel goed begrijpen wat er gebeurd. Dit is de pwm RC filter http://sim.okawa-denshi.jp/en/PWMtool.php asl je daar bijvoorbeeld 1ohm 1p invult zie je dat je niet veel doet (je krijgt een blokgolf) maak je er 1k en 1n van zie je hoe de blokgolf afrond. bij 1k en 1u ziet het er al wat uit. Merk op dat deze berekening geen belasting in rekening brengt dus dit geld enkel als je de output gebruikt als stuur signaal

Veel success Jantje