ESP8266+Servo Probleem: Uitgangsspanning 7805 zakt naar 2.5V bij 0.4A.

Beste allen,

Ik kom er niet uit met mijn Wemos D1 Mini (esp8266) en mijn servo (Mg995). Hopelijk kan iemand me in de juiste richting wijzen.

Ik heb de schakeling in de bijlage in elkaar gesoldeerd. De condensatoren zijn 100nF. Volgens mij zou dit correct moeten zijn.

Als ik de servo aanstuur met de esp, doet ie het soms goed, en soms niet.
Wanneer hij het goed doet, trekt de schakeling zo'n 0,25A uit de 12v accu terwijl de servo (onbelast) onderweg is naar zijn target. Eenmaal aangekomen zakt het terug naar 0,07A (normaal voor de ESP).

Het probleem: Af en toe gaat de servo niet naar zijn target, maar blijft hij een soort van trillen. Gedurende dit trillen wordt er 0,45A getrokken uit de accu en meet ik slechts 2.5V uit de 7805 output.
Als ik een microusb in de wemos steek (samen met de 12v accu), dan is het probleem ook weg. Het lijkt me dus zeker een vermogensprobleem.

Mijn vermoeden: Ik denk dat doordat de 5v spanning uit de 7805CV inkakt en de esp8266 reboot. En het vervolgens niet lukt om op te starten en blijft ie in een soort bootloop. Als ik de servo dan een handje help met de hand, doet ie het vaak weer en schiet ie zelfs door naar zijn target.

Met een andere (lichtere) servo (modelcraft rs2) kan ik het falen niet reproduceren. Maar het valt me wel op dat als ik de servo met de hand ga tegenwerken, dat bij 0,4A de 5V rail naar onder de 3V zakt.
Naar mijn begrijpen zou de 7805 met gemak een halve ampère moeten kunnen leveren. Wat gaat hier mis? Ik heb de 7805 al vervangen door een andere, maar het gedrag blijft hetzelfde.

Iemand een idee? Alvast bedankt!

Ha perpetuum_mobile,

Ik mis een gedegen ontkoppeling bij de modules, plaats hier zo dicht als kan een elco van 4,7 µF of daaromtrent is niet kritisch.

Verder is van belang dat de massa verbinding een redelijke dikte heeft.
Ik ga er van uit dat de accu voldoende capaciteit heeft !

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Dag Henk,

Ik geloof dat er al een ontkoppelingscondensator op de Wemos module zit voor de ESP.

Waar zou verder nog een condensator bij moeten? De 7805 moet volgens de datasheet 0,1uF op de input en 0.33uF op de output hebben. Ik heb voor beide 0.1uF gebruikt. Maar ik heb tevens begrepen dat dat bij een schone DC accuspanning als bron eigenlijk al overbodig is.
Waar zou verder nog een condensator moeten komen?

De accu is zeker groot genoeg. Zelfbouw lifepo4 vergelijkbaar met een kleine motorfietsaccu. Kan 40A continue leveren. De spanning was 13.1V tijdens het testen (en zakte niet in).

Wat overigens wellicht het vermelden waard is: De 7805 wordt vrij heet. Logisch ook met zo'n groot spanningsverschil. Wanneer er 'in rust' 0,07A doorheen gaat, kan ik hem nog net vast blijven houden. Doet wel een beetje pijn.
Hoe snel kan de 7805 (intern) oververhit raken? En kan dat van invloed zijn op de spanningsval naar 2.5V bij slechts 0,4A? Als dat de reden was, zou ik verwachten dat hij het de eerste paar seconden of minuten goed zou doen. En daarna zou gaan trippen.

[Bericht gewijzigd door perpetuum_mobile op 1 december 2021 17:03:32 (29%)]

Als de verbinding tussen accu en 7805 langer als 15cm is, moet er een extra bufferelco aan de ingng van de 7805.
Die 0.25A mag je ook niet te lang gebruiken: bij continu gebruik wordt de 7805 zonder koelvin 120+ graden...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Het is nu zo'n 20-30cm aan 2,5mm2 draad tussen accu en 7805. Ik zal een extra cap proberen. Er zit nu dus 0,1uF op. Welke waarde zou je aanraden?

