Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Das Wettringer Modellbauforum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

61

Montag, 25. Juli 2016, 23:52

Hallo Willie,

ich habe gerade mal Dein gelöstes Problem hier durchgespielt:
Bei mir wird der Button "Write FS" sofort nach der Änderung auf „disabled“ aktiv.
Das ist vielleicht ein Unterschied zwischen Demo und Vollversion :nixweis:
Micha oder jemand Anderer mit Demo-Version: Bitte checken!

Auf jeden Fall Danke!

LG
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


62

Dienstag, 26. Juli 2016, 00:30

Hallo Stefan,

Bascom macht die Geschichte mit Unterprogrammen auch nicht anders als C.
Mit oder ohne Parameterübergabe etc.
Beim Interrupt hast Du natürlich Recht: Die ISR ist ja schon durch
On <Interrupt> <ISR>
definiert. Sogar mit interner Priorität, falls zwei Interrupts gleichzeitig kommen sollten.
Eine zusätzliche Deklaration ist nicht nötig, evtl. sogar ein Syntax-Fehler oder bläht nur auf.
Es geht darum, Bytes, nicht Kilobytes zu sparen. Der ATtiny4313 hat 4 KB Flash-Speicher, der ATtiny2313 nur 2.

Zu Deinem vorgestellten Projekt: :ok: :ok: :ok:

Tolle Idee und klasse Platine!

MAX6950 et al. sind mir bekannt.
Wenn Du Dir die "Einkaufsliste" in Post 3 anschaust, wirst Du sicher verstehen, dass wir diese begrenzen wollten.
Jemand, der nur "schnuppern" will, hat auf jeden Fall mit den Teilen ein Multifunktionsmodul, mit dem sich verschiedene Lichteffekte programmieren und auch schalten (kommt in Kürze) lassen.
Für Autos beispielsweise: Innenbeleuchtung an, Abblendlicht & Rücklichter an, Innenbeleuchtung aus, Blinker & los geht's.
Alles so, wie der jeweilige Modellbauer es gerne haben möchte.
Für viel weiter gehende Geschichten etwas nachzukaufen, fällt sicherlich leichter, als als Neuling viel mehr Geld ausgeben zu müssen, ohne zu wissen, ob das Projekt überhaupt gefällt.
Eine Gratwanderung.

Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


63

Dienstag, 26. Juli 2016, 01:28

Wohin mit der Platine?

Hallo Modellbaufreunde,

Micha baut "riesige" Modelle. 1:24 (kann mir jemand diesen Maßstab bitte erklären - er entbehrt für mich jeglicher Logik).
Da ist natürlich Platz, Luft (Wärmeaustausch!) und vergleichsweise wenig Aufwand, zusätzliche Details einzuarbeiten.
Wir haben diesen Thread aber mit Blick auf alle Modellbauer gestartet.

Ein eigener Post zur Unterbringung der Schaltung, LEDs und Weiterem ist geplant.

<Ar***tritt für mich selbst: :schrei: Mach' im Lichtleiter-Thread endlich mal weiter!>

Also: Keine Angst, hier wird niemand alleine gelassen. Zum jetzigen Zeitpunkt: "Ein daumennagelgroßes Auto ohne Scheinwerfer und Rücklichter geht gar nicht!"

Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

64

Dienstag, 26. Juli 2016, 06:12

@ Mathias:
Eine Led kann nur so viel Strom aufnehmen, wie sie für die angelegte Spannung benötigt. "Warme Led", also High-Power-Typen, die durch Wärmeentwicklung ihre Stromaufnahme ändern sind eine Ausnahme. Die Vorwiderstände sind dabei nichts Anderes als eine Strombegrenzung, weil der Lichtstrom an der zu hohen Eingangsspannung zu hoch wäre.

Dazu ein Beispiel: Du hast eine Leuchtdiode, die eine Vorwärtsspannung von 5V bei 150mA benötigt. Deine Spannungsquelle sind 4 Akkus mit jeweils 1,2V. Berechne den Vorwiderstand.
Gleiche Led, als Spannungsquelle aber ein Festspannungsregler mit 5V. Berechne des Vorwiderstand.

Ich verwende auch bereits seit langem 3,4V-High-Power-Led in meinem Boot, direkt betrieben an einem 3,3V Festspannungsregler. Keinerlei Probleme. Du kannst keinen Vorwiderstand dafür berechnen...


LG - Maik :respekt:

65

Dienstag, 26. Juli 2016, 08:08

Hallo Maik,

lies das . Ist klar und deutlich. Einfach zu begreifen. Auch :respekt:

LG
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

66

Dienstag, 26. Juli 2016, 09:35

Hallo Mathias,

Gelesen und verstanden. Im Grund esteht da aber auch nichts Anderes, als ich schon schrieb. Es wird nur nicht auf den direkten Betrieb mit einer 1:1-Spannung eingegangen.

Sicher wird immer ein Vorwiderstand empfohlen, aber auch nur aus dem Grund, dass du selten Leuchtdioden findest, die du mit 5-12V direkt betreiben kannst, zumindest nicht im Low-Current-Bereich.
Hingegen gibt es schon recht viele Led, die mit Spannungen um die 3,3V arbeiten. Nimmst du beispielsweise einen LF33CV-Linearregler als Spannungsquelle und eine 3,3V-Led, dann hast du alles für einen langlebigen Betrieb getan. Der Linearregker unterliegt keinen Spannungsschwankungen, die der Led schaden könnten, Schaltregler ebenfalls nicht. Es spricht also nichts dagegen, Leuchtdioden entsprechend effizient zu betreiben.
2 Faktoren spielen dabei eine tragende Rolle
1.) Der Vorwiderstand bedeutet ebenfalls eine Belastung des Stromsystems - erwandelt diese schließlich nur in Wärme um
2.) Es kostet Geld. 100Led bedeuten wenigstens 100 Vorwiderstände. Wenn die Spannungsquelle aber keine zu hohe Spannung liefert, kann man sich die Vorwiderstände einsparen, hat viel mehr Platz auf dem Board und die Led bleiben auch heil.

Nicht ohne Grund legen wir den Vorwiderstand nach 2 festen Größen aus: Der Abfallspannung und dem (aus den Datenblättern ersichtlichem) Lichtstrom der Led's. Wonach berechnet man einen Vorwiderstand, wenn keine Abfallspannung vorhanden ist?

Probiere es selbst aus: Nimm 2 Stück 2,5V-Leuchtdioden in Reihe und hänge sie an einen 5V-Regler. Messe den Lichtstrom...

Wenn es allerdings notwendig ist und kein Platz für einen extra Schaltregler, dann verwende ich auch Vorwiderstände, eben z.B. bei 5V-Betrieb.


LG - maik

67

Dienstag, 26. Juli 2016, 10:14

Nein, Maik, eben nicht!

es geht um die Annäherung an eine Konstantstromquelle. Deshalb der Vorwiderstand. In einem Anschluss. Ob da jetzt eine oder fünf LEDs in Serie hängen, ist (fast) egal. Du kannst auch einen Vorwiderstand im 1 - 10 Ohm-Bereich nutzen. Es geht darum, dass sich die LEDs nicht "aufschaukeln".
Das ist doch im verlinkten Artikel klar dargestellt.
Wo man die Widerstände am besten einbaut, ist jedem selbst überlassen. Ich tendiere dazu, sie in die Zuleitungen zu integrieren. Geschmackssache.
Wenn Du keine "Abfallspannung" hast, ändert sich logischerweise der Betriebsstrom bei einem zusätzlichen Vorwiderstand. Der wird kleiner aber bleibt (einigermaßen) konstant.
Bei Akku- oder Batteriebetrieb ein absolutes Muss.
Maik, es geht hier nicht um das Funktionieren, sondern um die Langlebigkeit. Die Kennlinie einer LED ist halt keine Gerade. Von Temperatureinflüssen ganz zu schweigen.
Die zwei Kenngrößen sind das Minimum, um eine LED optimal zu betreiben. Die LED ist aber "zickiger" (sonst hieße das Bauteil "der" LED :lol: ).
Schau' Dir das ganze Datenblatt an!

LG
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


68

Dienstag, 26. Juli 2016, 11:16

