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.

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

1

Mittwoch, 24. Oktober 2012, 22:02

Die Ersten Schritte mit BASCOM einer einfachen Programmiersprache für Mikrocontroller

Hallo zusammen, :wink:

es ist endlich soweit, am Montag hatte ich meine Bestellung von myavr.de bekommen. Diese hatte ich natürlich gleich Ausgepackt und war schonmal sehr beeindruckt von der Qualität.
Auch die Bauanleitung ist sehr versändlich geschrieben und ich habe heute Abend dann mal noch so in einer halben Stunde das my AVR Board light noch fertig bestückt.

Hier mal ein Bild von den Bauteilen.



Und hier die fertig gelötete Platine.



Nachdem ich alles fertig hatte, habe ich noch ein Kontroll Programm und die Demo von AVR Workpad installiert (brauchte ich für das Testprogramm der Platine). Dann habe ich das Programm nach der Anleitung
gebrannt und anschließend die Kabel brücken auf der Platine gelegt.

Dann hieß es Platine anschließen und Testen.

Als erstes musste ich Taster 1 Drücken und es sollten dann die 3 Led´s blinken. und siehe da es funktionierte gleich :tanz:
Danach noch ein druck auf Taster 2, hier sollte ein Ton zu hören sein. Und siehe da auch das hatte funktioniert. :tanz:

Schon erstaunlich was so alles machbar ist. Ich habe mir dann auch gleich mal ein Testprogramm aus dem Internet kopiert (siehe hier ) und mit BASCOM gebrannt.
Das klappte jedoch nicht so ganz. :bang:

Kurz geschaut und den Fehler auch schnell gefunden, in dem Progamm ist ein Atmega 8 beschrieben. Jedoch habe ich einen Atmega 8A, also kurz diese Zeile geändert.

Zitat

'Definition für Mega 8

$regfile "m8def.dat"

und neu schaut es so aus.

'Definition für Mega 8A
$regfile "m8Adef.dat"
Danach habe ich mal noch folgende den Port für die Led geändert und danach das Programm mal gebrannt mit dem mySmartUSB. Und diesmal war keine Fehlermeldung gekommen und nachdem ich das
Mini-USB Kabel angeschlossen habe blinkte auch die Led gleich so wie sie es sollte. :tanz:

Ich finde das war schon ein kleines Erfolgserlebniss für mich gewesen. Mal schauen wie ich die Tage Zeit finde um mal ein wenig zu experimentieren.

Bis dahin es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

2

Mittwoch, 24. Oktober 2012, 22:13

Das klingt ja sehr interessant und verständlich :ok:
Da wünsche ich dir viel Spaß in der Welt der Microcontroller, vielleicht komme ich da demnächst auch mal hin ;)
The "Earth" without "Art" is just "Eh".

Hubra

Moderator

Beiträge: 11 439

Realname: Michael

Wohnort: Niederdürenbach-Hain

  • Nachricht senden

3

Mittwoch, 24. Oktober 2012, 22:34

Hallo Patrick.

Das freut mich für dich, daß die ersten Schritte geklappt haben.
Da mich das ganze auch sehr Interessiert, werde ich deinen Beitrag natürlich weiterhin verfolgen.

Gruß Micha.


Hier geht es zu den Videos von meinen Blaulichtern, aktuell auch zum Video der Drehleiter

Beiträge: 2 494

Realname: Johannes

Wohnort: Gastarbeiter im Bajuwarischen Königsreich

  • Nachricht senden

4

Mittwoch, 24. Oktober 2012, 23:22

Hallo Patrick,

auch mich freut es sehr, dass Dein Einstieg direkt von solchen Erfolgserlebnissen begleitet wurde - ist nicht selbstverständlich.
Ich denke freilich, dass Du mit BASCOM und dem myAVR Brenner nebst Light-Board auch ein ideales Einstiegsequipment hast.

Kurz zu Deinem gelösten Mini-Problem des angepassten Progrämmchens: Mit höchster Wahrscheinlichkeit war die Anpassung der Port-Pin-Definition der Schlüssel zum Erfolg. Mit dem Befehl $regfile "m8def.dat" weist man ja lediglich den Compiler an die richtigen Namensdefinitionen für den verwendeten Controller-Typ zu laden. Der ATMega8A ist nahezu identisch zum ATMega8 - dies macht in 95% der Anwendungen keinen Unterschied. Wenn Du magst, kannst Du ja jetzt zum Spaß nochmals auf die "falsche" Definition des ATMega8 zurückstellen. Ich würde drauf wetten, dass es dennoch läuft.

In jedem Fall ganz viel Spaß und berichte feste weiter - das macht vielen weniger Waghalsigen viel Mut.

Gruß,
Johannes

5

Donnerstag, 25. Oktober 2012, 07:00

Hallo Patrick :wink:

Glückwunsch :hand: , dann kann es ja losgehen. :D :D