En klopt, de 7805 wordt vrij warm. Bij 0,07A al. In de praktijk zal deze schakeling waarschijnlijk 4-5x per dag de servo van positie 1 naar positie 2 bewegen. Na elke actie van 2seconden dus urenlang @0,07A om weer (relatief) af te koelen. Ik gokte er een beetje op dat dat wel zou gaan werken. En anders vervang ik de 7805 alsnog voor een 'switching' regelaar.

Ik heb het zojuist geprobeerd met een 9V blok. Minder hete 7805, maar zelfde probleem.

470uF condensator toegevoegd tussen 5v en gnd: geen verschil.

Het valt me nu trouwens op dat het vaker (maar niet exclusief) voorkomt wanneer ik eerst een andere pwm waarde stuur. En daarna pas de mosfet gate hoog zet. Dan gaat hij vaker trippen dan wanneer ik eerst de gate hoog zet en daarna de nieuwe pwm waarde doorstuur.

marcob

Golden Member

Je 7805 moet 8.1V spanningsverschil omzetten in warmte. Ook zonde van je accu energie. Ik gebruik, als het kan, een DC-DC convertor.

Die zijn er ook al klein.
https://nl.aliexpress.com/item/1005001393377553.html?spm=a2g0o.detail.…

Eerste hit, dus verder zoeken loont.

Een WOK is ook maar een vergiet zonder gaatjes

Dag Marco,

Ik ben inderdaad bekend met de (veel) betere efficiëntie van schakelende voedingen tov linieare. In dit geval dacht ik echter wel weg te komen met een linieare, aangezien het apparaat uiteindelijk gewoon stroom uit de muur zal krijgen (de accu is enkel voor het testen).

De halve Watt aan verspilde energie (8,1*0,07A) kan ik wel van slapen, wetende dat mijn Ziggo kastje 35W slurpt terwijl hij "uit" staat. =)

Maar zoals ik al zei, als het nodig blijkt zal ik de 7805 vervangen door een schakelende variant. Alleen ben ik vooral heel benieuwd waarom dit niet werkt. Alles zit volgend mij (ruim) binnen de limieten.
Net weer getest, bij belasten van de servo met 0,3-0,4A zakt de 5v spanning al naar 2,5-3V (bij lauwe 7805). Hier ligt volgens mij de kern van het probleem.

[Bericht gewijzigd door perpetuum_mobile op 1 december 2021 17:34:27 (11%)]

Ha perpetuum_mobile,

Kan je een andere 7805 gebruiken of de 7805 belasten met een weerstand of lampje tot zeg 0,5 A ?

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Ik heb de 7805 reeds vervangen. Dat loste het probleem helaas niet op. Ik zal het testje met de weerstand eens proberen. Be right back.

Een 9v batterij gaat zeker niet werken: die kan geen 400mA leveren...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
buckfast_beekeeper

Golden Member

Als het toch aan de muur gaat hangen, gebruik dan een 5V MeanWell (IRM-10-5 5V 2A) voeding of een Traco Power voor printmontage.

Zoek ik even naar de servo dan zie ik dit staan

Current at maximum load: 1200mA

.
Dat haalt de 7805 NOOIT. De gevraagde spanning is 4,8V-7,2V. Moet je geen levelshifter plaatsen tussen ESP en servo? Wordt de Mosfet volledig opengestuurd bij 3,3V?

Van Lambiek wordt goede geuze gemaakt.

Een 'naakte' 7805 is 50°C/W, je zit (zeker bij een relatief hoge ingangsspanning) dus al gauw aan zijn maximum.

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

@Henk
Ik heb de servo vervangen door een 10 Ohm weerstand. Dit trok zo'n 0,45A uit de accu (met actieve mosfet). Met mosfet gate laag 0,07A (zoals verwacht).

Als ik de spanning ga meten op de 5v rail, dan zakt ie van 4,97V naar zo'n 3,5V zodra ik de mosfet gate hoog zet. En vervolgens blijft het voltage geleidelijk zakken gedurende een seconde of 5 naar uiteindelijk 2.5V wat de esp deed crashen.

@Marco, de test met de weerstand heb ik weer gedaan met de 13.1V accu.

@buckfast, die 4.8v-7.2v is het spanningsbereik voor de servo-module. Deze module accepteert echter 3-5V logic volgens de specificaties.
De mosfet is een IRL540N met een gate threshold voltage van tussen de 1 en 2V. Met 3.3v van de esp zou hrt volgens mij goed moeten gaan, al ben ik geen superheld met datasheets. Dus corrigeer me gerust als ik het mis heb.
Ik heb met hetzelfde mosfet type in het verleden overigens ook 36v/3a geschakeld met 3.3v van de esp.

