Archief - Probleempje Arduino-project

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ardtieboy

Legacy Member
Beste allen,

Momenteel ben ik bezig met een projectje waar ik op basis van soil moisture-sensors een pompje mijn planten wil laten water geven. Daartoe gebruik ik een Arduino Uno. Nu vond ik een gelijkaardig projectje, maar waar de pomp een gewoon motortje was. Ik wilde eerste de pomp afzonderlijk uittesten. Deze schakeling werkt perfect voor het Arduino-motortje die in m'n pakket zit. Met het pompje doet de schakeling echter niks. Hieronder kun je de schakeling zien:

SmPSm9.jpg


Ik vermoed dat het iets met de stroom te zien heeft (Een kring met 9V-batterij en pompje werkt wel naar behoren). Of scheelt er iets met de Mosfet? Ik gebruik deze hier als een soort schakelaar, zodat het pompje werkt als ik een hoog signaal stuur naar de gate. Hieronder een korte samenvatting met de gebruikte onderdelen:

Pompje (RS-360SH)
Datasheet: Pompje

Mosfet (IRF520)
Datasheet: Mosfet

Het originele motortje waar het wel mee werkt
Datasheet: motortje


Ziet er iemand waar het verkeerd loopt? Alvast bedankt voor jullie tijd :)

Merlion

Legacy Member
- Test de pomp direct op de batterij.
- Als dit werkt plaats de MOSFET terug en leg de gate van de MOSFET aan de + van de batterij
- Als dat werkt ligt het probleem bij de Arduino.

Leg ook de gat via een weerstand van 100K - 1M aan de massa. De ingangsweeerstand van de MOSFET IS HEEL HOOG;

MrKend54l

Legacy Member
- Wat doet die diode eigenlijk over de motor?
- waarom een MOSFET en geen relais of transistor?

wiseguy444

Legacy Member
Dat vroeg ik mij ook direct af, waarom een diode parallel op uw motor?
Elektriciteit kiest altijd de makkelijkste weg.
Ik zou ook eerder met een relais werken zoals hierboven aangegeven wordt.
Volgens mij heb je kortsluiting met die diode, je laat de massa door recht naar de +
Zet die diode eens in serie tussen uw + batt en in de richting van uw motor en eventueel nog een diode achter de motor in dezelfde richting.

Epyon

Legacy Member
Schakeling ziet er correct uit. Heb je wel de juiste MOSFET? N-type vs P-type..

MrKend54l zei:
- Wat doet die diode eigenlijk over de motor?
- waarom een MOSFET en geen relais of transistor?
De diode dient om tegen-EMK te onderdrukken die anders je MOSFET sneller doet verslijten. Ook bij relais is het aangeraden een diode te plaatsen.

Als je kan kiezen tussen MOSFET en een diode kies je best altijd voor een MOSFET. De aansturing is eenvoudiger, en ze zijn veel energiezuiniger. Een transistor disippeert Vc-e*I, terwijl de dissipatie bij een MOSFET verwaarloosbaar is. Ze schakelen ook sneller.

Een relais is al helemaal uitgesloten wegens hogere kost en niet compatibel met de 5V van de Arduino pins (meeste relais zijn 12V bekrachtiging). Om een relais rechtstreeks aan een Arduino te hangen moet je overigens ook een diode anti-parallel aan de relais plaatsen om de tegen-EMK bij het verbreken van de spoelbekrachtiging op te vangen.

Ardtieboy

Legacy Member
Alvast een dikke merci voor jullie hulp.

@Epyon: Welja, ik denk te weten dat ik een MOSFET nodig heb, al heb ik geen flauw benul hoe ik op zoek ga naar WELKE MOSFET... De datasheet van de gebruikte MOSFET staat in het originele bericht, waarom zou deze niet werken? Zoals reeds vermeld werkt de schakeling wel degelijk met het standaardmotortje dat ik bij m'n Arduino-project kreeg, ik denk dat het iets te zien heeft met de MOSFET en de stroom erdoor, kan dit?