Das Buch ist auch eingetroffen. Leider fehlt irgendwo immer etwas Zeit und ich kann nur langsam rumdümpeln. Aber immerhin habe ich es geschafft, daß Bascom mit meinem Programmer und selbstgebautem Board spricht. Leider habe ich damals etwas kurz gedacht und mich nur auf den Attiny 13 und Baugleiche konzentriert. :bang: Na mal schauen, vielleicht erweitere ich meinen Eigenbau so, daß ich auch andere Atmel-Käferchen, also mit mehr Beinchen, und vor allem auch mehr Aus- /Eingänge habe. Den Schaltplan habe ich ja noch und so dürfte eine Erweiterung und Neubau nicht so wild sein.

So hoffe ich, daß ich auch bald mitreden kann.

In diesem Sinne
Gruß, Torsten die Landratte :pc:

Im Bau: Steampunk: Valortanica und Geheimer Hafen, Krabbenkutter, DUKW 1:35 RC

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

6

Freitag, 26. Oktober 2012, 18:55

Hallo zusammen :wink:

ich danke für eure Antworten und ich werde in den Tagen wieder mehr berichten :smilie:

Kurze Frage an Johannes,

ich habe ja gelesen das mit Mikrocontrollern sounds erzeugt werden können. Wäre das den wie hier gezeigt mit unseren mitteln zu Realisieren. Mir geht es Hauptsächlich um den Sound. Die Beleuchtung kann man ja dann extra machen.

Habe da mal was bei ebay gefunden. klick hier

ich danke für deine Antwort,

es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

Beiträge: 2 494

Realname: Johannes

Wohnort: Gastarbeiter im Bajuwarischen Königsreich

  • Nachricht senden

7

Freitag, 26. Oktober 2012, 19:36

Hallo Patrick,

man kann in unterschiedlicher Weise mit solchen kleinen Microcontrollern Sounds erzeugen. Hier mal die typischen Lösungen:

Einfachster Frequenzgenerator:

Man nimmt einen beliebigen Port-Pin, den man als Ausgang konfiguriert. Dann schaltet man diesen Pin zyklisch an und aus. Es entsteht dabei ein Rechtecksignal.
In der Umsetzung schaut das so aus:

LOOP:
- Schritt 1: Port-Pin anschalten (auf HIGH)
- Schritt 2: sehr kurze Wartezeit
- Schritt 3: Port-Pin ausschalten (auf LOW)
- Schritt 4: sehr kurze Wartezeit
- Schritt 5: springe zu LOOP

Die Zykluszeit besteht somit aus der doppelten Wartezeit. Nimmt man als Wartezeit beispielsweise 1 Millisekunde, so ergibt sich eine Periode von 2 Millisekunden, entsprechend einer Frequenz von 500 Hz. Das ist ein gut hörbarer Ton.
Ergebnis also: ein fester Ton mit konstanter Frequenz und fixer Lautstärke. Auf diese Art und Weise lässt sich zumindest ein mies klingendes Nebelhorn nachbilden. Gut geeignet, da sehr einfach, ist das Verfahren für Pieps-Töne und Warnmeldungen.

Modulierter Frequenzgenerator:

Wenn man im obigen Beispiel die Länge der Pausenzeiten variiert, während der Ton erklingt, dann bekommt man einen auf- und abschwellenden Ton. So lassen sich Sireneneffekte programmieren.
Zur Umsetzung packt man um die obige Schleife eine weitere Schleife, die wesentlich langsamer läuft. In dieser wird dann die Wartezeit als Variable langsam hoch- und nach Erreichen eines Grenzwertes langsam runtergezählt.

Audiodaten-Spieler:

Die professionellste Lösung ist praktisch die Nachbildung eines CD-Spielers oder MP3-Players - mit ATMELS traumhaft gut machbar. Das ist aber schon grauselig komplex.
Im Grunde genommen läuft es so: Man legt im Speicher seine Audio-Daten ab, der Musiker spricht von "Samples". Jeder Datenwert entspricht einem winzigen Augenblick Lautstärke.
Nun programmiert man einen internen Schwingkreis derart, dass dieser mit den Audio-Daten gefüttert wird.
Eine weitere Mimik sorgt dafür, dass in festen Zeitabständen (beispielsweise 8000 mal in der Sekunde) der Zeiger auf den Speicher mit den Audio-Daten weiterspringt.

Für eine Umsetzung im RC-Modellbau: <guckst Du>

Funktionseinheiten des ATMELs:

Zur Programmierung von Tönen und Sounds ist es praktisch unerlässlich sich mit den Timern in den ATMEL-Controllern vertraut zu machen.
Es gibt im Netz zahllose Beispielprogramme - viele davon auch in BASCOM geschrieben.
Am einfachsten ist es sich mal Programme zu schnappen, diese zu flashen und dann an ihnen rumzuspielen. So lernt man aus meiner Sicht am schnellsten.
Ein prima Beispiel ist ein BASCOM-Piano.
Für den oben erläuterten Audio-Player kommen nur einige wenige Chips in Frage (z. B. ATTiny85), die über die speziellen Timer-Modi verfügen.