@Arco
Klopt, maar de boel zal 99% van de tijd op 0,5W draaien. En slechts enkele seconden per etmaal 1A trekken.

Voor de context. Het gaat om een servo die de ventilatieschuif boven mijn raam (hooguit) een paar keer per dag open (of dicht) moet doen.

Op 1 december 2021 17:20:30 schreef perpetuum_mobile:

Het valt me nu trouwens op dat het vaker (maar niet exclusief) voorkomt wanneer ik eerst een andere pwm waarde stuur. En daarna pas de mosfet gate hoog zet. Dan gaat hij vaker trippen dan wanneer ik eerst de gate hoog zet en daarna de nieuwe pwm waarde doorstuur.

Die MG995 is toch een RC servo? waarom pwm-en en wat doet die mosfet daar?
Die RC servo heeft toch een signaal van 1 - 2msec nodig.

LDmicro user.

De mosfet is daar omdat goedkope RC servo's nogal de neiging hebben om niet helemaal uit te schakelen als (net niet) aankomen op hun target. Dan heb je constant zo'n zoemend geluid uit de servo komen. Met de mosfet kan ik de servo uit en aan zetten naar wens.

Dat 1-2ms signaal is een pwm signaal.
Op 50Hz (waar de meeste hobby servos mee werken) is 1ms gelijk aan 5% pwm duty cycle. En 2ms aan 10%.

@buckfast
5V uit de muur is weer niet handig, want er zit 3-5m aan kabel tussen het stopcontact en het apparaat. Dan zou ik weer hele dikke kabels moeten gebruiken. Een 12v voeding uit de muur + 5m kabel + 7805 of een schakelende regelaar leek me de beste oplossing, want 230v wilde ik liefst niet in mijn apparaat hebben.

Ik zag net trouwens dat wanneer de boel het wel goed doet en de multimeter tijdens het bewegen zo'n 0,25A laat zien, de 5V spanning ook zakt naar 3.5-4V.
Er lijkt echt iets mis met de 7805 kant van het verhaal. Zelfs de 500mA usb poort van mijn oude laptop laat de boel probleemloos werken.

[Bericht gewijzigd door perpetuum_mobile op 1 december 2021 18:38:37 (19%)]

De GND onderbreken is een slecht idee, beter de + onderbreken.

LDmicro user.
buckfast_beekeeper

Golden Member

Op 1 december 2021 18:11:49 schreef perpetuum_mobile:
[...]
@buckfast, die 4.8v-7.2v is het spanningsbereik voor de servo-module. Deze module accepteert echter 3-5V logic volgens de specificaties.
De mosfet is een IRL540N met een gate threshold voltage van tussen de 1 en 2V. Met 3.3v van de esp zou hrt volgens mij goed moeten gaan, al ben ik geen superheld met datasheets. Dus corrigeer me gerust als ik het mis heb.
Ik heb met hetzelfde mosfet type in het verleden overigens ook 36v/3a geschakeld met 3.3v van de esp.
[...]

Dat de PWM ingang tussen 3 en 5V is, heb ik nog nergens kunnen terug vinden. Een goede datasheet is blijkbaar weer ver te zoeken.

Wat de MOSFET betreft, had ik de datasheet niet gaan zoeken.
RDS(on) bij 5V 0.07Ω
RDS(on) bij 4V 0.11Ω
Bij 3,3V zal dat nog meer zijn.

Van Lambiek wordt goede geuze gemaakt.

Op 1 december 2021 16:54:12 schreef perpetuum_mobile:
en 0.33uF op de output hebben. Ik heb voor beide 0.1uF gebruikt. Maar ik heb tevens begrepen dat dat bij een schone DC accuspanning als bron eigenlijk al overbodig is.
[...]
En kan dat van invloed zijn op de spanningsval naar 2.5V bij slechts 0,4A? Als dat de reden was, zou ik verwachten dat hij het de eerste paar seconden of minuten goed zou doen. En daarna zou gaan trippen.