Mann Mann Mann, was macht ihr mit dem thread.
Ich meine jetzt die poster, die das Thema eigentlich nicht betrifft, weil sie programmiertechnisch schon weiter sind, oder meinen weiter zu sein. Die M&Mler geben sich hier Mühe Bastler, die bislang wenig Lichteffekte in ihren Modellen hatten, oder Module dafür zukauften, an Kontroller und Programmierkenntnisse heran zu führen, damit sie eben solche Effekte selber zusammen löten und programmieren können. Lasst doch die Beiden (M&M) ihren Kurs ohne Zwischenfunken durchziehen. Es nütz dem daran interessierten Bastler nix, wenn ihr (die echten und vermeindlich Vortgeschrittenen) dazwischen gaggert, was für tolle Ledtreiber ihr kennt. Und wenn dann so Beiträge kommen, wie "Bei Ausführung eines Wait-Befehls bleibt dem Controller keine Möglichkeit, auf ein Interrupt zu reagieren.", da rollt's mir alles mögliche auf. Lieber Maik, übersetze mal 'interrupt' in Deutsche, denke mal drüber nach, was das bedeuten könnte, oder schau in deiner Programmierlernquelle nach.
Wenn ich einem Neuling ein Anleitungsbuch in die Hand drücke, damit der sich mit Grundtechniken vertraut machen kann, dann hilft es dem wenig, wenn ich in dieses Buch herausgerissene Seiten des Bandes für Vortgeschrittene zwischenrein stecke. Das stört und bremst.
Wenn ihr mit dem Vorgehen von M&M nicht einverstanden seit, dann macht es besser, aber in einem anderen thread.
M&M, ihr habt es mit euren Inhaltsverzeichnis sehr gut gemacht, damit offtopic leichter übersprungen werden kann. Ihr tut mir nur leid, weil ihr euch mit dem offtopic aus Höflichkeit auseinander setzen müsst.
So, jetzt bin ich einigen auf den Schlips getreten, aber sonst kapiert das ja keiner :will:

Elektron

unregistriert

69

Dienstag, 26. Juli 2016, 11:44

Entschuldigung für meine Inkompetenz. Hatte in diesem Zusammenhang den Befehl Wait mit Bitwait verwechselt. Passiert.
Bei den Led's bleib eich jedoch stur. Ich verstehe, was du meinst und wovor due Angst hast, aber dieser Zustand muss auch erst einmal eintreten. Passiert ist mir persönlich soetwas noch nie, entsprechende Fälle sind mir soweit auch noch nicht bekannt (was nicht heißen soll, dass es sie vielleicht doch gibt - wer weiß).. Standard-Led sind im Allgemeinen aber auch recht robust, immerhin verzeihen sie sogar, wenn man sie mittels PWM an 5V oder mehr betreibt, ob nun sinnvoll oder nicht.

Soll auch genug zu diesem Thema sein, wir können das auch gern per PN ausdiskutieren, wenn du magst.


LG - Maik

70

Mittwoch, 27. Juli 2016, 01:06

Hallo Tscho,

schön, dass Du unseren Thread mitverfogst.
Ja, es ist etwas aus dem Ruder gelaufen.
Bei Fehlern, die beim Nutzer keine Schäden verursachen können, habe ich bisher hauptsächlich nur Andeutungen gemacht. Beispiel Wait & Interrupt.
Anders sieht es bei Schadenspotential aus: LEDs ohne Vorwiderstand. Oder nicht an die Schwerkraft glauben... :abhau:
Einerseits suchen wir Input und Impulse von Modellbauern und möchten darauf auch eingehen, andererseits bringt es dem Anfänger rein gar nichts,
von Timern und Interrupts zu hören, bevor der erste Taster abgefragt wurde.
Der Grat, auf dem wir wandern, scheint schmaler zu werden.

Liebe Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


71

Mittwoch, 27. Juli 2016, 04:19

Hallo Modellbaufreunde,

"Mehr Licht!"

Der 8-Kanal Blinker bekommt "Entlastung". :D

Heute kein neues Programm aber eine Schaltungsänderung.
Wir nutzen weiterhin den kompletten PortB (Pins 12 - 19), lassen die Last aber nicht über den Tiny, sondern den ULN2803A auf 12 V laufen.

Der ULN2803A (Datenblatt )


Quelle: Datenblatt

Der ULN2803A ist ein auf TTL-Level angepasstes 8-Kanal Darlington-Array mit Schutzdioden für induktive Lasten.
HÄ? :nixweis:
Anders ausgedrückt: Wir verbinden mit Pin 12 - 19 des ATtiny4313 je eine Transistor-Treiberstufe.
Der für unsere 5 V Pin-Spannung passende Basiswiderstand von 2,7 kOhm ist im ULN2803A schon integriert.
Sobald an einem Eingang des ULN2803A (Pins 1 - 8 ) +5 V anliegen, schaltet der gegenüberliegende Ausgang (Pins 18 - 11) gegen Masse (GND).
Das hat Vorteile: Der Tiny wird nicht mit der Last der geschalteten LEDs belastet und wir können eine höhere Spannung, hier 12 V, für die LEDs benutzen (Siehe auch Post 3 ).
Beim ULN2803A ist auch ein Spannungsabfall von ca. einem V zu beachten.
Pin 10 des ULN2803A ist noch zu bemerken: Hier laufen die integrierten Schutzdioden jedes Kanals zusammen und werden auf +12 V gelegt.
Wozu das?
Wenn wir nur Ohm'sche Lasten wie LEDs schalten, bräuchten wir das nicht. Anders sieht die Sache bei induktiven Lasten wie z. B. einem Relais aus.
Beim Ausschalten einer induktiven Last entsteht eine Überspannung, die bei angeschlossenem Pin 10 kompensiert wird.
Ohne Schutzdiode hätten wir eine kurze Rauchentwicklung und eine neue Bestellung zu tätigen. :bang:

Nun aber zu unserem geänderten Schaltplan:



Auf der linken Seite hat sich nichts geändert aber auf der rechten:



Beachtet bitte die Polarität der LEDs! Die Anoden via Vorwiderstand auf +12 V und die Kathoden am ULN2803A.
Wer nur ein 5 V-Netzteil hat, schließt die LEDs mit geeignetem Vorwiderstand statt an +12 V dann an +5 V an.

Und auf dem Steckbrett:

Hier ist allerdings noch die 5 V Variante zu sehen, die andere mit zwei Spannungen folgt noch.


Wer sich ein 12 V-Netzteil und den +5 V Spannungswandler gekauft hat, hier noch der Schaltplan mit zusätzlicher Schutzdiode und zusätzlichem Elko.
Das Bild passte leider nicht mehr in den Post 3 .



Die 100 nF Kondensatoren bitte so nah wie möglich am Spannungswandler verlöten. Es ist auch möglich, die Schaltung ohne Platine direkt am Spannungswandler aufzubauen.
Dann aber besonders gut isolieren und darauf achten, dass der Kühlkörper auch seinen Job machen kann.

VORSICHT: Sobald wir mit 12 V arbeiten, dient der USBASP ausschließlich als Programmer.
Bei einem Fehler auf dem Steckbrett könntet Ihr mit 12 V den USB-Port Eures Computers zerstören!
Also: Entweder den USBASP oder das Netzteil anschließen. NIE BEIDE GLEICHZEITIG!

LED-Vorwiderstände: Ein Ausflug in die Theorie für Praktiker
Jede LED hat zwei wichtige Kenngrößen: Die Durchlassspannung und die Betriebsstomstärke.
Idealerweise sollte die LED von einer Konstantstromquelle, die die Betriebsstromstärke liefert, gespeist werden.
Bei Betrieb mit Durchlassspannung und Betriebsstromstärke liefert die LED ihr Optimum an Helligkeit und Langlebigkeit.

In der Praxis nähern wir uns der Konstantstromquelle durch Verwendung eines Vorwiderstands an.
Ohne den Vorwiderstand hätten wir, auch wenn die Spannung zur Betriebsspannung passen würde, ein labiles System.
Nie eine LED ohne Vorwiderstand, sei er auch noch so klein, anschließen!
Nehmen wir als Beispiel die rote low-current (= Betriebsstomstärke <= 10 mA) LED aus dem Einkaufsvorschlag in Post 3 .
Sie besitzt eine Durchlassspannung von 1,9 V und eine Betriebsstomstärke von 10 mA und soll an 5 V betrieben werden:

+5 V --- Vorwiderstand --- Anode Led --- Kathode LED --- GND

Es sollen also 10 mA Strom fließen und der Vorwiderstand die nicht benötigte Spannung "verheizen".

Hier kommt Gevatter Ohm mit seinem Gesetz ins Spiel:
R = U / I
Widerstand in Ohm = Spannung in Volt / Stromstärke in Ampere.

Für die Serienschaltung gilt: Gesamtspannung = Summe der Teilspannungen bei konstanter Stromstärke.

Der Vorwiderstand muss also die Differenz zwischen Speisespannung und Durchlassspannung der LED "verheizen":
R = (5 V - 1,9 V) / 0,01 A = 3,1 V / 0,01 A = 310 Ohm. Man nimmt dann den nächstgrößeren Wert aus der Widerstandsreihe, hier 330 Ohm.
Der Helligkeitsunterschied zu 310 Ohm ist praktisch vernachlässigbar, da normale LEDs eine non-lineare Helligkeitsausbeute haben; relativ konstant um ihr Betriebsoptimum.
Fürs Steckbrett nehmt Ihr wieder 1 kOhm Widerstände - wir brauchen hier nicht die maximale Helligkeit. Und keinen Augenkrebs... :lol:

Berechnung bei zwei LEDs in Serie:

+5 V --- Vorwiderstand --- Anode Led1 --- Kathode LED1 --- Anode Led2 --- Kathode LED2 --- GND

R = (5 V - 1,9 V - 1,9 V) / 0,01 A = 1,2 V / 0,01 A = 120 Ohm.

Oder 5 LEDs an 12 V:
R = (12 V - 5 * 1,9 V) / 0,01 A = 2,5 V / 0,01 A = 250 Ohm.

Oder 5 LEDs an 11 V (12 V via ULN2803A):
R = (11 V - 5 * 1,9 V) / 0,01 A = 1,5 V / 0,01 A = 150 Ohm.

Zum "Verheizen"
Der Widerstand wandelt die zu vernichtende Spannung in Wärme um. Deshalb hat jeder Widerstand eine Watt-Angabe; bei uns 1/4 W bzw. 250 mW.

Vereinfacht:
P = U * I
Leistung in Watt = Spannung in Volt * Stromstärke in Ampere
Im Beispiel mit den 5 LEDs müsste der Vorwiderstand 2,5 V * 0,01 A = 0,025 W = 25 mW leisten. Unser 250 mW Widerstand hält das also locker aus!


Aufgaben/Spielereien:
  • Hängt kurze Stücke eines LED-Stripes an die Ausgänge des ULN
  • Vergleicht die Helligkeit der LED-Stripes mit der eines LED-Stripes, der direkt an +12 V und GND angeschlossen ist
  • Feinabstimmung: Verändert die Helligkeit einer LED mit einem zusätzlichen Potentiometer (ULN-Ausgang --- Kathode LED --- Anode Led --- Vorwiderstand --- ein äußerer Kontakt des Potis --- Mittelkontakt des Potis (Schleifer) --- +12 V)
  • Hängt LEDs in Serienschaltung an die Ausgänge des ULN (Vorwiderstände beachten!)
  • Hängt einen mini-Gleichstrommotor oder ein Relais an einen Ausgang des ULN (Spannung und Stromstärke beachten!)
  • Baut mit einem zweiten ULN einen 16-Kanal Blinker!

Schalten Sie auch nächstes Mal wieder ein, wenn sie die M&Ms sagen hören: "Frraaaanz! Mir ist so fad! Ich brauch' Abwechslung!"

Viele Grüße
Mathias & Micha



Inhaltsverzeichnis aller Projekt-Posts in Post 1

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

72

Mittwoch, 27. Juli 2016, 09:46

Verstehe mich nicht falsch, aber du machst mich rund, weil ich Led's ohne Vorwiderstand an entsprechenden Spannungsreglern betreibe.
Laut Kennliniendiagramm von mindestens 6 in meinem Bestand befindlichen Standard-Led verändert sich der Eingangsstrom bei drastischer temeraturveränderung um gerade stattliche 100uA - Hilfe, ich beraube die Led um 20 Betriebsstunden. Bei 10.000 fällt das auf jeden Fall auf...
:D

Frage: Welchen Sinn erfüllt die Schutzdiode sowie die beiden zusätzlichen Kondensatoren in deiner Schaltung? Werden Schutzdioden nicht eher bei Induktivitäten eingesetzt?
Laut datenblatt eines 7805 sind gerade einmal ein 100nF Kondi und ein 330nF Elko zum stabilen Betrieb nötig.
Rein interessenhalber.

73

Mittwoch, 27. Juli 2016, 10:55

Hallo Maik,

ich will Dich nicht rundmachen!
Ich kann nur nicht verantworten, dass ich wider besseres Wissen nur Teilinformationen weitergebe.

Ein Festspannungsregler braucht mindestens zwei Kondensatoren, die Störungen vermeiden. Zumeist nimmt man dazu 100 nF Kondis. Zusätzlich auf Verbraucherseite noch einen Elko, um zusätzlich zu glätten.
Die Schutzdiode dient dazu, Schaden abzuwenden, falls die Spannung auf der Verbraucherseite einmal höher als beim Input sein sollte. Der Input-Elko glättet auch. Schutzdiode und 2. Elko sind, wie Du in Post 3 lesen kannst, optional.

Baue Deine Spannungsversorgung so, wie Du willst und hänge Deine LEDs ohne Vorwiderstand dran. Dieses ist ein freies Land. Eigenschaden ist nicht strafbar.

Maik, komm' wieder runter.
Streiten ist verlorene Lebenszeit!

Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

74

Mittwoch, 27. Juli 2016, 20:04

Wie gesagt - bislang sind keine Gegenanzeigen aufgetreten. Kommt zwar nicht allzuoft vor, dass ich Led direkt antreiben kann, aber Gegenanzeigen gab es auch noch keine ^^.
Und unter uns: Angenommen, man setzt einen 1Ohm-Widerstand vor die Led - der kommt quasi einem Kurzschluss nahe. Standard-Leuchtdioden (bedrahtet) erwärmen sich ja nicht. Zumindest zeigten Messungen mit dem Laserthermometer unter regulären Bedingungen nichts an. Selbst ein Led-Scheinwerfer mit 40 Stck 30.000mcd-Led's blieb kalt. Temperaturveränderungen der Umgebung sollten ja ebenfalls vernachlässigbar sein, denn der Widerstand selbst erwärmt sich ja auch und verändert seinen tatsächlichen Wert leicht nach unten.
Oder sehe ich das falsch?

Nicht streiten, nur klären...

Hubra

Moderator

Beiträge: 11 439

Realname: Michael

Wohnort: Niederdürenbach-Hain

  • Nachricht senden

75

Mittwoch, 27. Juli 2016, 20:26

Hallo Liebe Bastelgemeinde. :wink:

Da ihr ja nun schon so einiges über die Verwendung eines Spannungsregler geschrieben habt, möchte ich mich auch mal dazu äußern.
Bei dem Modell von meiner Drehleiter hatte ich damals auch das Problem, dass sich bei der verwendeten Menge von 56 LED's, doch so einiges an Wärme entstanden ist.
Seit dm verwende ich wenn möglich kleine fertige Spannungsreglerplatinen und habe seitdem keine Probleme mehr damit.

Außerdem bin ich Praktiker und kann daher auch mal auf Theoretische Werte verzichten. :pfeif:

Deshalb möchte ich Euch auch mal eine Auswahl der fertigen Platinen zeigen, die es für wenige Euros in China gibt.
Da lohnt sich dann auch kein selber bauen mehr.


Diese beiden Typen kommen in meinen Modellen zum Einsatz, die kleine Platine eignet sich besonders zum Einbau ind ein PKW - Modell.


Mein Steckboard hat nun auch Zuwachs in Form einer weiteren Spannungsreglerplatine bekommen.
So kann ich dann die 5 V und 12 V separat einstellen. :idee:
Zum Einsatz kommt sie dann beim nächsten Update.


@ mac5150

An Mathias, damit ich deine Frage zwecks Maßstab beantworten kann.
Ganz einfach die Original Maße beim Maßstab 1:24 durch 24 teilen.
Das ist ein Rüstwagen in 1:24 mit den beiden Linealen um die genauen Maße zu entnehmen.


@ All.

Und da ich nicht ganz untätig gewesen bin, habe ich ein wenig mit dem Programm gespielt mal ein kleines Knight Rider Lauflicht gebastelt.


Und damit das ganze noch ein wenig Unterhaltsamer wird, habe ich auch noch ein zweites Video gedreht.


Gruß Micha und Mathias.


Inhaltsverzeichnis aller Projekt-Posts in Post 1

Elektron

unregistriert

76

Mittwoch, 27. Juli 2016, 22:55

Die Regler auf der ersten Platine scheinen Linearregler zu sein, die anderen Schaltregler. Schaltregler werden nicht wirklich warm, erst bei Strömen nahe dem Limit - aber auch nicht wirkllich "heiß".

Aber eine andere Frage: Wie flexibel sind diese Reglerplatinen? Welche Spannungen sind einstellbar und wo liegt die maximale Belastbarkeit ohne weitere Kühlung?
Wie stabil ist die Ausgangsspannung im Leerlauf und unter Last? Viele China-Kracher hatten in Vergangenheit arge Probleme mit der Restwelligkeit, da an den nötigen Kondensatoren gespart wurde. Das Auge ist zu träge, um LED-Flimmern wahrzunehmen, das Oszilloskop zeigt aber das genaue Gegenteil. Kannst du das mal messen und ein Feedback geben?
Wo liegen diese Platinen kostentechnisch?

Schaltregler zwischen 0,5A und 1A bewegen sich bei 3-5€. zwischen 1 und 5A gehen um die 10-15€.
Echte Platzhirsche, wie beispielsweise der 1A Schaltregler TSR-1 von TRACO-Power, liegen bei 6,50€ und sind anschlusstechnisch äquivalent zum 7805, nur dass der TRACO keine Abblockkondensatoren benötigt und einen Kurzschlussschutz integriert haben.
Weniger Strom aber auch weniger Kohle? Recom-Technologies bringt 0,5A für 3,30€. ;)


