- 12V Akku mit 280 Ah bauen         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 44

Thema: Ganganzeige für Motorrad

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Michael_238
    Registriert seit
    13.01.2010
    Ort
    83567 Unterreit
    Alter
    31
    Beiträge
    125
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Das Projekt finde ich super, bin mal gespannt was daraus wird.

    Gruß Michael

  2. #12
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Naja muss mich nächste Woche erstmal mit meinen Gruppenmitgliedern kurzschließen, aber ich denke das wir das so machen werden ^.^. Leider haben wir von unserem Lehrer ein maximales Platinenkapital von 5€ gegeben bekommen und dementsprechend kann ich das mit dem LDR als Helligkeitsanpassung nicht machen, weil das das Budget überschreitet =(. Aber die Idee mit den Jumpern für die maximale Gangzahl werd ich denk ich mal aufgreifen.

  3. #13
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    So ich habe ein neues Problem. Und zwar will ich das die Schaltung auch bei abgeschalteter Spannung den Wert der Gang-Variable beibehält (für den Fall das einer im 4. Gang das Motorrad abstellt und die SPannung wegfällt und man dann wieder los fährt das die Anzeige nicht wieder bei 1 anfängt sondern bei 4). Für diesen Fall wollte ich vom Tiny24 das interne EEPROM verwenden. Und zwar soll das so aussehen das er jedesmal wenn sich die Variable ändert (also ein Gang hochgeschaltet wird) er diese Variable in eine Speicherzelle reinschreibt und dann eine Speicherzelle weiterspringt und dort die nächste neue Variable reinschreibt (das mach ich weil das EEPROM pro Zelle eine Lebensdauer von 100000 Schreibzyklen hat und man so die gesamt Lebensdauer des EEPROMs erhöht). Und beim Neustarten des Motorrads soll er halt die Zellen alle absuchen bis er bei der letzten Zelle ist und diesen Wert dann übernehmen und mit diesem weiterarbeiten.
    Kann mir da jemand helfen wie ich das in Bascom vernünftig programmieren kann? Weil mit EEPROM benutzen kenn ich mich nicht so wirklich aus.
    Danke schonmal

  4. #14
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.04.2006
    Ort
    Dortmund
    Alter
    36
    Beiträge
    379
    Ich würd da eventuell einen anderen Ansatz wählen: Die Verorgungsspannung über nen Elko puffern und über die Brownout detection der Controller den aktuellen Gang speichern im EEPROM. Dadurch haste nicht so viele Schreibzyklen und kannst einfach immer in die Gleiche Zelle schreiben. Bis du da 100000 Zyklen voll hast kannste schon ein bischen Motorrad fahren

  5. #15
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    mmmh also du meinst ich sollte am Tiny24 zwischen Vcc und GND einen 3F Elko z.B. schalten (hab auch 1F falls 3 zuviel ist ). Und wie bewerkstellige ich die Brownout Detection dann? Der rest ist ja dann mit der Detection zusammengekoppelt also wenn die dann ausgeführt wird speichert er die Variable in einer Speicherzelle.
    Kannst du mir da eventuell einen Ansatz geben wie man so eine Detection in Bascom programmiert? ODer macht man das mittels ADC? Und dann bräuchte ich auch noch Hilfe bei dem Befehl um die Variable ins interne EEPROM zu schreiben.....ich steig da nicht so ganz durch. Den Code habe ich bis auf die beiden punkte (hoffe) ich funktionsfähig fertig.

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.04.2006
    Ort
    Dortmund
    Alter
    36
    Beiträge
    379
    Ich glaube sogar das das hoffnungslos überdimensioniert ist. Überleg mal wie viele Takte es benötigt die Variable ins EEPROM zu schreiben und wie schnell der Controller arbeitet. Einen fixen Wert kann ich dir nicht nennen aber ich denke das 470µF reichen sollten. Ich denke mal das es hier einige Leute gibt die damit erfahrung haben. Ich selber habe das nie wirklich in der Praxis genutzt. Hängt auch alles davon ab wie viel deine Schaltung frisst an Strom.

  7. #17
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Naja gut zur not muss ich auf der Arbeit fragen ..... bin ja da bei Leuten die sowas studiert haben *hust* die können mir den ganzen Tag irgendwelche Formeln über sowas an den Kopf werfen.
    Und zu dem Breakout Detector hab ich mich etwas eingelesen. VErstehe ich das richtig das man in den Fuses ein Fuse-Bit setzen muss um den zu aktivieren und dann noch ein oder zwei extra Fuse-Bits um die Mindestspannung festzulegen? Und da steht das er bei aktivieren des Detectors einen Reset durchführt. Aber sowas will ich ja nicht er soll ja dann was ins EEPROM schreiben. WIe teile ich dem das mit das er das machen soll?

  8. #18
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    So hier mal ein kleiner Zwischenstatus des Projektes (Ohne Breakout-Detection):
    Schaltplan:
    http://www.filedealer.com/freeupload...e362c21a3c.pdf

    Quellcode für den Tiny24:
    Code:
    'Mikrocontrollereinstellungen:
    $regfile = "attiny24.dat"                                   'Einstellen des verwendeten Chips
    $crystal = 8000000                                          'Taktfrequenz (hier der Takt aus dem
                                                                 'internen kalibrierten Oszillator
    'Variablen:
    Dim Gang As Byte                                            'Festlegen der Variable und des Types
    
    'Ports:
    Config Porta = Output                                       'PortA wird als Ausgang festgelegt
    Config Pinb.0 = Input                                       'Neutralstellung
    Config Pinb.1 = Input                                       'Signal vom Sensor "oben"
    Config Pinb.2 = Input                                       'Signal vom Sensor "unten"
    
    
    Declare Sub Nullstellung                                    'Deklarieren der Sub-Programme
    Declare Sub Schalten
    
    Gang = 0                                                    'Variable "Gang" wird auf 0 gesetzt
    
    Do                                                          'Das eigentliche Do-Loop Programm
       If Pinb.0 = 1 Then Call Nullstellung Else Waitms 1000    'Abfragen des Ports für Neutralstellung
                                                                   'und ausführen der entsprechenden Sub-Routine
       If Pinb.0 = 0 Then Call Schalten Else Waitms 1000        'Low-Abfrage für den Port für die Nullstellung
    
    
       If Gang = 1 Then Ddra = &B00110000 Else Waitms 100       'Anzeigen des Variablenwertes auf der
                                                                  '7-Segment Anzeige
    
       If Gang = 2 Then Ddra = &B01101101 Else Waitms 100
    
    
       If Gang = 3 Then Ddra = &B01111001 Else Waitms 100
    
    
       If Gang = 4 Then Ddra = &B00110011 Else Waitms 100
    
    
       If Gang = 5 Then Ddra = &B01011011 Else Waitms 100
    
    
       If Gang = 6 And Pina.7 = 0 Then Ddra = &B00011111 Else Waitms 100
    
    
    Loop
    End                                                         'Programmende
    
    Sub Nullstellung                                            'Festlegen der Sub-Programme
       Gang = 0                                                 'Gang wird auf 0 gesetzt
       If Pinb.2 = 0 Then Gang = Gang + 1 Else Waitms 100       'Gang wird um eins erhöht wenn der
                                                                  'untere Hall-Sensor aktiviert wird
       If Pinb.1 = 0 Then Gang = 2 Else Waitms 100              'Gang wird auf 2 gesetzt wenn der
                                                                  'obere Hallsensor auf GND gezogen
                                                                  'wird (falls man direkt von Neutral auf 2 Schaltet)
    End Sub                                                     'Sub-Programm Ende
    
    Sub Schalten(byval Gang As Byte)                            'Festlegen des zweiten Sub-Programmes
       If Pinb.1 = 0 Then Gang = Gang + 1 Else Waitms 100       'Gang wird um 1 erhöht wenn der obere
                                                                  'Sensor gegen GND gezogen wird
       If Pinb.2 = 0 Then Gang = Gang -1 Else Waitms 100        'Gang wird um 1 verringert wenn der
                                                                  'untere Sensor gegen GND gezogen wird
    End Sub                                                     'Sub-Programm Ende
    Und ist der $EEPROM Befehl im Bascom dafür da das interne EEPROM des Controllers zu beschreiben?

  9. #19
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.04.2006
    Ort
    Dortmund
    Alter
    36
    Beiträge
    379
    Ich war eigentlich davon ausgegangen das eine ISR aufgerufen wird... Ich hab wie gesagt nie damit gearbeitet. Sorry wenn ich dich da auf eine falsche Idee gebracht haben sollte.

  10. #20
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Naja vielleicht hab das auch nur falsch gelesen. Ich werd da nochmal genauer nachschauen aber die idee ist gut.

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

12V Akku bauen