Vraag:
Hoe meet ik de stroom naar een component?
Len Holgate
2009-12-05 15:04:58 UTC
view on stackexchange narkive permalink

Ik bouw een hexapod-robot met eenvoudige servo's en ik vroeg me af hoe haalbaar het was om de stroom naar elke servo te meten (5-6V DC tot een maximum van 0,25-1A (ik heb de specificatie voor de blokkeerstroom van de servo nog)) met behulp van bijvoorbeeld een ATMega168. Wat voor soort circuit zou ik nodig hebben om in serie te bouwen met elk van de voedingslijnen van de servo om me een nuttige uitlezing te geven? Ik neem aan dat ik een spanningsval over dit circuit zou krijgen, wat is het waarschijnlijk? enz.

Drie antwoorden:
Kortuk
2009-12-05 15:56:48 UTC
view on stackexchange narkive permalink

Eerlijk gezegd gebruiken mensen vaak een simpele zintuiglijke weerstand.

Je plaatst een zeer lage weerstandsweerstand in serie (<1 ohm vaak) en meet spanningsval. Hierdoor kunt u de motorstroom bewaken.

Er zijn veel motorbesturingsalgoritmen als u de motor zelf wilt besturen, anders hoeft u alleen maar te controleren of u bemonster vaak genoeg om een ​​nauwkeurige meting te krijgen, of gebruik een circuit met een laagdoorlaatfiltereffect (zorg ervoor dat u de spanning buffert).

OK, ik heb dit geprobeerd en het werkt goed (met een eenvoudige test met mijn multimeter) en is eenvoudig te doen en neemt niet veel extra componenten of bordruimte in beslag, wat goed is. Mijn plan is om het huidige sensorsignaal van elk van de servo's naar een van de actieve lage muxen van de CD74HCT138E te leiden en deze tijdens de 50Hz PWM-verversingscyclus te lezen; dus ik lees de feedback over de huidige trekking voor de servo terwijl ik de PWM ervoor genereer ...
Houd er rekening mee dat multimeters een ingebouwde laagdoorlaat hebben. Het kan zijn dat uw microcontroller minder waardevolle nummers ontvangt zonder implementatie van een eenvoudig laagdoorlaat RC-filter.
Dat is goed om te weten.
Jason S
2009-12-06 05:19:23 UTC
view on stackexchange narkive permalink

Detectieweerstand is goed. Meestal zijn ze aan de hoge kant van het circuit geplaatst, zodat de voedingsspanningsterugkeer kan worden gedeeld tussen bron en belasting, en meestal pas je de meetweerstand aan zodat deze klein genoeg is om het circuit niet te beïnvloeden, maar groot in vergelijking met spanningsfouten (typische op-amp input offsets zijn in de buurt van 0,5-5mV). Dit maakt het een beetje moeilijker om te versterken en te vertalen naar een "aarde" -referentiesignaal. Bekijk deze stroomdetectiemonitor-IC's van Zetex (nu onderdeel van Diodes Inc) - ik moest een paar maanden geleden een stroomdetectieschakeling ontwerpen en deze leken het beste te passen (project werd gewijzigd dus ik heb nooit de kans gehad om het te gebruiken).

Zorg er voor de lay-out voor dat je een pseudo-Kelvin-verbinding gebruikt - sluit de stroomdetectiesignaallijnen rechtstreeks aan op de pads van de weerstanden (bij voorkeur de binnenranden van de pads) en gebruik die detectiesporen alleen voor het versterkingscircuit. (Een echte Kelvin-verbinding zou hetzelfde zijn, behalve dat er een weerstand met 4 aansluitingen met 2 belastingaansluitingen en 2 meetaansluitingen voor nodig zou zijn - dit is meestal niet nodig, tenzij je echt nauwkeurige of lage -weerstandscircuits.)

Ik zou willen opmerken dat er op-amps zijn ontworpen voor veel verschillende dingen, ik heb vrienden zoiets laten bouwen en het werkte niet omdat hun op-amp-offset ongeveer 100mV was en het geen rail-rail-op-amp was. Anders een uitstekend ontwerp. Ik denk nooit bewust na over hoe ik de sense-lijnen moet verbinden, maar ik heb ze altijd aangesloten op de weerstandskussens, stom geluk of iets dat iemand me lang geleden heeft verteld, wie weet.
Kelvin-verbindingslay-out: http://imgur.com/gVrH1 Bron: http://focus.ti.com/lit/ml/slua366/slua366.pdf
Ik denk dat dit waarschijnlijk een beetje ingewikkelder is (en ik verwacht nauwkeurig) dan ik nodig heb. Aangezien ik minimaal 18 servo's heb die ik wil meten, denk ik dat het aantal componenten en de kosten onbetaalbaar zullen zijn ...
Ik geloof dat Jason een acceptabel antwoord geeft in de branche, totdat je het apparaat wilt verkopen, ben je waarschijnlijk meer dan in orde. Ik zou echter willen voorstellen zijn benadering te begrijpen, aangezien de kennis van wat hij deed veel waardevoller is dan de implementatie.
moet je ieders stroom meten? sowieso waren sommige van die zetex-onderdelen elk rond de 50c, denk ik
Als iemand die met veel knutselaars werkt, is het normaal gesproken een kwestie van grootte en niet van kosten. Complexiteit en omvang gaan omhoog, bugs nemen exponentieel toe, vooral met broodplanken.
Kortuk, bedankt, ja, misschien ga ik deze route als de andere kant voor mij niet werkt.
Jason, ja, ik gebruik de huidige meting om me te vertellen hoeveel spanning de servo heeft. Het idee is dat ik dit kan gebruiken als een eenvoudig feedbackmechanisme. Ik zag dat de Zetex-onderdelen behoorlijk goedkoop waren, toen ik zocht naar iets soortgelijks in een DIP-pakket dat ik misschien een kans had om te solderen, gingen de prijzen omhoog. Dat gezegd hebbende, als ze in 8 seconden in een enkele DIP waren verpakt, zou dat misschien beter werken. Misschien speel ik met beide benaderingen. Bedankt voor de info.
Digikey verkoopt die SMT-adapters (kleine printplaten met SIP-pinnen), als je je zorgen maakt over snelle prototyping. Als je een printplaat neerlegt, zou ik me geen zorgen maken over SOT23's; Ik ben behoorlijk onhandig en ik kan ze prima aan. (TSSOP's en 0402-componenten zijn een andere zaak ...)
Oké, dat is goed om te weten.
davidcary
2010-09-09 19:32:29 UTC
view on stackexchange narkive permalink

Klinkt als een gaaf project.

Sommige motorbestuurders meten al stroom om "overbelastingsbeveiliging" te bieden. Als je dat signaal niet kunt aftappen, zijn er verschillende manieren om stroom te meten. Begin met de eenvoudigste en goedkoopste methode, en als dat niet werkt, probeer dan de volgende.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...