Hoe werkt de snelheidsmeter precies?

draadjes, lampjes
Plaats reactie
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Ik begreep volgens mij dat de sensor op de bak zit, zo ja welke sensor is dit en welk signaal geeft deze af?
Is dat een puls of een voltage?

De snelheidsmeter wijkt af en ik zit te denken aan een 15 tandwiel voor, maar dan gaat de teller nog meer afwijken.
een speedo healer van 80 euro vind ik wat te veel van het goede, dat moet vast anders opgelost kunnen worden toch?

als het met een variabel voltage werkt kan er misschien een weerstand tussen, als het met pulsen werkt heb ik geen flauw idee ;D
Martien_1000
DL1000 berijder
Berichten: 123
Lid geworden op: za 26-04-2008, 21:38
Mijn motor is een: Suzuki V-strom DL 650 L2 Touring
Woonplaats: Oosterhout NB

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Martien_1000 »

Bij de 1000 worden er pulsen van het voortandwiel geteld.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Matig, dus daar is niet veel aan te doen zonder microcontroller ::)

ik zag wel dat de speedo met 0v-5v werkt, wellicht dat je daar nog iets met een weerstandje kan beginnen?
Laatst gewijzigd door Sanscorp op di 17-06-2014, 11:21, 1 keer totaal gewijzigd.
Gebruikersavatar
SN0Wman
DL650 berijder
Berichten: 143
Lid geworden op: za 24-08-2013, 14:29
Mijn motor is een: was een Suzuki V-Strom DL 650
Woonplaats: Nijmegen

Re: Hoe werkt de snelheidsmeter precies?

Bericht door SN0Wman »

Geen idee hoe het werkt, maar ik heb begrepen dat Suzuki standaard een 15 tands tandwiel voor zet. Als je nu een grote afwijking hebt, kan het dus met een 15 tands minder worden.
Groeten,
Rudy
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Da's bij een 650, de 1000 heeft een 17T tandwiel.

Ik wil kleiner, dus 16T en dan word de afwijking alleen maar groter ;)
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

Sanscorp schreef:Matig, dus daar is niet veel aan te doen zonder microcontroller ::)

ik zag wel dat de speedo met 0v-5v werkt, wellicht dat je daar nog iets met een weerstandje kan beginnen?
Een puls kun je niet met een weerstand beïnvloeden. De 0 is geen puls, de 5 volt is de puls die geteld wordt. Zet je er een weerstand in dan wordt de puls misschien 4 volt maar daar heb je niks aan want dat verandert niks aan het te tellen aantal pulsen. Hooguit herkent de teller de puls niet meer als hij onder de drempelspanning valt. In feite moet je dan een frequentieregelaar hebben die ertussen zit en de pulsen dichter of verder uit elkaar zet. Zal best wel bestaan en is zeker te maken, maar ik ken ze niet en kan ze zelf niet ontwerpen.
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Inmiddels was ik daar ook achter idd ;)
er zijn zat DIY bordjes te vinden maar daar zit dus inderdaad een kristal in en die moet overeen komen met de pulsen van je fiets.
ook moet je een microcontroller programmeren, iets wat mij niet zo gaat lukken.

1 op 1 een bordje kopieren zou kunnen werken, het is wel voor de Suzuki maar dat geeft geen garantie voor succes.
Gebruikersavatar
Dyrck
DL650 berijder
Berichten: 1124
Lid geworden op: za 27-01-2007, 17:20
Mijn motor is een: DL650 'De CAMOleon' (2006) en een DL650A (2019)
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Dyrck »

Afgezien van de afwijking door een ander tandwiel is er ook nog de afwijking die Suzuki standaard in de teller heeft zitten.
Ik rijd met een 14-tands tandwiel voor en heb gemerkt dat vergeleken met de GPS-snelheidsmeter in mijn Garmin de teller van de motor als volgt afwijkt:
Teller 50 = 50 GPS
Teller 100 = 110 GPS
Teller 200 = 185 GPS

Het vreemde vind ik dat tot 50 de afwijking minimaal is en dat deze naar boven toe steeds meer afwijkt.
Alsof het marketingtechnisch wel goed uitkomt dat de klant kan zeggendat ie harder dan 200 kan :mrgreen:
Groeten;
Dyrck


VStrom '06: Olive is the New Black
Vstrom '19: Mooi rood is niet lelijk
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

marketing is wel 1 van de hoofdredenen denk ik.
Sowieso wijken alle tellers af, ook in de auto, volgens mij is dit enigszins verplicht.

Los van het feit dat het kosten besparend is om de boel massa te kunnen fabriceren tov per motor calibreren en dus de chip die in de unit zit na assemblage te moeten herschrijven, in alle techniek zit wel wat marge dus de ene motor zal meer afwijken dan de ander. Da's niet haalbaar voor Suzuki.

Koop je een met de hand gebouwde Ducati nieuw dan zal dit wel het geval zijn.
Gebruikersavatar
SN0Wman
DL650 berijder
Berichten: 143
Lid geworden op: za 24-08-2013, 14:29
Mijn motor is een: was een Suzuki V-Strom DL 650
Woonplaats: Nijmegen

Re: Hoe werkt de snelheidsmeter precies?

Bericht door SN0Wman »

Sanscorp schreef: Sowieso wijken alle tellers af, ook in de auto, volgens mij is dit enigszins verplicht.
Klopt, wettelijk gezien mogen ze nooit een te lage snelheid aangeven (anders zou je situaties kunnen krijgen dat je geflitst wordt terwijl je je netjes aan de snelheid houd volgens je metertje). Aangezien fabrikanten niet alle snelheidsmeters kunnen ijken en bijvoorbeeld ook je bandenspanning (wielomtrek) van invloed is op de gemeten snelheid, zullen snelheidsmeters altijd een hogere snelheid aangeven dan dat je daadwerkelijk rijd. Waarom er nog geen meters zijn op basis van GPS met als fallback een sensor in wiel/motor is mij ook een raadsel. Vele nauwkeuriger en zo duur is die techniek nou ook weer niet...