Weiterhin viel Spaß und viel Erfolg,
Johannes

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

8

Dienstag, 30. Oktober 2012, 16:20

Hallo Johannes, :wink:

ich danke dir für deine Antwort. Bis es jedoch soweit ist mit den Sounds aus einem Mikrocontroller dauert es noch eine weile.

Hallo zusammen, :wink:

heute möchte ich euch mein kleines Programm vorstellen, was ich gestern Abend mal so innerhalt von einer Stunde geschrieben hatte. Ich finde nach ein paar kleinen änderungen passt es soweit schon ganz gut.

Hier mal der Code für BASCOM:

Zitat


'Blitzer Steuerung für Modellautos'

'Prozessor: ATMega 8A


$regfile "m8adef.dat"
$crystal = 1000000

'Definiton der LED´s

Config Portb.0 = Output
Config Portb.1 = Output

Dim Speed As Integer
Speed = 250

Do

Portb.0 = 1
Waitms Speed
Portb.0 = 0
Waitms Speed
Portb.0 = 1
Waitms Speed
Portb.0 = 0
Waitms 500

Portb.1 = 1
Waitms Speed
Portb.1 = 0
Waitms Speed
Portb.1 = 1
Waitms Speed
Portb.1 = 0
Waitms 500

Loop

End
Achja ich weiß viele werden sich jetzt nicht viel unter diesem Code vorstellen können. Da habe ich noch ein kleines Video für euch gemacht, dort sieht man dann mal den Efekt den ich Programmiert habe.

<iframe width="560" height="315" src="https://www.youtube.com/embed/wI7o0QBmSZs?rel=0" frameborder="0" allowfullscreen></iframe>
das wars auch schon für Heute von meiner Seite aus. Ich kann euch aber sagen ich habe noch vieles vor und vielleicht gelinkt es mir auch Rundumleuchten zu Programmieren.

es grüßt Patrick :wink:

hmm irgendwie klappt es nicht mit dem Video einbetten direkt aus. Kann mir da vielleicht einer Helfen?

hier mal ein direkter Link.
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

9

Donnerstag, 1. November 2012, 20:23

Hallo Patrick :wink:

man, Du bist ja schnell bei der Sache :respekt: . Hab dann mal abgeschrieben und es ausprobiert........ tja, ich habe ja nur Attiny13 da und nix ging. Also wieder im Netz schlau gemacht und etwas im Kopf zugeschrieben. Dann ist es gelaufen. Hab dann noch etwas mit herumexperimentiert und wieder umgeschriebn, weil ich dachte geht besser aber das war dann nix. Also wieder herumgepinselt und so eine Art Lauflicht mit 10 Dioden gebrannt. Sieht ganz lustig aus. Sollte wohl mal mein Board einstellen!??
Aber Du siehst, ich hab noch eine Menge Arbeit vor mir, noch ist alles Spiel

In diesem Sinne
Gruß, Torsten die Landratte :pc:

Im Bau: Steampunk: Valortanica und Geheimer Hafen, Krabbenkutter, DUKW 1:35 RC

Beiträge: 2 494

Realname: Johannes

Wohnort: Gastarbeiter im Bajuwarischen Königsreich

  • Nachricht senden

10

Donnerstag, 1. November 2012, 21:29

Hallo Patrick,

klasse - macht Spaß Dir zuzusehen mit Deinem Elan. In Gedanken kann ich mir Dich gut vorstellen mit einem stolzen, breiten Grinsen, wenn die ersten Progrämmchen dann beginnen zu laufen.

Falls Du magst ein paar Kommentare, oder vielleicht auch Tipps:

Mit $crystal = 1000000 definiert man ja die Arbeitsfrequenz des Controllers, wahlweise entsprechend dem internen Oszillator oder dem externen Quarz. Ich kann mir schwer vorstellen, dass Du einen 1 MHz nutzt. Vielleicht ja verwendest Du den internen 8 MHz mit 8-fach Teiler? Ansonsten ist es immer hilfreich den richtigen Wert einzustellen, da BASCOM bei Timern etc. hieraus die richtige Konfiguration errechnet.
Sollte es tatsächlich 1 MHz sein, so wäre mein Tipp für die Zukunft ruhig auf Minimum 8 MHz zu gehen, da dann der Prozessor logischerweise achtmal so viel Rechenleistung bringt. Zudem ist es sehr praktisch, wenn man mit Timern arbeitet, da sich recht leicht Basistakte von einer Mikrosekunde erzielen lassen.

Bei LEDs, die über ihre Kathode an Portpins geschaltet sind, verwende ich gerne:
Const Off = 1 (Konstantendefinition zu Beginn)
Const On = 0 (Konstantendefinition zu Beginn)
LED_1 On (Aufruf)
LED_1 Off (Aufruf)

