ok ich werds meinen Vereinskamerad sagen und ihn davon abraden, dass zu tuen, was er vorhat. Aber die anderen Verwendungszwecke sind aber sinnvoll oder? 8-[
Hunni \:D/
Druckbare Version
ok ich werds meinen Vereinskamerad sagen und ihn davon abraden, dass zu tuen, was er vorhat. Aber die anderen Verwendungszwecke sind aber sinnvoll oder? 8-[
Hunni \:D/
Tipp: KISS
Keep it stupid simple.
Je mehr "tara" du um die eigentliche Startvorrichtung herumbaust, desto höher das Risiko.
Normale Raketenstartrampen werden in der Regel über eine simple Reihenschaltung von zwei Schaltern abgesichert, ein Druckschalter und ein Schlüsselschalter o.ä.
Die Idee, den Motor erst zu starten, wenn dein Gleiter in der Luft ist, halte ich für gewagt, da du dich hier VOLL auf die Elektrik verlassen können musst.
Hat einen gewissen Beigeschmack oder?
Ich hatte es ja oben schon geschrieben: Was ist bei einem Absturz? (Windböe nach Katapultstart o.ä.).
Ein Kurzschluss und das Feuerwerk geht los!
Wenn du so etwas bauen willst, würde ich mir überlegen, das ganze über DREI Komponenten zu machen:
1. Ein Schlüsselschalter oder ein Sicherungspin der den Zünder kurzschließt solange man ihn nicht entfernt (Remove before flight ;))
2. Ein Schalter der erkennt, dass der Gleiter die Startvorrichtung verlassen hat (mechanisch!)
3. Deine Funk-Erweiterung, die in Serie mit den beiden vorherigen Einrichtungen geschaltet wird. Nur wenn alle drei Elemente freigegeben sind, darf der Motor zünden.
mfG
Markus
nah das is ja woll selbstverständlich mit dem Sicherheits Pin und so. Hatte ich das noch gar nic erwähnt? Übrigens is die Schaltungkurzschlusssicher.
Das mit dem Splint und so, is klar. Meine Schaltung soll ja nur dazu dienen, das wenn die RC Anlage mal eine Störung hat, das dann nich die Raketen losballen. Viele machen es nämlich nur mit einen einfachen Relais und nich mit Atmega8 und Co. HIer is schon mal ein kleiner Vorgeschmack auf mein Programm.
!!!!!!ES IST NOCH NICH FERTIG!!!!
Das Programm, muss ich noch ein paar kleinigkeiten hinzufügen, die ich mir aber schon aufgeschieben habe.
Hier das Programm:
Code:$regfile "m8def.dat"
$crystal = 8000000
Config Portc = Output
Config Portb = Output
Config Portd.0 = Input
Config Portd.1 = Input
Config Portd.7 = Output
Dim A As Word
For A = 1 To 1000
Sichern:
Portc.3 = 1
If Portd.0 = 0 Then Portc.5 = 1
If Portd.1 = 0 Then Portc.5 = 1
Next A
Entsichern:
Portc.3 = 0
If Portd.0 = 0 Then Goto Sichern:
If Portd.1 = 0 Then Goto Abschiessen:
Goto Entsichern:
Abschiessen:
Portb.4 = 1
If Portd.0 = 0 Then Goto Launch:
Goto Entsichern:
Launch:
Portb.5 = 1
Portc.1 = 1
Waitms 100
Goto Entsichern:
Wie war das noch gleich mit KISS?
Dein Programm tut zumindest einmal alles, um nicht übersichtlich und logisch strukturiert etc. zu sein.
Ich glaube, Gotos zählen (meist) eher zu den schlechten Angewohnheiten ...
Erzähl' doch mal, was hast du alles an deinem Mega8 hängen und was bringt dich dazu, deinen RAM nicht vernünftig auszunutzen?
Mein Ansatz wäre folgender: Je nach Anzahl der Eingangssignale würde ich diese entweder getrennt auf Interrupteingänge geben oder aber in einer Schleife pollen (*schauder*)
Dann ist die Sache ganz einfach:
Normalzustand: Gesichert, kein Timer läuft.
Kommt der Entsichern-Impuls, wird der Status (repräsentiert als Enum, Byte oder Whatever) umgeschaltet auf Scharf.
Gleichzeitig wird ein Timer aktiviert und auf deinen gewünschten Timeout eingestellt, evtl. musst du noch eine zusätzliche Zählvariable einführen um deine Wartezeit zu erreichen.
Dann gibt es zwei Möglichkeiten:
1. Der Feuerimpuls kommt, da der Zustand "scharf" ist, zündest du die Rakete, deaktivierst den Timer und wechselst in den Zustand gezündet. Alle Interrupts werden deaktiviert, vor einem Reset macht der ATMega garantiert nichts mehr.
2. Deine Timervariable überschreitet deinen Grenzwert, in der ISR wechselst du zurück in den gesicherten Modus und deaktivierst den Timer.
Diese Aktionen können natürlich auch zur Rückmeldung Ausgangspins entsprechend konfigurieren, ich würde die Ausgänge aber nicht als Variablen missbrauchen, wenn der RAM nicht extrem knapp wird ...
mfG
Markus
Nachtrag: Wie machst du die Schaltung kurzschlusssicher? Wie hinderst du den ATMega daran, durchzudrehen, wenn sich ihm ein Teil X (Ersetze X durch ein beliebiges Flugzeug/Raketenteil) durch den Chip bohrt (Absturz!)
Wie verhinderst du bei eine Lochrasterplatine, dass bei dieser im Falle eines Bruchs nicht die falschen Enden Kontakt miteinander bekommen?
ja mit dioden usw. es kann immer etwas passieren, nur so is es erstmal sicherer. Ich finde meine Methode besser als Zwei Servos mit zwei Schaltern und einem Relais.
Was die Programmierung angeht, so arbeite ich lieber so, als das ich hinterher wieder ihrgendwelche probleme bekomme. Natürlich hast du recht, das man das auch anders machen kann, nur ich mache es so. Ausserdem läuft das Programm so! Diese aussage kann jetzt natürlich auch als ausrede gewertet werden, aber ich habe mal angefangen mit nen C64 zu proggen. Da gabs die ganzen Befehle auch noch nicht und ich habe auch so einiges geschrieben, was gegen Bascom ein Witz ist.
Hunni
Ich verbeuge mich vor dir....
Kann ja funktionieren, gotos sind trotzdem unschön.
Wie du das Ding kurzschlusssicher machen willst, hast du immer noch nicht geschrieben.
klar sind gotos nicht die schönste methode, nur das is halt meine Angewohnheit
Das mit dem Verbeugen war doch jetzt nur n scherz oder, C64 is zwar im erstn Moment einfach, aber Prog mal n Spiel auf n C64 oder so. Da haste zum beispiel nich die Befehle Locate, Color usw. sondern das muste alles über Pokes wie zum beispiel POKE 2380,0 ich glaub der war das für n Hintergrund. Mit Locate is es noch dämlicher, will ich aber jetzt nicht erklären, da das auch mit Pokes gemacht wird.
HUnni
uf und was machst mit den undefinierten zuständen an den pins beim einschalten ?
ich würde so was ehr ohne µC machen oder ne manuelle absicherung ein damit der avr nicht ausversehn die rakete startet
wie meinst du das? entweder is der an oder aus.
Ausserdem is das Prog ja noch nich fertig und ich will ja erstma die schaltung und das testen.
Atmels haben keine Undefinierten Zustände beim Einschalten, sondern gehen alle auf Input mit aktiviertem Pullup .....
Ein Watchdog sollte bei einer solchen Anwendung (wenn überhaupt) NIEMALS fehelen, ebenso wie der Brown-Out Detect ....
Datenblatt lesen .... machen ....
Um einen Zünder zuverlässig zu zünden ist auch nicht nur ein Port-Pin notwendig sondern ebenfalls eine Messung dessen (Durchgangsprüfung) und ein Leistungs-Fet und ein Kondensator um die Leistung schalten zu können (Es wird hier mit Kuzschlussströmen gearbeitet)
Hilfreich sind hier mit Sicherheit die Schaltungen für ein Zündgerät für Modellraketen welche an einen µC angepasst werden können...
Ich lege hiermit nochmals das VETO gegen eine solche Anwendung ein, da durch solche "Experimente" das Leben eines aktiven Raketenmodellbauers noch erschwert wird. Wir sind aufgrund der Gesetzeslage (Umgang mit Explosionsgefährlichen Stoffen) immer ein Dorn für die "öffentlche Hand". Fehlgeschlagene Experimente die zudem noch auf einer unsicheren Zündmethode beruhen sind nicht akzeptabel.
Und .. Ich bitte mal den Modellflieger der seine Raketen da starten möchte zu fragen, ob denn Modellraketen MIT VERSICHERT sind .... Modellraketen sind normalerweise von der Modellhaftpflicht AUSGESCHLOSSEN!!!
viele Grüße
CharlyMai