LG - Maik

77

Donnerstag, 28. Juli 2016, 08:09

@Micha: Wie man den Maßstab berechnet, ist mir schon klar. Warum aber gerade 24? 20 oder 25 wären dekadisch naheliegend.

@Maik: Kurzschluss? Nein, der Widerstand befindet sich ja in Serie mit der LED. Die Annäherung an eine Konstantstromquelle ist natürlich umso besser, je höher die am Vorwiderstand abfallende Spannung ist. Aber besser wenig als nix. Zur Erwärmung von Standard-Widerständen: Meines Wissens wird der Widerstand höher.

Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Beiträge: 626

Realname: Klaus Upmann

Wohnort: Rheine, der größte Vorort von Wettringen

  • Nachricht senden

78

Donnerstag, 28. Juli 2016, 10:58

@ Matthias
@Micha: Wie man den Maßstab berechnet, ist mir schon klar. Warum aber gerade 24? 20 oder 25 wären dekadisch naheliegend.

Vor Jahren hatte ich mal eine kleine Abhandlung über im Modellbau gebräuchliche Maßstäbe auf einer heute nicht mehr existenten Seite geschrieben. Es passt zwar hier nicht zu Thema, aber da Du bereits zweimal nach der Herkunft von Maßstäben gefragt hast, hilft es hoffentlich nicht nur Dir weiter.

Gebräuchliche Maßstäbe im Modellbau

Wer sich mit Modellbau beschäftigt, kommt zwangsläufig mit dem Begriff "Maßstab" in Berührung. Der Maßstab gibt uns an, in welchem Größenverhältnis das Modell zum Original dargestellt ist. So ist bei einem Maßstab von 1:32 das Original 32 mal größer als das Modell oder anders ausgedrückt entspricht eine Maßeinheit, egal ob Millimeter, Zentimeter, Meter, Fuß oder Zoll, 32 Maßeinheiten am Modell.
Bei Maßstabsangaben finden wir folgende Schreibweisen, zum Einen die deutsche Schreibweise mit dem Doppelpunkt als Trennzeichen, zum Anderen die internationale Schreibweise mit dem Schrägstrich als Trennzeichen. Folglich bedeuten die Angaben 1:32 und 1/32 das Gleiche.

Bei älteren Bausätzen der Firmen Heller und Faller fallen noch Maßstabsangaben mit runden Maßstabszahlen, z.Bsp. 1:50 und 1:100 auf. Diese Maßstabsangaben entspringen der DIN-Norm auf metrischer Basis. Ebenfalls metrische Maßstäbe sind 1:350, 1:400 und 1:700. Diese Maßstäbe werden von japanischen und kontinentaleuropäischen Herstellern für Schiffsmodelle verwendet. Fahrzeugmodelle werden oft statt im Maßstab 1:24, im metrischen Maßstab 1:25 angeboten. Für Militärfahrzeugmodelle haben sich auch international die Maßstäbe 1:35 und 1:87 (H0 bei Modelleisenbahnen) durchgesetzt.

Warum finden wir aber so viele Maßstabsangaben mit krummen Maßstabszahlen wie 1:72 oder 1:96 im Modellbau? Der Grund dafür liegt im Zoll - Maßsystem, bei dem ursprünglich ein Verhältnis von Zoll (inch) zu Fuß (foot) angegeben wurde.
Hierbei entspricht 1 Fuß = 12 Zoll (1ft = 12"). Als Basismaßstab kann der metrische Maßstab 1:12 angenommen werden, bei dem ein Zoll am Modell einem Fuß am Original entspricht. 1"/1ft. Uns fällt dabei auf, dass das Verhältnis der Maßstabszahlen hierbei genau anders herum angegeben wird, als wir es gewohnt sind.
Alle anderen zollbasierenden Maßstäbe können folgender Tabelle entnommen werden. Der geneigte Betrachter, der mit der Mathematik nicht gerade auf Kriegsfuß steht, wird die Relationen der verschiedenen Maßstäbe untereinander schnell erkennen.

Metrischer Maßstab
............................Zoll Maßstab

1 : 8...............................................1 1/2" / 1ft

1 : 12..............................................1" / 1ft

1 : 16..............................................3/4" / 1ft

1 : 24..............................................1/2" / 1ft

1 : 32..............................................3/8" / 1ft

1 : 48..............................................1/4" / 1ft (Quarterscale)

1 : 72..............................................1/6" / 1ft

1 : 96..............................................1/8" / 1ft

1 : 144.............................................1/12" / 1ft

1 : 288.............................................1/24" / 1ft


Bei den Modelleisenbahnen ist die Sache noch verwirrender. Hier wird nach Nenngrößen, Maßstäben und Spurweiten unterschieden. Es gibt die Nenngrößen Z, N, TT, H0, 0, I und II fü die Modelle und Zubehör in ausreichendem Maße im Handel angeboten werden...

Das würde hier aber zu weit führen

Munter bleiben :wink:

Klaus
Planung ist die Kunst den Zufall durch einen Irrtum zu ersetzen

79

Donnerstag, 28. Juli 2016, 12:17

Vielen Dank, Klaus!

ich hatte schon die Vermutung, dass es sich hier um ein non-dekadisches/metrisches System handeln muss.
Jetzt bin ich schlauer!

Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


80

Samstag, 30. Juli 2016, 21:37

Hallo Modellbaufreunde,

"Frraaaanz! Mir ist so fad! Ich brauch' Abwechslung!"

Der 8- (oder 16-) Kanal Blinker bekommt "Abwechslung". :D

Wir schalten mit einem Taster verschiedene "Blinkzustände" durch. Jetzt wird die Sache dynamischer!

Zuerst der minimal erweiterte Schaltplan:


Wir haben hier einen Taster namens "Modus" zwischen Pin 11 des ATtiny4313 und GND. Der sollte eigentlich so angeschlossen sein, wie der Reset-Taster.
Also Pin 11 via 10 kOhm Widerstand auf 5 V, dazwischen der GND-Taster. Warum es so einfach auch möglich ist: Später.
Warum Pin 11? Wenn Ihr den 16-Kanal Blinker gebaut habt, habt Ihr mit hoher Wahrscheinlichkeit die freien Portpins auf der linken Seite des Tinys benutzt. Pin 11 ist der letzte freie auf der rechten Seite.

Hier der Code; bitte speichert ihn unter WM Blinker3 ab.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
'*****************************************
'
'
' Blinker (8-Kanal) mit Modusumschaltung
'
'
'*****************************************
' Verwendung des ULN2803A
' PortB.x -- ULN In --- ULN Out -- Kathode LED -- Anode LED --- 1k -- +12 oder +5 V.
' Taster an Pin 11 --- GND
'
' ***** Genutzter Microcontroller, Takt in Hz, Stacks & Framesize
$regfile = "attiny4313.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32

'***** Variable
Dim I As Byte                            	' Standard-Zählvariable
Dim Modus_nummer As Byte                 	' selbsterklärend
Dim Led_sequenz(8) As Word               	' 8 LED-Sequenzen à 16 Schaltzustände
Dim Impuls As Byte                       	' legt die Impulsdauer fest
Dim Sequenz As Byte                      	' Länge der Sequenz Werte 0 - 15 entsprechen 1 - 16 Sequenzbits
'*******************************
'*
'* Spielwiese 1
'*
'*******************************
Impuls = 150                             	' Impulsdauer in Millisekunden
Sequenz = 15                             	' s. o.
'*******************************
'*
'* Ende Spielwiese 1
'*
'*******************************
'
'***** Configs & Interrupts
' Portpin-Configs & Alias
Config Portb = Output
Led1 Alias Portb.0
Led2 Alias Portb.1
Led3 Alias Portb.2
Led4 Alias Portb.3
Led5 Alias Portb.4
Led6 Alias Portb.5
Led7 Alias Portb.6
Led8 Alias Portb.7

Config Portd.6 = Input                   	' Eingabeportpin bestimmen
Modus_plus Alias Pind.6                  	' Aufpassen:Nicht PORTD.6 sondern PIND.6 - wir fragen ja einen INput ab
Portd.6 = 1                              	' Pullupwiderstand einschalten

'Modus_minus Alias Pin...                	' Hausaufgabe ;-)


Do
   For I = 0 To Sequenz
  	Led1 = Led_sequenz(1).i
  	Led2 = Led_sequenz(2).i
  	Led3 = Led_sequenz(3).i
  	Led4 = Led_sequenz(4).i
  	Led5 = Led_sequenz(5).i
  	Led6 = Led_sequenz(6).i
  	Led7 = Led_sequenz(7).i
  	Led8 = Led_sequenz(8).i
  	Waitms Impuls
  	If Modus_plus = 0 Then
     	Incr Modus_nummer               	' addiert 1 auf Modus_nummer. Wir könnten auch schreiben: Modus_nummer = Modus_nummer + 1
     	Gosub Modusumschaltung
  	End If
   Next I