Auf diese Art wird das Programm leichter lesbar, insbesondere, wenn man nach Monaten wieder reinschaut.

In gleicher Weise könntest Du verwenden:
Const LED_green Portb.0
Const LED_red Portb.1


Der Aufruf wäre dann perfekt lesbar:
LED_green = On
LED_red = Off


Weiterhin viel Spaß und gutes Gelingen!
Gruß,
Johannes

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

11

Freitag, 2. November 2012, 12:59

Hallo Johannes,

danke für deine Antwort. Jedoch stehe ich gerade vor einem kleinen Problem. Habe es mal so geändert wie du es geschrieben hattest und jetzt bekomme ich 2 Fehlermeldungen in BASCOM.

Zitat

$crystal = 8000000

'Definiton der LED´s

Config Portb.0 = Output
Config Portb.1 = Output

Const Off = 1
Const On = 0

Const Led_green Portb.0 < hier gibt er mir eine Fehlermeldung expected in filename
Const Led_red Portb.1 < hier gibt er mir eine Fehlermeldung expected in filename

Dim Speed As Integer
Speed = 250

Do

Led_1 On
Waitms Speed
Led_1 Off
Waitms Speed
Led_1 On
Waitms Speed
Led_1 Off
Waitms 500

Led_2 On
Waitms Speed
Led_2 Off
Waitms Speed
Led_2 On
Waitms Speed
Led_2 Off
Waitms 500

Loop

End
weißt du was ich da Falsch gemacht habe???

Danke für deine Antwort.

es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

12

Dienstag, 11. Dezember 2012, 21:37

Hallo miteinander,

nachdem mir Johannes noch ein paar Tips gegeben hatte Funktionieren jetzt schonmal die Biltzer im richtigen Takt. :tanz:

Jetzt wollte ich jedoch im selben Programm noch ein Unterprogramm Schreiben wo ich die Rundumleuchten ansprechen wollte, aber das Funktioniert leider nicht ganz so. Habe insgesamt 2 Fehlermeldungen bekommen :bang:

Hier mal mein Programm:

Zitat


'Blitzer Steuerung für Modellautos'

'Prozessor: ATMega 8A


$regfile "m8adef.dat"
$crystal = 8000000

'Definiton der LED´s

Const On = 1
Const Off = 0

Config Portb.0 = Output
Config Portb.1 = Output

Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output

Declare Sub Rundumlicht

Dim Speed As Integer
Speed = 100

Do

Portc.0 = On
Waitms Speed
Portc.0 = Off
Portc.1 = On
Waitms Speed
Portc.1 = Off
Portc.2 = On
Waitms Speed
Portc.2 = Off
Portc.3 = On
Waitms Speed
Portc.3 = Off

Loop

End Sub Rundumlicht <- Hier kommt die Fehlermeldung

Dim Speed As Integer
Speed = 20

Do

Call Sub Rundumlicht

Portb.0 = On
Portb.1 = On
Waitms Speed
Portb.0 = Off
Portb.1 = Off
Waitms Speed
Portb.0 = On
Portb.1 = On
Waitms Speed
Portb.0 = Off
Portb.1 = Off
Waitms 150

Loop

End
Habe mal die Zeile Rot gefärbt wo die Fehlermeldung kommt.

Error: 62 Line: 44 SUB or FUNCTION expected first in "Mein Dateipfad"
Error: 241 Line: 44 END SUB expected in "Mein Dateipfad"

Kann mir da vielleicht einer weiterhelfen und mir dann vielleicht auch noch eine kleine Hilfestellung geben wie ich bei dem Unterprogramm die "Zeit" über einen Poti Steuern könnte, Oder ist das nicht möglich?

Ich danke für eure Antworten.

es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

Beiträge: 2 494

Realname: Johannes

Wohnort: Gastarbeiter im Bajuwarischen Königsreich

  • Nachricht senden

13

Dienstag, 11. Dezember 2012, 23:30

Hallo Patrick,

ich hab nur mal auf die Schnelle das Programm so umgestellt, dass der Compiler ohne Fehlermeldung durchläuft.
Ob dies allerdings dann die von Dir gewünschte Funktion abbildet, hab ich mir nicht angeschaut (da mal wieder keine Zeit...)

Ein paar Tipps:
  • Deklarationen wie das "DIM Speed" grundsätzlich nur einmalig verwenden. Für die Umdefinition von Variablen gibt es andere Möglichkeiten - brauchst Du aber jetzt noch nicht.
  • Der Übersichtlichkeit wegen Unterprogramme nach hinten, hinter das Hauptprogramm hängen.
  • Die Endlosschleife "Do" / "Loop" im Unterprogramm würde dazu führen, dass das Unterprogramm nie wieder beendet wird - ich habs einfach mal rausgeschmissen.

