-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Wie ein Projekt zugänglicher machen?

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269

    Wie ein Projekt zugänglicher machen?

    Anzeige

    Hallo!
    Wie der eine oder andere evtl. mitbekommen hat entwickle ich zur Zeit ein Open source Tricopter Projekt. Der Copter ist in Bascom programmiert und wird per ISP-Programmer programmiert. Genau die letzteren beiden Dinge sind ein Problem. Die Leute, die den Copter nachbauen wollen, haben in den seltesten Fällen einen ISP Programmer oder gar Bascom. Es ist aber zur Inbetriebnahme notwendig einige Parameter (z.B. Gyroempfindlichkeit etc.) auf das eigene Setup anzupassen.

    Nun möchte ich das Ganze gerne benutzerfreundlicher gestalten. Ich hatte an folgendes gedacht: Der potentielle Nachbauer erhält (z.B. von mir) einen vorprogrammierten Arduino mini pro (oder er erhält den compilierten Code und spielt den selber per ISP Programmer ein). Jetzt soll der Benutzer mit einem Tool (vorzugsweise ein GUI) die notwendigen Parameter einstellen können. Der µC (ein mega16 muss also per RS232 Daten erhalten die er dann dauerhaft speichert. Nach welchen Stichworten muss ich hier suchen? Gibt es evtl. ein Beispiel wo man mal sehen kann wie per RS232 Daten dauerhaft im µC gespeichert werden? Ist das ganze überhaupt eine sinnvolle Idee? Oder fällt jemandem von euch eine praktikablere Lösung ein?

    Der Arduino selber wird ja, soweit ich weiss, mit einem Bootloader ausgeliefert. Kann man wohl mit dem Arduino Tool fertig compilierte Dateien hochladen? das wäre sehr praktisch, dann könnte jeder selber meinen kompilierten Bascom Code per RS232 und Bootloader auf den Arduino überspielen.
    Danke für eure Tipps und Ideen.
    Viele Grüße, William
    -> http://william.thielicke.org/

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Bammel
    Registriert seit
    11.12.2004
    Ort
    Bremen
    Alter
    30
    Beiträge
    1.400
    hmm ich glaube das wird schwer... da müsstest du bestimmt in dem hexfile rumfummeln... den nen compiler wirst de so glaube ich kaum bekommen...

    aber ich finde das tut auch nicht not.. wenn leute schon ein opensource projekt bauen wollen sollten sie auch die anderen mittel zu verfügung haben.. oder in der lage sein sich diese zu verschaffen. ist ja immernoch günstiger als was zu kaufen.

    nen ISP Programmer ist ja auch kein ding da gibt es ja ne variante mit nur, ich glaube, 5 widerständen.. Bascom gibt es als demo umsonst... aber ich glaube dein code passt nicht mehr in die demo stimms?

    es gibt doch nen commandline compiler von Bascom hat der auch dei beschränkung?

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Ich habe jetzt herausgefunden, dass der Standard Bootloader auf einem Arduino wohl wie ein ISP-Programmer erkannt wird (stk500v1). D.h. ich kann mit avrdude die Hexdatei per RS232 auf den Arduino brennen. Jetzt bräuchte ich nur noch Iden und Tipps wie ich das mit dem dauerhaften Parametrieren am besten machen kann......

    @Bammel: Das mit dem Programmer ist für normale Copterflieger aber eine ganz schön große Hürde und abschreckend...
    [offtopic]
    Hast du das Ladegerät schon ausprobiert? Und stell dir vor, hatte ja erzählt dass ich den Motorenhersteller angeschrieben hatte und das Video etc. geschickt hatte. Heute bekomme ich Antwort von einem netten Herren, der total begeistert war und mir nun extra angefertigte Prototypen (leichter+mehr Leistung) schicken will für lau!! Mensch, das Internet geht echt sowas von ab... \/ [/offtopic]
    Viele Grüße, William
    -> http://william.thielicke.org/

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Hi,
    wenn du eine GUI erstellen willst, über die man bestimmte Parameter eingeben kann, so können diese per RS232 an den µC geschickt werden und dort im EEPROM gespeichert werden. Somit sind die Werte auch nach dem Ausschalten verfügbar und können einfach wieder geladen werden. (Diese Methode verwende ich auch bei meinem IMADEIT-V3)
    Stichworte hierzu sind in der BASOM-Hilfe EEPROM und DIM. Da solltest du eigentlich alles finden, was du suchst.
    Einziger Nachteil dieser Sache, ein EEPROM kann nicht beliebig oft beschrieben werden. Irgendwann ist schluss. Jedoch scheint es mir nicht so, als müsste man diese Werte ständig ändern, weshalb das bei deinem Fall kein Problem darstellen sollte.

    Viele Grüße,
    jon
    Nice to be back after two years
    www.roboterfreak.de

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.08.2004
    Ort
    Graz
    Beiträge
    342
    Bei den Bascom Samples ist auch ein RS232-Bootloader enthalten. Den könntest du anpassen, dass er auch auf andere Befehle als ASCII 123 (Empfange Programm) reagiert, um damit zb. im Eeprom abgespeicherte Werte zu ändern.
    PC-seitig wäre das im Endeffekt die Hex-Datei (Firmware-Updates sind so auch einfacher), die Standalone-Bootloaderprogrammer Version von MCS und ein eigenes kleines Konfigurationsprogramm für die Einstellungen.
    Ausliefern müsstest du nur mit dem Bootloader vorprogrammierte µC.

    So ein Paralell- oder Seriell-Port Programmer (zum selbst flashen vom Bootloader) ist ja wirklich nicht sehr aufwändig, ist aber denke ich aus Gewichtsgründen direkt auf der Platine nicht optimal
    Ein Kompromiss wäre zb. den Programmer auf einem aus der Hauptplatine "herausbrechbaren" Stück unterzubringen.

    mfg

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    Danke für eure Tipps, da werde ich mich mal mit auseinandersetzen und bei Problemen oder Erfolg laut geben ;-D
    Viele Grüße, William
    -> http://william.thielicke.org/

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Hallo Willa,

    du sendest doch schon seriell. Dann richte doch einfach den Empfang ein:
    Code:
    Config Serialin = Buffered , Size = 40 , Bytematch = 13
    jetzt wird beim Empfang des "Enter" ein Interrupt ausgelöst. Damit der deine Regelung nicht zu sehr bremst, setzt du nur einen Flag:

    Code:
    '---------------------------------------------------------------------------
    '     Serial0charmatch
    '
    '     In the Inputbuffer i recieved a "13"
    '     Set only a Flag
    '---------------------------------------------------------------------------
    
    Serial0charmatch:
        Cr_received = 1
    Return
    Danach entferne noch ein ev. vorhandenes "10" am Anfang des Strings und schicke den String an einen Parser

    Code:
       If Cr_received = 1 Then                                  'check the Buffer
          Cr_received = 0
          Input Serinpstr
          'cut LFs from the String
          While Asc(serinpstr) = 10
             Strsize = Len(serinpstr) - 1
             Serinpstr = Right(serinpstr , Strsize)
          Wend
          Call Parser
       End If
    Mein Parser teilt dann den Befehl in Moduladresse, Befehl und Wert auf.

    z.B.: 0:123=456

    Modul 0 erhält den Befehl 123 es soll der Wert 456 gesetzt werden.
    Jetzt noch ein
    Code:
    Writeeeprom Wert , Speicherzelle
    und schon könnte man in jedem Terminal mit Hilfe eines Standard Seriellkabels Werte ins EEPROM des ATMega schreiben.
    Den RS232-Wandler hast du ja schon auf der Platine.

    Wenn du willst kann ich dir den ganzen Telemetrieteil meines Vertikal-Duokopters mailen

    Günter[/code]

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von Bammel
    Registriert seit
    11.12.2004
    Ort
    Bremen
    Alter
    30
    Beiträge
    1.400
    also ich finde jon's vorschlag am besten und leichtesten umzusetzen...
    edit: günter hats ja schon erklärt


    @Bammel:
    [offtopic]
    Hast du das Ladegerät schon ausprobiert? Und stell dir vor, hatte ja erzählt dass ich den Motorenhersteller angeschrieben hatte und das Video etc. geschickt hatte. Heute bekomme ich Antwort von einem netten Herren, der total begeistert war und mir nun extra angefertigte Prototypen (leichter+mehr Leistung) schicken will für lau!! Mensch, das Internet geht echt sowas von ab... [/offtopic]
    [offtopic]
    ne hab ich noch nicht. noch ist der akku auch noch bei 11,3volt hab die letzten tage viel auf arbeit zu tun und hatte dann abends keine lust mich mit dem roboter usw. zu befassen. sonntag komm ich vllt dazu. habe eben zwar ein wenig programmiert aber ich verwerfe das ganze programm wieder. ich muss mir erstmal auf nen block ne skizze machen wie ich was umsetzen will/muss.

    das mit den motoren ist ja mal pornös!!! wie machst du das immer??? dann hast ja fast den ganzen tricopter für lau. bis auf akku und kleinteile.

    ich will auch sachen für lau haben
    bzw. würde ich sogar gerne nen tricopter haben
    [/offtopic]

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    @Günter: Vielen Dank, das sieht schon mal nach einem sehr guten Ansatzpunkt für mich aus. Ich glaube aber, ich werde nach dem Einschalten des Copters 1 Sekunde lang auf ein serielles Signal warten, wenn nichts empfangen wurde kann man fliegen, wenn was empfangen wurde ist man im Programming mode. Dadurch wird die Regelung dann gar nicht beeinflusst.
    dir den ganzen Telemetrieteil meines Vertikal-Duokopters mailen
    Den Vertikal Duokopter würde ich sehr gerne mal sehen!! Gibts Videos?

    Edit:
    Kannst du vielleicht auch noch mal den Code deines Parsers zeigen? Ich hätte zwar auch eine Idee (z.B. den String "A12345" senden, String auf das Vorkommen eines A's überprüfen, das A abschneiden, Variable "A_received" auf 1 setzen und den Rest des Strings verwerten), aber vielleicht hast du ja eine elegantere Möglichkeit?
    Viele Grüße, William
    -> http://william.thielicke.org/

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Den Vertikal Duokopter würde ich sehr gerne mal sehen!! Gibts Videos?
    Du hast das übersehen

    http://www.gerold-online.de/cms/wheelie/videos.html

    Der Parser ist recht umfangreich und warscheinlich in diesem Fall mit Kanonen auf Spatzen geschossen, aber ich hänge ihn an.

    Dein Ansatz ist richtig, so läufts auch bei mir.
    Jedoch beim Wheelie liegt die ganze Regelung in einem Interrupt (alle 10ms), der Parser in der Hauptschleife. So ist sichergestellt, daß die Regelung im festen Rythmus abgearbeitet wird. Wenn gerade nichts zu tun ist wird das Serielle erledigt. Der Parser eskaliert mit der Zeit sowieso, wenn man mal Blut geleckt hat. Zur Laufzeit zahllose Parameter zu verändern und die Auswirkungen zu beobachten macht Laune

    Günter
    Angehängte Dateien Angehängte Dateien

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •