www.mikrocontroller.net

Forum: Projekte & Code 2 Kanal RC-Schalter fuer Schiffsmodelle mit Mega8


Autor: Tobias Schneider (tobias)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ein Bekannter ht mich diese Woche gebeten, eine kleine Schaltung fuer
sein Modellboot zu bauen, mit dem er seine 2 Zusatzfunktionen ueber
einen Kanal seiner Fernsteuerung schlaten kann.

Bei diesem Projekt handelt es sich also um einen einfachen 2
Kanalschalter fuer RC-Schiffsmodelle :)

Eine Schaltfunktion besizt eine Memoryfunktion, die sich ihren
Schaltzustand merken kann und ihn jedesmal wechselt, wenn der
Steuerknueppel nach unten bewegt wird.
Hiermit kann z.B. das Kabinenlicht geschaltet werden.

Die zweite Schaltfunktion kann an einen Lautsprecher angeschlossen
werden, der dann als Signalhorn dienen kann.

Aufgebaut ist die Schaltung mit einem ATMega8 und einem Dual LogicLevel
N-FET IRF7341. Beide Bausteine sind bei Reichelt zu bekommen(IRF7141
71Cent). Mann kann natuerlich auch einen kleineren MC wie einen Tiny13
nehmen, aber ich hatte noch ein paar Mega8 hier liegen und hab halt
einfach einen genommen. Der Preisunterschied ist da unbedeutend. Das
Modul ist in SMD ausgefuehrt, um es kompakt zu halten.

Auf der Platine ist ein Quarz vorgesehen, die Schaltung funktioniert
aber auc mit dem eingebauten 8MHz RC-Oszillator einwandfrei, da sie die
Standardperiodenlaenge der Fernstuerung misst.
Die Schaltung duerfte problemlos bis 1A belastbar sein, wenn mehr Strom
fliesst, bin ich mir mit der Verlustleistung und der Kuehlung des N-FET
nicht sicher, da dieser keine besondere Kuehlung besizt.
Fuer kleine Boote, wie in den Bildern zu sehen ist die Schaltung jedoch
ausreichend.
Der Fet besizt bereits Dioden, um kleine induktive Lasten zu schalten.
Ausser dem Lautsprecher habe ich jedoch keine anderen induktiven Lasten
gestestet. Zur Sichrheit sollten hier vll. noch externe Schutzdioden
eingesezt werden.

Am Ausgang fuer das Licht befinden sich noch Loetpads, um einen
Widerstand einzusetzen, falls der Strom durch die Birnen begrenzt
werden muss. Ansonsten kann hier eine Bruecke eingebaut werden.

Die Software ist fuer den GCC geschrieben und benutzt den Watchdog um
Haenger zu vermeiden. Falls keine plausibelen Signale mehr am Eingang
ankommen, werden alle Funktionen ausgeschaltet.

Die Software kann natuerlich an alle moeglichen Szenarien angepasst
werden.


Viel Spass beim Nachbau!
Tobias Schneider
schneidertobi@yahoo.de

Autor: Martin B. (hexmex)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal den Code (etwas extrem) für 2 Schaltkanäle und 8 Funtionen 
für mein Schiff erweitert.

Er ist zwar etwas lang und mit einigen "noch unnötigen Variablen" für 
die Zukunftsprojekte versehen, was jedoch ruck zuck gelöscht werden 
kann.

Vielleicht nützt er ja dem einen der anderen.

Geschrieben und C/C++ (in SiSy)

Viel Spaß damit
Martin

: Bearbeitet durch User
Autor: Hä (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso kommt eigentlich immer wieder jemand auf die Idee C/C++ Code als 
*.txt zu posten?

Autor: Martin B. (hexmex)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hä

1) Es ist ein Format, welches auch "Anfänger" ohne Probleme lesen / 
öffnen können.

2) Es war mein erster Beitrag, weshalb ich kurzerhand die *.txt Datei 
angefügt habe.

3) Für jemanden, der Hilfe sucht, ist das Format zweitrangig.

4) Habe ich hier zur Beruhigung die *.cc Datei angehängt.

Hoffe damit kannst du nun besser leben.

