Forum: Mikrocontroller und Digitale Elektronik Atmel IC auf kleinstem Board: Programmieren, Transitoren und Spannungsversorgung


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.
von Daniel K. (danie1)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich möchte ein winziges Board mit einem atmel328u4 oder atsamd21 
zusammenstellen, das mit ein paar weiteren Teilen (DRV8388 H-Brücke für 
die Motorsteuerung) in einem ferngesteuerten H0-Fahrzeug als Fahrregler 
dienen soll. Empfänger wird ein deltang, angeschlossen per serieller 
Verbindung.
Die beiden ICs sind in der engen Auswahl, weil sie Arduino-kompatibel 
und USB bieten (damit man ihn später einfach mit neuer Software updaten 
kann). Der atsamd21 hätte sogar genug Flash-Speicher für ein paar 
Soundsamples.
Folgende Fragen zum Programmieren:
1) Die Chips haben erst mal keinen Bootloader, d.h. per USB anstecken 
und in der Arduino IDE "Upload Sketch" klicken, wird nicht klappen. Man 
benötigt z.B. einen Atmel ICE, um die ICs per SWD-Ports zu 
programmieren. Letzteres klappt aber immer, auch bei fabrikneuen Boards?
2) Auf vielen Boards (z.B. dem Tau) sieht man den SWD-Header extra 
ausgeführt, aber ich kann auch die ganz normalen PINs dafür verwenden, 
richtig (mit einem geeigneten Adapter/Kabel zum ICE)?
3) Da das Board winzig werden soll, habe ich keinen Platz für den 
SWD-Header bzw. sind auch die Pins später im H0-Fahrzeug zu groß/im Weg. 
Gibt es ein Alternative, den IC initial zu programmieren und dann erst 
auf das Board zu löten? Es gibt SMT Test Sockets von Adafruit, aber die 
kosten für >100$. Kann man einen IC auch anders vor dem Verlöten 
programmieren? Auf ein QFN64-Breakout drücken?
4) Falls das nicht geht, kann man normale through-holes auf einem PCB 
ohne zu verlöten kontaktsicher verbinden?

Und weil wir schon dabei sind:
5) Die beiden ICs vertragen keine super-hohen Ströme an ihren Ausgängen 
(für LEDs). Könnt ihr mir einen Transistor-Array-IC (ist das der 
richtige Begriff? Ich will nicht viele einzelne Transistoren auflöten) 
empfehlen, den ich mit aufs Board packen kann? Ziel wären so ca. 30mA 
pro Ausgang.
6) Gibt es kleine und stromsparende Bauteile, die mir die komplette 
LiPo-Spannungsbreite 3.1-4.2V auf 3.3V transformieren können? Oder 
sollte ich einfach einen einfachen Step-Down auf 3.3V nehmen und muss 
dann damit leben, dass das System eben schon bei einer LiPo-Spannung von 
3.4 oder 3.5V "aus" ist?
Danke
Daniel

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Daniel K. schrieb:

> Gibt es ein Alternative, den IC initial zu programmieren und dann erst
> auf das Board zu löten? Es gibt SMT Test Sockets von Adafruit, aber die
> kosten für >100$. Kann man einen IC auch anders vor dem Verlöten
> programmieren? Auf ein QFN64-Breakout drücken?

Eher nicht.

> 4) Falls das nicht geht, kann man normale through-holes auf einem PCB
> ohne zu verlöten kontaktsicher verbinden?

Sicher, mit Federkontakten.

Oder man nimm diesen Tag-Connect, der kostet zwar ein paar Euros, ist 
aber die professionelle Version des selbstgebastelten 
Federkontaktadapters.

http://www.tag-connect.com/

Kleiner und besser geht es kaum.

> 5) Die beiden ICs vertragen keine super-hohen Ströme an ihren Ausgängen
> (für LEDs).

Nimm ultrahelle LEDs, sie blenden selbst bei 5mA.

> Könnt ihr mir einen Transistor-Array-IC (ist das der
> richtige Begriff? Ich will nicht viele einzelne Transistoren auflöten)
> empfehlen, den ich mit aufs Board packen kann? Ziel wären so ca. 30mA
> pro Ausgang.

Hast du so große oder so schlechte LEDs?

Wenn es klein sein soll, nimm ein passendes Gatter der AC-Familie, z.B. 
75AC04, die haben ca. 10 Ohm Ausgangswiderstand. Wahrscheinlich geht 
auch ein HC mit 50 Ohm, da spart man die Vorwiderstände. Ist zwar 
offiziell nicht spezifiziert, geht aber. Und wenn man je 3 LEDs nach GND 
und 3 gegen VCC schaltet, paßt das auch mit den Strömen über VCC und 
GND.