Loop
End


'*******************************
'*
'* Unterprogramm & Spielwiese 2
'*
'*******************************

Modusumschaltung:                        	' Name des Unterprogramms. Doppelpunkt nicht vergessen!

   Waitms 20                             	' Tastenprellung abwarten
   Bitwait Modus_plus , Set              	' Taster nicht mehr gedrückt?
   'If Modus_nummer = 255 Then Modus_nummer = 0   	' Hausaufgabe ;-)
   If Modus_nummer > 3 Then Modus_nummer = 0 ' Wir haben nur drei Modi
   I = 0                                 	' Sequenzbitzähler zurücksetzen

   Select Case Modus_nummer

  	Case 0:
     	Led_sequenz(1) = &B0000000000000000 ' Alle Sequenzen aus; Led_sequenz(x) = 0 geht auch.
     	Led_sequenz(2) = &B0000000000000000
     	Led_sequenz(3) = &B0000000000000000
     	Led_sequenz(4) = &B0000000000000000
     	Led_sequenz(5) = &B0000000000000000
     	Led_sequenz(6) = &B0000000000000000
     	Led_sequenz(7) = &B0000000000000000
     	Led_sequenz(8) = &B0000000000000000

  	Case 1:
     	Led_sequenz(1) = &B0000000000000000 ' Sequenzen für Led7 und 8
     	Led_sequenz(2) = &B0000000000000000
     	Led_sequenz(3) = &B0000000000000000
     	Led_sequenz(4) = &B0000000000000000
     	Led_sequenz(5) = &B0000000000000000
     	Led_sequenz(6) = &B0000000000000000
     	Led_sequenz(7) = &B1100110011001100
     	Led_sequenz(8) = &B0011001100110011

  	Case 2:
     	Led_sequenz(1) = &B0000000000000000 ' Sequenzen für Led4 - 6
     	Led_sequenz(2) = &B0000000000000000
     	Led_sequenz(3) = &B0000000000000000
     	Led_sequenz(4) = &B1111000011110000
     	Led_sequenz(5) = &B0101000001010000
     	Led_sequenz(6) = &B0001010100010101
     	Led_sequenz(7) = &B0000000000000000
     	Led_sequenz(8) = &B0000000000000000

  	Case 3:
     	Led_sequenz(1) = &B0000010100000101 ' Alle Sequenzen an
     	Led_sequenz(2) = &B0001010000101000
     	Led_sequenz(3) = &B0000111100001111
     	Led_sequenz(4) = &B1111000011110000
     	Led_sequenz(5) = &B0101000001010000
     	Led_sequenz(6) = &B0001010100010101
     	Led_sequenz(7) = &B1100110011001100
     	Led_sequenz(8) = &B0011001100110011

   End Select

Return


Was hat sich geändert?
Die Spielwiese hat sich erweitert!
Neue Befehle sind hinzugekommen und eine Eurer "Hausaufgaben" versteckt sich hier.

Lasst uns den Code anschauen:
In Zeile 21 ist die Byte-Variable Modus_nummer hinzugekommen. Selbsterklärend.
Im ersten Teil der Spielwiese wird nur noch den Variablen Impuls und Sequenz ein Wert zugewiesen. Die Sequenzen sind "umgezogen".
In Zeile 50 definieren wir Pin 11 = PD6 des Tinys als Eingabepin:
Config Portd.6 = Input
und geben ihm einen Namen:
Modus_plus Alias Pind.6
Aufpassen: Nicht PORTD.6 sondern PIND.6 - wir fragen ja einen INput ab.
Die nächste Zeile ist spannend:
Portd.6 = 1
Pin 11 ist ja als Eingabepin definiert und muss mit Pind.6 im Programm abgefragt werden. Jetzt PortD.6 = 1 ???
Eingabepins wollen einen definierten Zustand: +5 V oder 0 V (GND) Bei geöffnetem Taster würde Pin 11 elektrisch gesehen "in der Luft hängen".
Schauen wir auf den Resetpin: Der wird im Normalzustand mit einem sogenannten "Pullup"-Widerstand auf +5 V gehalten und erst nach Betätigung des Reset-Tasters auf GND "heruntergezogen".
Die Atmel-Mikrocontroller besitzen integrierte Pullup-Widerstände.
Wird PortX.Y als Eingabepin definiert, lässt sich mit dem Befehl PortX.Y = 1 sein Pullup-Widerstand zuschalten.
Wir ersparen uns also das Verbauen eines Pullup-Widerstands für Pin 11 auf dem Steckbrett.
Unser Hauptprogramm in der Endlosschleife Do ... Loop End wurde erweitert:
In Zeile 68 fragen wir, ob der Taster gedrückt ist, PIND.6 also nicht 1 (+5 V via Pullup) sondern 0 (Taster zieht auf GND) ist:
If Modus_plus = 0 Then
Zeile 71 beendet die If-Then Struktur:
End If
Ist die Abfrage wahr, Wenn (If) Modus_plus = 0, dann (Then) werden die Befehle vor Abfrageende (End If) ausgeführt, sonst nicht.
Ist der Taster betätigt, so wird die Variable Modus_nummer mit dem Befehl
Incr Modus_nummer
um 1 erhöht. Variable sind bei Programmstart und nach Reset immer 0. beim ersten Tastendruck wird also Modus_nummer = 1.
An Stelle von Incr Modus_nummer könnten wir auch schreiben: Modus_nummer = Modus_nummer + 1
Danach springen wir mit
Gosub Modusumschaltung
in das Unterprogramm namens Modusumschaltung.
Dieses finden wir ab Zeile 83, also "nach" dem Hauptprogramm, das in Zeile 74 endet.
Mit dem Namen des Unterprogramms, gefolgt von einem Doppelpunkt beginnt dieses:
Modusumschaltung:
Es endet mit dem Befehl
Return
in Zeile 135. Return bedeutet, dass wieder ins Hauptprogramm zurückgesprungen wird; in die Zeile nach dem Gosub-Befehl.

Was passiert im Unterprogramm?
Ein Taster ist ein mechanisches Bauelement. Der Tasterkontakt neigt zum "Prellen", also kurzzeitiges ein-aus-ein..., bis der Kontakt eindeutig ruht. Deshalb warten wir kurz:
Waitms 20
um danach mit dem Befehl:
Bitwait Modus_plus , Set
abzuwarten, dass der Taster wieder losgelassen wurde, also das Bit Modus_plus bzw. PB6 wieder gesetzt wurde, also 1 ist.
Mit:
I = 0
setzen wir den Sequenzbitzähler aus dem Hauptprogramm zurück.
Im Hauptprogramm haben wir Modus_plus um 1 erhöht. Jetzt prüfen wir, ob das ein "erlaubter" Modus ist:
If Modus_nummer > 3 Then Modus_nummer = 0
Das ist eine einfache Abfrage in einer Zeile, deshalb kein End If.
Erlaubt sind die Modi 0 (alles aus) sowie 1 - 3. Sollte Modus_nummer größer als die höchstmögliche Anzahl der programmierten Modi (Hier: 3) sein, wird Modus_nummer der Wert 0 zugewiesen.
In den Zeilen 91 - 133 folgt eine sehr nützliche Befehlsstruktur: Select Case <Variable> ... Case <Variableninhalt> ... Befehle ... End Select.
Wir sagen also in Zeile 91 mit:
Select Case Modus_nummer
dass Modus_nummer ausgewertet werden soll. Im Fall (Case), dass Modus_nummer = 0 ist, werden die Befehle nach:
Case 0:
abgearbeitet. Den Doppelpunkt nicht vergessen!
So weisen wir auch für die folgenden Fälle die entsprechenden Blinksequenzen zu.
Die Befehlsstruktur Select Case... wird dann in Zeile 133 mit:
End Select
beendet.
Zeile 135: Rücksprung ins Hauptprogramm


Aufgaben/Vorschläge:
  • Programmiert mehr Modi
  • Schließt einen weiteren Taster an, der die Modi zurückschaltet, z. B. von 2 nach 1 (Tipp: Befehl Decr); den 16-Kanal Blinker müsst Ihr dazu auf 15 Kanäle "kastrieren"
  • Ändert die Impulsdauer in den verschiedenen Modi
  • Benutzt den Befehl Debounce
  • Und immer wieder: Benutzt die Bascom-Hilfe!

Heute haben wir ein Ziel erreicht! Ihr könnt jetzt für kleines Geld die zu Eurem Modell passenden Lichteffekte selbst bauen!

Gratulation! :party: :prost: :hand:

Das war doch gar nicht so schwer, oder?



Schalten Sie auch nächstes Mal wieder ein, wenn sie die M&Ms sagen hören: "Wie geht's jetzt weiter?"

Viele Grüße
Mathias & Micha

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

81

Sonntag, 31. Juli 2016, 12:59

Ich habe einen kleinen Fehler in deinem Code entdeckt.
Der Microcontroller kennt kein echtes ">" (Größer als), sondern nur "<" und "=" ('Kleiner als' und 'Ist gleich'). Bei kleinen Codes mag es noch funktionieren, sobald es jedoch komplexer wird, nicht mehr.
Demzufolge ist es sinnvoller, statt der Codezeile
"If Modus_nummer > 3 Then Modus_nummer = 0"
zu schreiben
"If Modus_nummer = 4 Then Modus_nummer = 0".
Beides führt zum selben Ergebnis, nur ohne Komplikationen bei größeren Codes.

Es ist ratsam, Eingabegeräte (Taster) mit einem Pullup-Widerstand gegen VDD zu ziehen und eventuell noch mit einem Entprell-Elko (Werte zwischen 10 und 33µF sind brauchbar) zu entprellen. Es gibt diverse Beispiele, bei denen ein Software-Pullup nicht funktioniert und die Software-Entprell-Wartezeit nur das Programm verlangsamt oder ins Stocken bringt.


Abschließend einige Änderungs-Empfehlungen, um den Code gerade für Einsteiger übersichtlicher zu gestalten.