Maar we dwalen af :P
Groeten,
Rudy
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Daarom zou ik hem zelf graag willen corrigeren/ calibreren.
Mja eerst maar ff wat meer info er over opzoeken, misschien werkt het bordje wat ik heb gevonden wel?
Gebruikersavatar
Voogie
DL1000 berijder
Berichten: 386
Lid geworden op: di 19-04-2011, 18:01
Mijn motor is een: Suzuki V-strom DL1000 '05
Woonplaats: Spijkenisse
Contacteer:

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Voogie »

Bij mij is de afwijking nog hoger.
50 op de teller - 50 GPS
110 op de teller - 100 op GPS
145 op de teller - 130 op GPS
220 op de teller - 189 op GPS

Die laatste snelheid het afgelopen weekend gereden op de Duitse autobahn. :-)

verzonden vanaf mijn Sony Experia
Blije DL1000 rijder!
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

Je kunt je natuurlijk ook afvragen; hoe belangrijk is dat allemaal? Sowieso rijd je langzamer dan de teller aangeeft, dus gunstig voor de portemonnee en uiteindelijk gaat het om het gevoel dat je hebt bij het rijden met een bepaalde snelheid. Niet wat dat getal op die snelheidsmeter vermeldt, lijkt mij tenminste.
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Mijn ervaring is dat te langzaam rijden tov het overige erkeer alleen maar gevaarlijke situaties oplevert.
Veel te anel natuurlijk ook en dat maakt een juiste indicator voor mij persoonlijk heel belangrijk.

Daarnaast is het gewoon verdomd handig, ik wil altijd zo'n 104 rijden waar je 100 mag en 124 waar je 120 mag, precies 130 waar je 130 mag.

Als je altijd gps hebt is dat makkelijk, ik moet het echter met een iphone doen (en ja dat is net zo erg als dat het klinkt ;D) en heb hem eigenlijk alleen aan als dat nodig is.

De iphone raakt oververhit, is langzaam en de accu is na een half uur van 100% naar 50 of minder.
Als ik gebeld word is de accu leeg voordat ik thuis ben en dat wil ik niet, stel er gebeurd iets of geeoon simpelweg omdat ik het richtingsvermogen van een steen heb... Ik verdwaal al vrijwel direct zodra ik kom waar ik niet vaker ben geweest..

Dus een goede speedo is voor mij wel de moeite waard om er in te duiken.

Nu rij ik 119 als ik 103 wil rijden op de teller, leuk maar niet accuraat.
En 129 als ik 123 wil rijden.
Gebruikersavatar
Cplegt
DL650 én DL1000 berijder
Berichten: 1391
Lid geworden op: zo 17-04-2011, 18:01
Mijn motor is een: Suzuki V-strom DL1000 & 650
Woonplaats: Enschede

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Cplegt »

Kijk even op pcnautic.nl
Hij heeft waterdichte telefooncases en waterdichte opladers, ook voor Iphones.
Een vriend van mij rijd er ook naar tevredenheid mee.
Gr. Chiel
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

Dan blijft het feit dat je visueel op getalletjes, maar niet gevoelsmatig rijdt. Want waarom is het zo belangrijk aan die grens te rijden? Ik heb dat ook weleens omdat je sneller wilt en dan het meeste eruit wilt halen zonder over de legale grenzen te gaan en dus dan de snelheidsmeter in de gaten houdt. Maar anders, en dan bedoel ik eigenlijk de snelheden die je nog in Duitsland kunt en mag rijden, zolang je maar in het juiste gebied rijdt, dan is het voor mij meer het gevoel dan een getalletje op de snelheidsmeter. En dan boeit mij dat getal op die snelheidsmeter niet meer.
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Nou ja je zegt het zelf al, op de legale grens rijden en "toch het meeste er uit halen" is 1
Gevoelsmatig rijdt iedereen te snel te hard, dus ik kijk regelmatig op de teller ja. Vind het ook een stukje controle over de motor, natuurlijk kan ik redelijk horen aan het toerental of ik "stabiel" op 1 snelheid rij.

Verder vind ik het gewoon een leuke uitdaging die net zo goed te hoog gegrepen kan zijn ;)
TT-Strom
EX- V-Strom berijder
Berichten: 1247
Lid geworden op: vr 07-12-2007, 20:32
Mijn motor is een: BMW R1200GS Adventure
Woonplaats: Assen

Re: Hoe werkt de snelheidsmeter precies?

Bericht door TT-Strom »

Ik zou zeggen, wat Rob ook al aangeeft: rijd op je gevoel en kijk wat de rest van het verkeer doet.
Of je dan 3 of 4 km te hard rijd, lekker belangrijk.

Kijk bijna nooit op mijn snelheidsmeter, ik let op het verkeer en geniet......

En we hebben al genoeg regeltjes in Nederland...... Gaat motor rijden ook niet een beetje over het spelen met de regeltjes en juist gebruik maken van de mogelijkheden van de fiets....?
Wie altijd met beide benen op de grond staat, komt nooit een stap verder.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Totdat je die mooie brief van het cjib krijgt ;)
Ja tuurlijk, gevoel doet een hoop, maar met de dl1000 zit ik ook al snel op 70 als je even het gas er op doet :D
Maar goed, het is meer een fun project en als het kan voor 10 euro, waarom dan niet?

Houd mij weer bezig op een regenachtige zaterdag!
RuudV59

Re: Hoe werkt de snelheidsmeter precies?

Bericht door RuudV59 »