> 6) Gibt es kleine und stromsparende Bauteile, die mir die komplette
> LiPo-Spannungsbreite 3.1-4.2V auf 3.3V transformieren können?

Sicher, denn du bist ja nicht der Erste, der sowas braucht.

> Oder
> sollte ich einfach einen einfachen Step-Down auf 3.3V nehmen und muss
> dann damit leben, dass das System eben schon bei einer LiPo-Spannung von
> 3.4 oder 3.5V "aus" ist?

Würde ich nicht machen. Höchstens einen Low Drop Linearregler mit 3V, 
dann kannst du die Akkus praktisch voll ausnutzen. Die meisten ICs 
laufen auch mit 3 anstatt 3,3V.

von Fabian F. (fabian_f55)


Bewertung
0 lesenswert
nicht lesenswert
Ebay-Artikel Nr. 263748509563

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Fabian F. schrieb:
> Ebay-Artikel Nr. 263748509563

Dumm nur, daß dort keine QFN-Gehäuse reingehen, wie sie der OP nutzen 
will. TQFP ist RIESIG, wenn man WIRKLICH miniaturisieren will.

von Georg G. (df2au)


Bewertung
0 lesenswert
nicht lesenswert
Wenn es wirklich klein sein soll, nimm den ATtiny13A im 10M1 Gehäuse und 
den DRV8837C im DSG0008A Gehäuse. Du brauchst dann aber ein Mikroskop 
und eine Flasche Rotwein zum Bestücken. Die Platinen sind kleiner als 
5mm*5mm. Du musst dann nicht nur LKW fahren lassen, dann geht auch eine 
BWM-Isetta.

Zum Programmieren nimmst du Pogopins oder lötest dünnen Drähte an 
(Stichwort "Dekoderlitze").

von Fabian F. (fabian_f55)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> Fabian F. schrieb:
>> Ebay-Artikel Nr. 263748509563
>
> Dumm nur, daß dort keine QFN-Gehäuse reingehen, wie sie der OP nutzen
> will. TQFP ist RIESIG, wenn man WIRKLICH miniaturisieren will.

Dann nimmt man eben einen für QFN:
https://www.alibaba.com/product-detail/QFN32-0-5-Adapter-MLP32-chip_60832901551.html?spm=a2700.galleryofferlist.normalList.307.cecc1a8cBXOBaD
Man sollte in der lage sein einen Buchstaben bei der Googlesuche zu 
ändern.

von Daniel K. (danie1)


Bewertung
0 lesenswert
nicht lesenswert
Danke euch!
Ein TQFP-Programmieradapter ist dann vielleicht doch das richtige. QFN 
kann ich nicht löten ;) Rotwein wäre ja vorhanden, aber das ist glaub' 
nicht ausreichend...
Für eine Isetta ist mir die Mechanik zu klein, dann ist die LKW-Größe 
vollkommen ausreichend.
Bezüglich der LEDs hatte ich an mehrere an einem Ausgang gedacht, die 
30mA waren sehr passiv geschätzt.
Bei ti.com finde ich nichts bezüglich 75AC04, was genau ist da gemeint?

von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
Daniel K. schrieb:

> ich möchte ein winziges Board mit einem atmel328u4

So ein IC gibt es nicht.
Es gibt einen ATmega328 oder einen ATmega32u4.

> oder atsamd21 zusammenstellen

> Die beiden ICs sind in der engen Auswahl, weil sie Arduino-kompatibel
> und USB bieten (damit man ihn später einfach mit neuer Software updaten
> kann).

Ich halte das für vollkommen falsche Prioritäten. Das updaten per USB 
ist ganz sinnvoll für ein Board, das neben dem Monitor auf dem 
Schreibtisch liegt und dabei am einfachsten auch gleich aus dem USB mit 
Energie versorgt wird. Aber in einer H0 Lok wird man eher keine 
USB-Buchse haben wollen.

Der zweite grund, warum Arduino auf USB und einen Bootloader gesetzt 
hat, ist ganz einfach, weil der geneigte Arduino-Jünger so kein Geld für 
einen Programmieradapter ausgeben muß.

> Fragen zum Programmieren:
> 1) Die Chips haben erst mal keinen Bootloader, d.h. per USB anstecken
> und in der Arduino IDE "Upload Sketch" klicken, wird nicht klappen. Man
> benötigt z.B. einen Atmel ICE, um die ICs per SWD-Ports zu
> programmieren. Letzteres klappt aber immer, auch bei fabrikneuen Boards?