Am Beispiel dieses Code-Auszuges:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Do
   For I = 0 To [color=#ff0000]Sequenz[/color]
  	Led1 = Led_sequenz(1).i
  	Led2 = Led_sequenz(2).i
  	Led3 = Led_sequenz(3).i
  	Led4 = Led_sequenz(4).i
  	Led5 = Led_sequenz(5).i
  	Led6 = Led_sequenz(6).i
  	Led7 = Led_sequenz(7).i
  	Led8 = Led_sequenz(8).i
  	Waitms [color=#ff0000]Impuls[/color]
  	[color=#0000ff]If Modus_plus = 0 Then
     	Incr Modus_nummer[/color]     
     	[color=#00ffff]Gosub Modusumschaltung[/color]
  	End If
   Next I
Loop


Am Beispiel dieses Codes die Verbesserungsvorschläge mit entsprechenden Farbmarkierungen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Do
   For I = 0 To [color=#ff0000]15[/color]
  	Led1 = Led_sequenz(1).i
  	Led2 = Led_sequenz(2).i
  	Led3 = Led_sequenz(3).i
  	Led4 = Led_sequenz(4).i
  	Led5 = Led_sequenz(5).i
  	Led6 = Led_sequenz(6).i
  	Led7 = Led_sequenz(7).i
  	Led8 = Led_sequenz(8).i
  	Waitms [color=#ff0000]150[/color]
  	[color=#0000ff]If Modus_plus = 0 Then[/color]
        [color=#00ffff]Incr Modus_nummer : Gosub Modusumschaltung[/color]
  	End If
   Next I
Loop


Rot:
Sofern bestimmte Parameter nicht geändert werden müssen, entsprechende Vordefinitionen vermeiden, sofern diese im Code nicht multiple (mehrfach) Anwendung finden müssen.
In diesem Code-Beispiel wurden die Variablen-Parameter "Sequenz" und "Impuls" Im Header (Kopfzeilenabschnitt über der Hauptschleife) fest mit einem Wert definiert. Wird der Wert aber nur 1-2 mal tatsächlich gebraucht, wird mit dieser festen Definition tatsächlich Speicherplatz vergeudet. Stattdessen wäre es nicht nur sparsamer, sondern auch wesentlich übersichtlicher, diese Werte direkt einzutragen. Man sieht sofort, welche Werte verwendet wurden und kann diese im entsprechenden Code-Abschnitt auch schnell ändern. Bei längeren Codes mit unterschliedlichen Befehlen und Wartezeiten wird es dann seeehr schnell unübersichtlich, das musst auch du zugeben.


Blau:
IF-THEN-Anweisungen können der Übersichtlichkeit wegen auch direkt hintereinanderweg geschrieben werden, sofdern es nur EINE EINZIGE Aufgabe zu erfüllen gibt. Sollen mehrere erfüllt werden (wie in diesem Beispiel), dann geht das natürlich nicht. Da komme ich nun auf die Marke

Hellblau:
Mehrere simultane Anweisungen können direkt hintereinanderweg geschrieben werden, getrennt durch ein Leerzeichen, Doppelpunkt und ein weiteres Leerzeichen (" : ").
Sollen in einer Anweisung viele Befehle ausgeführt werden, beispielsweise wie hier der das Erhöhren des Zählwertes "Modus_nummer" und dem Gosub nach "Modusumschaltung, dann können x-beliebig viele davon hintereinander gesetzt werden. Dadurch weiß dann auch der Anwender, dass diese Teile direkt zusammen gehören und mit der Anweisung gleichzeitig abgearbeitet werden (sollten ;) )
Besonders sinnvoll ist der Einsatz dann, wenn RGB-LED verwendet und unterschiedliche Farben definiert werden sollen. Ein Code-Beispiel sieht dann so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
      Select Case Farbwahl
            Case 0 : Rot = Y : Gruen = Y : Blau = Y : Color = 0       '             ALLE LED AUS
            Case 1 : Rot = X : Gruen = Y : Blau = Y : Color = 1       '             ROT
            Case 2 : Rot = X : Gruen = X_orange : Blau = Y : Color = 2       '      ORANGE
            Case 3 : Rot = X : Gruen = X_hellgruen : Blau = Y : Color = 3       '   HELLGRÜN
            Case 4 : Rot = X : Gruen = X : Blau = Y : Color = 4       '             GELB
            Case 5 : Rot = Y : Gruen = X : Blau = Y : Color = 5       '             GRÜN
            Case 6 : Rot = X : Gruen = X : Blau = X_blau : Color = 6       '        WEISS
            Case 7 : Rot = Y : Gruen = X : Blau = X_blau : Color = 7       '        AZUR
            Case 8 : Rot = Y : Gruen = Y : Blau = X_blau : Color = 8       '        BLAU
            Case 9 : Rot = X : Gruen = Y : Blau = X_blau : Color = 9       '        VIOLET
            Case 10 : Rot = X : Gruen = Y : Blau = X_pink : Color = 10       '      PINK
            Case 11 : Rot = Y : Gruen = Y : Blau = X_blau : Color = 11       '      COLOR-FADING
      End Select


In diesem Beispiel wird mit den Farben "gerechnet". Der Wert "Y" setzt de ausgeschalteten Wert "1023", der Wert "X" den eingeschalteten Wert "0". Ein gutes Beispiel dafür, dass eine Variablen-Definition im Header auch sinnvoll sein kann, sofern diese Variable multile, also sehr oft, aufgerufen werden muss.

Im späteren Verlauf des Programm wurden die Vairablen dann jedoch manipuliert und in einer Tabelle entsprechend geändert. Stichwort LED-Helligkeitsdimmung ;)

Quellcode

1
2
3
4
5
6
7
8
      Select Case Brightness
            Case 0 : X = 0 : X_pink = 910 : : X_orange = 796 : X_hellgruen = 682 : X_blau = 768 : Schrittpause = 6 : Lux = 100
            Case 1 : X = 341 : X_pink = 947 : X_orange = 863 : X_hellgruen = 746 : X_blau = 853 : Schrittpause = 9 : Lux = 090
            Case 2 : X = 568 : X_pink = 973 : X_orange = 922 : X_hellgruen = 871 : X_blau = 910 : Schrittpause = 13 : Lux = 080
            Case 3 : X = 720 : X_pink = 989 : X_orange = 966 : X_hellgruen = 922 : X_blau = 947 : Schrittpause = 20 : Lux = 070
            Case 4 : X = 821 : X_pink = 1000 : X_orange = 981 : X_hellgruen = 956 : X_blau = 973 : Schrittpause = 30 : Lux = 060
            Case 5 : X = 889 : X_pink = 1007 : X_orange = 992 : X_hellgruen = 978 : X_blau = 989 : Schrittpause = 45 : Lux = 050
      End Select


"Lux" ist übrigens nur eine Variable und hat nichts mit der tatsächlichen Lichtintensität zu tun.


Frohes Schaffen. Versucht selbst, eure Codes so zu verbessern, dass sie übersichtlich sind, aber dennoch funktionell bleiben. Stellt euch nur vor, ich hätte alles untereinander geschrieben. Da würde keiner mehr durchsehen ;).


@ Mac: Deine "Hausaufgaben" verstehe ich nicht so ganz. Was sollen diese bezwecken?

LG

82

Sonntag, 31. Juli 2016, 13:33

Ich misch' mich wieder ein: mag sein, dass der Kontroller kein '>' kennt (in seinem Maschinenbefehlsvorrat), aber bascom weiß das und kann damit umgehen, es kennt ein '>'. Daher wird es auch keine Probleme bei der Verwendung geben, egal ob bei einem kleinen oder großen Programm. Ein '>' generiert ein paar bytes an code mehr, ist aber bei solchen Programmen hier wirklich nicht schlimm, weil genug Speicher vorhanden ist.

83

Sonntag, 31. Juli 2016, 13:41

Hallo an die Wissenden,

ich habe mir bisher jedes Posting durchgelesen und muss zugeben, dass ich immer weniger verstehe. Mich interessiert der 16 Kanal Blinker sehr, daher würde mich ein Video der verschiedenen Blink-Modi interessieren.
Kann das jemand Bitte zur Verfügung stellen?

Ich habe mir auch bisher noch nichts bestellt, da mir nicht so klar ist, welche der genannten Bauteile in der Einkaufsliste immer benötigt werden. Vielleicht habe ich es auch überlesen, aber wie sieht die Schaltung jedes Mal auf dem Steckbrett aus? Muss da überhaupt etwas verändert werden?

Des Weiteren würde mich beispielhaft interssieren, wie dieser 16 Kanal Blinker im einbaufertigen Zustand aussieht, also wie groß ist die Platine mit allen erforderlichen Bauteilen und dem Anschluss for Strom?

Entschuldigt bitte, falls meine Fragen zu banal sind, für mich ist das Thema völlig neu.

Danke für konstruktive Antworten.

Gruß
Marcus

Hubra

Moderator

Beiträge: 11 439

Realname: Michael

Wohnort: Niederdürenbach-Hain

  • Nachricht senden

84

Sonntag, 31. Juli 2016, 16:17

Hallo liebe Bastelgemeinde. :wink:

Ich möchte Euch nun auch mal die Bilder vom Steckbrett mit den 8 Ausgängen in Verbindung mit dem ULN2803A zeigen.

Der rot markierte Bereich hat mit unserer Schaltung nicht zu tun. :(
Wie man links oben an der Spannungsanzeige sehen kann, Funktioniert das ganze auch mit 10,8 V anstatt mit 12 V.




Selbstverständlich gibt es davon auch wieder ein Video. :)


Bevor es dann bei mir wieder weiter ging, habe ich die Spannungen an den Spannungsreglern getauscht.
Somit kann ich am 12 V Anschluß nun auch die Stromstärke ablesen.
Wie genau die allerdings ist, kann ich im Moment nicht sagen.


@ Marcus.

Die Variante mit den 16 Ausgängen wird bald kommen.

Allerdings kann ich dir deine Fragen schon beantworten, da ich mir gestern dafür bereits eine Platine angefertigt habe.
Dazu habe ich mir eine Lochstreifenplatine auf die Maße von 50 x 70mm zurecht geschnitten.
Die Größe habe ich anhand der Bauteile vorher ermittelt. :idee:
Diese habe ich aber durch kleine Tricks erst einmal zum Betrieb der ursprünglichen Schaltung abgeändert.
Dazu habe ich unter anderem an der Ausgangsbuchse, die später mit einem Stecker verbunden wird und zu den LED's führen.
Natürlich dürft Ihr die Widerstände nicht vergessen.


Diese Platine soll mir später auch zum Programmieren dienen und verfügt über einen dreipoligen Stecker, über den ich diese mit 5 V und 12 V versorgen kann.

Wenn ihr die Platine, die später in euer Modell eingebaut wird, mit solchen oder ähnlichen Buchsen verseht, dann hat die eine Größe von ca. 32 x 70mm.


Ohne die Buchsen reduzieren sich die Maße auf gerade mal ca. 32 x 47mm.
Allerdings kann man sie dann nicht mehr ohne weiteres aus dem Modell nehmen. :(


Und so sieht später eine fertig bestückte Platine mit 2 ULN2803A aus.


Ich hoffe das ich damit schon mal ein paar Fragen beantworten konnte. :nixweis:

Das war es dann erst einmal von meiner Seite.

Gruß Micha und Mathias.


Inhaltsverzeichnis aller Projekt-Posts in Post 1

85

Sonntag, 31. Juli 2016, 19:46

Hallo zusammen,

@Maik: In der Tat hatte ich ursprünglich
If Modus_nummer = 4 Then Modus_nummer = 0
im Code vorgesehen, habe mich dann aber für das "umständliche > 3" entschieden, wei es m. E. für den Anfänger eingänglicher ist; gerade, wenn Modi hizukommen (Hausaufgabe).
Hardware-Entprellen war hier nicht Thema, sondern Software-Entprellen - dazu auch die Hausaufgabe mit Debounce. Besonders zeitkritisch ist das Programm nicht.
Zu Deinen Codeoptimierungen:
Das Programm ist eine Weiterentwicklung des letzten. Damit geht einher, dass nur das Nötige geändert wurde. Ist ja für Anfänger gedacht.
Wenn man eine Variable gar nicht ändern will, braucht man sie auch nicht. Stimmt. Die Variable "Impuls" kennen wir und sollen sie in der Hausaufgabe auch benutzen.
Wer die Variable "Sequenz" benutzt hat, wird sie auch weiter benutzen wollen.
Sollen neue Befehle vorgestellt werden, dann mache ich das lieber in getrennten Zeilen, also ohne Doppelpunkt.
Den Doppelpunkt wollte ich bewusst nur dann einsetzen, wo er wirklich gebraucht wird; z. B. bei "Case 1:" oder "Modusumschaltung :".
Übersichtlichkeit ist offenbar Geschmackssache.
Ich finde einen Case x: mit Impulsdauer und 8-16 Words in Binärschreibweise untereinander übersichtlicher, als nebeneinander.
Gerade in unserem Fall, in dem Blinksequenzen definiert werden und man schon auf einen Blick sieht, welche LEDs gleichzeitig an sind.
Zu den Hausaufgaben: Was ist Dir daran nicht klar? Oder nimmst Du mir das Thema Vorwiderstände noch krumm?

@Marcus: Überhaupt keine Entschuldigung nötig - Du sollst ja fragen, wenn Dir etwas unklar ist!
Die benötigten Bauteile fürs Steckbrett siehst Du im Schaltplan des jeweiligen Posts.
Am Beispiel des letzten Posts:

Du brauchst also:
1x ATtiny4313
1x ULN2803A
2x Taster
1x Kondensator 100 nF
1x Widerstand 10 kOhm
8x LED
8x Vorwiderstand 1 kOhm
sowie
1x Adapter für den USBASP (offizieller Post 3)
1x Netzteil 5 und 12 V (offizielle Posts 2 und 6); zum Probieren reicht aber auch für einfache LEDs und nur 5 V Betrieb die USB-Spannungsversorgung über den USBASP-Adapter.

Die Änderung zur vorherigen Schaltung ist nur der zweite Taster, der zusätzlich aufs Steckbrett muss.
Alles klar soweit?

Zur fertigen Platine: Falls Du Platzprobleme hast, könnte man die Bauteile auch "verteilen" oder die Steuerung außerhalb des Modells platzieren und einen "Kabelbaum" aus dünnem Kupferlackdraht ins Modell führen.


Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

86

Sonntag, 31. Juli 2016, 21:49

@ Mac: "Debounce" nutze ich ausschließlich. Gerade deshalb rate ich auch zum Nutzen einer Hardware-Entprellung. Vielleicht liegt es am PWM-Output zum Faden von Led, dass die Software-Entprellung nicht mehr ganz so gut hinhaut, oder aber an den Tastern. Sagen kann ich dir das nicht, nur soviel, dass es zumindest bei mir ohne diese nicht funktioniert. Der Rat dient der Vorsicht halber, um entsprechende Fehler bereits im Vorfeld zu vermeiden. Von den zusätzlichen Kosten her - vernachlässigbar, oder nicht?

In Select-Case-Aufrufen kommt man um den Doppelpunkt nach dem "Case X" doch gar nicht herum... ;).

Aber Übersichtlichkeit ist keine Geschmackssache, sondern (meiner Meinung nach) sollte man sich wirklich an seine "Anfängerzeiten" zurück zurück erinnern. Und nur als Beispiel: An den beiden genannten Variablen sieht man das im Grunde sehr deutlich:
Wenn der Einsteiger den Code sieht, dann sind das im Grunde böhmische Felder (oder so ähnlich ;) ). Würdest du es nicht auch so sehen, dass es wesentlich übersichtlicher ist, wenn Code-Bausteine zusammenhängend als Ganzes ersichtlich sind und nicht erst zusammengesucht werden müssen?

Wieviel Code hast du bislang dafür verbraucht bzw. was sagt BASCO nach dem Compilieren?

@ Tschoeatsch: Mag sein, dass BASCOM damit umgehen kann, aber was ist mit anderen Compilern? Und - was machst du, wenn dein Programm so groß geworden ist, dass es auf jedes einzelne Byte ankommt?
Vielleicht bist du noch nicht auf diese Hürde gestoßen, ich aber schon mehrfach - und das geht schneller als man denkt. Gerade dann, wenn man mit Mehrfarb-LED's oder LED-Stripes arbeitet oder ein Modellschiff ausrüsten möchte, beispielsweise mit 3 LED-Kreisen, 2 Pumpen, Monitoren, PWM-Einlesen und -Ausgabe, Servo-Kontrolle, etc.pp... Man sehnt sich schnell nach jedem Byte, das man einsparen kann.


LG

Beiträge: 174

Realname: Stefan

Wohnort: Raum Hildesheim

  • Nachricht senden

87

Sonntag, 31. Juli 2016, 22:20


Der Microcontroller kennt kein echtes ">" (Größer als), sondern nur "<" und "=" ('Kleiner als' und 'Ist gleich').

Da habe ich auch noch keine Probleme gemerkt, und bisher auch nichts von gehört. Wie kommt denn das, bzw. gibt es hierzu irgendwo eine Erklärung?

Zitat

was machst du, wenn dein Programm so groß geworden ist, dass es auf jedes einzelne Byte ankommt?

Beim Steckbrett mit IC-Sockel doch klar. Rausrupfen, und einen pinkompatiblen, grösseren Einsetzen :P :D

88

Sonntag, 31. Juli 2016, 22:21

Hallo Maik,

Du nutzt Debounce ausschließlich? Das ist doch eine Software-Entprellung. ?(
Findest Du es für einen Anfänger nicht sinnvoll, dass er erstmal grundsätzlich lernt, wie ein Pin abgefragt wird, bevor man schwerere Geschütze auffährt?
Zur Übersichtlichkeit: Da verstehe ich nicht, was Du eigentlich meinst. Es ist doch wirklich alles klar strukturiert und als Weiterentwicklung des letzten Programms zu erkennen.
Zur Größe: 978 Byte. Es geht hier nicht ums Optimieren, sondern um Basics. Verständnis. Und schon gar nicht um andere Compiler.

Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

89

Montag, 1. August 2016, 05:45

Das hat mir damals ein Mensch beigebracht, der wesentlich klüger ist als ich. Ich weiß auch nur, dass es etwas mit der Variablengröße zu tun hat. Ich weiß das auch nicht mehr so genau, aber entweder springt das Programm nach Null, wenn das Variablenende erreicht ist, oder es gibt einen Fehler, da die Variablen nur eine definierte Größe haben.

Ich berichte gern von meinen ersten beiden Projekten, da ging nämlich alles schief.
Ich setzte die Steuerung in meinem Boot ein. Dort war die Spannungsversorgung zwar stabilisiert, aber nicht störungsfrei. Deshalb machte die Beleuchtung, was sie wollte, ohne dass man einen Taster drückte. Das internte Pullup war zwar gesetzt, jedoch funktionslos.
Weiter ging es beim Entprellen. Trotz Debounce wurden Tastendrücke nicht sauber erkannt und oft mehrfach erkannt. War unschön.

@ Stefan M: :hand: Dann programmier mal einen pinkompatiblen 8kB-Controller mit der Demo... :whistling:

Beiträge: 1 183

Realname: Wilfried Hoffmann

Wohnort: Braunschweig

  • Nachricht senden

90

Montag, 1. August 2016, 08:59

Hallo allerseits,
ich möchte heute mal MEIN Feedback zu den bisherigen Feedbacks von Maik geben.

@Maik
Ich finde es toll, wie weit deine Kenntnisse im Programmieren schon fortgeschritten sind.
Aber du meinst, Alles, was hier vorgestellt wird, kritisch auseinanderpflücken zu müssen und zu zeigen, wie es besser geht.
Da mag einerseits für den Fortgeschrittenen sinnvoll sein, ist für den Anfänger jedoch nervig und läßt sicher bei einigen Anfängern die Motivation schwinden .

Beispiele:

Es wäre für die Anfänger nachvollziehbarer, wenn du zu Änderungsvorschlägen (z.B. Transistor am Ausgang oder Entprellkondensator) ein kleines Schaltbild einfügen würdest. Dann kann jeder Interessierte im Rahmen der Hausaufgabe bzw. seines Bastelbudgets, für sich selbst entscheiden, ob er die zusätzlichen Teile einkauft und die für ihn passende Variante ausprobiert.


Zu den weiteren Möglichkeiten der Programmabläufe hier 2 Aussagen von dir aus den bisherigen Treads.

Zitat

Im Grunde musste ich mir alles selbst von der Pieke auf beibringen....

Das hat mir damals ein Mensch beigebracht, der wesentlich klüger ist als ich.
Das heißt doch, auch du hast mal mit dem kleinen 1x1 angefangen, aus deinen Fehlern gelernt, und erst dann mit Hilfe schrittweise deine Kenntnisse weiterentwickelt. Die Fehler hast du aber nicht vergessen. Das nennt man Erfahrung sammeln.

Lass uns Anfänger doch bitte auch erst einmal das 1x1 lernen, bevor wir mit Hilfe der höheren Mathematik lernen, wie es besser und einfacher geht.
Wenn man gerade den aufrechten Gang lernt, hat man noch keinerlei Gedanken ans Sprinten in Sinn. Das kommt erst später.


Wir wollen doch hier zunächst erst einmal lernen, wie man einfache Funktionen mit Hilfe von Mikroprozessoren ans Laufen bekommt.
Wenn die Funktionen umfangreicher werden, kommt automatisch die Motivation, wissen zu wollen, wie es besser und schneller geht.
Das kenne ich schon aus meiner eigenen bisherigen VBA-Programmiererfahrung.
Dann wird man auch bereit sein, die Demoversion abzulegen, ein wenig Geld zu investieren und sich eine BASCOM-Vollversion anschaffen, um ggf. auch größere Prozessoren programmieren zu können.

Wenn du im Modellbauladen jemanden, der aus Neugier seinen ersten Bausatz kaufen möchte, gleich mit Airbrush, Washing, Preshading, Ätzteilen und Scratcherweiterungen überfällst, wird er auf der Stelle umdrehen und sich lieber ein anderes Hobby suchen.

So ähnlich sehe ich dieses Thema auch.
Deshalb lass den Anfängern bitte ein wenig Zeit.
Das Weitere kommt von ganz allein und dann, aber leider auch erst dann, sind deine Erfahrungen Gold wert, wie man in allen Rubriken des Forums bei allen nur möglichen Themen immer wieder sieht.


Hier mal 3 Erfahrungen, die ich beim Aufbau gemacht habe und gern vorstelle, obwohl ein Fehler schon recht dämlich war. :verrückt:

Ich habe mal gelernt, die Beine von ICs vor dem Einstecken erst geradezubiegen, damit sie schon lose aufgesetzt genau über den Federhaltern liegen.
Das habe ich diesmal natürlich nicht gemacht.
Mit eine wenig Seitendruck bekomme ich den Baustein auch so ins Steckbrett. :will:
Ergebnis: Ein Teil der Schaltung hat nicht funktioniert.

Und hier ein Bild der Ursache.



Ein beim Einsetzen verbogenes Beinchen.
Nach 2 Stunden Fehlersuche wusste ich wieder, warum ich das Geradebiegen gelernt hatte.

Mit einer Flachzange den Baustein fassen und alle Beine einer Seite gleichmäßig auf eine Fläche drücken.



Der zweite Fehler war schon etwas diffizieler.
Die Erweiterung mit den Modustaster wollte einfach nicht funktionieren.
Zuerst habe ich im Programm und im Aufbau nach einem Fehler gesucht, aber nichts gefunden.
Ursache war schlußendlich ein defektes NEUES Steckkabel.
Schon von der Fertigung her defekt!



Lerneffekt für den Hinterkopf:
Nicht alles Neue funktioniert wie es eigentlich soll.
Mechanische, wie auch elektronische Bauteile können Jahre halten, nach Sekunden kaputtgehen, obwohl man nichts falschgemacht hat, oder sogar schon von Anfang an defekt sein.


Das 3. ist eingentlich nur eine Hilfestellung.
An meinem Steckbrett habe ich ein paar Klemmen, die einerseits gar nicht angeschlossen sind und deren Gebrauchswert sich mir auch nicht recht erschlossen hat.
Da mir beim Herumrücken des Steckbretts schon mal Kabelverbndungen herausgerutscht sind, habe ich die Klemmen für eine einfache Zugentlastung der Kabel zum USBASP benutzt.
Einfach, aber erfüllt seinen Zweck.

Viele Grüße
Willie

Man ist niemals zu alt, um Neues zu lernen.
Es gibt keine dummen Fragen, nur dumme Antworten.

Fertig:

VW Bus T3 – Mein erster Tourbus

In Bearbeitung:
Chevy G20 Van in 1:25 nach realem Vorbild

Fertige Projekte im Portfolio!

Werbung