De sensor zit op het voorwiel, dat was in iedergeval op mijn DL 650 2009 Adventure ABS versie. Dit weet ik zeker want die is bij 35k vervangen, 2k later gevolgd door de voorwiellagers dus misschien oorzaak gevolg.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

op de DL1000 zit deze bij het voorste tandwiel.
maar het ging mij meer om te elektronische werking. inmiddels weet ik hoe of wat maar moet ik nog een ontwerp uitproberen.

eerst nog even het zadel projectje afronden ;) :duim:
Gebruikersavatar
Eikie
EX- V-Strom berijder
Berichten: 7821
Lid geworden op: zo 25-11-2012, 23:12
Mijn motor is een: Honda CRF1000A dè Africa Twin
Woonplaats: Oud Beijerland

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Eikie »

Een achtertandwiel met 1 of 2 tandjes minder geen optie?
Groeten, René
It was only when I bought a motorbike that I found out that adrenaline is brown.
V-Strom 2011 DL650A GS Honda CRF1000A dè Africa Twin
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Nee juist niet omdat dit de de handling niet ten goede komt.
Ik ga juist 1 tandje kleiner voor, wat de afwijking nog groter maakt maar het rijplezier ten goede komt.
Gebruikersavatar
Bozobin †
DL650 berijder
Berichten: 2175
Lid geworden op: do 27-01-2011, 15:13
Mijn motor is een: Suzuki V-strom DL 650 L0
Woonplaats: Delft
Contacteer:

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Bozobin † »

Het werkt hoe dan ook met pulsen, wat jij zoekt is de afgelegde afstand tussen 2 pulsen en of/waar dat in te stellen is.
Die fietsmetertjes werken ook zo. soms stel je cm in, soms wielmaat.
--
Suzuki DL650 V-Strom 2011 (Strompel)

Honda Accord 1.8 Vtec 2002
Burstner Club 1986

(Licht)beschadigde delen DL650 V-Strom L0 te koop
http://www.facebook.com/kees.vanleeuwen ... 407&type=3
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Principe is hetzelfde, techniek in de teller is alleen anders, niet instelbaar.
Tenzij je, zoals iemand op het duitse tl forum, je teller herprogrammeert. Dat zou me op zich wel lukken, ware het niet dat ik van de hex niks kan maken ;)

Dan is er nog een tweede optie, een bordje met chip welke je ook moet programmeren. Hier is kant en klare software voor, zelfs het design staat online, maar ik weet niet zeker of dit op de strom werkt.

Hoop uitzoekwerk, maar wellicht waard om het te proberen. Voor nu ligt het in de koelkast, tenzij iemand wat meer zekerheid kan geven / kan helpen ;)
Gebruikersavatar
Eikie
EX- V-Strom berijder
Berichten: 7821
Lid geworden op: zo 25-11-2012, 23:12
Mijn motor is een: Honda CRF1000A dè Africa Twin
Woonplaats: Oud Beijerland

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Eikie »

Sanscorp schreef:Nee juist niet omdat dit de de handling niet ten goede komt.
Ik ga juist 1 tandje kleiner voor, wat de afwijking nog groter maakt maar het rijplezier ten goede komt.
Verhouding tussen voor- en achtertandwiel is 1:3
Je kunt beter kleinere stapjes nemen dan gelijk 1 tand op het voortandwiel. 1 of 2 tandjes meer op het achtertandwiel is meer dan genoeg.
Groeten, René
It was only when I bought a motorbike that I found out that adrenaline is brown.
V-Strom 2011 DL650A GS Honda CRF1000A dè Africa Twin
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Te laat, heb het voortandwiel 16 al liggen ;)

Sowieso moet je dan aan een langere ketting en laat ik die nou ook al hebben.
Als het niet bevalt ga ik voor 10 euro wel terug naar 17 voor en zie ik bij de volende kettingset wel of ik 1 achter groter kan.

Achter kost ook meer, 40 euro volgens mij, die wissel je ook niet zo makkelijk als voor, maar ach we zien t wel
Basvandamme

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Basvandamme »

Waarom niet gewoon een Speedohealer ertussen? Installen is een makkie, en er is een Online calculator

Heb ik bij de Z ook gedaan om mijn bijna 11% afwijking te corrigeren (ook kleiner voortandw)
Gebruikersavatar
Eikie
EX- V-Strom berijder
Berichten: 7821
Lid geworden op: zo 25-11-2012, 23:12
Mijn motor is een: Honda CRF1000A dè Africa Twin
Woonplaats: Oud Beijerland

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Eikie »

TomTom of Garmin geven ook de juiste snelheid aan. Net zo makkelijk !
Groeten, René
It was only when I bought a motorbike that I found out that adrenaline is brown.
V-Strom 2011 DL650A GS Honda CRF1000A dè Africa Twin
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Het is een fun project, kant en klaar kopen vind ik niet fun.
Tt rider is meer dan 300 euro
Speedohealer 80

Ik wil t voor 10
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

Dat is de frequentieregelaar die ik eigenlijk bedoelde, kon alleen niet op de naam komen. :duim: Kost ca. 79 euro en is wel de gemakkelijkste oplossing. Voor 10 euro zal ook wel kunnen denk ik. Misschien even zoeken op het WWW. Er moet toch ergens een kloon van te vinden zijn, want zoveel stelt het niet voor. Het enige dat er gedaan moet worden is de tijd tussen de pulsen veranderen naar die van je keuze. Een IC-tje en een paar weerstanden zal het ongeveer wel moeten zijn. Alleen welke zou ik niet weten. Maar als je het wel weet is het met het schema zo in elkaar gesoldeerd.
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Er zit een chip op waar wat software in moet, maar dat is wel te vinden ;)
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

En nog eentje.

Afbeelding

Originele link.
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

juistem, die laatste ben ik dus ook al tegen gekomen ;)
zal eens vragen of het mogelijk ook op een strom gaat werken :duim:
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

Ik zou niet weten waarom niet. Het is een input van een frequentie (puls/tijd verhouding) en een output van een frequentie. Zolang het met potmeters of dipswitches instelbaar is zou het, indien binnen het frequentiebereik, moeten kunnen werken. Maar mogelijk dat je hier of daar een weerstandje of condensatortje moet aanpassen. Maar informatie verzamelen kan natuurlijk nooit kwaad en kost zo ook niks. Ik ben benieuwd waar het op uit gaat komen. Ik zou ook de eerste niet meteen negeren, die is een stuk eenvoudiger. Alleen heeft die wat minder en alleen vaste instellingen.
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

De tweede heeft idd meer mogelijkheden. Het lijkt mij ook universeel maar je moet wel de pinout achterhalen :)
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

ga me er toch maar aan wagen, de eerste dan.
geen idee hoe en of ik weerstanden moet aanpassen aan mijn motor, heb me ingeschreven op het forum maar wacht nog steeds op de bevestiging van de admin...

kan het schema namaken, heb een seriele PIC programmeerder gemaakt (ook van componenten) en denk dat het daarmee wel moet lukken om de PIC16F88 te programmeren.

zo niet dannuh, ben ik 10 euro armer en heb ik een hoop geleerd en wat componenten over voor een volgend experiment :frusty: :worship:
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

ik vind het wel grappig, nu voor het eerst in mijn leven een PIC microchip geprogrammeerd met een DIY JDM programmer.
Het ziet er misschien niet super mooi uit en ik heb de programmer 3x moeten maken (ik had het schema voor een specifiek stuk HW gevolgd...) maar ik heb 2 chips kunnen programmeren en daarmee de bouw van de calibrator kunnen voltooien.

Nu nog "even" 12v er op zetten en kijken of de boel POEF zegt of dat het zomaar in 1x gaat werken :schater:

de programmer:
Afbeelding

En de speedo calibrator:
Afbeelding
Afbeelding

Dit zijn de schema's die ik heb gevolgd:
Calibrator:
Afbeelding

programmer:
Afbeelding
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

Kun je niet beter zelf een printplaatje maken dat compacter is door het op een koperplaat te "tekenen" en met ijzerchloride te etsen. Zo deed ik het in het verleden meestal. Bovenstaande printplaten gebruikte ik voor experimentele opzet. Of is dat dit ook? Belangrijkste is natuurlijk dat het werkt. Dan kan compact maken altijd nog.
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Etsen heb ik nog nooit gedaan, komt nog wel.
Als dit werkt ga ik het in smd proberen. Overigens is mijn bordje nu al veel compacter dan de tekening.

Belangrijkste nu is dat het werkt en nu loop ik vast..
De code werkt niet denk ik. Dus ik moet iemand hebben die de code na kan kijke en om wil zetten (source naar hex voor de pic16F88
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

Dat etsen is niet moeilijk. Ik weet niet wat er tegenwoordig allemaal voor verkrijgbaar is, ik praat over 25-30 jaar geleden. Maar met wrijfpatronen (net als plakletters) maak je het schema. Dan gaat het plaatje in de ijzerchloride en na een tijdje, ik weet niet meer hoe lang, maar dat gaat vrij snel, is het koper dat bloot lag verdwenen. Dan nog de gaatjes boren en solderen maar.

Wat is de source, ik bedoel in welke taal of format staat die? Zal ongetwijfeld een conversieprogrammaatje voor te downloaden zijn. Vroeger wel in Assembler gewerkt en daar had je ook conversiemogelijkheden voor o.a. om het om te zetten naar Hex. Maar ook dat is al weer heel lang geleden dat ik me daar mee bezighield. Jaren tachtig.

Zoek maar eens op printplaat etsen, dan kom je genoeg info tegen om ermee te beginnen.

Een alternatieve manier.
Printplaatmaterialen.
Programma's om PCB lay-outs te maken.
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

Dat etsen maak ik me niet druk om, en dat komt ook zeker nog wel eens! Voor nu moet ik eerst dit pakketje werkend zien te krijgen.

Ik heb al wat gelezen, het schijnt niet heel simpel te zijn in de zin van 1:1 overzetten naar hex.

De source is vrij groot, 16 pagina's aan tekst, deze staat op pagina 2 van het honda topic:

http://www.vtr1000.org/phpBB3/viewtopic ... 3&start=15
Kan nu zo snel op de iphone de tekst niet kopiëren.

Ik vermoed geschreven in C en niet in C++
Laatst gewijzigd door Iron Horse op do 04-09-2014, 20:34, 1 keer totaal gewijzigd.
Reden: (Externe) links a.u.b. tussen [url] link [/url] tags plaatsen.
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

; TMR2 is used as a way to detect when the rear wheel speed comes to a stop.
; More precisely, when the VSS frequency drops below a certain frequency. TMR2 is
; configured to run at a frequency that will allow it to more quickly detect this
; (more quickly than the watch dog timer, that is). Normally, the Interrupt
; service routine (DoINT) will be clearing the watch dog timer, and the TMR2
; overflow counter. If the rear wheel stops (thus no Interrupts from the VSS)
; then the TMR2 interrupts will be allowed to occur. If more than three TMR2
; interrupts arrive (that's a VSS frequency of just less than about 8 Hz),
; then the TMR2 interrupt routine will disable other interrupts
; and stop the CCP1 module, which in turn halts the output signal to the speedo.
; Shortly there-after, the watchdog timer will expire, and the processor will
; reset, effectively re-initializing the whole routine.
;
; TMR1 is configured to run at 500KHz. The minimum frequency that can be
; supported by the CCP1 module is therefore about 8Hz. In the
; bootstrap portion of the main loop (used to detect initial wheel rotation),
; pre-loading the TMR1 registers with 7530h allows for the maximum amount of time
; (or minimum frequency) to be detected. In other words, the VSS frequency has to
; be at least 8Hz before control is allowed to proceed beyond the "Begin" loop,
; and into the main "Loop".

ERRORLEVEL -302 ;remove message about using proper bank

;***** Declarations and microcontroller configuration *****
PROCESSOR 16f88
#include "p16f88.inc"
__CONFIG _CONFIG1, _CP_OFF&_CCP1_RB3&_DEBUG_OFF&_WRT_PROTECT_OFF&_CPD_OFF&_LVP_OFF&_BODEN_ON&_MCLR_OFF&_PWRTE_ON&_WDT_OFF&_INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF&_FCMEN_OFF

;**********************************************************************************************************
;***** Declaration of variables *****
FAST equ H'20' ; fast or slow correction
SWITCH equ H'21' ; DIP switch reading
CAP1L equ H'22' ; capture 1 timer value
CAP1H equ H'23'
CAP2L equ H'24' ; capture 2 timer value
CAP2H equ H'25'
CAPDIFFL equ H'26' ; capture difference
CAPDIFFH equ H'27'
TEMPDIFFL equ H'28' ; Temp cature difference
TEMPDIFFH equ H'29'
OLDCOMPL equ H'2A' ; old compare timer
OLDCOMPH equ H'2B'
NEXTCOMPL equ H'2C' ; next compare timer
NEXTCOMPH equ H'2D'
COMPL equ H'2E' ; compare timer
COMPH equ H'2F'
NEWCOMPL equ H'30' ; new compare timer
NEWCOMPH equ H'31'
NEWCOMPVALID equ H'32' ; new compare done flag
CAPDIFFUPDOK equ H'33' ; capture difference done flag
TMR2OF equ H'34' ; Timer2 overflow flag
PORTA4 equ H'35' ; Output port on/off flag

; Math variables
AA0 equ H'40' ; Division dividend
AA1 equ H'41'
AA2 equ H'42'
BB0 equ H'43' ; Division divisor
BB1 equ H'44'
CC0 equ H'45' ; 32 bit result from multiply
CC1 equ H'46'
CC2 equ H'47'
CC3 equ H'48'
REMB0 equ H'49' ; Division remainder
REMB1 equ H'4A'
LOOPCOUNT equ H'4B' ; Division loopcount
CFL equ H'4C' ; Correction factor
CFH equ H'4D'
DELAY1 equ H'4E' ; Delay/Loop registers
DELAY2 equ H'4F'
DELAY1_2 equ H'50'
d1 equ H'51'


;Save register area
W_TEMP equ H'70' ; Used to save registers when an interrupt occurs
STATUS_TEMP equ H'71'

;**********************************************************************************************************
;***** Program memory structure *****
ORG 0x00 ; Reset Vector
goto Init ; After reset jump to location

ORG 0x04 ; Interupt vector
goto IntSvc ;

;**********************************************************************************************************
IntSvc
; Save W & STATUS
movwf W_TEMP ;Copy W to W_TEMP register
swapf STATUS,W ;Swap status to be saved into W
;Swaps are used because they do not affect the status bits
movwf STATUS_TEMP ;Save status to bank zero STATUS_TEMP register

;**********************************************************************************************************
IntDispatch
banksel 0
btfsc INTCON,INTF ; Are we handling a INT on RB0? (input)
goto DoINT ; Yes

banksel PIR1
btfsc PIR1,CCP1IF ; Are we handling a CCP1 (compare) interrupt? (output)
goto DoCCP1 ; Yes

btfsc PIR1,TMR2IF ; Are we handling a Timer2 interrupt? (input stopped)
goto DoTMR2 ; Yes

;**********************************************************************************************************
IntSvcExit
; Restore W & STATUS
banksel 0
swapf STATUS_TEMP,W ; Swap STATUS_TEMP register into W
; (sets bank to original state)
movwf STATUS ; Move W into STATUS register
swapf W_TEMP,F ; Swap W_TEMP
swapf W_TEMP,W ; Swap W_TEMP into W

retfie
;**********************************************************************************************************
DoCCP1
bcf PIR1,CCP1IF ; Clear the CCP1IF interrupt flag
banksel 0

btfsc PORTA4,0 ; Check if output port is on
goto $+3 ; jump if yes
bsf PORTA,4 ; switch on (FF)
goto $+2
bcf PORTA,4 ; switch off (00)
comf PORTA4,F ; flip value

; Calculate a new Compare timer value
; CCPR1 = COMP + CCPR1
btfss NEWCOMPVALID,0
goto $+5
movfw NEWCOMPH
movwf COMPH
movfw NEWCOMPL
movwf COMPL

movfw CCPR1H
movwf OLDCOMPH
movfw CCPR1L
movwf OLDCOMPL

movfw OLDCOMPH
addwf COMPH,W
movwf NEXTCOMPH

movfw OLDCOMPL
addwf COMPL,W
movwf NEXTCOMPL

btfsc STATUS,C
incf NEXTCOMPH,F

movfw NEXTCOMPH
movwf CCPR1H

movfw NEXTCOMPL
movwf CCPR1L

goto IntDispatch

;**********************************************************************************************************
DoINT
bcf INTCON,INTF ; Clear the INT interrupt flag
movfw TMR1H
movwf CAP2H
movfw TMR1L
movwf CAP2L

movfw TMR1H
subwf CAP2H,W
btfsc STATUS,Z
goto $+5

movfw TMR1H
movwf CAP2H
movfw TMR1L
movwf CAP2L

btfss CAPDIFFUPDOK,0
goto MoveCAP2toCAP1
; Calculate new capture timer diff.
; CAPDIFF = CAP2 - CAP1
movfw CAP1H
subwf CAP2H,W
movwf CAPDIFFH
movfw CAP1L
subwf CAP2L,W
movwf CAPDIFFL
btfss STATUS,C
decf CAPDIFFH,F

MoveCAP2toCAP1
movfw CAP2H
movwf CAP1H
movfw CAP2L
movwf CAP1L

clrf TMR2OF ; Clear overflow flag and timer
clrf TMR2
clrwdt ; Clear WDT timer to indicate program still running

goto IntDispatch

;**********************************************************************************************************
DoTMR2
bcf PIR1,TMR2IF ; Clear the TMR2IF interrupt flag
banksel 0

incf TMR2OF,F
btfss TMR2OF,2 ; Have we overflowed 2 times yet?
goto IntDispatch ; No

banksel PIE1 ; Shutdown interrupts and let the WDT timeout restart everything
bcf PIE1,CCP1IE
banksel INTCON
bcf INTCON,INTE
clrf CCP1CON ; Turn the CCP1 module off
bcf T1CON,TMR1ON ; Turn Timer1 off
bcf T2CON,TMR2ON ; Turn Timer2 off
bsf PORTA,4 ; Turn on PORTA,4 to switch off Q2

goto IntSvcExit

;**********************************************************************************************************
Init
; Initialize the system clock oscillator frequency
banksel OSCCON
bsf OSCCON,IRCF2 ; IRCF2:IRFC1:IRFC0 = b'111'
bsf OSCCON,IRCF1 ; Configure the internal clock to run at 8MHz
bsf OSCCON,IRCF0

; Initialize the Watch Dog Timer (WDT) period select for approx 1/4 second timeout.
; But leave the WDT disabled, we'll enable it later.
; We configure the period select configuration bits to scale this down to give us an approx
; 1/4 sec timeout. 31,250 Hz / 8192 = 3.81 Hz = 262ms
banksel WDTCON
movlw B'00010000' ; period select = 1:8192, SWDTEN = 0 (off)
movwf WDTCON
banksel OPTION_REG
bcf OPTION_REG,PS2 ; PS2:PS0 = 000 means prescaler 1:1
bcf OPTION_REG,PS1
bcf OPTION_REG,PS0


; Initialize A/D converter
banksel ANSEL
clrf ANSEL ; Make all port pins digital

; Initialize PORTA
banksel PORTA
clrf PORTA
banksel TRISA
movlw B'01000000'
movwf TRISA ; Make PORTA all output except RA6


; Initialize PORTB
banksel PORTB
clrf PORTB
banksel TRISB
movlw B'11111111'
movwf TRISB ; Make PORTB all input
banksel OPTION_REG
bcf OPTION_REG,NOT_RBPU ;Enable PortB pull-ups

; Initialize Timer1
banksel T1CON
bsf T1CON,T1CKPS1 ; Prescaler 1:4 (500Khz)

; Initialize Timer2
banksel PR2
movlw .169 ;169
movwf PR2
banksel TMR2
clrf TMR2
clrf TMR2OF
movlw B'1111111' ; Turn Timer 2 on, Postscaler 1:16, Prescaler 1:16
movwf T2CON


; Initialize CCP1
banksel CCP1CON
movlw B'00000000' ; CCP1 off
movwf CCP1CON

; Initialize RAM variables
banksel 0
clrf PORTA4
clrf CFH
clrf CFL
bsf PORTA,4 ;Turn on PORTA,4 to switch off Q2

call RD_SW
goto Begin
;**********************************************************************************************************
RD_SW ; Read switch settings
TstRet

clrf FAST
clrf SWITCH

btfss PORTA,6 ; Read fast or slow setting
bsf FAST,0 ; if low set bit0 in FAST

movf PORTB,W ; Read PortB
andlw B'11111110' ; Strip bit 0 (RB0 not needed)

movwf SWITCH
bcf STATUS,C
comf SWITCH,f
rrf SWITCH,f ; Rotate remaining bits to the right

PWR
movf SWITCH,w
xorlw H'7F' ; LED test setting
btfsc STATUS,Z ; if equal
goto PWRTest

Freq
movf SWITCH,w
xorlw H'7E' ; 440Hz Output Test
btfsc STATUS,Z ; if equal
goto FREQTest

Freq1
movf SWITCH,w
xorlw H'7D' ; 1.02KHz Output Test
btfsc STATUS,Z ; if equal
goto FREQTest1K

Vss
movf SWITCH,w
xorlw H'7C' ; VSS Input Test
btfsc STATUS,Z ; if equal
goto VSSTest

; Check if fast or slow switch is set
btfss FAST,0 ; Is bit0 set (slower)?
goto $+5 ; yes
; Set correction factor to be faster
movf SWITCH,W
addlw .100 ; Add 100 to switch value
movwf CFL
goto $+4
; Set correction factor to be slower
movf SWITCH,W ; Subtract switch value from 100
sublw .100
movwf CFL

Return
;**********************************************************************************************************
; Check to see if we're moving faster than a crawl
Begin
clrf TMR2
clrf TMR2OF

bcf T1CON,TMR1ON ; Turn Timer1 off

movlw 0x75 ;Prefills timer registers
movwf TMR1H
movwf CAP1H
movlw 0x30
movwf TMR1L
movwf CAP1L
bcf PIR1,TMR1IF ; Clear the Timer1 interrupt flag
btfsc PORTB,0 ; Wait for RB0/INT to go low
goto $-1
btfss PORTB,0 ; Wait for RB0/INT to go high
goto $-1
bsf T1CON,TMR1ON ; Turn Timer1 on
btfsc PORTB,0 ; Wait for RB0/INT to go low
goto $-1
btfss PORTB,0 ; Wait for RB0/INT to go high
goto $-1
btfsc PIR1,TMR1IF ; Did Timer1 overflow?
goto Begin ; Yes, so start over

movfw TMR1L ; Capture Timer1 value
movwf CAP2L
movfw TMR1H
movwf CAP2H


; Calculate first compare timer value.
; CAPDIFF = CAP2 - CAP1
movfw CAP1H
subwf CAP2H,W
movwf CAPDIFFH

movfw CAP1L
subwf CAP2L,W
movwf CAPDIFFL

btfss STATUS,C
decf CAPDIFFH,F

movfw CAPDIFFH
movwf COMPH
movwf CCPR1H

movfw CAPDIFFL
movwf COMPL
movwf CCPR1L

movfw CAP2H
movwf CAP1H

movfw CAP2L
movwf CAP1L

banksel WDTCON
bsf WDTCON,SWDTEN ; Turn the watchdog timer on

; Set up interrupts
banksel INTCON
bcf INTCON,INTF
bcf PIR1,CCP1IF
bcf PIR1,TMR2IF
bsf INTCON,INTE
banksel OPTION_REG
bsf OPTION_REG,INTEDG
banksel PIE1
bsf PIE1,CCP1IE
bsf PIE1,TMR2IE
banksel 0
bsf INTCON,PEIE
bsf INTCON,GIE
movlw B'00001010' ; CCP1 = Compare mode on
movwf CCP1CON

;**********************************************************************************************************
; Main Loop
Loop
call RD_SW
bcf CAPDIFFUPDOK,0 ; Clear ok flag and copy registers
movfw CAPDIFFH
movwf TEMPDIFFH
movfw CAPDIFFL
movwf TEMPDIFFL
bsf CAPDIFFUPDOK,0 ; Set ok flag

call CalcNewCompare

bcf NEWCOMPVALID,0 ; Clear valid flag and copy new values
movfw TEMPDIFFH
movwf NEWCOMPH
movfw TEMPDIFFL
movwf NEWCOMPL
bsf NEWCOMPVALID,0 ; Set valid flag

goto Loop

;**********************************************************************************************************
CalcNewCompare
; Calculate the percentage correction
; The latest capture diff contains the number of Timer1 ticks that occured for one cycle of
; the input frequency.
; Divide 500,000 (Timer1 is running at 500Khz) by the latest of capture diff, giving the
; frequency in Hz.

movlw 0x07 ; 500,000 = 0x07A120
movwf AA0
movlw 0xa1
movwf AA1
movlw 0x20
movwf AA2
movfw TEMPDIFFH
movwf BB0
movfw TEMPDIFFL
movwf BB1

call DIV24x16 ; divide prescaler freq by counted ticks during 1 cycle

movfw AA1
movwf AA0
movfw AA2
movwf AA1
movfw CFH
movwf BB0
movfw CFL
movwf BB1

call MUL16x16 ; Multiply result by correction factor

movfw CC1
movwf AA0
movfw CC2
movwf AA1
movfw CC3
movwf AA2
movlw high .100
movwf BB0
movlw low .100
movwf BB1

call DIV24x16 ; Divide the result by 100

movfw AA1
movwf BB0
movfw AA2
movwf BB1
clrf AA0

movlw 0x07 ; 500,000 = 0x07A120
movwf AA0
movlw 0xa1
movwf AA1
movlw 0x20
movwf AA2

call DIV24x16 ; Answer gives the total time for 1 cycle

movfw AA1
movwf TEMPDIFFH
movfw AA2
movwf TEMPDIFFL

DIV2
; Divide by 2 to give the period for each on and off time for 1 cycle (50% duty)
clrc
rrf TEMPDIFFH, f
rrf TEMPDIFFL, f

skpc
goto no_inc
incf TEMPDIFFL, f
skpnz
incf TEMPDIFFH, f
no_inc


return

;**********************************************************************************************************
; Unsigned 16*16 bit Multiply AA(16) * BB(16), Result (CC) is 32bit
; adapted from code found on www.piclist.com
;
; params
; AA 0:1 (MSB:LSB) = number to multiply (16bit)
; BB 0:1 (MSB:LSB) = multiplier (16bit)
; CC 0:3 (MSB:LSB) = Product (32bit)

MUL16x16
clrf CC0
clrf CC1
clrf CC2
movlw 0x80
movwf CC3

nextbit
rrf AA0,F
rrf AA1,F

btfss STATUS,C
goto nobit_l
movfw BB1
addwf CC2,F

movfw BB0
btfsc STATUS,C
incfsz BB0,W
addwf CC1,F
btfsc STATUS,C
incf CC0,F
bcf STATUS,C

nobit_l
btfss AA1,7
goto nobit_h
movfw BB1
addwf CC1,F
movfw BB0
btfsc STATUS,C
incfsz BB0,W
addwf CC0,F

nobit_h
rrf CC0,F
rrf CC1,F
rrf CC2,F
rrf CC3,F

btfss STATUS,C
goto nextbit

return

;**********************************************************************************************************
;Divide a 24 bit number by a 16 bit number, resulting in a 16 bit number
;Inputs:
; Dividend - AA0:AA1:AA2 (0 - most significant!)
; Divisor - BB0:BB1
;Temporary:
; Counter - LOOPCOUNT
; Remainder- REMB0:REMB1
;Output:
; Quotient - AA0:AA1:AA2
;
DIV24x16
clrf REMB0
clrf REMB1
movlw .24
movwf LOOPCOUNT
LOOPU2416
rlf AA2,W ;shift dividend left to move next bit to remainder
rlf AA1,F
rlf AA0,F

rlf REMB1,F ;shift carry (next dividend bit) into remainder
rlf REMB0,F

rlf AA2,F ;finish shifting the dividend and save carry in AA2.0,
;since remainder can be 17 bit long in some cases
;(e.g. 0x800000/0xFFFF). This bit will also serve
;as the next result bit.

movf BB1,W ;substract divisor from 16-bit remainder
subwf REMB1,F
movf BB0,W
btfss STATUS,C
incfsz BB0,W
subwf REMB0,F
;here we also need to take into account the 17th bit of remainder, which
;is in AA2.0. If we don't have a borrow after subtracting from lower
;16 bits of remainder, then there is no borrow regardless of 17th bit
;value. But, if we have the borrow, then that will depend on 17th bit
;value. If it is 1, then no final borrow will occur. If it is 0, borrow
;will occur. These values match the borrow flag polarity.
skpnc ;if no borrow after 16 bit subtraction
bsf AA2,0 ;then there is no borrow in result. Overwrite
;AA2.0 with 1 to indicate no borrow.
;if borrow did occur, AA2.0 already
;holds the final borrow value (0-borrow,
;1-no borrow)

btfsc AA2,0 ;if no borrow after 17-bit subtraction
goto UOK46LL ;skip remainder restoration.

addwf REMB0,F ;restore higher byte of remainder.
;(w contains the value subtracted from it previously)
movf BB1,W ;restore lower byte of remainder
addwf REMB1,F
UOK46LL
decfsz LOOPCOUNT,F ;decrement counter
goto LOOPU2416 ;and repeat the loop if not zero.

return
;**********************************************************************************************************
; As short collection of test routines to confirm installation is ok.


PWRTest ; Flashes LED to show its working
movlw 0x5
movwf d1
LEDFlash
bsf PORTA,7 ; turn on LED
call Delay_0
bcf PORTA,7 ; turn off
call Delay_0
decfsz d1,1
goto LEDFlash ; Do it again...
bcf PORTA,7
goto TstRet

Delay_0
movlw 0x08
movwf DELAY1
movlw 0x2F
movwf DELAY2
movlw 0x03
movwf DELAY1_2
Delay_01
decfsz DELAY1, f
goto $+2
decfsz DELAY2, f
goto $+2
decfsz DELAY1_2, f
goto Delay_01
return


;**********************************************************************************************************
FREQTest ; Outputs ~ 400Hz test signal to speedo
movlw 0xFF
movwf d1
bsf PORTA,7 ; Turn on LED to show in test mode
FREQ400
bsf PORTA,4 ; turn on
call Delay_02a
bcf PORTA,4
call Delay_02a
decfsz d1,1
goto FREQ400 ; Do it again...
bcf PORTA,7
goto TstRet
Delay_02a
movlw 0xC2
movwf DELAY1
movlw 0x02
movwf DELAY2
Delay_021a
decfsz DELAY1, f
goto $+2
decfsz DELAY2, f
goto Delay_021a
return

;**********************************************************************************************************
FREQTest1K ; Outputs ~ 1KHz test signal to speedo
movlw 0xFF
movwf d1
bsf PORTA,7 ; Turn on LED to show in test mode
FREQ1K
bsf PORTA,4
call Delay_02
bcf PORTA,4
call Delay_02
decfsz d1,1
goto FREQ1K ; Do it again...
bcf PORTA,4
goto TstRet

Delay_02
movlw 0xc2
movwf DELAY1
movlw 0x01
movwf DELAY2
Delay_021
decfsz DELAY1, f
goto $+2
decfsz DELAY2, f
goto Delay_021
return
;**********************************************************************************************************
; Test mode to detect VSS is working when the wheel is rotated by hand
; LED will flash on each detected pulse from the VSS.
VSSTest
movlw 0x0A ; Needs 10 pulses before return to main prog
movwf d1
Test
btfsc PORTB,0 ; Wait for RB0/INT to go low
goto $-1
bsf PORTA,7 ; Turn LED off
btfss PORTB,0 ; Wait for RB0/INT to go high
goto $-1
bcf PORTA,7 ; Turn LED on
decfsz d1,1
goto Test
bcf PORTA,7
goto TstRet

;**********************************************************************************************************
End
;**********************************************************************************************************
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

inmiddels is het gelukt om de source code om te zetten naar HEX en heb ik exact hetzelfde bestand als op de honda site staat.
weer wat geleerd!

nu alleen nog debuggen, hardware OF software, beide geen ervaring mee en eigenlijk te weinig kennis, maar morgen iig de hardware maar opnieuw bekijken..
Hulp met de SW zou erg fijn zijn!!
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

HA!

ik heb in ieder geval het programma aan de praat gekregen!
Ik miste dus gewoon een +5v op de chip, na 1 draadje aangelegd te hebben knippert het LEDje zoals het hoort in testmodus.

daarom vind ik elektronica zo leuk, als je het eenmaal voor elkaar hebt geeft het voldoening O:-)
Gebruikersavatar
Iron Horse
Forum-moderator - Ex DL650 berijder
Berichten: 7552
Lid geworden op: vr 27-08-2004, 13:08
Mijn motor is een: Geen meer.
Woonplaats: Gendringen (Achterhoek)

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Iron Horse »

:duim:
:-)} Groeten, Rob. :bye:
Quote/citeer teksten alleen als het echt nodig is. Klik om te reageren op Plaats Reactie.

Kijk hier eens voor tips over quoten/citeren, antwoorden.
Gebruikersavatar
Sanscorp
DL1000 berijder
Berichten: 1144
Lid geworden op: vr 20-06-2008, 16:32
Mijn motor is een: DL1000 K2
Woonplaats: Almere

Re: Hoe werkt de snelheidsmeter precies?

Bericht door Sanscorp »

ik ben er nog niet helemaal, maar hier vast een linkje naar alle progs en zooi:

https://drive.google.com/folderview?id= ... sp=sharing
Laatst gewijzigd door Iron Horse op zo 07-09-2014, 17:45, 1 keer totaal gewijzigd.
Reden: (Externe) links a.u.b. tussen [url] link [/url] tags plaatsen.
Plaats reactie