usb arduino nano via gnd aan gnd externe voeding -> nano reset bij off ext . voeding ?!

Hallo Allen,

De situatie (iets versimpeld):

Ik schakel via de digitale uitgangen van een Arduino Nano transistors als switch op de basis en die geven op hun beurt weer via een externe voeding (5V) een signaal door over de collector en emitter.

De gnd van de nano is uiteraard gekoppeld aan de gnd van de externe voeding omdat er anders weinig te schakelen valt.

Op zich allemaal niet heel spannend, en het werkt prima, met in dit geval een led array.

Maar nou kwam ik het voor mij onverwachte verschijnsel tegen dat als ik de externe voeding uitzet de nano reset, terwijl deze toch echt zijn eigen voeding heeft (incl. gnd) via een usb kabel. Wat gaat hier mis ?! Blijkbaar pakt de nano de gnd van de externe voeding als deze opkomt, en niet meer de usb (en reset als deze wegvalt). Of ik zie iets over het hoofd en er zit een fout in mijn opzet.

Mijn vragen:

1) Wat gaat hier precies mis?
2) Is dit iets waar ik me zorgen over moet maken in het kader van het misschien slopen van de nano of usb poort? Of is het alleen een beetje onhandig maar verder geen issue.
3) Mocht ik dit willen oplossen (al is het misschien gewoon hoe de nano werkt, en is er geen simpele oplossing) hoe doe ik dit het beste. Ik zat te denken aan een condensator en/of weerstand tussen de nano gnd en de externe gnd (als buffer en om eventuele lekstroom te voorkomen), maar geen idee in welke opstelling of welke waardes. Het geheel zit helaas al op een print, dus ik kan weinig testen, en eigenlijk moet de oplossing dan in 1 keer goed op de print.

Alle hulp in deze is welkom!

Alvast dank.

Met vriendelijke groet,
Rick

eSe

Honourable Member

Je hebt toch weerstanden in serie met uitgang Nano en basis transistor?

Groetjes,
eSe

CChheecckk yyoouurr dduupplleexx sswwiittcchh..

Op 24 juli 2018 19:41:26 schreef eSe:
Je hebt toch weerstanden in serie met uitgang Nano en basis transistor?

Groetjes,
eSe

Yep, weerstanden voor de basis en ook voor de leds. Dus daar kan het probleem niet zitten.

blackdog

Golden Member

Hi RickD007,

Graag even een schemalaten zien met de gebruikte componenten waarde.
Een goede foto kan ook helpen.

Groet,
Blackdog

You have your way. I have my way. As for the right way, the correct way, and the only way, it does not exist.

Op 24 juli 2018 20:48:32 schreef blackdog:
Hi RickD007,

Graag even een schemalaten zien met de gebruikte componenten waarde.
Een goede foto kan ook helpen.

Groet,
Blackdog

Ik heb geen schema, en een foto laat het ook niet echt zien. Het is redelijk recht voor z'n raap en werkt op zich prima. Het is alleen even de vraag hoe ik de (-/gnd)-koppel dip tegenga die ontstaat als de externe voeding uitgaat, waardoor de nano even uit gaat (en waarom de nano niet gewoon door blijft draaien op de usb ground).

Hierbij in ascii de opzet (alles 8x omdat het om 8 leds gaat):

usb->Nano->Digitale-uit-pin0->4,7Kohm->bc547(basis)

Nano gnd aan gnd extern5V (de nano en externe voeding - dus aan elkaar)

extern5V+>bc547(collector)

bc547(emitter)->220ohm->led->extern5V-

De BC547 is een NPN. Even een snel schetsje van wat jij doet (links) versus hoe het waarschijnlijk beter werkt:

Diverse projecten en experimenten: www.elexperiment.nl

Werk je op een breadboard?
Ook ergens de +5v aan elkaar liggen?
Dan gebeurd dit namelijk altijd omdat arduino voorkeur heeft voor externe spanning, de omschakeling naar usb zie je

Met alleen een gnd en een uitgang verbonden krijg ik je symptoom niet gereproduceerd

blackdog

Golden Member

Hi,

Waarom in Godsnaam 220Ω om een LED aan te sturen, het is niet 1965!
Een moderne led heeft bijna altijd genoeg aan 2 a 3mA stroom, heb je echt goede LED'S, dan is vaak 0,5mA als voldoende.
Ik weet natuurlijk dat als je LED's snel gaat schakelen dat je wat meer nodig hebt, maar vele LEDS op een grote helderheid betekend toch veel stroom.

