Archiv verlassen und diese Seite im Standarddesign anzeigen : cmps03 kompassmodul
pebisoft
28.12.2004, 22:27
hallo, ich suche in bascom eine routine für das compassmodul cmps03 .
ich möchte es mit pwm auslesen.
mfg pebisoft
BlueNature
29.12.2004, 13:29
Hallo pebisoft!
Das PWM-Signal genau zu lesen ist relativ aufwendig. Müsstest die positive Flanke des Signals als Trigger nehmen und bei der negativen Flanke die Zeit ermitteln und diese als Wert verwenden. Dazu muss man mit dem internen Timer programmieren.
Ich würde ein RC-Glied nehmen zur Analogwertbildung und das an einen AD-Input legen. Dann muss man nur einfach den AD-Wert lesen lassen was sehr einfach ist.
Grüsse Wolfgang
Warum willst du es nciht per I2C versuchen, wenn das Modul schon eine so hohe Genauigkeit aufweist, sollte man doch versuchen diese zu nutzen.
MFG Moritz
BlueNature
29.12.2004, 17:10
Warum willst du es nciht per I2C versuchen, wenn das Modul schon eine so hohe Genauigkeit aufweist, sollte man doch versuchen diese zu nutzen.
MFG Moritz
Das verstehe ich auch nicht, PWM ist ja im Grunde maximal 8-Bit, I2C kann 16-Bit (3600 Stufen). Schade um das Teil, aber vieleicht genügt es ja oder es gibt keien Möglichkeit das mit dm I2C irgendwie zu realisieren weils der Controller nicht zulässt ;)
Grüsse Wolfgang
pebisoft
29.12.2004, 17:30
hallo, habe euch verstanden. wie kann ich dieses modul mit i2c in bascom betreiben. weiss zur zeit aber keine rouitne, wer weiss, wie es weitergeht, für einen lösungsansatz wäre ich dankbar. muss ich hier auch wie beim i2c eeprom 24c256 ein pullups von 10k zwischen scl sca anklemmen.
mf gpebisoft
BlueNature
29.12.2004, 17:44
hallo, habe euch verstanden. wie kann ich dieses modul mit i2c in bascom betreiben. weiss zur zeit aber keine rouitne, wer weiss, wie es weitergeht, für einen lösungsansatz wäre ich dankbar. muss ich hier auch wie beim i2c eeprom 24c256 ein pullups von 10k zwischen scl sca anklemmen.
mf gpebisoft
Zum einen, mit BASCOM kenne ich mich direkt nicht aus da ich nicht damit arbeite. Aber ich weis das es da fertige Bibliotheken gibt. Vieleicht kann dir da ein anderer BASCOM-User weiterhelfen. Die Pull-Up's brauchst du jedenfalls immer im I2C-Bus. Ohne die wird das ACK nie funktionieren.
Grüsse Wolfgang
pebisoft
01.01.2005, 20:16
hallo, das kompassmodul läuft jetzt zu 99% genauigkeit.
am besten ist wenn man den vorgeschlagenen druckschalter zwischen anschluss 6 und masse 9
legt. ich habe den druckschalter zwischen gelassen, wenn mal wieder kalibriert werden
muss. diese kalibrierung ist einfacher als über i2c, kann während der laufenden abfrage
des moduls gemacht werden. ich gebe jetzt über das easy-radiomodul vom arbeitsplatz
eine gradzahl vor und der robby hält gemäss programm die richtung innerhalb der vorgabe
(+-5, ist ca +- 0.5 grad). macht richtig spass. unter "album" roboterbilder" ist ein bild
vom küchenbrettroboter. wer fragen hat, soll fragen.
Declare Sub K_werte(byval Ee_adresse As Byte)
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 19200
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , Rs = Portc.5 , E = Portc.4
Config Lcd = 16 * 2
Config Scl = Portb.3
Config Sda = Portb.4
Dim Daten As Byte , Temp As Byte
Dim Ausgabe As Word
Dim Adresse As Byte
Adresse = 2
Do
Call K_werte(adresse)
Print Ausgabe
Waitms 500
Loop
End
Function K_werte(byval Ee_adresse As Byte)
Disable Interrupts
I2cstart
I2cwbyte &B11000000 , Ack
I2cwbyte Ee_adresse
Waitms 10
I2cstart
I2cwbyte &B11000001 , Ack
I2crbyte Daten , Ack
I2crbyte Temp , Nack
Ausgabe = Daten * 256
Ausgabe = Ausgabe + Temp
I2cstop
Waitms 10
Enable Interrupts
End Function
mfg pebisoft
wer fragen hat, soll fragen.
Das sieht gut aus, da scheint jemand ziemlich am gleichen Thema zu arbeiten siehe hier:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=50294#50294
mfG
Lance
Das sieht gut aus, da scheint jemand ziemlich am gleichen Thema zu arbeiten siehe hier:
Nein, ich habe es gemerkt, das ist ja das gleiche, ich bin nur durcheinander gekommen, weil die gleiche Nachricht an verschiedenen Stellen steht.
Lance
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=50296#50296
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=50297#50297
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=50294#50294
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.