mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ISP und Versorgungsspannung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Milo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Arno (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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

Autor: Jan C. (jan_cologne)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Hmmm (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joggel E. (jetztnicht)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jan C. (jan_cologne)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Joggel E. (jetztnicht)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Maxim B. (max182)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jan C. (jan_cologne)
Datum:

Bewertung
0 lesenswert
nicht 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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.