Schakeling-1 van klopertje is volgens mij zoals jij het hebt opgezet, dat is over het algemeen niet de goede manier.
Schakeling-2 is hoe je dit normaal gesproken oplost en kies R4 zo dat er voldoende stroom loopt maar niet te veel.

Als je dit 8x doet en je zet de externe 5V voeding niet aan,
dan trek je rond de 10mA uit de Arduino Nano en met jouw type Schakeling-1, zullen de LEDS dan een beetje branden.

Groet,
Blackdog

You have your way. I have my way. As for the right way, the correct way, and the only way, it does not exist.

Op 24 juli 2018 21:32:32 schreef kloppertje:
De BC547 is een NPN. Even een snel schetsje van wat jij doet (links) versus hoe het waarschijnlijk beter werkt:
[bijlage]

Links is 'm idd bijna, alleen ligt de basis niet aan de externe +5V maar aan een digitale pin van een arduino nano bord (die heeft z'n voeding via usb), en de gnd van de nano aan de min. Het is een gescheiden circuit zeg maar waar achter de transistor meer ampere kan lopen.

Op 24 juli 2018 21:39:37 schreef DK:
Werk je op een breadboard?
Ook ergens de +5v aan elkaar liggen?
Dan gebeurd dit namelijk altijd omdat arduino voorkeur heeft voor externe spanning, de omschakeling naar usb zie je

Met alleen een gnd en een uitgang verbonden krijg ik je symptoom niet gereproduceerd

Ik zal alles deze week nog eens grondig nameten. Maar in principe zijn de nano+ en externe 5v+ gescheiden (alleen de gnd en 8 digitale pinnen zijn verbonden, power komt via usb). Ik dacht ook heel even dat de nano misschien de externe 0 als voorkeur zou pakken, of misschien via digitale pinnen voeding pakt, maar voor zover ik het kon nagaan (handleidingen en google) is dat niet het geval.

Het enige wat ik op dit moment kan bedenken is dat de externe voeding bij het afslaan een korte - dip veroorzaakt waar de nano niet tegen kan en de stroom heel even wegvalt (itt de uno zit er niets op de print wat stroom even kan bufferen volgens mij).

Een 0 is geen keuze, de electronen gaan terug waar ze vanaf kwamen

En die dip kan volgens jouw schema ook niet, alle stroom moet door die 4,7k heen, daar kan nooit genoeg stroom lopen om een usb poort plat te trekken

Ik schat de kans groot dat er ergens een verbinding zit tussen je externe 5V en je nano
Maar een foto was teveel moeite

Op 24 juli 2018 22:47:31 schreef DK:
Een 0 is geen keuze, de electronen gaan terug waar ze vanaf kwamen

En die dip kan volgens jouw schema ook niet, alle stroom moet door die 4,7k heen, daar kan nooit genoeg stroom lopen om een usb poort plat te trekken

Ik schat de kans groot dat er ergens een verbinding zit tussen je externe 5V en je nano
Maar een foto was teveel moeite

