Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Board hat 2.368 Mitglieder
59.514 Beiträge & 6.297 Themen
Beiträge der letzten Tage
Foren Suche
Suchoptionen
  • XC50 NachbauDatum16.04.2015 22:02
    Thema von diezel im Forum Empfänger, Servos, Mul...

    Huhu,

    ich bin momentan dran, ein Servo im XC50-Stil zu bauen. Dazu würde ich gerne mehr über das Original wissen. Im Netz sind die Angaben zu den Innereien eher dürftig. Vielleicht hat ja noch jemand ein defektes in einer Kellerschublade liegen oder kann sich noch erinnern.
    Besonders würden mich die Zähnezahlen, Module und die Zahnradarten (Kronenzahnrad?) interessieren.

    Ich hab aber schon mal angefangen, ein erster Entwurf im CAD steht. Ich hab einen 4mm Motor genommen, auf die Welle ein Zahnrad M0,2 Z8 geplant. Dieses treibt ein Kronenzahnrad mit Z30 an. Danach folgen 2 Zahnradstufen in M0,15 mit Z9/Z40. Insgesamt komm ich also auf eine Übersetzung von 1:74.
    Die Aussenmaße mit Motor sind 5,7 x 7,5 x 23. Dazu kommt noch ne kleine Platine, die das Poti ausliest und den Motor steuert.
    Im CAD fehlen die Achsen und die Durchkontaktiernieten. Ich hoffe, ihr könnt es euch vorstellen.
    [[File:CAD.jpg|none|auto]][[File:CAD2.jpg|none|auto]]

    Und rein "zufällig" hab ich heute die ersten Gehäuseteile drucken lassen. Fragt bitte nicht nach der Quelle, das war ne einmalige Hauruck-Aktion. Leider. Nächstes mal muß ich wohl auf Shapeways ausweichen, oder ich fräse die Teile. Mal sehen.
    Auf der Münze liegt auch ein gedrucktes Kronenrad, das zwar für´s erste reichen wird, das werd ich aber aus Messing fräsen.
    [[File:20150416_204301.jpg|none|auto]]
    Ich warte jetzt noch auf Zahnräder von Mikroantriebe, dann steigt der erste Versuch.


    Viele Grüße
    Gerhard

  • TastenProgrammierbare SteuerungDatum24.05.2013 22:50
    Thema von diezel im Forum Tipps & Tricks



    Hallo,

    hab im Web was gefunden, das für Euch vielleicht interessant sein könnte.
    Es gibt von Franzis ein Lernpaket "Mikrocontroller programmieren". Darin geht es aber weniger darum, selbst einen Code in Bascom oder C usw. zu erzeugen, sondern es ist eher mit einer CNC-Steuerung vergleichbar. Mit nur wenigen Befehlen, die mit nur 2 Tastern eingegeben werden, kann damit ein eigenes Ablaufprogramm geschrieben werden.
    Im Original besitzt die Platine 4 digitale Eingänge, für z.B. Taster oder Read-Kontakte, 2 analoge Eingänge um Spannungen zu messen oder Potis einzulesen, 4 Ausgangsports zum Schalten von irgendwelchen Verbrauchern und einen PWM-Ausgang, z.B. zum Licht dimmen. Als Anwendungsbeispiel seh ich dafür unsere Landschafts-Module.
    Hier gibt´s ne schöne Beschreibung:
    http://www.elektronik-labor.de/Lernpakete/TPS/HandbuchTPS.htm
    http://www.elektronik-labor.de/Lernpakete/TPS/TPS0.html
    Es gibt auch einen Emulator, um das Programm schon auf dem PC zu testen:
    http://www.elektronik-labor.de/Lernpakete/TPS/TPS20.html

    Das schöne daran ist, daß Burkhard Kainka alle nötigen Infos frei zugänglich gemacht hat, so daß jeder selbst dies so nachbauen kann.
    http://www.elektronik-labor.de/Projekte/TPS5.html#v3
    Ich werd irgendwann mal das Programm erweitern, um damit auch normale RC-Servos anzusteuern. Also eine Art "Servo-Sequenzer" dazu programmieren, um z.B. beim überfahren eines Read-Kontaktes auf dem Modul eine Schranke zu öffnen und nach bestimmter Zeit wieder zu schließen.

    Was sagt ihr dazu? Schon gekannt?


    Gruß
    Gerhard

  • [BEK10] Lookup-TabelleDatum09.04.2013 23:31
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    dieses Thema paßt gerade recht schön rein. Wir haben ja im Kursteil 9 per PWM eine LED auf- und abgedimmt.
    Wer ganz genau hinschaut, sieht daß die Helligkeitszunahme der LED nicht linear erscheint. Das liegt daran, daß unser Auge Helligkeitsunterschiede nicht linear empfindet. Wer es genau nachlesen möchte:
    http://www.mikrocontroller.net/articles/LED-Fading

    In dem Artikel ist auch recht schön die Lösung beschrieben. Es wird in Excel eine Tabelle angelegt, in der mit einer Exponentialfunktion neue Werte berechnet werden. Diese Werteliste kann nun in Bascom importiert werden.

    Was uns noch fehlt, ist eine Nachschlagefunktion in Bascom. Der Befehl hierzu heißt "Lookup", ein Beispiel:

    1
    2
    3
    4
     
    neuer_Wert = Lookup (5, dta)
     
    dta:
    Data 10 , 20 , 30 , 40 , 50 , 60 , 70
     


    Ich beschreib mal die Befehlssyntax von hinten:
    - dta: wir müssen Bascom sagen, wo es die Werteliste findet. Dazu muß der Name einer Sprungmarke angegeben werden. Ich hab sie "dta" genannt.
    - 5: hier sagen wir, welcher Eintrag gesucht werden muß. Wir suchen den fünften in der Liste.
    - neuer_Wert: hierrein wird die Antwort der Funktion übergeben, in unserem Bsp. die 50

    Ich hab das Beispiel aus BEK09 genommen und um die Lookup-Funktion erweitert.
    Ihr werdet sehen, daß es den Speicherplatz Wert ist. Die LED fadet viel schöner.


    Gruß
    Gerhard

    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
     
    $regfile = "m8def.dat"                                      'Mikrocontroller ist Atmega 8
    $crystal = 8000000 'Arbeitsfrequenz 8 MHz
    $hwstack = 40 'Hardware-Stack
    $swstack = 32 'Software-Stack
    $framesize = 60 'Frame
    $baud = 19200 'serielle Übertragungsgeschwindigkeit
     
    '*** Ein/Ausgänge deklarieren **************************************************
    Config Portb.0 = Output 'PortB als Ausgang
    Led1_pin Alias Portb.0 'Ausgang PortB.0 heitßt ab jetzt "Led1"
     
    '*** Variablen definieren ******************************************************
    Dim Zaehler As Byte
    Dim Led1 As Byte 'Auflösung 0 - 49
    Dim Timerzaehler As Byte 'Maximalwerte wie LED1
    Dim Lookup_wert As Byte
     
    '*** Timer konfigurieren *******************************************************
    Config Timer0 = Timer , Prescale = 64 'Timer konfigurieren
    On Timer0 Timerroutine 'Timerinterrupt Subroutine zuweisen
    Enable Timer0 'Timer aktivieren
    Start Timer0 'Timer starten
    Timer0 = 205 'Timer vorladen
     
    Enable Interrupts 'Interrupt erlauben
     

    '*** Hauptschleife *************************************************************
     

    Do 'Beginn Hauptschleife
    For Zaehler = 0 To 49 'in ca. 1sec aufdimmen
    Lookup_wert = Lookup(zaehler , Dta)
    Led1 = Lookup_wert 'hier wird der Schleifenwert der LED zugewiesen
    Waitms 20
    Next Zaehler
     
    Wait 1 '1sec halten
     
    For Zaehler = 49 To 0 Step -1 'in ca. 1sec abdimmen
    Lookup_wert = Lookup(zaehler , Dta) 'aus Wertetabelle neuen Wert holen
    Led1 = Lookup_wert 'hier wird der Schleifenwert der LED zugewiesen
    Waitms 20
    Next Zaehler
     
    Wait 1
    Loop 'Ende Hauptschleife
     
    End
     

    '*** Subs **********************************************************************
    Timerroutine: 'Beginn Subroutine
    Timer0 = 205
    Incr Timerzaehler
    If Timerzaehler = 50 Then Timerzaehler = 0 'Timerzaehler auf LED-Auflösung begrenzen
    If Timerzaehler < Led1 Then Led1_pin = 0 Else Led1_pin = 1 'Vergleich Timerzähler mit LED-Wert -> LED Ein- od. Ausschalten
    Return 'Ende Subroutine
     
    Dta:
    Data 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3
    Data 4 , 4 , 4 , 5 , 5 , 6 , 6 , 7 , 8 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15
    Data 17 , 18 , 20 , 22 , 23 , 25 , 28 , 30 , 33 , 35 , 38 , 42 , 45 , 49,
     
     

  • [BEK09] PWM per Timer und SoftwareDatum08.04.2013 23:17
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    heute möchte ich Euch zeigen, wie man Pulsweitenmodulation (PWM) erzeugt.
    PWM? Das ist ein Rechtecksignal mit fester Frequenz, bei dem die Ein- und Auszeiten variert werden können. Damit kann man dann z.B. eine LED in der Helligkeit steuern. Wird die Ein-Zeit länger gemacht, bekommt die LED länger Strom und leuchtet länger. Da die Frequenz aber so schnell ist, kommt unser Auge da gar nicht mit und erkennt nur eine LED, die eben in der Helligkeit variiert.

    Wer will, kann sich hier die ersten 2 Kapitel ansehen:
    http://www.mikrocontroller.net/articles/Pulsweitenmodulation

    Wir haben 2 Möglichkeiten diese PWM zu erzeugen. Als erstes machen wir dies, in dem wir die Hardware-PWM unseres Atmega nutzen. Wir können die Timer auch so konfigurieren, daß sie an vorgegebenen Pins ein PWM-Signal ausgeben. Der Atmega8 hat 3 Ausgänge für Hardware PWM: Timer1 gibt sie auf den Pins PB1 und PB2 aus, Timer2 belegt PB3. Seht euch doch bitte im Datenblatt die "Pin configurations" auf Seite 2 an. Dort sind diese Pins so bezeichnet: OC1A, OC1B und OC2. Also Timer1 hat 2 PWM-Kanäle, Timer2 hat einen und Timer0 kann gar keine Hardware-PWM.

    Hier eine Beispiel-Konfiguration des Timers:

    1
    2
    3
    4
     
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down, Prescale = 64
    Pwm1a = 0
    Pwm1b = 0
     
     


    Config Timer1 = PWM: hier sagen wir dem Timer1 daß er im PWM-Modus arbeiten soll
    PWM = 10: hier wird bestiimt, wie fein abgestuft die PWM sein soll. Hier können 8-Bit, also 256 Stufen, 9-Bit = 512 Stufen und 10 Bit = 1024 Stufen konfiguriert werden.
    Compare A Pwm = Clear Down: ääähhhh ja. Seht euch mal schnell auf Seite 111 des Datenblattes die Grafik an.
    Der Timer ist ja ein Zähler. Er zählt bei unserer 10-Bit-PWM von 0 bis 1023 und von 1023 wieder zurück auf 0. Also diese Zickzack-Linie "TCNTn" im Bild. Der jeweilige Zählerstand wird fortlaufend mit einem Vergleichswert, den wir vorgeben, verglichen. In der Grafik ist der Vergleichswert bei den ersten 2 Zacken auf maximal, also Wert 1023, danach in der Mitte und zum Schluß bei ca.80%.
    Wir sehen uns die mittleren beiden Punkte an und erkennen, daß wenn der Timer runterzählt und mit dem Vergleichswert gleich ist, wird der Ausgang auf High gesetzt.
    Beim nächsten Treffer ist der Zähler beim raufzählen und der Ausgang wird Low. Dieser Modus nennt sich in Bascom "Compare A Pwm = Clear Up". Eine invertierte PWM erhält man bei "Clear Down", und genau brauchen wir wegen der invertierten Logic der LED (0=Ein, 1=Aus)
    Achtung: seit Bascom Version 2.0.7.1 ist diese Einstellung wie beschrieben, bei älteren Versionen war Clear Up/Down getauscht.

    Prescale = 64: wie schon bei der normalen Timer-Konfiguration, können wir auch hier einen Prescaler benutzen. Ich rechne wieder: 8 MHz Systemtakt, 256 Prescale und 1024 PWM Auflösung. Das Ergebnis hiervon müssen wir nochmals halbieren: wer die Grafik aufmerksam anschaut, bemerkt daß der Timer von 0 - 1023 und wieder zurück zählen muß, damit ein PWM-Signal entsteht:
    8000000 / (64 * 1024 * 2) = 61Hz

    genug der Worte, hier ein Beispiel:

    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
     
    $regfile = "m8adef.dat"                                     'Mikrocontroller ist Atmega 8
    $crystal = 8000000 'Arbeitsfrequenz 8 MHz
    $hwstack = 40 'Hardware-Stack
    $swstack = 32 'Software-Stack
    $framesize = 60 'Frame
    $baud = 19200 'serielle Übertragungsgeschwindigkeit
     
    '*** Ein/Ausgänge deklarieren **************************************************
    'brauchen wir hier nicht
     
    '*** Variablen definieren ******************************************************
    Dim Zaehler As Word 'Word weil Werte zwischen 0 und 1023 möglich
     
    '*** Timer konfigurieren *******************************************************
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64
     
    'erstmal noch beide Ausgänge AUS
    Pwm1a = 0 'PWM-Kanal A des Timer1 Vergleiswert zuweisen
    Pwm1b = 0 'PWM-Kanal B des Timer1 Vergleiswert zuweisen
     

    '*** Hauptschleife *************************************************************
     
    Wait 2
     

    Do 'Beginn Hauptschleife
    For Zaehler = 0 To 1023 'in ca. 1sec aufdimmen
    Pwm1a = Zaehler
    Waitms 1
    Next Zaehler
     
    Wait 1 '1sec halten
     
    For Zaehler = 1023 To 0 Step -1 'in ca. 1sec abdimmen
    Pwm1a = Zaehler
    Waitms 1
    Next Zaehler
     
    Wait 1 '1sec halten
     

    Loop 'Ende Hauptschleife
     
    End
     



    Der große Nachteil an der Hardware-PWM ist, daß für 2 PWM-Kanäle ein Timer belegt ist. Da Timer aber eh meist zu wenige sind und wir gar keine so hohe Auflösung für ne LED brauchen, zeig ich euch morgen, wie man das "von Hand" machen kann, ähhm, die PWM mein ich.


    Gruß
    Gerhard

  • [BEK08] Timer als TimerDatum07.04.2013 00:50
    Thema von diezel im Forum Bascom - Unser Einstei...

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    $regfile = "m8def.dat"                                      'Mikrocontroller ist Atmega 8
    $crystal = 8000000 'Arbeitsfrequenz 8 MHz
    $hwstack = 40 'Hardware-Stack
    $swstack = 32 'Software-Stack
    $framesize = 60 'Frame
    $baud = 19200 'serielle Übertragungsgeschwindigkeit
     
    '*** Ein/Ausgänge deklarieren **************************************************
    Config Portb = Output 'PortB als Ausgang
    Led1 Alias Portb.0 'Ausgang PortB.0 heitßt ab jetzt "Led1"
     
    '*** Hauptschleife *************************************************************
     
    Do 'Beginn Hauptschleife
    Toggle Led1
    Waitms 500
    Loop 'Ende Hauptschleife
     
    End
     



    Hallo,

    seht Euch mal das Beispiel oben an. Was macht es? Genau, eine LED blinkt mit 1Hz. Mehr nicht. Schade eigentlich, weil während dem "Waitms 500" verbringt der µC fast 4 Millionen Takte mit nix tun.

    Ich will Euch nun zeigen, wie man das besser macht. Das Mittel der Wahl nennt sich "Timer".

    Ein Timer ist ein Zähler, der die Systemtakte mitzählt. Und das macht er von ganz alleine, unser eigentliches Programm läuft gleichzeitig weiter, weil der Timer in einer eigenen "Baugruppe" des µC verbaut ist.
    Die Atmels haben (fast) alle mehrere Timer. Wieviele sagt Euch das Datenblatt. Unser Atmega8 hat 3 Stück, die da heißen: Timer0, 1 und 2.
    Es gibt noch Unterschiede, wie weit die Timer zählen können: Timer 0 und 2 sind 8-Bit-Timer, können also von 0 bis 255 zählen, der Timer 1 hat 16 Bit, kann also von 0 bis 65535 zählen.

    Als weiteres Gimmick kann man "Prescaler" einschalten. Diese Vorteiler bewirken, das nur jeder x-te Systemtakt den Timer weiterzählen läßt. Mögliche Prescaler beim Atmega8 sind 8, 64, 256 und 1024. Z.B. wird Prescaler 8 konfiguriert, zählt der Timer nur bei jedem 8ten Systemtakt weiter.
    Die neueren Atmels haben übrigends noch mehr Prescaler die feiner abgestuft und größer sein können -> Datenblett gucken!

    Während dem Programmlauf kann jederzeit der aktuelle Zählerstand des Timers ausgelesen werden.
    Ist ein Timer voll, bspw. der Timer0 hat bis 255 gezählt, kann er einen "Interrupt" auslösen. Dadurch wird der aktuelle Programmablauf unterbrochen, ein definierter Programmteil wird abgearbeitet und nach Erledigung geht´s an der vorherigen Stelle weiter.

    Keine Angst, sooo schlimm ist´s gar nicht :-)

    Jetzt mal zu unserem Beispiel: wir wollen ein Timer so konfigurieren, daß er uns alle 500ms einen Interrupt auslöst. Unser Atmega8 rennt mit 8MHz, er macht also je Sekunde 8 Millionen Takte. Wir müssen jetzt also 4 Millionen Takte mitzählen.
    Ich nehm jetzt mal den Timer1, der bis 65535 zählen kann. Jetzt stellt sich die Frage, wie groß der Prescaler sein muß.
    Ich rechne kurz:
    4000000 / 65536 = 61,03
    Der Prescaler muß größer sein, wir nehmen also Prescaler = 64.
    Gegenrechnung: wir teilen die 4 Millionen Takte durch den Prescaler:
    4000000 / 64 = 62500
    Paßt. Die 62500 sind kleiner als die 65535, die unser Timer zählen kann.
    Ganz zufällig ist mit 62500 ein genauer Wert rausgekommen. Meist kommt dort eine Kommazahl raus, man muß sich dann entweder mit der daraus entstehenden Ungenauigkeit zufrieden geben oder man versucht durch Auswahl eines anderen Timers oder Prescalers genau hinzukommen.

    Eine kleine Hürde haben wir jetzt noch. Der Timer kann nur einen Interrupt auslösen, wenn er voll ist, also bis an seine Grenze gezählt hat. Dies umgeht man so, in dem man den Timer nicht bei 0 zu zählen beginnen läßt, sondern ihn vorlädt. Bei wieviel? Wir rechnen wieder:
    65536 - 62500 = 3036
    Wir sagen also dem Timer am Programmanfang und jedesmal, wenn er wieder bei 0 anfangen will, das ist gleich nachdem er den Interrupt ausgelöst hat, daß er bei 3036 anfängt.

    Hier die Umsetzung des oben beschriebenen in Bascom:

    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
     
    $regfile = "m8def.dat"                                      'Mikrocontroller ist Atmega 8
    $crystal = 8000000 'Arbeitsfrequenz 8 MHz
    $hwstack = 40 'Hardware-Stack
    $swstack = 32 'Software-Stack
    $framesize = 60 'Frame
    $baud = 19200 'serielle Übertragungsgeschwindigkeit
     
    '*** Ein/Ausgänge deklarieren **************************************************
    Config Portb = Output 'PortB als Ausgang
    Led1 Alias Portb.0 'Ausgang PortB.0 heitßt ab jetzt "Led1"
     
    '*** Timer konfigurieren *******************************************************
    Config Timer1 = Timer , Prescale = 64 'Timer konfigurieren
    On Timer1 Timerroutine 'Timerinterrupt Subroutine zuweisen
    Enable Timer1 'Timer aktivieren
    Start Timer1 'Timer starten
    Timer1 = 3036 'Timer auf neuen Startwert einstellen

    Enable Interrupts 'Interrupt erlauben
     
    '*** Hauptschleife *************************************************************
     

    Do 'Beginn Hauptschleife
    !nop 'Befehl "!nop" heißt: mach nix
    Loop 'Ende Hauptschleife
     
    End
     

    '*** Subs **********************************************************************
    Timerroutine: 'Beginn Subroutine
    Timer1 = 3036 'Timer auf neuen Startwert einstellen
    Toggle Led1
    Return 'Ende Subroutine
     
     


    Der Code sollte jetzt eigentlich für Euch nachvollziehbar sein. Achtet bitte im Bereich "Timer konfigurieren" auf die richtige Schreibweise. Das "Enable Interrupts" wird gerne vergessen, bewirkt dann, daß keine Interrupts ausgeführt werden.

    Und schaut genau hin: unser Hauptprogramm ist leer! Dort könnte irgend etwas anderes passieren.

    Ihr seid´s dran !!!


    Gruß
    Gerhard

  • [BEK07] Programm strukturierenDatum06.04.2013 23:27
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    entschuldigt bitte, daß ich Euch so lang hab warten lassen. Leider passieren Dinge, die man nicht beeinflußen kann. Jetzt hat´s mich (mal wieder) erwischt gehabt, für solche Sachen hier war leider keine Zeit mehr übrig. Aber mittlerweile hat sich die Lage wieder gebessert und wir können weiter machen.

    Bevor wir ans Thema "Timer" gehen, sollten wir dieses Thema unbedingt noch durchkauen.

    In Bascom hat man paar Möglichkeiten, ein bischen Struktur in den Code zu bringen. Das erleichtert einem das Leben ungemein. Z.B. bei der Fehlersuche, oder wenn man bestimmte Programmteile wiederverwenden möchte, empfiehlt es sich, das Programm modular aufzubauen.

    Die schlechteste Möglichkeit ist hierbei der Befehl "Goto". Mit diesem Befehl wird der Programmablauf auf eine feste Sprungmarke umgeleitet.
    Der Code wird aber dadurch sehr verschachtelt, eine Wartung oder spätere Änderung wird dadurch sehr schwer bis unmöglich. Bitte verwendet diesen Befehl am Besten gar nicht, oder nur sehr sehr sparsam.

    Ein besserer Stil ist, das Programm in mehrere Unterprogramme aufzubauen. Das Programm wird dadurch viel leichter zu lesen und verstehen. In diese Unterprogramme, kann man z.B. wiederkehrende Befehlsfolgen oder auch ganze Programmteile schreiben.
    Hier mal ein Beispiel:

    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
     
    $regfile = "m8def.dat"                                      'Mikrocontroller ist Atmega 8
    $crystal = 8000000 'Arbeitsfrequenz 8 MHz
    $hwstack = 40 'Hardware-Stack
    $swstack = 32 'Software-Stack
    $framesize = 60 'Frame
    $baud = 19200 'serielle Übertragungsgeschwindigkeit
     
    '*** Ein/Ausgänge deklarieren **************************************************
    Config Portb = Output 'PortB als Ausgang
    Led1 Alias Portb.0 'Ausgang PortB.0 heitßt ab jetzt "Led1"
    Led2 Alias Portb.1 'Ausgang PortB.1 heitßt ab jetzt "Led2"
    Led3 Alias Portb.2 'Ausgang PortB.2 heitßt ab jetzt "Led3"
     
    '*** Variablen definieren ******************************************************
    Dim Zaehler As Byte
     
    '*** Hauptschleife *************************************************************
    Portb.3 = 1 'LED an PB3 aus
     
    Do 'Beginn Hauptschleife
     
    For Zaehler = 1 To 5
    Gosub Ausgaenge_setzen
    Next Zaehler
     
    Loop 'Ende Hauptschleife
     
    End
     

    '*** Subs **********************************************************************
    Ausgaenge_setzen:
     
    Led1 = 1
    Led2 = 1
    Led3 = 1
     
    If Zaehler = 1 Then
    Led1 = 0
    Elseif Zaehler = 2 Then
    Led2 = 0
    Else
    Led3 = 0
    End If
     
    Wait 1
     
    Return
     


    ist zwar ein relativ sinnfreies Beispiel, aber ihr solltet sehen, wie es abläuft:
    Durch das "Gosub Ausgaenge_setzen" leiten wir den Programmablauf um. Damit wird direkt auf die Sprungmarke "Ausgaenge_setzen" gesprungen. (Achtet auf den Doppelpunkt hinter der Sprungmarke, beim Gosub darf es nicht dabeistehen.)
    Jetzt wird der Code zwischen der Sprungmarke und dem "Return" abgearbeitet. Hier gibt´s nichts weiter zu beachten, alle Variablen die oben gegolten haben, gibt´s auch hier. Sie gelten also "global".
    Nach dem "Return" wird wieder direkt hinter dem Gosub weitergemacht, in unserem Beispiel das "Next Zaehler".

    Noch einen neuen Befehl hab ich Euch untergejubelt. Bei der Definition der Ein/Ausgänge habe ich das "Alias" verwendet:

    1
     
    Led1 Alias Portb.0
     


    Wir geben dadurch dem Ausgang PortB.0 einen Namen. Wir können diesen im Code genauso verwenden, als würden wir PortB.0 schreiben. Für uns wird´s dadurch aber viel leserlicher. Ein späteres Ändern, z.B. wenn LED1 mal einen anderen Ausgang kommen soll, wird viel einfacher, weil es nur einmal geändert werden muß.


    Bascom bietet noch 2 weitere Möglichkeiten, den Code zu strukturieren: "Sub" und "Function". Darauf geh ich mal später drauf ein, sind jetzt noch nicht passend.


    Gruß
    Gerhard

  • BlaulichtTinyDatum03.04.2013 23:29
    Thema von diezel im Forum Zubehör

    Hallo,

    ich hab einen BlaulichtTiny neu in´s Programm aufgenommen. Der BlaulichtTiny steuert Rundumlichter und Frontblitzer an. Über das Empfängersignal kann zwischen Doppelblitz und klassischem Rundumlicht für die Rundumkennleuchten auf dem Dach gewählt werden.
    Für die Frontblitzer können 3 verschiedene Blinkmuster gewählt werden. Dazu müssen die LEDs am entsprechenden Pin des Tinys gelötet werden. Eine Auswahl zur Laufzeit ist hier nicht möglich.

    Die Schaltfunktionen:
    1x Links: Rundumlicht ohne Frontblitzer An/Aus
    1x Rechts: Doppelblitz ohne Frontblitzer An/Aus
    2x Links: Rundumlicht mit Frontblitzer An/Aus
    2x Rechts: Doppelblitz mit Frontblitzer An/Aus
    3x Links od. Lang links: Alles Aus
    3x Rechts od. Lang rechts: Alles Aus

    Standmodell-Funktion ist auch enthalten:
    wenn 1 Sekunde nach dem Einschalten kein Signal kommt, werden alle Funktionen eingeschaltet. Bleibt der Signal-Eingang offen, sind die Rundumlichter aktiv. Wird der Signal-Eingang mit GND verbunden, sind die Doppelblitzer aktiv.
    Der Signal-Eingang darf nicht direkt mit Plus verbunden werden !!!

    Zu den Blinkmustern für die Frontblitzer:
    - Front 1 entspricht dem bekannten Doppelblitz
    - Front 2 hat schon fast amerikanischen Einfluß, hab ich aber auch in Youtube-Videos in Deutschland gesehen. Dort kommen erst 4 einzelne Blitze und dann ein Dreifachblitz
    - Front 3 ist wie der Doppelblitz, jedoch mit langsam Auf- und Abdimmenden Leuchten, z.B. in diesem Video.


    Gruß
    Gerhard

  • [BEK06] For ... NextDatum30.01.2013 21:46
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    heute das Thema For-Next-Schleife. Kennen bestimmt einige von Euch z.B. aus VBA.
    Die vorgeschriebene Schreibweise in Bascom lautet:

    1
    2
    3
     
    FOR var = start TO end [STEP value]
    ...
    Next var
     


    Dieses Konstrukt läßt einen Befehlsblock beliebig oft nacheinender ausführen. Dazu wird eine Variable von einem Startwert bis zu einem Endwert gezählt, die Schrittweite kann vorgegeben werden. Wird diese nicht angegeben, wird mit +1 gearbeitet.
    Die Variable kann natürlich innerhalb der Schleife verwendet werden.
    Hier mal ein Beispiel-Programm:

    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
     
    $regfile = "m8def.dat"                                     'Mikrocontroller ist Atmega 8
    $crystal = 8000000 'Arbeitsfrequenz 8 MHz
    $hwstack = 40 'Hardware-Stack
    $swstack = 32 'Software-Stack
    $framesize = 60 'Frame
    $baud = 19200 'serielle Übertragungsgeschwindigkeit
     
    '*** Ein/Ausgänge deklarieren **************************************************
    Config Portb.3 = Output 'PortB.3 als Ausgang
     
    '*** Variablen definieren ******************************************************
    Dim Raufrunter As Integer 'Integer kann Ganzzahlen von -32768 bis +32767 enthalten
    Dim Zaehler As Byte
     
    '*** Hauptschleife *************************************************************
    Portb.3 = 1 'LED an PB3 aus
     
    Do 'Beginn Hauptschleife
    For Raufrunter = 1 To 10 'Schleife zählt von 1 bis 10 mit Schritt 1
    Print Raufrunter
    Wait 1
    Next Raufrunter
     
    For Raufrunter = 10 To -10 Step -2 'Schleife zählt von +10 nach -10 mit Schritt -2
    Print Raufrunter
    Wait 1
    Next Raufrunter
     
    For Zaehler = 2 To 7 Step 2 'Schleife zählt von 2 bis 7 in 2er-Schritten
    Portb.3 = 0 'LED kurz Ein
    Waitms 300
    Portb.3 = 1 'LED wieder aus
    Waitms 500
    Next Zaehler
     
    Loop 'Ende Hauptschleife
     
    End
     



    Der Programmkopf dürfte klar sein. Die Variable Raufrunter hab ich als Integer dimensioniert, sie kann somit Ganzzahlen von -32768 bis +32767 enthalten.

    Zeile 19 - 22 beschreibt eine Schleife, die die Variable von 1 bis 10 raufzählt, Schrittweite ist +1, weil nicht extra angegeben. Mit jedem Mal raufzählen werden die Befehle, die zwischen For und Next aufgeführt sind, jeweils mit der aktuellen Variable ausgeführt. Den Verlauf könnt ihr ja im Terminal beobachten, wenn die Prints ausgeführt werden.

    Zeile 24 - 27 ist recht ähnlich, nur wird hier die Variable von +10 nach -10 runtergezählt. Will man, daß die Variable kleiner wird, sie muß dabei gar nicht ins Minus kommen, muß der angegebene Step-Wert negativ sein, bei uns im Beispiel Step -2. Die Variable wird also folgende Werte haben: 10, 8, 6, 4, 2, 0, -2, -4, -6, -8, -10.

    Zeile 29 - 34 nutzt die For-Next-Schleife, um bestimmte Befehle mehrmals auszuführen, ohne dabei den Inhalt der Variablen zu benutzen. Wir lassen hier die LED an PB3 mehrmals aufblinken.
    Als gaaanz kleine Aufgabe für euch, zählt die Schleife von 2 bis 7 in Schrittweite 2. Wie oft wird die LED blinken?


    Gruß
    Gerhard

  • [BEK05] If - Then - ElseDatum29.01.2013 21:00
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    heute will ich euch mal zeigen, wie man auf bestimmte "Ereignisse" im Programm reagieren kann. Ereignisse für den µC sind eigentlich immer die Zustände an den Pins oder der Inhalt einer Variablen.
    Baut bitte wieder das STK auf und stellt alle Verbindungen her. Wie beim letzten Mal, verbindet bitte den Sockel mit der Beschriftung "LEDS" mit dem "PORTB" und den "SWITCHES" mit "PORTD" mit den Flachbandkabeln.

    Bei Verwendung von Tastern ganz wichtig ist das Thema PullUps. Bin grad faul und zitier mich grad mal schnell selbst:

    Zitat von diezel im Beitrag RE: [BEK03] der Einstieg
    Für den µC ist es wichtig, klare Verhältnisse vorzufinden. Stellt euch mal vor, er soll auf das Verändern eines Zustandes eines Pins reagieren, aber dieser Zustand ändert sich laufend. Das gibt nur Probleme. Um dies zu vermeiden werden große Widerstände gegen Plus geschaltet, die den Pin immer gegen VCC ziehen. Da der Widerstand aber recht groß ist, kann der Zustand des Pins leicht geändert werden, z.B. in dem ihn ein Schalter gegen GND zieht, der Strom, der durch den Widerstand nach VCC fließt, spielt dann keine Rolle mehr

    Diese Pullups kann man wie schon gezeigt per Portregister intern im Atmega einschalten, oder man macht es extern, wie auf dem STK500 gemacht:
    [[File:switches.png|none|fullsize]]
    Das heißt für uns, daß der µC an seinem Eingang ein logisches High-Signal sieht, wenn der Taster NICHT gedrückt ist. Wird der Taster gedrückt, liegt ein Low-Signal an.
    Der µC schreibt uns diese Information dann in das entsprechende Register: PINx.y
    Beispiel an unserem Aufbau: wir beobachten den Taster, der an PinD.3 angeschlossen ist:
    Taster nicht gedrückt: PinD.3 = 1
    Taster gedrückt: PinD.3 = 0
    Also: Verdrehte Logik beachten!

    Bei den LEDs gibt´s natürlich auch wieder was zu beachten. Lasten werden am µC bevorzugt über GND geschaltet. Damit will man die Versorgungsspannung des µC möglichst nicht mit externen Lasten beeinträchtigen. Was ich meine seht ihr am folgenden Bild:
    [[File:led.png|none|fullsize]]
    Quelle des Bildes: www.ne555.at
    Heißt für uns: Ist ein Ausgang auf High geschaltet, fließt kein Strom durch die LED, sie bleibt dunkel. Ist der Ausgang Low, kann der Strom durch den Atmega nach GND abfließen, sie leuchtet.
    Beispiel: die LED an PortB.3:
    PortB.3 = 1 --> LED leuchtet nicht
    PortB.3 = 0 --> LED leuchtet
    Also auch hier: Verdrehte Logik beachten!

    Das Bild der Schalter hab ich wieder aus der Hilfe des AVR-Studios. Schadet nicht wenn ihr da mal durchblättert!

  • [BEK04] Fusebits und Taktquellen STK500Datum22.01.2013 00:33
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    ein wichtiges, aber auch oft heikles Thema, gerade wenn man nicht weiß was man tut. Darum nehmen wir dieses Thema gleich mal zu Anfang mit dran.
    Die Fusebits sind eine Art Grundeinstellung des µC, mit denen man bestimmte Funktionen einstellen kann. Heikel daran ist, daß man sich durch falsche Einstellungen "aussperren" kann, d.h. man kann mit dem normalen ISP nicht mehr drauf programmieren und somit auch nicht mehr die Fusebits ändern. Das STK500 bietet zwar noch die Möglichkeit der "High-Voltage"-Programmierung (nachfolgend "HV"-Programmierung" genannt) und hat auch noch 2 Taktquellen drauf, jedoch wenn der µC in der Zielschaltung verlötet ist, kann z.B. "High-Voltage"-Programmierung nicht mehr möglich sein.
    Hintergrund: während der HV-Programmierung liegen am Reset-Pin 12V an. Kann sein, daß dort angeschlossene Bauteile diese Spannung nicht überleben, oder andere Bauteile leiten die Spannung ab, so daß am µC nicht mehr die vollen 12V ankommen und damit die HV-Programmierung nicht mehr funktioniert.

    Also gaaaanz wichtig: bevor man an den Fuse-Bits was verstellt, !!!GEHIRN EINSCHALTEN!!!


    Wenn man jedoch weiß was man tut, ist´s halb so schlimm.

  • [BEK03] der EinstiegDatum18.01.2013 00:09
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    möchte mich bei Euch entschuldigen, der Start hat sich jetzt doch länger verzögert, als befürchtet. Hatte in letzter Zeit "paar" Probleme im Privaten, die mir einerseits kaum Zeit übrig gelassen haben und andererseits meinen Kopf für sich beansprucht haben. Aber jetzt soll es mal los gehen...

    Ich möchte gleich mal mit diesem Programm starten, um es für Euch greifbarer zu gestalten:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    $regfile = "m8def.dat"                                      'Mikrocontroller ist Atmega 8
    $crystal = 1000000 'Arbeitsfrequenz 1 MHz
    $hwstack = 40 'Hardware-Stack
    $swstack = 32 'Software-Stack
    $framesize = 60 'Frame
    $baud = 4800 'serielle Übertragungsgeschwindigkeit
     
    '*** Ein/Ausgänge deklarieren **************************************************
    Config Portb = Output 'ganzer PortB als Ausgang
     
    '*** Variablen definieren ******************************************************
    Dim Zaehler As Byte
     
    '*** Hauptschleife *************************************************************
    Do 'Beginn Hauptschleife
    Toggle Portb 'PortB Toggeln (Ein/Aus)
    Print "Hallo" '"Hallo" über die serielle schicken
    Incr Zaehler 'Variable Zähler um 1 erhöhen
    Print Zaehler 'Inhalt Zähler über serielle schicken
    Waitms 100
    Loop 'Ende Hauptschleife
     
    End
     



    Nachfolgend kommen dann die Erklärungen zu den einzelnen Zeilen.

    1. $regfile = "m8def.dat"
    Hiermit sagen wir Bascom, mit welchem Mikrocontroller wir arbeiten wollen. Bascom lädt dann diese Datei "m8def.dat", in der die Konfiguration für unseren Atmega8 enthalten ist.
    Schaut mal bei euch unter "C:\Programme\BASCOM-AVR_2_0_7_5". Dort sind etliche *.dat-Dateien enthalten, z.B.
    "ATtiny25.dat" für den Attiny25
    "m8def.dat" für unseren Atmega8
    "xm128a3def.dat" für den AtXmega128A3
    die entsprechenden Brüder haben dann entsprechende Namen.
    Achtung: es gibt z.B. einen Atmega8A, dieser braucht dann die Datei "m8Adef.dat"
    der Atmega8L hingegen läuft mit dem normalen "m8def.dat". Es gibt keine "L"-Version der Dat-Datei, da die L-Version nur für niedrigere Spannungsbereiche spezifiert ist. Genauso ist beim Attiny25v.

    2. $crystal = 1000000
    dies gibt die Arbeitsfrequenz des µC an. (µC ist Abkürzung für Mikrocontroller)
    Bascom weiß nicht, wie der µC konfiguriert ist. Da gibt´s diverse Einstellmöglichkeiten, die wir später mal durchkauen. Die "1000000" entsprechen 1MHz, der Grundeinstellung des Atmega8.

    3. $hwstack = 40
    4. $swstack = 32
    5. $framesize = 60

    hiermit wird der interne Speicher verteilt. Dies jetzt schon zu erklären wäre zu früh, heben wir uns für später auf. Wer es wissen will, kann z.B. hier mal spicken:
    http://halvar.at/elektronik/kleiner_bascom_avr_kurs/speicher_hwstack_swstack_frame/

  • [BEK02] Installation und InbetriebnahmeDatum22.11.2012 20:28
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    auf geht´s!
    Als erstes laden wir uns, wer es noch nicht gemacht hat, die aktuelle Bascom-Demo herunter und installieren diese:
    Link zur Bascom-Demo, dort auf "Download Demo now"

    Dann geht´s weiter mit dem AVR-Studio. Dieses brauchen wir, da damit die Treiber-Software für´s STK installiert wird ("Jungo"-Treiber)und in der Hilfe des AVR-Studios eine Anleitung für´s STK500 beinhaltet. Nachfolgend der Link zur Version 4. Ist eine ältere Version, für die man sich noch nicht registrieren muß. Ist aber für uns ausreichend:Direktlink zum Atmel.com download

    Weil wir grad am Downloaden sind, ist´s auch immer ganz nützlich, die Datenblätter der µC zur Hand zu haben.
    Atmega8 Datenblatt

    bis gleich...

  • FeuerwehrTinyDatum03.11.2012 13:40
    Thema von diezel im Forum Zubehör

    Hallo,

    mein aktuelles Werk:
    ich habe versucht die Funktion vom LichtBlinkTiny selbst zu programmieren und dabei aber den Mangel am Reset-Pin ausgemerzt. Wenn er schon nicht als Ausgangs-Pin taugt, dann nehm ich ihn halt als Eingang her.
    Somit reicht für ein normales Fahrzeug ein Tiny ohne Fets drauf, ist dann schöne 5x10mm klein. Und die LEDs werden wie üblich über GND geschaltet. Je Ausgangs-Pin können max. 40mA gezogen werden, der ganze Tiny kann gut 150mA abgeben.
    Sollte also reichen :-)

    Hab den Tiny wie bei mir üblich nach einem möglichen Verwendungszweck genannt, “FeuerwehrTiny”.

    Hier die Steuerungs-Mimik:
    1x Links: Blinker links An/Aus
    1x Rechts: Blinker rechts An/Aus
    2x Links: Warnblinker An/Aus
    2x Rechts: Licht An/Aus
    3x Links: Blitzer als Rundumlicht An/Aus
    3x Rechts: Blitzer als Doppelblitz An/Aus
    4x Links: Alles Aus
    4x Rechts: Alles Ein

    Und im Anhang das Anschlußbild.

    Hab mittlerweile paar Leute angeschrieben, die den Tiny testen. Wenn sich noch jemand berufen fühlt, bitte Melden!!!
    Der Tiny darf natürlich nach dem Test behalten werden!


    Gruß
    Gerhard

  • [BEK01] die HardwareDatum14.10.2012 01:46
    Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    zur Vorbereitung auf den Kurs, hier die Beschreibung der BEVORZUGTEN Hardware.
    Wir hatten uns ja schon im Vorfeld auf das STK500 geeinigt. Auf diesem sollen dann mit dem Atmega8 die Grundlagen durchgearbeitet werden.
    Da wir für den Mikromodellbau wohl hauptsächlich später mit dem Attiny25 (8-Pins) oder Attiny24(14-Pins) arbeiten werden, hat Martin alias Xenton eine kleine Platine gelayoutet, mit der auf dem Ziel-Controller entwickelt werden kann.
    Link zum Beitrag
    Von der Nutzung dieser Platine als Einstiegs-Entwicklungs-Umgebung rate ich wegen fehlender serieller Schnittstelle ab, aber umso interssanter ist diese für spätere Entwicklungen.
    Nützlich dagegen ist der untere Teil seiner Platine, eine H-Brücke mit der ein Motor angesteuert werden kann. Der Aufbau einer solchen ist empfehlenswert.
    Ich habe Martin gerade gebeten, eine Bauteilliste zu erstellen. Paar Tinys würd ich mir gleich mal für später besorgen.
    Als Motor für Entwicklungen verwende ich gerne ein kleines und vor allem billiges Servo, bei dem die Elektronik entfernt ist und der Motor direkt mit meiner H-Brücke verbunden ist. Durch die große Getriebeübersetzung sind Drehbewegungen gut sichtbar.

    Link zur Erklärung H-Brücke bei Wikipedia


    Gruß
    Gerhard

  • Thema von diezel im Forum Bascom - Unser Einstei...

    Hallo,

    Sven, unser Cheffe, hat uns für den Bascom Einsteigerkurs ein eigenes Unterforum erstellt.
    Ich bitte euch der Übersichtlichkeit wegen, in diesem Unterforum nur Beiträge zu erstellen, die auch wirklich mit dem Kurs zu tun haben.
    Die Kursbeiträge werden im Titel immer mit [BEKxx] beginnen, wobei gilt :
    BEK = BascomEinsteigerKurs
    xx = vortlaufende Nummer
    Ich werde zum Ende dann noch ein Inhaltsverzeichnis erstellen, falls mal später jemand den Kurs selbst durcharbeiten möchte, und er/sie dann die Reihenfolge rausfindet.


    Gruß
    Gerhard

  • Forums-Bascom-KursDatum29.09.2012 18:29
    Thema von diezel im Forum Bascom

    Hallo,

    ich schmeiß jetzt mal einfach eine Idee in den Raum. Bin gespannt auf Eure Antworten.
    Wer hätte Interesse an einem gemeinsamen Bascom-Kurs hier im Forum?
    Inhalte schlage ich auf den Mikromodellbau zugeschnitten vor.
    Ziel könnte der Open-Source-Fahrtregler und/oder ein Lichttiny sein.
    Die nötigen Funktionen würde ich dann Schritt für Schritt herleiten.

    Wir müssten uns dann halt auf eine gemeinsame Entwicklungs-Umgebung einigen, damit auch jeder alles mitmachen kann und Hardware-Konflikte ausgeschlossen sind.

    Ihr seids dran...


    Gruß
    Gerhard

  • Inspirationen für Modellbahn gesuchtDatum07.09.2012 23:15
    Thema von diezel im Forum Modellbahn

    Hallo,

    immer wieder mal kommt bei mir der Wunsch nach einer eigenen Modellbahn hoch. Nicht nur so ein kleines Modul, sondern schon bischen größer.
    Dafür durchsuche ich jetzt schon tagelang das Internet nach guten Beispielen, bin dabei aber noch nicht so richtig fündig geworden. Die meisten Modellbahner bauen doch mit Schwerpunkt Eisenbahn, Straßen dienen meist nur als Lückenfüller. Ich möchte aber viel mehr mit PKW, LKW und Baumaschinen drauf fahren und spielen.
    Eckdaten, die ich mir so vorstelle: Maßstab H0, Größe 2m x 4m

    Wer kennt Bilder einer solchen Anlage die mir als Inspiration dienen könnte?

    Als Beispiel nenn ich mal die Bahn von Alex alias Menck M90, die für mich aber schon zu groß wäre. Er hat, wie ich finde, den Spagat zwischen Schiene und Straße super umgesetzt. Von der technischen und optischen Umsetzung ganz zu schweigen
    Eine Modellbahn mehr in diesem Forum


    Vielen Dank im voraus !!!
    Gruß
    Gerhard

  • Maßtabelle von LiposDatum23.08.2012 00:29
    Thema von diezel im Forum Ladegeräte

    Hallo,

    den ideal passenden Lipo zu finden ist immer blöd. Hab mir heute gedacht, eine Excel-Tabelle wäre toll.
    Im Anhang der erste Entwurf. Bisher hab ich folgende Shops mit aufgenommen:
    - Sol-Expert
    - Mikroantriebe.de
    - Mikromodellbau.de
    - Hobbyking.com
    - epp-fly.de

    Wer kennt noch gute Quellen, die ich mit aufnehmen soll?


    Gruß
    Gerhard

    P.S.: für alle Nicht-Excel-Benutzer hab ich auch eine PDF erstellt. Dort fehlt halt die Sortiermöglichkeit von Excel

  • Feuerwehr schlecht detailliert ???Datum06.06.2012 21:40
    Thema von diezel im Forum Einsatzfahrzeuge

    Hallo,

    hab ein Feuerwehr-Modell in Arbeit, es ist ein MB Atego von Herpa:

    [[File:141.JPG|none|fullsize]]
    [[File:140.JPG|none|fullsize]]

    gerade von der Rückseite bin ich irgendwie enttäuscht. Diese paßt in meinen Augen nicht zum Vorderwagen, der einen moderneren Eindruck macht.
    Bild ich mir das nur ein, oder gibt´s sowas auch in Echt?
    Bei meiner Internet-Recherche bin ich nur auf sowas gestoßen:


    Quelle: http://www.feuerwehr-hohenschaeftlarn.de/Fahrzeuge/HLF/hlf.html

    Was würdet´s ihr tun? So bauen wie Herpa es verkauft, oder auf modern bauen so wie das Beispiel oben?
    2te Frage: woraus könnte ich die hinteren Blaulichter herstellen? ich bräuchte da irgendwie blau eingefärbtes Plexiglas. Wer hat nen Tipp???

    Gruß
    Gerhard

  • Neues Doppel-Linear-Servo von HobbykingDatum27.02.2012 19:58
    Thema von diezel im Forum Empfänger, Servos, Mul...

    Hallo,

    wer hat das schon mal getestet:

    http://www.hobbyking.com/hobbyking/store...near_Servo.html

    Hat das wirklich nur einen Anschluß am Empfänger? Ich check das grad nicht.


    Gruß
    Gerhard

Inhalte des Mitglieds diezel
Seite 1 von 2 « Seite 1 2 Seite »

disconnected Mikromodell-Chat Mitglieder Online 8
Xobor Xobor Community Software
Datenschutz