MrKend54l

Legacy Member
Epyon zei:
Schakeling ziet er correct uit. Heb je wel de juiste MOSFET? N-type vs P-type..


De diode dient om tegen-EMK te onderdrukken die anders je MOSFET sneller doet verslijten. Ook bij relais is het aangeraden een diode te plaatsen.

Als je kan kiezen tussen MOSFET en een diode kies je best altijd voor een MOSFET. De aansturing is eenvoudiger, en ze zijn veel energiezuiniger. Een transistor disippeert Vc-e*I, terwijl de dissipatie bij een MOSFET verwaarloosbaar is. Ze schakelen ook sneller.

Een relais is al helemaal uitgesloten wegens hogere kost en niet compatibel met de 5V van de Arduino pins (meeste relais zijn 12V bekrachtiging). Om een relais rechtstreeks aan een Arduino te hangen moet je overigens ook een diode anti-parallel aan de relais plaatsen om de tegen-EMK bij het verbreken van de spoelbekrachtiging op te vangen.

Tegen emk zal wel niet echt noemenswaardig zijn aangezien uw excitatie direct uitvalt en de permanentie niet echt groot is bij zulke motortjes. Maar goed het is er wel.

5v relais zijn toch niet zo speciaal? Zijn toch redelijk courant te vinden. En kunnen makkelijk 1A schakelen. Tegen emk zal eveneens hier geen probleem zijn aangezien er meestal een diode intern zit.
Ik denk dat snel schakelen ook niet echt een must is in deze toepassing. Een mosfet lijkt mij eerder overkill aangezien een transistor ruim voldoende is.
Ik vermoed ook dat OP gewoon het verkeerde type heeft.

Epyon

Legacy Member
Ardtieboy zei:
@Epyon: Welja, ik denk te weten dat ik een MOSFET nodig heb, al heb ik geen flauw benul hoe ik op zoek ga naar WELKE MOSFET... De datasheet van de gebruikte MOSFET staat in het originele bericht, waarom zou deze niet werken? Zoals reeds vermeld werkt de schakeling wel degelijk met het standaardmotortje dat ik bij m'n Arduino-project kreeg, ik denk dat het iets te zien heeft met de MOSFET en de stroom erdoor, kan dit?
Je schakeling vereist een n-type mosfet. Welk type heb jij? Welke gateweerstand heb je gebruikt?

Zelf werk ik meestal met BUZ11 mosfets. Zeer eenvoudige en robuuste mosfetschakelaars, kunnen tot 30A op 50V schakelen met slechts 0,04 Ohm weerstand.

MrKend54l zei:
Tegen emk zal wel niet echt noemenswaardig zijn aangezien uw excitatie direct uitvalt en de permanentie niet echt groot is bij zulke motortjes. Maar goed het is er wel.
Gevoeligheid voor overspanning is het zwakke punt van mosfets. Over alles dat ook maar iets van inductantie heeft zet je daarom beter een freewheeldiode. Als je 'mosfet as switch' schakelingen googlet zal je zien dat de meeste hiervan standaard een diode over de load zetten.

5v relais zijn toch niet zo speciaal? Zijn toch redelijk courant te vinden. En kunnen makkelijk 1A schakelen. Tegen emk zal eveneens hier geen probleem zijn aangezien er meestal een diode intern zit.
Ik denk dat snel schakelen ook niet echt een must is in deze toepassing. Een mosfet lijkt mij eerder overkill aangezien een transistor ruim voldoende is.
Ik vermoed ook dat OP gewoon het verkeerde type heeft.
Waarom nog grote, dure en stroomverslindende zaken als een relais gebruiken? Eén relais verbruikt 10mA aan stroom, en je kan met gans je Arduino maar 50mA schakelen. Bovendien kost een mosfet niks en neemt ze amper plaats op je PCB in. Zolang je geen grote vermogens met galvanische scheiding wil schakelen zie ik het nut van een relais niet in.

Ardtieboy

Legacy Member
Weerstand op de gate heb ik niet gebruikt, de schakeling werkt perfect als ik één van de uitgangen van mijn Arduino aan de gate hang en het standaardmotortje gebruikt. Ik vind precies nergens terug of het een n-type of p-type is... De Arduino-site geeft me deze datasheet, maar ik wordt er niet veel wijzer van... Kun je mij eens verduidelijken waarom dit precies n-type moet zijn?

EDIT: mijn notities van vorig jaar leren mij dat het een n-type enhancement is, klopt dit? En dat het een n-type moet zijn wegens de vereiste zin van de stroom?

Epyon

Legacy Member
Dat is idd een n-type. Datasheet is idd niet heel duidelijk, maar je kan het ook zien aan het symbooltje van de mosfet. Het moet een n-type zijn omdat je wil dat de mosfet gaat geleiden als je een positieve spanning aan de gate legt. Een p-type geleidt als je een negatieve spanning aanlegt.

Je voorziet best een kleine gateweerstand en een pulldown weerstand. Het is niet per se nodig, maar aangeraden (o.a. om mosfet betrouwbaarder te laten werken). Zie hier een schema.

Als het gewone motortje van de Arduino kit wel werkt is er wellicht iets aan je pompje. Heb je het al eens rechtstreeks aan 9V gehangen?

Ardtieboy

Legacy Member
Epyon zei:
Dat is idd een n-type. Datasheet is idd niet heel duidelijk, maar je kan het ook zien aan het symbooltje van de mosfet. Het moet een n-type zijn omdat je wil dat de mosfet gaat geleiden als je een positieve spanning aan de gate legt. Een p-type geleidt als je een negatieve spanning aanlegt.

Je voorziet best een kleine gateweerstand en een pulldown weerstand. Het is niet per se nodig, maar aangeraden (o.a. om mosfet betrouwbaarder te laten werken). Zie hier een schema.

Als het gewone motortje van de Arduino kit wel werkt is er wellicht iets aan je pompje. Heb je het al eens rechtstreeks aan 9V gehangen?

Het pompje rechtstreeks aan de 9V hangen werkt perfect. Ik begrijp het echt niet.

Epyon

Legacy Member
Hang het pompje eens aan de schakeling en meet met een multimeter de spanning over de twee aansluitklemmen van het motortje, een keer als de mosfet is aangestuurd en een keer als ie niet is aangestuurd?

RalcoBe

Legacy Member
Post eens de hele schakeling incl uitgang vd arduino, voeding etc.

Volgens uw schema kan het niet werken, beide massa's moeten aan elkaar hangen.

Ardtieboy

Legacy Member
@RalcoBe: Inderdaad, is ook effectief zo maar stond niet op het volledige schema. Bij deze de hele tekening:
wgvBEo.jpg


@Epyon: Gewoon batterij en pompje --> U = 1,80V
In de schakeling met de MOSFET (en hoog signaal op de gate) --> U = 0,50V

@Merlion: Nee ik heb je testje niet gedaan want volgens mij werkt mijn Arduino correct. Dezelfde schakeling werkt perfect met het motortje, dus kan het ding wel degelijke mijn MOSFET aansturen, niet?

Anyway, volgens mij ligt het echt niet aan de schakeling daar het met het motortje wel werkt. Is mijn type MOSFET niet verkeerd? Heb ik misschien geen stroom genoeg? Ik begin stilaan radeloos te worden :P

Epyon

Legacy Member
Begin eens met deze schakeling te maken, waarbij Rin = 100 Ohm, Rgs = 100 kOhm, +Vin = 5V, +Vdd = 9V en je beide grounds aan elkaar koppelt. Dus zonder Arduino. Dan zal je meteen weten of het aan je mosfet of aan iets anders ligt.

tran21.gif


Spanning van 1,8V lijkt me iig zeer raar, over dat motortje moet net geen 9V staan. Wellicht stuur je je mosfet verkeerd aan met de Arduino.

Merlion

Legacy Member
Ardtieboy zei:
@Merlion: Nee ik heb je testje niet gedaan want volgens mij werkt mijn Arduino correct. Dezelfde schakeling werkt perfect met het motortje, dus kan het ding wel degelijke mijn MOSFET aansturen, niet?
Nee, zo eenvoudig ligt dat niet. Een MOSFET heeft een overdrachtskarakteristiek die je kan zien in de datasheet. Jouw motor heeft een stall stroom van 8.6A en ik neem aan een startstroom van dezelfde grootteorde, jouw motortje maar 5A. Bij een Vds van 9V moet de gate-source spanning al 6V zijn om en dergelijke stroom te leveren. Het zou kunnen dat die pomp niet aanloopt.

Ik begrijp trouwens niet waarom je al de waardevolle suggesties die je hier leest in de wind slaat. Zonder testen en meten gaat dit echt niet lukken.

TBLGN

Legacy Member
Volgens mij kan uw batterij simpelweg niet genoeg stroom leveren. Wat is de batterijspanning als je de pomp aanstuurd?

Ardtieboy

Legacy Member
Merlion zei:
Nee, zo eenvoudig ligt dat niet. Een MOSFET heeft een overdrachtskarakteristiek die je kan zien in de datasheet. Jouw motor heeft een stall stroom van 8.6A en ik neem aan een startstroom van dezelfde grootteorde, jouw motortje maar 5A. Bij een Vds van 9V moet de gate-source spanning al 6V zijn om en dergelijke stroom te leveren. Het zou kunnen dat die pomp niet aanloopt.

Ik begrijp trouwens niet waarom je al de waardevolle suggesties die je hier leest in de wind slaat. Zonder testen en meten gaat dit echt niet lukken.

Inderdaad Merlion, je zit bij het rechte eind. Ben vandaag ten rade gegaan bij m'n prof elektronica en die vertelde mij hetzelfde. Mijn koppigheid doet me terug de das om, maar ik zal er lesse uit trekken :)
Mijn prof raadde mij een schakeling aan met een transistor waarvan ik de collector aan de 9V-batterij hang. De basis hangt aan mijne arduino met een weerstandje. Een logische 1 zal er voor zorgen dat dat mijn transistor niet spert. waardoor de spanning Vc laag is. Een logische 0 spert de transistor waardoor Vc wel hoog wordt. Hopelijk hoger dan die 3,3V die mijn Arduino levert.
Volgende week probeer ik het uit, mijn schakeling ligt momenteel op kot. Ik laat het hier weten of het werkt of niet.

Alvast bedankt voor de levensles ^^

TBLGN

Legacy Member
Merlion zei:
Nee, zo eenvoudig ligt dat niet. Een MOSFET heeft een overdrachtskarakteristiek die je kan zien in de datasheet. Jouw motor heeft een stall stroom van 8.6A en ik neem aan een startstroom van dezelfde grootteorde, jouw motortje maar 5A. Bij een Vds van 9V moet de gate-source spanning al 6V zijn om en dergelijke stroom te leveren. Het zou kunnen dat die pomp niet aanloopt.

De Stall-stroom is de stroom die het motortje trekt bij maximale belasting, als het stilvalt dus. Dat is niet van toepassing in deze situatie. Je hebt gelijk in dat de motor max 5A zal trekken als hij aanloopt, maar met een niet volledig opengestuurde mosfet zal de motor ook aanlopen, het zal enkel langer duren voor hij aangelopen is. Bij een Vgs van 5v is de Ids=3A. Ruim genoeg om de motor te laten aanlopen dus.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan