Arduino med UL2003 breakout kort?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
stoffe
Inlägg: 847
Blev medlem: 22 februari 2007, 21:08:25
Ort: Uppsala
Kontakt:

Arduino med UL2003 breakout kort?

Inlägg av stoffe »

Hej!

Jag har en fundering på ett projekt som jag byggt men där arduinokretsen gått sönder efter en kort tids användning.

Här är projektet, av någon anledning så visas inte bilderna med kopplingschema där för tillfället när jag postar detta inlägg.
https://github.com/fehlfarbe/arduino-mo ... me-ov-file

Men motorn är kopplas så här.
Bild

Men min motor är på 12 V istället för 5 V. Vilket har inneburit att jag måste mata med 12V på de två stiften som heter - och + på ULN2003 kortet. Jag misstänker att det är därför mitt arduino går sönder, nu jag har haft sönder tre stycken. Hur gör jag för att driva stegmotorkretsen med 12 V och driva arduinot med 5 V utan att något går sönder? Vad skulle vara en korrekt koppling?
Användarvisningsbild
Icecap
Inlägg: 26742
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino med UL2003 breakout kort?

Inlägg av Icecap »

Den typiska koppling vill vara att Arduino & breakout har gemensam GND.
Sedan matas Arduino med 5V och breakout med 12V.

Din koppling verkar använda de inbyggda dioder i ULN2003 som snubberdioder och det kan gå fel. Du ska ha externa på varje lindning av motorn.
stoffe
Inlägg: 847
Blev medlem: 22 februari 2007, 21:08:25
Ort: Uppsala
Kontakt:

Re: Arduino med UL2003 breakout kort?

Inlägg av stoffe »

Hur ska de kopplas om det är externa dioder? De ska in mellan Arduino och breakout board antar jag?
Användarvisningsbild
Icecap
Inlägg: 26742
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino med UL2003 breakout kort?

Inlägg av Icecap »

Din motor ser ut att ha 5 anslutningar. Det blir 4 spoler + matningen. ULN2003 driver till GND om jag minns rätt så från varje spole till den gemensamma matning ska det vara en diod (t.ex. 1N400x) med katoden till +matningen och anoden till spolen.

Detta gör att den spänningspuls som annars kan komma när drivningen för spolen släpps "kortsluts" och inte ställer till skada.

Då din ritning inte visar att du har gemensam GND är detta det största problem för mig, det MÅSTE vara gemensam GND för att det ska fungera rimligt.
Användarvisningsbild
pi314
Inlägg: 8222
Blev medlem: 23 oktober 2021, 19:22:37
Ort: 08

Re: Arduino med UL2003 breakout kort?

Inlägg av pi314 »

Orsaken till att Arduinon går sönder finns troligen i hur kopplingen av strömförsörjningen är gjord.
Om du bifogar et kopplingsschema som inkluderar strömförsörjning och en bild på hur det är kopplat, så är det lättare att se vad som är fel.

Så här kan man t.ex. koppla.

ULN2004_schematic.png
Det ät inte fel att ha en separat spänning till stegmotorn//ULN2004, men det är, som Icecap är inne på, lite att tänka på.

Min gissning är att pulser eller störningar som härhör från stegmotor/12-volt på något sätt letar sig tillbaka till Arduinon.

Dioder, lämplig dragning av jord, lämpliga avkopplingar av 12 volt och Arduinospänningen kan kanske vara lösningen.

Ibland använder man optokopplare mellan styrdator och stegmotorns elektronik så att inte störningar ska kunna komma "baklänges".

Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
MiaM
Inlägg: 13586
Blev medlem: 6 maj 2009, 22:19:19

Re: Arduino med UL2003 breakout kort?

Inlägg av MiaM »

Du har redan fått en del bra svar.

Specifikt så gör såhär:

Dra 12V-matningen separat direkt till ULN-kortet och motorn. Sätt en elektrolytkondensator på säg 100µF 16V eller gärna 25V parallellt över 12V direkt vid ULN-kortet, och sätt också en annan kondensator, t.ex. keramisk, på säg t.ex. 100nF parallellt med elektrolytkondensatorn vid ULN-kortet.

Vid ULN-kortets jordpunkt så drar du också en ledning till Arduinokortet.

Om du använder ett gemensamt nätagg som ger både +5V och +12V, eller om du använder två olika nätagg som båda kopplar skyddsjord till utgången, så dra REJÄLT GROV JORDKABEL, speciellt till 12V-nätagget. Håll också dessa kablar så korta som möjligt.

Se också till att kabeln mellan ULN-kortet och motorn INTE går nära övriga kablar och kort.


Det problem som du antagligen drabbas av är att varje gång en drivare i ULN-kretsen släpper så skickar motorn ut en spänningsspik, så kallad back-EMK, och om den inte "äts upp" på rätt sätt så kan den leta sig iväg till fel ställen.

Det finns två andra sätt att lösa detta problem, som har sina nackdelar. En fullösning är att sätta lågpassfilter (RC-krets) på styrsignalerna till ULN-kortet. Då kommer frånslaget bli långsammare och det blir därmed mindre back-EMK. Dåligt för att ULN-kretsen är inte avsedd att styra analogt, den ska bara slå av/på, och den riskerar att bli överhettad. Den andra varianten är att använda en krets som fungerar som emitterföljare istället för att driva med kollektorn som utgång. Back-EMK kommer då automatiskt ätas upp av ordinarie drivtransistor.
stoffe
Inlägg: 847
Blev medlem: 22 februari 2007, 21:08:25
Ort: Uppsala
Kontakt:

