Forum: Mikrocontroller und Digitale Elektronik ISP und Versorgungsspannung


von Jan (Gast)


Lesenswert?

Hallo,

mit meinem 1. Post oute ich mich direkt als Anfänger, aber ich habe eine 
Frage:

Ich habe eine Schaltung entworfen, die mit einem AtMega328P ein 
WS2812b-LED-Strip steuert. Im Betrieb wird das ganze über eine externe 
Stromquelle mit Spannung versorgt (bis zu 1A), soweit so gut.
Jetzt zu meiner Frage, wenn ich den uC neu programmieren will über ISP 
(Arduino as ISP / USBASP kommt noch), wie verhindere ich, dass der 
Arduino-Programmer/USBASP durch die Last des LED-Stips überlastet wird, 
da ja die +5V und GND jeweils verbunden sind. Wie löst man soetwas 
geschickt? Meine Ideen waren:
- Externe Spannung angeschlossen lassen
- Schalter um Strip zu trennen
- Diode zwischen +5V vom ISP+uC und externe Spannung+LED

Bin über jede Hilfe dankbar.

Vielen Dank für eure Hilfe,
Jan

von Milo (Gast)


Lesenswert?

Wenn Du jetzt nur eine Platine hast, die Du ggf. öfter programmieren 
willst, dann ist ein schalter, ein Jumper oder einfach eine 
Steckverbindung, mit der Du die Last vorrübergehend trennen kannst, 
eigentlich ausreichend.

Wenn Du mehrere dieser Platinen machen willst - oder täglich daran 
arbeiten willst, dann würde ich eine Diode einsetzen.

von Arno (Gast)


Lesenswert?

Alternativ verbindest du den VCC-Pin vom ISP-Anschluss nicht. Dann 
kannst du die Schaltung aber auch nicht ohne externe 
Spannungsversorgung programmieren.

Und manche Programmiergeräte brauchen den Anschluss - der ist eigentlich 
soweit ich weiß allerdings gar nicht dafür gedacht, den Controller beim 
Programmieren zu versorgen, sondern dafür, dass das Programmiergerät die 
in der Schaltung verwendete Betriebsspannung erkennen und die korrekten 
Logikpegel setzen kann. Auch wenn 99% der Leute ihn anders verwendet.

MfG, Arno

von Jan C. (jan_cologne)


Lesenswert?

Danke euch.
@Arno: Das werde ich mal probieren. Also nur die GND, MISO, MOSI Und 
reset vom Arduino als ISP. Das board zu versorgen ist beim programmieren 
kein problem.

Danke euch!

von Hmmm (Gast)


Lesenswert?

Ein sauberer AVR-Programmer versorgt das Target gar nicht, sondern nutzt 
die Spannung des Targets zur Einstellung der Pegel oder (z.B. AVRISP 
ohne mkII) zur eigenen Versorgung.

Am besten kaufst Du also einen Programmer, bei der man die Versorgung 
des Targets zumindest abschalten kann.

von Pandur S. (jetztnicht)


Lesenswert?

Der Unterschied zwischen Programmier-mode und Run-Mode ist der Reset 
Pin. Der Reset ist Low im Reset, sonst high.

Im Reset sind die Ports auf Tristate. Waehrend dieser Zeit muessen 
irgendwelche Peripherie Circuits natuerlich sicher sein. Also hoechst 
wahrscheinlich deaktiviert. Daher muss man die Pegel wo noetig per 
externer Widerstaende auf Low oder high vorgeben. Das sind dann die 
Pegel, die waehrend des Resets anliegen.

Steht aber alles im Datenblatt.

von Jan C. (jan_cologne)


Lesenswert?

Habt ihr nen Tipp für nen guten (günstigen) Programmer? Habe den usbasp 
bei aliexpress bestellt. Falls jemand eine gute Idee für einen Anfänger 
hat,gerne.

Danke,
Jan

PS: die Pins zum programmieren sind nicht doppelt belegt. Hab nur Angst, 
dass die Lasten an +5 zuviel sind während ich den Programmer anschließe.

: Bearbeitet durch User
von Pandur S. (jetztnicht)


Lesenswert?

Wie schon gesagt, irgendwelche Lasten sollten im Reset abgeschaltet 
sein. Denn du weisst ja nicht wie lange der Reset dauert. Wenn das Ganze 
dann abfackelt ...
Der Reset dauert solange bis ein sinnvolles funktionierendes Programm 
aufgespielt ist. Zwar ist der Reset pin nicht zwingend low, aber 
unprogrammiert sind die Ports zB Tristate, oder etwas anderes.

Sinnvollerweise entkoppelt man die Signalpins mit 100 Ohm in Serie. Und 
der Speisepin auf dem ISP sollte kurzschlussgeschuetzt sein. Resp, die 
Speisung des Programmers sollte kurzschlussgeschuetzt  sein.

von Maxim B. (max182)


Lesenswert?

Jan schrieb:
> Wie löst man soetwas
> geschickt? Meine Ideen waren:
> - Externe Spannung angeschlossen lassen
> - Schalter um Strip zu trennen
> - Diode zwischen +5V vom ISP+uC und externe Spannung+LED

Hallo,
am Anfang habe ich immer eine Diode gelötet. Später habe ich kapiert, 
daß das nicht unbedingt notwendig ist, wenn man DIAMEX ALL 
AVR-Programmer USB-ISP benutzt: dort gibt es zwar Option, Schaltung von 
Programmer zu speisen, aber das ist eine Option, d.h. man kann sie 
abschalten.

Normalerweise lasse ich 5 Volt-Pin in ISP frei.

von Jan C. (jan_cologne)


Lesenswert?

Super, danke für eure Hilfe. Bei mir hat es auch eben "klick" gemacht, 
einfach die Versorgung (in meinem Fall Arduino als ISP) weggelassen und 
es geht.

Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.