Ich hab den Thread zwar nicht ganz durchgelesen, aber vor ein paar Tagen das hier gefunden: http://biobug.org/index.php/2010/04/...ycle-computer/
Vielleicht gibts da noch ein paar Ideen zu holen.
LG
Druckbare Version
Ich hab den Thread zwar nicht ganz durchgelesen, aber vor ein paar Tagen das hier gefunden: http://biobug.org/index.php/2010/04/...ycle-computer/
Vielleicht gibts da noch ein paar Ideen zu holen.
LG
Ich verwende den SS496A1.
Platinengröße 35x7mm - diese wird komplett vergossen. Magnet am Schaltgestänge - nicht am Hebel.
[EDIT].... das war das falsche (alte) Layout
mmmh grad bei RS geguckt....der Sensor kostet leider 2,80€ =( also nichts fürs Projekt.....leider :/
Das ist doch für die Schule ;), in meinen Augen hast du schon recht viel zusammen und eine ordentliche Ausarbeitung. Ich würde einfach mal fragen wie das mit Sponsoring (Mustern) aussieht... eigentlich, so meine Erfahrungen lässt sich da oft was machen...
Naja morgen erstmal Lehrer fragen was er davon hält das ich das so mache 8-[ . Vielleicht findet er es gut vielleicht aber auch nicht, dann hab ich natürlich Pech gehabt. Und ansonsten an der Ausarbeitung feilen wir noch etwas und muss morgen auch erstmal die anderen 2 aus meiner Gruppe auf den gleichen Stand bringen. Mal schauen morgen gibbet sicher paar neue Infos.
Bei unserem Mopped ist das Problem das der Hebel zwar den vollen Weg zurücklegen kann aber deshalb der Gang noch nich drin sein muss
Sodele......
Hab nun soweit ein Demoprojekt fertig und es funktioniert auch einwandfrei.
Das hier ist erstmal der Schaltplan:
http://s10.directupload.net/file/d/2...f2kqx8_pdf.htm
Die beiden Lötjumper sind dafür da damit man den Tiny noch programmieren kann, weil ich nicht genau wusste ob an den Anschlüssen Spannung anliegen darf während man programmiert.
Das hier ist einer der zwei Sensoren:
http://s5.directupload.net/file/d/2162/k96zw73u_jpg.htm
Bei den Sensoren handelt es sich um TL4095 und das sind Hallsensoren mit integriertem Schmitt-Trigger und Open-Collector Ausgang.
Hier kann man das Ergebniss auf meinem RN-Control sehen. Der Widerstand oben in der Ecke ist dafür da um den Pin, der für den Neutralgang da ist und der immer auf 4,5V liegt, auf GND zu ziehen sobald die erste Schleife abgearbeitet wurde und man normalerweise im Motorrad einen Gang drin haben würde.
So und zu allerletzt noch der Code für den Controller. Eigentlich war der Code für einen Tiny24 gedacht aber da ich es erstmal mit meinem RN-Control testen wollte musst ich die Regfile und den Crystal etwas ändern.
Code:'Mikrocontrollereinstellungen:
$regfile = "m32def.dat" 'Einstellen des verwendeten Chips
$crystal = 16000000 'Taktfrequenz (hier der Takt aus dem
'internen kalibrierten Oszillator
'Variablen:
Dim Gang As Byte 'Festlegen der Variable und des Types
Dim Ort As Byte
Dim Zelle As Byte
Dim Loeschen As Byte
Dim R As Byte
Dim Gangneu As Byte
'Ports:
Config Portc = 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"
Config Pinb.3 = Input 'Gangwahl
Declare Sub Speichern
Declare Sub Nullstellung 'Deklarieren der Sub-Programme
Declare Sub Schalten
Declare Sub Lesen
R = 255
Zelle = 0
Ort = 0
Gangneu = 0
Gang = 0 'Variable "Gang" wird auf 0 gesetzt
If Pinb.0 = 0 Then Call Lesen 'Unterprogramm "Lesen" wird aufgerufen
Gang = Gangneu 'Gang wird mit dem Inhalt der Variable
'Gangneu beschrieben
Do 'Das eigentliche Do-Loop Programm
If Pinb.0 = 1 Then Gang = 0 'Wenn der Neutralgang eingelegt wird, wird
'die Variable Gang auf 0 gesetzt
If Pinb.0 = 1 Then Call Nullstellung 'Abfragen des Ports für Neutralstellung
Waitms 100 'und ausführen der entsprechenden Sub-Routine
If Pinb.0 = 0 Then Call Schalten 'Low-Abfrage für den Port für die Nullstellung
Waitms 100
Call Speichern 'Unterprogramm "Speichern" wird aufgerufen
Waitms 100
If Gang = 0 Then Ddrc = &B00000000
If Gang = 1 Then Ddrc = &B00000001 'Anzeigen des Variablenwertes auf der
'7-Segment Anzeige (hier Wert 1)
If Gang = 2 Then Ddrc = &B00000010
If Gang = 3 Then Ddrc = &B00000011
If Gang = 4 Then Ddrc = &B00000100
If Gang = 5 Then Ddrc = &B00000101
If Gang = 6 Then Ddrc = &B00000110
Loop
End 'Programmende
Sub Nullstellung 'Festlegen der Sub-Programme
While Gang = 0 'Beginn der WHile-Schleife
If Pinb.2 = 0 Then Gang = Gang + 1 'Gang wird um eins erhöht wenn der
'untere Hall-Sensor aktiviert wird
If Pinb.1 = 0 Then Gang = 2 'Gang wird auf 2 gesetzt wenn der
'obere Hallsensor auf GND gezogen
Wend 'wird (falls man direkt von Neutral auf 2 Schaltet)
'Ende der While-Schleife
End Sub 'Sub-Programm Ende
Sub Schalten(byval Gang As Byte) 'Festlegen des zweiten Sub-Programmes
If Pinb.1 = 0 And Pinb.2 = 0 Then Waitms 10
If Pinb.1 = 0 Then Gang = Gang + 1 'Gang wird um 1 erhöht wenn der obere
'Sensor gegen GND gezogen wird
If Pinb.2 = 0 Then Gang = Gang -1 'Gang wird um 1 verringert wenn der
'untere Sensor gegen GND gezogen wird
If Gang < 1 And Pinb.2 = 0 Then Gang = 1 'Wenn Gang 1 eingelegt ist und runtergeschaltet wird
'wird die Variable "Gang" auf 1 gesetzt
If Gang > 5 And Pinb.3 = 1 Then Gang = 5 'Gänge sind auf 5 beschränkt
If Gang > 6 Then Gang = 6
End Sub 'Sub-Programm Ende
Sub Speichern(byval Gang As Byte) 'Unterprogramm "Speichern" wird begonnen
Writeeeprom Gang , Ort 'Schreibt die Variable "Gang" in die Speicher-
'zelle die durch die Variable "Ort" festgelegt
'wird
Loeschen = Ort - 1 'Variable "Loeschen" ist Variable "Ort" nur um
'eins verringert
Writeeeprom R , Loeschen 'Schreibt in die Zelle die durch die Variable
'"Loeschen" festgelegt wird den Inhalt der Variable
'"R"(255)
Ort = Ort + 1 'Variable "Ort" wird um eins erhöht
End Sub 'Sub-Programm Ende
Sub Lesen(byval Gangneu As Byte) 'Unterprogramm "Lesen" wird begonnen
Zelle = 0
Readeeprom Gangneu , Zelle
While Gangneu = 255
Zelle = Zelle + 1
Readeeprom Gangneu , Zelle
Wend
End Sub 'Sub-Programm Ende
...hier wird übrigens ein ähnliches Projekt vorgestellt :
http://www.electronics-lab.com/proje...006/index.html
Ja so habe ich es auch gemacht. Nur meine Platine ist etwas größer (glaube so ca 50x50mm). Wollte es eigentlich auch am Mittwoch zusammen mit der Präsentation vorführen aber durch einen sau blöden Fehler mit den Fusebits hab ich mir den Reset-Pin weggefused und ich hatte keine möglichkeit innerhalb von zwei Tagen einen neuen Tiny zu bekommen ](*,)
Deswegen konnte ich es nur mit meinem RN-Control zeigen aber es hat 1a funktioniert.......
Mal schauen ob man da noch ein bischen was hinzufügen kann.
Hi Crazy Harry, hi Hall-Spezialisten.
So ein hübsches Gimmik versuche ich grad auch aufzubauen. Allerdings will ich so zwischendurch wohl zusätzlich ne Glaubwürdigkeitsprüfung mithilfe von Drehzahlmesser und Tacho einbauen. Deren Signale habe ich schon geprüft - da suche ich nur noch passende Optokoppler.
Ist der SS496A1 einigermassen "optimal" oder lag der bei Dir grad rum? Ich hatte den gesucht und bei Mouser Electronics, München, gefunden. Hoffentlich liefern die auch an "normale Sterbliche. BTW: Hättest Du noch nen Tipp für nen Minimagneten ? Denn das Teil, das ich für meinen (digitalen) Tacho an die linke Bremsscheibe (Bandit GSF600) gebaut hatte, würde vermutlich beide Sensoren gleichzeitig ansprechen. Danke schon mal für die Hilfe.