Allereerst is je DC-spanning op de uitgang verre van schoon. Servo's kunnen enorme piekstromen trekken, dus daar zul je de spanning terdege voor moeten bufferen.
Daarnaast verwacht ik dat die 0,4 Ampère een gemiddelde meting is van een multimeter die die piekstromen niet lekker kan meten. Met een 'standaard' servo kwam ik ook met gemak op een Ampère aan piekstroom.

Wat je niet laat zien is hoe je de boel aangesloten hebt (ik bedoel een foto, geen schema).

Naast het uitschakelen in de min, wat mij niet zo handig lijkt, is het het beste om de voeding van de ESP zo snel mogelijk volledig te scheiden van de voedingsspanning van de servo: als je eerst naar je ESP gaat en dan naar je servo, ziet je servo de rommel die de servo veroorzaakt ook op zijn voedings-ingangen, met de rare problemen die daar bij komen. Hetzelfde gaat op voor de massa.

Zo dicht mogelijk bij de voedingsbron de bedrading van elkaar scheiden en naar hun eigen verbruikers doorlussen is het beste.

http://www.m-voorloop.nl --- Ik? Welnee! Ik zit nog lang niet achter de germaniums.

Bij een spanningsval van 2.5V zou een Rds(on) van 6,25 Ohm horen. Dat lijkt me niet realistisch. Die spanningsval is overigens niet over enkel de mosfet. Ook de algemene 5v rail zakt in.

Tevens denk ik niet dat het aan het mosfet gedeelte of aan de servo of aan de pwm spanning ligt. Want als ik de 7805 simpelweg omzeil en een microusb in de wemos module plug, dan doet alles het perfect. Dat sluit een probleem met de mosfet of servo uit, toch?

[Bericht gewijzigd door perpetuum_mobile op 1 december 2021 19:07:46 (11%)]

MarEle

Golden Member

Misschien eens proberen om 2 7805 te gebruiken, 1 voor de servo en 1 voor ESP. Dan ben je bijna zeker je reboot probleem kwijt.

Hierbij een HD video van de schakeling:
https://we.tl/t-OXHVaNmE4i

Een extra 7805 is wellicht een oplossing idd, maar ik ben inmiddels vooral benieuwd naar waarom dit niet werkt.

@Weirdguy: Ik heb ook nog getest van een 470uF condensator tussen 5V en GND, maar dat had geen effect.
De spanning zakt ook in zonder servo, maar met een 10Ohm weerstand tussen 5V en GND. En ook dan meet ik 0,4A en 2.5-3.5V ipv 5V.

Houd er wel rekening mee dat die 1-2ms nogal kan afwijken per servo type (uitschieters van 0.5...2.5ms is niet bijzonder)

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Op 1 december 2021 19:09:13 schreef Arco:
Houd er wel rekening mee dat die 1-2ms nogal kan afwijken per servo type (uitschieters van 0.5...2.5ms is niet bijzonder)

True, dat ontdekte is een paar dagen geleden. En na een hele hoop gegoogle naar "why does my servo turn only 90deg", ontdekte ik dat mijn servo idd werkt tussen 500us en 2500us.=)

@Weirdguy. Wellicht een wat basic vraag, maar hoe scheid ik precies de 5v tussen de esp en de servo? Door twee verschillende 7805 te gebruiken? Of bedoel je iets anders?

Wat de npn mosfet betreft, wat is het nadeel tov een pnp?

[Bericht gewijzigd door perpetuum_mobile op 1 december 2021 19:16:33 (23%)]

Lambiek

Special Member

Op 1 december 2021 18:30:26 schreef perpetuum_mobile:
De mosfet is daar omdat goedkope RC servo's nogal de neiging hebben om niet helemaal uit te schakelen als (net niet) aankomen op hun target.

Dat is ook niet de bedoeling van een servo.

Dan heb je constant zo'n zoemend geluid uit de servo komen. Met de mosfet kan ik de servo uit en aan zetten naar wens.

Het is geen goed idee om de spanning van je servo te halen, haal dan het PWM signaal weg. Maar ook dan kan je servo verdraait worden met de hand. Maar ik weet niet waar het voor gebruikt wordt, dus misschien is het nodig voor jou toepassing.

En lees dit eens door. Zelf gebruik ik ook nog wel eens een servo, maar bij mij brommen en trillen ze niet. Dan doe je toch iets verkeerd vrees ik.

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

Heb je de voeding zo gemaakt?

Als je haar maar goed zit, GROETEN LAMBIEK.