: Bearbeitet durch User
Autor: Hä (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Martin B. schrieb:
> 1) Es ist ein Format, welches auch "Anfänger" ohne Probleme lesen /
> öffnen können.
Mehr als ein einfacher Texteditör ist in beiden fällen nicht nötig und 
beides geht direkt im Browser mit dem Unterscheid:
> 3) Für jemanden, der Hilfe sucht, ist das Format zweitrangig.
Bei einer *.c oder *.cpp hätte man hier die Codeansicht, was die 
lesbarkeit strakt verbessert, siehe Anhang
> 4) Habe ich hier zur Beruhigung die *.cc Datei angehängt.
Auch nicht viel besser

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin B. schrieb:
> 1) Es ist ein Format, welches auch "Anfänger" ohne Probleme lesen /
> öffnen können.
Öffnen vielleicht, aber compilieren?

> 2) Es war mein erster Beitrag, weshalb ich kurzerhand die *.txt Datei
> angefügt habe.
Manche Entscheidungen sind fürn Popo.

Autor: Martin B. (hexmex)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sollte ja eine Hilfe sein. Und *.txt Dateien findet man hier mehr als 
genug.

Was wollt ihr denn? Soll ich den Code noch in Goldpapier mit Schleifchen 
einwickeln?

Es geht schon sehr freundlich hier zu im Forum, wenn einem der erste 
Beitrag so einfach "zerlegt" und kritisiert wird.

Was paßt denn bitte nicht?

Von einem, der mit C/C++, Bascom, Delphi, Java, oder was weiß ich noch 
hantiert, um etwas auf die Beine zu stellen erwarte ich, daß er eine 
Textdatei öffnen kann.

Meinetwegen drückt er auch einmal mehr 'STRG + C' & 'STRG + V'.
Das sollte doch nicht zu schwer sein.

So hier nochmals in *.c, aber dann muß mal Schluß sein mit der 
Artenvielfalt.

Anstatt über mich zu schimpfen wäre mir eine Hilfe bei meinem Problem 
wesentlich lieber.

Es soll noch folgendes implementiert werden:
- Abfrage in den einzelnen Schleifen über die Häufigkeit der 
Schaltvorgänge, um in einer Codiertabelle (der Schaltzustände) für 
weitere 12 Ausgänge die Pins zu setzen / löschen.
- Die derzeitigen Schaltzustände in 3 Fällen zu Tastfuntionen umwandeln.
- Ein Signal / Warnton bei Fehlern ausgeben (Ausgang 20).
- Das Bord muß noch erstellt werden, wobei hier die Form an den Platz im 
Schiff angepaßt werden muß (derzeit in einer U-Form)

Wer kann mir da helfen?

Martin

: Bearbeitet durch User
Autor: Hä (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin B. schrieb:
> Und *.cpp ist nun besser?
Ja

> Und *.txt Dateien findet man hier mehr als genug.
Und jedes mal wenn ich einen die C/C++ Code enthält finde frage ich mich 
wie man auf die abwegige Ideekommt das *.c(pp) File erst umzubenenne.

> Was wollt ihr denn? Soll ich den Code noch in Goldpapier mit Schleifchen
> einwickeln?
Nein, als *.c oder *.cpp hochladen reicht vollkommen.

> Was paßt denn bitte nicht?
Mit *.txt Endung funktioniert die Codeansicht nicht. Vergleich mal die 
Lesbarkeit:
https://www.mikrocontroller.net/attachment/266350/...
https://www.mikrocontroller.net/attachment/highlight/266353

Autor: Hä (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin B. schrieb:
> Wer kann mir da helfen?
Forum: Projekte & Code
Hier könnt ihr eure Projekte, Schaltungen oder Codeschnipsel vorstellen 
und diskutieren. Bitte hier keine Fragen posten!

Autor: Martin B. (hexmex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK. Zwecks Lesbarkeit gebe ich dir recht.

In Zukunft werde ich mich bemühen, den Code in *.c anzuhängen.

Werde meine "Codeschnippsel" mit Fragen auf der vorgeschlagenen Seite 
einstellen.

Kannst du mir trotzdem helfen?

Gruß
Martin

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

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

Formatierung (mehr Informationen...)

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




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

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