SWD für den ATSAMD. Ein ATmega braucht ISP. Das Atmel ICE kann beides, 
für ISP gibt es aber deutlich billigere Programmieradapter. Schon dieser 
Punkt spricht gegen den Upload per USB. Wenn du sowieso einen 
Programmieradapter anschaffen mußt, kannst du den auch gleich für dein 
endgültiges Programm verwenden.

> 2) Auf vielen Boards (z.B. dem Tau) sieht man den SWD-Header extra
> ausgeführt, aber ich kann auch die ganz normalen PINs dafür verwenden

Sicher. Pins sind Pins. Andererseits: warum redest du immer von Boards? 
In deine Lok paßt keins davon.

> 3) Da das Board winzig werden soll, habe ich keinen Platz für den
> SWD-Header

Aber für USB reicht der Platz?

> bzw. sind auch die Pins später im H0-Fahrzeug zu groß/im Weg.
> Gibt es ein Alternative, den IC initial zu programmieren und dann erst
> auf das Board zu löten?

Kann man machen. Aber die Praxis zeigt, daß man wenigstens den Prototyp 
immer wieder neu programmieren können will. Und zwar ohne den µC jedes 
Mal wieder auslöten zu müssen.

ISP kommt mit 6 Kontakten aus, SWD mit 4. Es gibt jede Menge 
schnuckelige kleine Steckverbinder für sowas. Im Notfall nur ein paar 
Pads und einen Adapterstecker mit Federkontakten oder Pogopins.

> 4) Falls das nicht geht, kann man normale through-holes auf einem PCB
> ohne zu verlöten kontaktsicher verbinden?

Pogopins

> 5) Die beiden ICs vertragen keine super-hohen Ströme an ihren Ausgängen
> (für LEDs). Könnt ihr mir einen Transistor-Array-IC (ist das der
> richtige Begriff? Ich will nicht viele einzelne Transistoren auflöten)
> empfehlen, den ich mit aufs Board packen kann?

Platzmäßig lohnt das nur, wenn du wirklich viele Kanäle brauchst. 
Ansonsten gibt es geeignete MOSFET in SOT-23 oder SC-70. Oder paarweise 
in SOT-26 bzw. SOT-6

> 6) Gibt es kleine und stromsparende Bauteile, die mir die komplette
> LiPo-Spannungsbreite 3.1-4.2V auf 3.3V transformieren können?

Eher nicht.

> Oder sollte ich einfach einen einfachen Step-Down auf 3.3V nehmen

Wohl eher einen LDO. Wenn die 3.3V nicht in Stein gemeißelt sind, nimm 
einen für 3V.

von Daniel K. (danie1)


Bewertung
0 lesenswert
nicht lesenswert
Axel S. schrieb:
> Daniel K. schrieb:
>
>> ich möchte ein winziges Board mit einem atmel328u4
>
> So ein IC gibt es nicht.
> Es gibt einen ATmega328 oder einen ATmega32u4.

Vertippt, ich meinte letzteren.

> Aber in einer H0 Lok wird man eher keine USB-Buchse haben wollen...

Da ist schon viel leerer Raum drin. Aber eigentlich soll das Teil + 
Empfänger, Akku und Servo in einen LKW. Die gibt es ja immerhin auch mit 
großem Kofferaufbau, da ist dann noch mehr Platz ;) Aber halt auch nicht 
ewig. Aktuell plane ich mit 20x20mm beidseitig bestückt.

Den USB-Anschluss würde ich an eine extra Platine machen und die dann 
für USB und Akkuladen benutzen. Hier dachte ich an eine Klemmvariante, 
um die Pins rauszuführen. Und da ich nicht der einzige sein werde, der 
so ein Teil benutzt, will ich schon auch USB haben.

> Platzmäßig lohnt das nur, wenn du wirklich viele Kanäle brauchst.
> Ansonsten gibt es geeignete MOSFET in SOT-23 oder SC-70. Oder paarweise
> in SOT-26 bzw. SOT-6

Es sind schon so acht oder zehn Kanäle, jeweils mit 1 bis 4 LEDs.

>
>> 6) Gibt es kleine und stromsparende Bauteile, die mir die komplette
>> LiPo-Spannungsbreite 3.1-4.2V auf 3.3V transformieren können?
>> Oder sollte ich einfach einen einfachen Step-Down auf 3.3V nehmen
>
> Wohl eher einen LDO. Wenn die 3.3V nicht in Stein gemeißelt sind, nimm
> einen für 3V.

Das schaue ich mir mal an - Danke für die Tipps.
Daniel

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]
  • [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.