Du kannst ganz einfach per Copy / Paste den nachfolgenden Programmcode in BASCOM kopieren.

Eine variable Zeit auf Basis eines Potis ist auf jeden Fall zu machen. Sobald ich mal ein wenig Luft hab, schicke ich Dir ein Beispiel. Man muss dazu einen Analogeingang definieren und kontinuierlich einlesen.

Gruß,
Johannes

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
'Blitzer Steuerung für Modellautos'

'Prozessor: ATMega 8A
$regfile "m8def.dat"
$crystal = 8000000

'Definiton der LED´s

Const On = 1
Const Off = 0

Config Portb.0 = Output
Config Portb.1 = Output

Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output

Dim Speed As Integer

'------------------------------------------------------------------------------
Speed = 20

Do

Gosub Rundumlicht

Portb.0 = On
Portb.1 = On
Waitms Speed
Portb.0 = Off
Portb.1 = Off
Waitms Speed
Portb.0 = On
Portb.1 = On
Waitms Speed
Portb.0 = Off
Portb.1 = Off
Waitms 150

Loop

End

'------------------------------------------------------------------------------
Rundumlicht:

Speed = 100

Portc.0 = On
Waitms Speed
Portc.0 = Off
Portc.1 = On
Waitms Speed
Portc.1 = Off
Portc.2 = On
Waitms Speed
Portc.2 = Off
Portc.3 = On
Waitms Speed
Portc.3 = Off

Return

'------------------------------------------------------------------------------

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

14

Mittwoch, 12. Dezember 2012, 00:08

Hallo Johannes,

ich danke dir erstmal für deine schnelle Hilfe. :hand:

Habe das ganze mal kopiert und auf mein board gebrannt.

Es funktioniert, aber nicht ganz so wie ich es mir vorgestellt habe. Die Blitzer sind jetzt auf einmal langsamer als zuvor und es läuft in der Reihenfolge komplett ab also erst die Blitzer und dann die
"Rundumlichter" und dann wieder von vorne.
Jedoch nicht wie erwünscht beides gleichzeitig.

Naja da werde ich wohl mal noch ein wenig Experimentieren müssen.

es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

15

Mittwoch, 12. Dezember 2012, 14:17

Hallo,

interessant, mit Mikrocontrollern möchte ich mich auch nochmal beschäftigen. Hierfür muss ich nur was lauffähiges auf einem Mac finden...
Gruß

Stephan

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

16

Montag, 14. Januar 2013, 21:51

Nabend zusammen, :wink:

so es gibt wieder was neues zu Berichten, habe letzte Woche mein Buch bekommen. Dies ist wirklich zu empfehlen, da es sehr gut geschrieben ist und ich sofort bescheid wusste was gemeint ist.

Natürlich habe ich auch gleich mal ein Programm was dort vorgestellt war auf meine wünsche angepasst und siehe da es funktioniert sogar. :tanz:

Ich habe ein Programm geschrieben wo ich über einen Poti die Geschwindigkeit von Led´s steuern kann. :idee: Wie sich jetzt viele denken können, kann es sich nur um das Projekt für die Rundumleuchten handeln, und genauso ist es.

Hier mal noch für die von euch die mit Bascom arbeiten der Quell-Code

Zitat

' Geändert am 14.01.2013 für Atmega8A durch Patrick Niklas
'
' In: D.2: Poti-Mittelabgriff
' oder LDR-Spannungsteiler an ADC1

' Out: LED B.0
' LED B.1
' LED B.4
' LED B.5
'
$regfile = "m8adef.dat"
$crystal = 2000000

Config Portd.2 = Input 'Poti/LDR

Config Portb.0 = Output 'LED 1
Config Portb.1 = Output 'LED 2
Config Portb.4 = Output 'LED 3
Config Portb.5 = Output 'LED 4

Led_1 Alias Portb.0
Led_2 Alias Portb.1
Led_3 Alias Portb.4
Led_4 Alias Portb.5

Dim Analogwandler As Integer 'Variable zur Aufnahme des Wertes vom Analogwandler

Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Analogwandler definieren
'Start Adc 'AD-Wandler starten (nach Config automatisch)


Do
Analogwandler = Getadc(1) 'AD-Wandler einlesen. Werte zwischen 0 und 1023

Led_1 = 1
Led_2 = 0
Led_3 = 0
Led_4 = 0

Waitms Analogwandler

Led_1 = 0
Led_2 = 1
Led_3 = 0
Led_4 = 0

Waitms Analogwandler

Led_1 = 0
Led_2 = 0
Led_3 = 1
Led_4 = 0

Waitms Analogwandler

Led_1 = 0
Led_2 = 0
Led_3 = 0
Led_4 = 1

Waitms Analogwandler

Loop
End
Werde das ganze dann nochmal mit meinen Potis testen die ich bisher für die Rundumlichtschaltung genommen habe. Damit ich die Bestmögliche Taktgeschwindigkeit finde. Dann wird es auch für euch ein Video davon geben.

So und jetzt habe ich mal noch eine Frage.

Weiß einer wieviel mA SMD Led´s haben?? Da ich aufpassen muss, weil ich kann den Mikrocontroller pro Pin nur mit 40mA belasten und Insgesamt mit 200mA. Denke aber da dürfte einiges machbar sein im Bezug auf die Led Anzahl.

Bis dahin, es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

17

Montag, 14. Januar 2013, 22:16

"Normale" (Rot, grün) können 20mA jedoch mit größeren Vorwiderstand sieht man die auch bei 5-10 mA noch leuchten, weiße gehen auch unter 5 mA. Bei 5V brauchste dann sicher nen Vorwiderstand.

18

Dienstag, 15. Januar 2013, 00:24

Hallo Patrick,
eigentlich haben fast alle LEDs in diesen benutzten Größen 20 mA Maximalstrom, egal ob SMD oder andere.
Ein paar können bis 30 mA, sehr sehr wenige bis 50 mA.
Der Strom, den du benutzt kannst du aber auch auf deutlich kleinere Werte senken, wenn du den Vorwiderstand erhöhst.
Ich benutze fast ausschließlich Hochleistungs-LEDs, die bei sehr kleinen Strömen schon sehr hell sind.
Da reichen mir meist Ströme von 0,2 - 3 mA pro Kreis.
Je nach Spannung kann man in einem Kreis ja auch mehrere LEDs in Reihe (Serienschaltung) einsetzen.
So kommst du mit den niedrigen Strömen schon sehr weit.

Wenn du Hilfe bei den Vorwiderständen brauchst, einfach melden!

lg,
Frank
Modellbau ist Kunst - und manchmal Sport - und darf niemals als Arbeit gesehen werden!

Im Bau: The 24-Gun Frigate Pandora 1:128 - RC
Im Bau: Schlepper Goliath - RC

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

19

Dienstag, 15. Januar 2013, 20:17

Hallo Frank,

danke dir für deine Antwort und es hilft mir auch auf jedenfall sehr viel weiter. Als Led´s verwende ich diese hier vonLed and More.
Und bei ebay gibt der Verkäufer an für 12V 470ohm (weiße LED 1206) minimum bei 12 Volt (V-Typ 3,2 V-Max 3,6) Jetzt meine Frage reicht es dort auch das ich dann die 470 Ohm nehme für die LEd´s am Ausgang oder doch andere?

Die Schaltung soll später auch mit einem stabilisierten 12V Netzteil betrieben werden.

Ich danke euch für eure Antworten.

es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

20

Dienstag, 15. Januar 2013, 23:50

Hi Patrick,
dein Link führt mich nur auf die Startseite und Werte hast du ja nicht angegeben.
Da kann ich so leider nichts sagen.
Ich bräuchte die Werte der LEDs.
Die Angabe Typ. 3,2 V - max. 3,6 V ist etwas seltsam...
Das würde ja bedeuten, dass bei Standard-Strom (meist 20 mA) 3,2 V abfallen würden,
aber die LED bis zu einem Abfall von 3,6 V "hochgedreht" werden könnte.
Das wäre aber dann schon ein Strom von über 50 mA. Das halt ich für unwahrscheinlich! :du:

Was du benötigst, sind LEDs mit einer sehr hohen Leuchtkraft bei niedrigem Strom.
Da kannst du dich an die Werte für den Strom (mA) und die Leuchtkraft (mcd) halten.
Keine LEDs mit deutlich über 20 mA.
Hochleistungs-LEDs sind meist bis 30 mA angegeben, haben aber einen typischen Strom von 20 mA
(und die Leuchtkraft sollte immer beim typ. Strom gemessen worden sein).
Da hat man dann bei SMD-LEDs Leuchtkraft von 300 - 400 mcd (bei 20 mA).
Solche Hochleistungs-LEDs haben im Unterschied zu den normalen LEDs bei halbierung des Stromes
eine nur wenig abnehmende Leuchtkraft.
So kann man die auch mit sehr niedrigen Strömen noch recht hell leuchten lassen.
Eine normale LED könntest du bei 2 mA nur noch schwach leuchten sehen,
aber eine Hochleistungs-LED schafft dann diese Helligkeit vielleicht noch mit 0,1 mA oder weniger.

Ich würde dir empfehlen, als Vorwiderstand erst mal einen 1,2 kOhm bis 3,3 kOhm einzusetzen.
Wenn deine LEDs dabei noch hell genug sind, dann hast du ja keine Probleme mehr.
Wenn nicht, dann musst du entweder mit dem Messgerät die Ströme messen und Widerstände ausprobieren,
oder du besorgst dir passende Hochleistungs-LEDs.
Der Begriff "Hochleistungs-LEDs" wird hier von mir (und einigen anderen) benutzt,
ist aber keine eigene Klasse und wird so auch nicht beworben oder anders zugeordnet.
Da muss man ein wenig die verschiedenen Werte betrachten und auch ein bisschen Glück beim Einkauf haben.

lg,
Frank
Modellbau ist Kunst - und manchmal Sport - und darf niemals als Arbeit gesehen werden!

Im Bau: The 24-Gun Frigate Pandora 1:128 - RC
Im Bau: Schlepper Goliath - RC

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

21

Mittwoch, 16. Januar 2013, 11:50

Hallo Frank,


ich danke dir für deine Antwort. Da muss ich mal in meiner Sammlung an Wiederständen schauen ob ich solche da habe.

Meinst du es so das ich diese dann mit 12V erstmal teste wie hell die LED´s dann noch sind? Ich erinnere mich auch noch daran, das mit der Herr Heinz Parpard (Betreiber vom Shop) geschrieben hatte das ich auch mit einem Poti mir die Helligkeit seperat einstellen kann und
diesen Wiederstandswert dann mit einem Messgerät ermitteln kann, wenn keine Spannung anliegt. War doch so richtig oder?


Habe eben nochmal geschaut und diese Information zu einer weißen SMD LED 1206 gefunden.


Zitat


Quelle: hier zu finden

Beschreibung

SMD LED Bauart 1206
300 mcd sehr hell
0,35/0,35 gleichmäßiger
Verlauf

Länge 3,2 mm
Breite 1,6 mm
Höhe 1,1 mm

V typ. 3,2 V
V max. 3,6 V

Die Linse ist Yellow-diffused
RoHS konform


Vielleicht hilft es dir weiter, oder ich werde direkt mal nach einem Datenblatt anfragen.

es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

22

Mittwoch, 16. Januar 2013, 14:54

Hi Patrick,
bei einer SMD-LED mit 300 mcd kannst du davon ausgehen, das sie auch bei geringen Strömen noch hell leuchtet.
Die "normalen" SMD-LEDs gehen meist nur bis 120 mcd. Alles was höhere Leuchtkraft hat, ist schon besonders.
Da kannst du dann davon ausgehen, dass die Helligkeit bei halbierung des Stroms nur wenig zurückgeht.

Bei Anschluß eines Potis anstelle eines Widerstandes solltest du darauf achten, nicht über den max. Strom aufzudrehen.
Also ein Amperemeter (Multimeter im Bereich Milliampere mA) in Reihe schalten
und vor dem zusammenstecken den Poti auf volle Ohmzahl drehen.
Dann stellst du die gewünschte Helligkeit (bis max. Strom) ein.
Nach dem herausnehmen des Potis kannst du dann den Widerstandswert ermitteln.

lg,
Frank
Modellbau ist Kunst - und manchmal Sport - und darf niemals als Arbeit gesehen werden!

Im Bau: The 24-Gun Frigate Pandora 1:128 - RC
Im Bau: Schlepper Goliath - RC

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

23

Mittwoch, 16. Januar 2013, 17:20

Hallo Frank,

im Prinzip verstehe ich es was du mir schreibst. nur ich kann es mir gerade nicht so ganz vom Aufbau her vorstellen.

Könntest mir das vielleicht mal aufzeichnen? Ich wäre dir dafür sehr dankbar.

Jetzt weiß ich auch schonmal das die LEDs die ich verwende eine gute wahl sind.

ich danke die, es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

24

Mittwoch, 16. Januar 2013, 21:01

Hallo Fank,

hast du mal einen Link für mich von einer dieser "Hochleistungs"-LED's? Ich habe da leider nichts gefunden...

Angeregt durch diese Threads hier habe ich mir jetzt ein Arduino-Board bestellt. Die Programmierung erfolgt in C, wenn es da ist werde ich etwas rum experimentieren und dann berichten. :)
The "Earth" without "Art" is just "Eh".

25

Mittwoch, 16. Januar 2013, 21:08

Hey Patrick,
wie hoch ist die Spannung denn später dort, wo du sie einsetzt?
Also die Versorgungsspannung, an der die LEDs mit Vorwiderstand eingesetzt werden sollen?
Ich kann dir dann ein paar Schaltpläne machen, mit passenden Werten und einen Schaltung zum Poti-einstellen.

lg,
Frank
Modellbau ist Kunst - und manchmal Sport - und darf niemals als Arbeit gesehen werden!

Im Bau: The 24-Gun Frigate Pandora 1:128 - RC
Im Bau: Schlepper Goliath - RC

26

Mittwoch, 16. Januar 2013, 21:18

Hi Clemi,
da musst du nur schauen, wo die Leuchtkraft am höchsten ist (der Wert mcd).
Das am besten bei 20 mA. Die "seltsamen LEDs" mit sehr skurrilen Werten besser nicht nehmen. ;)
Zum Beispiel kann man alle SMD-LEDs mit 300 mcd und mehr in diese Gruppe einreihen.
Bei 3 mm LEDs geht´s dann schon deutlich über 10000 mcd hinaus.
Bei 5 mm geht´s noch höher und bei 10 mm auch deutlich über 100000 mcd.
Wenn du schon einige der mcd-Werte einer Baugröße gesehen hast, dann fällt schnell auf,
das es da welche mit sehr hohen mcd-Werten gibt und welche mit niedrigen.
Aber im Mittelfeld, da ist eine Lücke... ;)
Alle im oberen Bereich haben ein anderes Verhalten als die im unteren Bereich.
Die mit niedrigen mcd-Werten werden bei höherem Vorwiderstand sehr schnell dunkel.
Die mit hohen mcd-Werten werden nur wenig schwächer leuchten, wenn man den Widerstand erhöht.
Da kann man dann mit sehr niedrigen Strömen arbeiten.
Beispiel: Eine meiner 3 mm LEDs (warmweiß) leuchtet mit 0,2 mA heller als eine einfache alte mit 20 mA... :pfeif:

lg,
Frank
Modellbau ist Kunst - und manchmal Sport - und darf niemals als Arbeit gesehen werden!

Im Bau: The 24-Gun Frigate Pandora 1:128 - RC
Im Bau: Schlepper Goliath - RC

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

27

Mittwoch, 16. Januar 2013, 21:22

Vielen Dank für die Infos :)
Dann habe ich wohl "aus Versehen" Hochleistungs-SMD's bestellt, die laufen locker bei 5mA 8)


Dann muss ich mir aber für mein nächstes Projekt noch LED's bestellen, die keine hohe Leuchtkraft haben, ich möchte dann nämlich mit meinem Arduino einen Fader programmieren, also dass die LED langsam heller wird und dann wieder abebbt. Und das geht ja bestimmt nicht, wenn die LED sogar bei 0,2mA noch volle Leuchtkraft hat.
The "Earth" without "Art" is just "Eh".

  • »Patrick_487« ist der Autor dieses Themas

Beiträge: 1 441

Realname: Patrick

Wohnort: Sandersdorf-Brehna

  • Nachricht senden

28

Mittwoch, 16. Januar 2013, 21:28

Hallo Frank,

als Versorgungspannung wird direkt max. 12V zum Einsatz kommen und wenn ich vom Mikrocontroller angehe sind es da die 5V.

Da danke ich dir schonmal für die schaltpläne. Damit werde ich dann noch besser in der Elektronik durchblicken.

@ Clemens,

nadann kann ich dir zu deiner Entscheidung gratullieren. Von dem Board was du dir bestellt hast hatte ich auch schon gelesen. Und das du mit C anfangen möchtest finde ich auch schön.

Ich selbst habe da noch ein Buch da, aber so richtig war ich mit der C Programmierung nicht durchgestiegen. Jetzt liegt es im Regal und verstaubt nur.


es grüßt Patrick :wink:
Aktuell im Bau: HLF 20/16 Beleuchtet u. Mercedes Benz
Auf der Warteliste: Simba 8x8, TLF 16/25

29

Mittwoch, 16. Januar 2013, 21:38

@ Clemi:
Da hast du was falsch verstanden.
Die LEDs werden schon dunkler, aber sie sinken sehr viel langsamer und über einen viel weiteren Bereich (Strom).
Der Vergleich ist mit einer der alten Leuchtschwachen LEDs (die es vor ein paar Jahren ja ausschließlich gab).
Z.B musste man damals die LEDs mit 120 Ohm an 6 V betreiben.
Ich mach das bei einer von meinen jetzt mit 24000 Ohm Vorwiderstand bei zweien in Reihe!
(gut, dann sind sie dunkler - aber du verstehst was ich meine...)
Die alten hätten bei 1000 Ohm kaum noch erkennbar Licht abgegeben.


@ Patrick:
Es ist aber ein himmelweiter Unterschied, ob die Schaltung für 12 V oder 5 V sein soll... :roll:
Da solltest du mir genau sagen, was du machen willst.

lg,
Frank
Modellbau ist Kunst - und manchmal Sport - und darf niemals als Arbeit gesehen werden!

Im Bau: The 24-Gun Frigate Pandora 1:128 - RC
Im Bau: Schlepper Goliath - RC

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

30

Mittwoch, 16. Januar 2013, 21:59

Hallo Patrick, laut dem, was ich bisher im Internet gesehen habe, ist die C-Programmierung (für Arduino) recht einfach. Da habe ich irgendwie schon mehr verstanden als bei deinem BASCOM :D Ich werde dann ausführlich berichten, wenn die Platte eingetroffen ist.

Hallo Frank, ach so :idee: Dann muss ich mal etwas experimentieren, ob ich die LED's, die ich hier habe, so weit dimmen kann dass man sie kaum noch sieht.
The "Earth" without "Art" is just "Eh".

Werbung