Endlich geschafft!

Gast #441764
Lesenswert?
• ▲
▼
Hi!
Habe es endlich nach 2 Monaten hinbekommen!
Der Drehzahlmesser ist fertig!
Habe ich doch mit dem ADC gemacht.
Frequenz vom Unterbrecherkontakt in die Spannung mit dem LM2907 
umgerechnet, mit dem µC den ADC-Wert bestimmt, und in UpM umgerechnet!
FUNKTIONIERT!
Glückwunsch?! ;))))
Gast #441813
Lesenswert?
• ▲
▼
>Eine Frequenz mittels F/U Wandler -> A/D Wandler -> µC
>zu messen ist auch unsportlich :-)

Mit 13 und 'ner Menge Ungeduld hättest du das vielleicht auch so 
gemacht...
Jetzt hatte Alex wenigstens ein Erfolgserlebnis, und verwendet den ADC 
bis er ihm zu den Ohren herauskommt. Dann probiert er es vielleicht noch 
mal mit dem Timer...


PS: hab wohl mal wieder den Smilie vergessen...
Gast #441836
Lesenswert?
• ▲
▼
> Jetzt hatte Alex wenigstens ein Erfolgserlebnis, und verwendet den ADC
bis er ihm zu den Ohren herauskommt. Dann probiert er es vielleicht noch
mal mit dem Timer...

Genau :))))
aber eine frage habe ich trotzdem noch! ;)
er zeigt ja bei mir sowas " UpM 01125,125485 " als Drehzahl an.
ich weiss schon dass ich das was mit dem Befehl "format" machen soll, 
aber wie, weiss ich nicht!
Kann mir dabei noch jemand helfen?
Ich will da sowas wie xxx0 stehen haben, als die Letzte zahl immer Null. 
z.B 01120
und am besten die erste 0 wegmachen.


 $regfile = "m16def.dat"
 $crystal = 1000000

 Config Lcd = 20 * 4
 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , 
Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4

Config Adc = Single , Prescaler = Auto
Start Adc
Dim W As Word , Channel As Byte
Channel = 0
Cls
Locate 1 , 3
Lcd "Alex"
Locate 2 , 6
Lcd "Test"
Waitms 10000

Cls
Do
  W = Getadc(channel)
  Dim U As Single
U = 4.36 * W
U = U + 18.895
Locate 1 , 1
  Lcd "UpM " ; Channel ; U
  Waitms 2000
Loop


oder zumindestens einen Link, was hilfreich sein könnte! BItte!
Gast #441874
Lesenswert?
• ▲
▼
> Eine Frage hätte ich da auch.

ich habe es so gebaut:
frequenz in spannung umgewandelt.
beim kalten motor die Spannung am ausgang bei ca. 1000UpM - 0.7V 
gemessen!
Fg angeschlossen. frequenz hochgedreht, dass ich auch genau 0,7V habe. 
Dann ADC wert abgelesen.
dann frequenz 5x höher eingestellt. (Soll ja 5000 UpM dann entsprechen).
ADC augelesen.
Gleichung aufgestellt, ADC in UpM umgewandelt.
ans Auto angeschlossen. gas getreten. PASST!
aber Anzeige halt "UpM 03521,45684544 "
Und es möchte mir keiner sagen wie ich die auf 3520 bringe :(
Gast #441884
Lesenswert?
• ▲
▼
>verstehe nicht! :(

was denn?

Hat Bascom nicht eigentlich einen Simulator?
Da könnte man die Beispiele aus dem Datenblatt ausprobieren.

Vorschlag:

dim S as string * 10

S = STR(U)
S = Format(S,"00000.00");
LCD "UPM: ";Channel;" ";S
Gast #441890
Lesenswert?
• ▲
▼
STR unterstützt allerdings nur integer.
Wenn du keine Nachkommastellen haben willst, benutzt du vor dem STR noch 
i=INT(U+.5).
Das +.5 ist eine einfache Aufrundung (siehe auch ROUND) ...
Irgendwie komme ich mit den Bascom-Datentypen (noch) nicht zurecht...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.