Net even een vaste 220 plug usb voeding gebruikt (van m'n mobiele telefoonlader) i.p.v. m'n usb hub waar m'n arduino software upload over heen loopt, en dan heb ik dit probleem dus niet.

Ik krijg nu de indruk dat de usb data het probleem is en een reset forceert oid, en niet de stroom kant (al zie ik de logica daar ook niet helemaal van in).

Ik zal alles inclusief de +5V link iig nog eens grondig nameten deze week, al verwacht ik daar eigenlijk geen problemen.

Iedereen in iedere geval bedankt voor alle hulp tot zover!

Op 24 juli 2018 23:24:09 schreef RickD007:
Ik krijg nu de indruk dat de usb data het probleem is en een reset forceert oid, en niet de stroom kant

Je zet een voeding uit, er verandert niets aan de usb kant, je usb kan niet eens merken of er wel/geen spanning op die transistor staat, je arduino ook niet trouwens
En toch zou de usb poort daar actie op instarten?

Weer extra bevestiging voor mn vermoeden trouwens, 2x externe voeding aangesloten, schakel 1 uit, geen overgang naar usb voeding, geen reset

Daarom heb ik uit mijn USB-kabel de + verwijdert zodat het alleen een data-kabel is geworden.

? En als je dan net als TS hier je arduino wilt voeden met alleen usb doet je arduino helemaal niks meer..

Klopt, maar als je de rest van de schakeling voedt met een externe voeding, waar de Arduino dan ook niet op VIn of 5 V ?
Wil je toch via de USB-kabel voeden dan moet je in de uitgangen een diode 1N4148 opnemen.

Arco

Special Member

Het kan een 'zweverige' resetpin zijn, of simpel dat de max. stroom van de USB poort wordt overschreden.
Het is nooit een goed idee om delen die extern gevoed worden uit te zetten terwijl de controller blijft lopen.
('hoge' output pinnen kunnen dan laag worden getrokken en onbedoeld een hoge stroom gaan trekken)

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

Op mijn zonnepanelen worden de 24 Volt motoren constant aan en uit gezet.
Niet alleen door de uitgangen van de Nano, maar ook door de eindschakelaars.
Geen enkel probleem en ik hoef echt niet iedere avond of morgen het dak op om de boel te resetten.
PS, de eindschakelaars onderbreken de 24 Volt voeding van de motoren.

[Bericht gewijzigd door Rob / gompy.net op donderdag 26 juli 2018 15:17:46 (12%)

Op 26 juli 2018 15:02:09 schreef Arco:
Het kan een 'zweverige' resetpin zijn,

nano dus 1kΩ aan 5v

Op 26 juli 2018 15:02:09 schreef Arco:
max. stroom van de USB poort wordt overschreden.

volgens TS alleen een dig uitgang aangesloten via een 4k7, dus kan niet meer dan een mA lopen

Arco

Special Member

We weten ook niet hoe de schakeling is opgebouwd. Met relatief lange/dunne draden krijg je al gauw potentiaalverschillen / stoorpulsen...

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

Ja kheb eigenlijk ook al half de conclusie getrokken dat er een oorzaak is die niet in dit topic staat, als alles puur zit hoe dat TS het schetst dan lijkt er iets onmogelijks te gebeuren

Op 26 juli 2018 15:54:11 schreef Arco:
We weten ook niet hoe de schakeling is opgebouwd. Met relatief lange/dunne draden krijg je al gauw potentiaalverschillen / stoorpulsen...

Ik heb de print nog eens grondig doorgemeten, en kan nergens sluitingen naar plus vinden, of überhaupt sluitingen. Verder werkt alles functioneel goed wat ook al min of meer aangeeft dat het klopt (en een + collector naar basis lek (eigenlijk enige manier om externe plus spanning op de nano te zetten) zou je gelijk zien als permanent hoge poort) .

Als ik een deel van de schakeling (met 4 leds ipv 8) op een breadbord maak, heb ik het verschijnsel niet.

Als ik de usb nano voeding niet uit m'v volle usb hub, maar uit een 220 usb voeding stekker haal heb ik het probleem ook niet.

Wel zitten er vrij veel jumper draden, solderingen en een aantal header verbindingen op de print, dus misschien heeft dat idd effect.

Ik laat het voorlopig even los, aangezien alles op zich werkt en er buiten de reset niets raars lijkt te gebeuren.

je moet me toch eens vertellen wat jouw schakeling anders is dan
https://www.arduino.cc/en/uploads/Tutorial/forLoop_bb.png

6x 220 ohm, toch goed voor zo'n 100mA recht naar GND, puur op usb voeding, niks aan de hand.
zelfs als die externe voeding van je alles actief laag zou trekken, krijg je dus een soort gelijk verhaal.
dit werkt met 8 leds net zo goed trouwens, zonder leds met alleen weerstanden ook

Arco

Special Member

... aangezien alles op zich werkt en er buiten de reset niets raars lijkt te gebeuren.

Spontane resets is toch echt wel wat raars en zeker iets om ongerust over te worden... ;)
Indien mogelijk gewoon alles uit 1 voeding voeden, dan voorkom je veel problemen. (ik zie ook niet echt een voordeel in 2 voedingen)

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

Als op de overvolle HUB staat 5 Volt 2 Ampere, dan moet je die 2 Ampere wel door alle poorten delen.
Als 1 poort 1 Ampere trekt blijft er voor alle de andere poorten maar 1 Ampere over.