Hallo zusammen, ich bin dabei mir meinen eigenen Fahrradcomputer zu entwerfen. Ich habe jetzt einen Schaltplan entworfen, zu dem ich gerne eure Meinung hoeren wuerde. Insbesondere bin ich mir bei den folgenden Teilen nicht so sicher, ob das alles richtig ist: 1. USB-RS232: 1.1 RX/TX richtig verdrahtet? 1.2 RTS zum Reseten fuer Bootloaderbetrieb so moeglich? 1.3 Kann ich die 5V vom USB ueber die Diode D4 an VSS legen und damit den Akku laden? 1.4 3V3OUT <-> VCCIO richtig verbunden? 2. AC-DC: Klappt folgendes: Falls der Akku voll ist und die Schaltung nahezu keinen Strom verbraucht, dann steigt die Leerlaufspannung des Nabendynamos. Die Zenerdiode D3 beschraenkt die Spannung und wird warm, dadurch trennt der Thermoschalter die Schaltung vom Nabendynamo. 3. Rest: Fallen irgendjemand noch gravierende Fehler in den anderen Gruppen auf, oder gibt es Anmerkungen, was nicht so schoen ist und anders besser waere. Gut waeren auch Kommentare zu allem was so klappt. Vielen Dank allen, die sich die Muehe machen mal drueberzuschauen. Matthias P.S. Layout ist in der Mache und folgt bald.
Die Basis von Q3 offen zu lassen halte ich fuer gewagt. Traegst Du beim Radeln immer einen Rucksack? ;-) Gruss Michael
Und Vorsicht mit den Massepotenzialen, wenn der Dynamo auch noch was sinnvolles ;-) tun soll wie Licht versorgen! Gruss Michael
Michael Roek schrieb: > Die Basis von Q3 offen zu lassen halte ich fuer gewagt. Wie meinst du das? > Traegst Du beim Radeln immer einen Rucksack? > ;-) nein, eg nie! ;-) > Und Vorsicht mit den Massepotenzialen, wenn der Dynamo auch noch was > sinnvolles ;-) tun soll wie Licht versorgen! Stimmt das wollte ich auch noch fragen! Was muss ich da beachten? Gruss Matthias
Matthias K. schrieb: > Michael Roek schrieb: >> Und Vorsicht mit den Massepotenzialen, wenn der Dynamo auch noch was >> sinnvolles ;-) tun soll wie Licht versorgen! > > Stimmt das wollte ich auch noch fragen! Was muss ich da beachten? das deine Schaltungsmasse an keiner Stelle mit dem Rahmen in Kontakt kommen darf! Wenn das nicht gegeben ist kannst du nur einen Einweggleichrichter verwenden. Sascha
Sorry fuer die spaete Antwort. Also wenn die Masse meiner Schaltung nicht mit dem Rahmen in Kontakt kommt, dann kann geht es so? Ich habe auch mal ein Layout erstellt. Waere echt nett, wenn sich das mal jemand anschauen kann, habe das noch nicht so oft gemacht.
Hallo Matthias, und hast du deinen Radltacho zum laufen bekommen? Ich baue nämlich einen ähnlichen, komme aber ned wirklich weiter... Gruß Martin
Hallo Martin, der Tacho laeuft soweit ganz gut, ich habe noch ein paar Probleme mit der Ladeschaltung, aber sonst funktioniert schon einiges. Momentan ruht das Projekt aber. Wo liegen denn deine Probleme? Gruss Matthias
Matthias schrieb: > der Tacho laeuft soweit ganz gut, ich habe noch ein paar Probleme mit > der Ladeschaltung, aber sonst funktioniert schon einiges. Momentan ruht > das Projekt aber. Hallo Matthias, welchen MC verwendest du? Hast du deine Software in C geschrieben? Mein Tacho läuft auch schon. Trip und Uhr funktionieren einwandfrei. Nur bei der Geschwindigkeit habe ich probleme mit dem Timer, bis jetzt konnte ich noch keine Lösung finden :( Gruß Martin
Hi Martin, wo liegt das Problem mit dem Timer? Den Timer grundsätzlich an Gang zu bekommen oder den Logarithmus zur Bestimmung der Geschwindigkeit zu entwickeln? Gruß Dominik
Volker schrieb: > Wozu braucht es da einen Logarithmus? Der Autor hat das Wort "Algorithmus" falsch geschrieben und die Rechtschreibhilfe hat es "korrigiert".
Volker schrieb: > Wozu braucht es da einen Logarithmus? Um beim Multiplizieren gefahrene Strecken zu addieren ;-)
Martin Airmartl schrieb: > Hallo Matthias, welchen MC verwendest du? > Hast du deine Software in C geschrieben? Ich habe einen Atmega 644 verbaut. Software ist in C und laeuft eigentlich sehr gut. Schwierigkeiten habe ich bei Geschwindigkeiten oberhalb von 60km/h, da scheint entweder die Interrupt-Routine nicht mehr hinterherzukommen, oder die Detektierung der Signal vom Nabendynamo funktioniert halt doch nicht optimal. Welche Probleme hast du mit dem Timer? VG Matthias
Natürlich war der Algorithmus gemeint. Immer diese Wortfindungsschwierigkeiten... Du könntest einfach einen Reed-Kontakt nehmen, um die Radumdrehungen zu zählen. Vielleicht wäre das einfacher. Keine Ahnung, welche Werte du von deinem Dynamo bekommst.
Matthias schrieb: > Welche Probleme hast du mit dem Timer? Hallo Matthias, was bei meinem Tacho funktioniert: Trip zählen, Uhrzeit. was nicht funktioniert: Geschwindigkeit. Ich erfasse die Drehzahl über einen Reed Kontakt, das heißt ein Impuls pro umdrehung. Der Reed ist hardwaremäßig entprellt. Das entprellt signal löst einen PIN CHANGE Interrupt aus, der die Zeitdifferenz vom letzten interrupt ausrechnet und damit die geschwindigkeit ausrechnet. Das Ganze funktioniert auch im Prinzip, nur manchmal wird eine unplausible Geschwindigkeit berechnet. Wenn ich 100km/h fahre oder mit einem Frequenzgenerator simoliere, dann wird 100 angezeigt - aber manchmal springt der Wert dann auf 160km/h oder 84km/h oder 230..... Manchmal dauert es einige Minuten oder gar Stunden bis ein Fehler auftritt. Ich hab schon alles ausprobiert, verschiedene arten die Geschwindigkeit zu berechnen, aber immer das problem. Als ich vermutet habe das es an den Überläufen des Timers liegt, habe ich einen 32-Bit Software Timer hinzu programmiert, funktioniert aber auch nicht :( Hast du eine Idee? Oder kann mir jemand anders helfen??
Hallo Martin, da ich die Stromversorgung mit dem Nabendynamo realisiert hab, verwende ich die Frequenz des Nabendynamo um so wie du per Interrupt die Geschwindigkeit zu ermitteln (14 Interrupts pro Radumdrehung). Prinzipiell funktioniert meine Geschwindigkeitsberechnung gleich wie in deinem Code. Ich kann heute Abend mal die Routine raussuchen und hier einstellen. Was passiert bei Dir, wenn die Geschwindigkeit falsch angezeigt wird? Bleibt die dann falsch oder stellt sich wieder der Sollzustand ein? Das Problem mit sporadisch falschen Geschwindigkeiten habe ich auch, ich habe daher fuer die Ermittlung der Hoechstgeschwindigkeit eine Art Limitierung der Beschleunigung implementiert. Wahrscheinlich liegt da irgendwo der Fehler in meiner Implementation bei hohen Geschwindigkeiten. Ansonsten sind mir kurzzeitig falsche Geschwindigkeiten egal, ich schaue ja nicht unentweg auf den Tacho ;-)
Matthias schrieb: > Ansonsten sind mir kurzzeitig falsche Geschwindigkeiten egal, ich schaue > ja nicht unentweg auf den Tacho ;-) Hi Matthias, naja bei mir ist die Maximale Geschwindigkeit nicht egal, da ich diese als MaxSpeed abspeichere und diese anzeigen will. Matthias schrieb: > Was passiert bei Dir, wenn die Geschwindigkeit falsch angezeigt wird? > Bleibt die dann falsch oder stellt sich wieder der Sollzustand ein? Es wird nur ganz kurz die Falsche Geschwindigkeit angezeigt und dann wieder die richtige. Von dem her nicht soooo schlimm. Man könnte die Sprünge auch noch mit einem Filter abfangen, aber mein Problem sind die krassen Sprünge und die Speicherung als Max Speed.
Könnte es sein, dass deine Pinchange-ISR die Timer-ISR sporadisch blockiert und du somit ein Timerinterrupt verlierst? Dann würde der "Umdrehungszähler" die Umdrehungen für 2 Timer-Zyklen zählen statt für einen und die Geschwindigkeit sich somit verdoppeln...
Hallo Dominik, sollte das der Fall sein, dann müsste die angezeigte Geschwindigkeit/Drehzahl kleiner sein als die tatsächliche. Oder?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.