Re: Arduino med UL2003 breakout kort?

Inlägg av stoffe »

Icecap skrev: 19 november 2025, 15:24:14 Din motor ser ut att ha 5 anslutningar. Det blir 4 spoler + matningen. ULN2003 driver till GND om jag minns rätt så från varje spole till den gemensamma matning ska det vara en diod (t.ex. 1N400x) med katoden till +matningen och anoden till spolen.

Detta gör att den spänningspuls som annars kan komma när drivningen för spolen släpps "kortsluts" och inte ställer till skada.

Då din ritning inte visar att du har gemensam GND är detta det största problem för mig, det MÅSTE vara gemensam GND för att det ska fungera rimligt.
Frågan är hur jag ska koppla strömförsörjningen.

Men min idé är så här.

Jag har gemensam jord och kabel mellan uln2003 kort och Arduino. Sedan monterar jag en flybackdiod på återledaren från motorns lindningar. +12V där kan jag montera en elektrolyt och en icke elektrolyt kondensator mot jord sådan drar jag 12+ uln2003 kortet till micro Arduinokortet.

Eller

Så drar jag bara gemensam jord och inte plus 12v. Eftersom Arduinokortet kommer få sin plusspänning från datorn via USB C.

Är det något mer jag ska göra?
Användarvisningsbild
pi314
Inlägg: 8222
Blev medlem: 23 oktober 2021, 19:22:37
Ort: 08

Re: Arduino med UL2003 breakout kort?

Inlägg av pi314 »

ULN2001-ULN2004.png
För att dom inbyggda dioderna i ULNs00x ska göra någon nytta, så måste pin 9 vara kopplad till +12 volt.

Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
stoffe
Inlägg: 847
Blev medlem: 22 februari 2007, 21:08:25
Ort: Uppsala
Kontakt:

Re: Arduino med UL2003 breakout kort?

Inlägg av stoffe »

Pin 9 är kopplad till 12+ på matningen till stegmotorn på breakout kortet.
stoffe
Inlägg: 847
Blev medlem: 22 februari 2007, 21:08:25
Ort: Uppsala
Kontakt:

Re: Arduino med UL2003 breakout kort?

Inlägg av stoffe »

Nu har jag testat med extra flybackdiod på matningen till stegmotorerna och det verkar rädda arduinon. Extra jordkabel mellan Arduino och uln2003 kort. Nu är allt som det ska vad jag kan se vid en första test. Men däremot monterade jag inte glättning och avstörningskondensator så som MiaM föreslog men det kanske jag gör innan jag bygger in den i en låda.

Tack för alla svar!
Användarvisningsbild
MiaM
Inlägg: 13586
Blev medlem: 6 maj 2009, 22:19:19

Re: Arduino med UL2003 breakout kort?

Inlägg av MiaM »

Har datorn jordad stickpropp? Har nätagget till 12V-stegmotorn jordad stickpropp? I så fall får du en risk för en jordslinga via elnätets skyddsjord, och den kan också bidra till att back-EMK tar "fel" väg.

Men dioderna direkt vid motorn gör nog tillräckligt för att lösa problemet.
H.O
Inlägg: 5990
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Arduino med UL2003 breakout kort?

Inlägg av H.O »

Funkar det så funkar det - det är det viktiga.
Men jag har svårt att se hur de extra dioderna skulle var lösningen och jag ställer mig tveksam till rådet att man "ska" ha externa dioder.
ULN200x är ju gjord för att driva induktiva laster som solenoider, reläer etc. Massor med små unipolära stegmotorer har drivits av dito genom åren. Dioderna i kretsen är ju där specifikt för att ta hand om bak-emk'n från en induktiv last och om de inte skulle klara jobbet så borde ju transistorn i drivkretsen gå sönder, inte Arduinon.

Är det "bra" dioder med sina >1.5V Vf och icke specificerad Trr? Knappast. Är de tillräckligt bra? Högst sannolikt.

Nej, jag tror det har med hur de olika spänningsmatningarnas minus kopplats ihop.
Användarvisningsbild
pi314
Inlägg: 8222
Blev medlem: 23 oktober 2021, 19:22:37
Ort: 08

Re: Arduino med UL2003 breakout kort?

Inlägg av pi314 »

H.O:

Håller med.

Jag har kört med enbart dom inbyggda dioderna utan att sett några problem.

Jag har heller aldrig (hittills) bränt någon Arduino med liknande koppling/drivning av stegmotorer.

Användarvisningsbild
Icecap
Inlägg: 26742
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino med UL2003 breakout kort?

Inlägg av Icecap »

Jag håller med om att det var den usla koppling med skilda GND som är den mest sannolika källa till problemen.
Och ja, de interna dioder skulle nog klara jobbet - men finns det bevis för att den gemensamme katod i kretsen faktisk ÄR kopplat till VDD?

Jag kunde tro att det var en 'optional' sak man själv - som brukare av kortet - skulle fixa.
Finns nog någon lödbro eller liknande.
Skriv svar