2 Kanal RC-Schalter fuer Schiffsmodelle mit Mega8

OP #241377
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
Angehängte Dateien:
#4251949
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
Angehängte Dateien:
#4251982
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.
Angehängte Dateien:
Gast #4252003
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
Angehängte Dateien:
#4252222
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
Angehängte Dateien:
Gast #4252238
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/2k_v4_8_switch.txt
https://www.mikrocontroller.net/attachment/highlight/266353

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren