Projekt Tachoansteuerung über Pc und ATMEGA8 Hilfe!

OP #4413880
Lesenswert?
• ▲
▼
Hallo zusammen,

Projekt : Tachoansteuerung über Pc und Microcontroller.
Tacho : Ford Mondeo Mk II
M.C: ATMEGA8

Ich Habe ein Paar Fragen Bezüglich der Tachoansteuerung.
1. Gibt es eine Möglichkeit die Daten die Vom PC- Spiel ausgehen 
irgendwie anzeigen zu lassen ? Oder kennt sich einer damit aus?!


2. Zurzeit läuft Das RPM Tacho über PWM mit ICR und OCR1A und das KM/H 
Tacho über Delay. Kann man den OCR1B oder OCR2 auch mit einer 
Veränderbaren Freqzuenz betreiben (ICR2 geht nicht) oder ist das gar 
nicht möglich?
 hier ein Kleiner Ausschnitt (Zurzeit Stell ich Die Werte Selbst zur 
Verfügung das soll halt dann über eine Variable geschehen):

  do
  {
  ICR1=50000; // Frequenz wird vom RPM geändert
  _delay_ms(5000);

  ICR1=10000;  // Frequenz wird vom RPM geändert
  _delay_ms(2000);

  PORTD |= (1<<PD5);
  _delay_us(8000); // Frequenz wird vom KMH Tacho geändert
  PORTD &=~ (1<<PD5);
  _delay_us(8000); // Frequenz wird vom KMH Tacho geändert

  _delay_ms(5000);


  }while(1);

3. wie verknüpfe ich den ATMEGA8 mit dem Pc spiel (Software)?



vielen Dank im Vorraus
MfG
Emuth
OP #4413935
Lesenswert?
• ▲
▼
Als Spiel wollten wir DIRT3 verwenden.
Zum Auslesen der Daten für Geschwindigkeit, Drehzahl etc. wollten wir 
das Freeware-Programm X-Sim verwenden, welches die Daten über eine 
serielle Schnittstelle zur Verfügung stellt. Mir geht es aber um die 
Werte die das Spiel abgibt (0011   0110 ... Bitblöcke).
Gast #4414017
Lesenswert?
• ▲
▼
Ja X-Sim gibt ja nicht nur RPM aus, es gibt ja so ziemlich alles aus was 
es gibt, ich habe da auch mal programmiert in die gleiche Richtung.

Bei X-Sim gibt es da aber genug Dokumentation die das Protokoll 
beschreibt. Im übrigen, eine sehr schöne Idee.
#4414041
Lesenswert?
• ▲
▼
Das Projekt aufteilen in kleinere Abschnitte:
a) 
PWM-Grundlagen:https://www.mikrocontroller.net/articles/AVR-Tutorial:_PWM

b) Daten über serielle Schnittstelle 
einlesen:https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Der_UART

c) oder Tacho mit Servos ausstatten und diese Variante ausprobieren:
http://www.x-sim.de/manual/hardware.html

Viel Erfolg, ist jedenfalls machbar: 
https://www.youtube.com/watch?v=-KFoktBKnLk
Gast #4414348
Lesenswert?
• ▲
▼
Ja das haben wir auch schon versucht aber das alles im Zusammenhang zu 
bringen fällt uns extrem schwer da wir theoretisch neu auf dem Gebiet 
Microcontroller sind. hat eventuell einer so ein Projekt oder ähnliches 
programmiert ?
MfG
Emuth
OP #4414398
Lesenswert?
• ▲
▼
Draco schrieb:
> Ja X-Sim gibt ja nicht nur RPM aus, es gibt ja so ziemlich alles aus was
> es gibt, ich habe da auch mal programmiert in die gleiche Richtung.
>
> Bei X-Sim gibt es da aber genug Dokumentation die das Protokoll
> beschreibt. Im übrigen, eine sehr schöne Idee.

Könntest du dich mal per mail melden?
k.emuth@live.de

Danke
MfG
Gast #4414403
Lesenswert?
• ▲
▼
So schwer ist das doch nicht, mach dir einfach einen FlowChart nach 
welchem ihr arbeitet, lasst euch Zeit und nicht stressen und lernt mit 
Misserfolg umzugehen.

Meine Gedanken und Arbeitswege würden wie folgt aussehen:

Daten im PC verarbeiten -> Daten über USART ausgeben -> Daten in den µC 
einlesen -> im µC die Daten verarbeiten -> Daten als PWM ausgeben.

Einfach so nach und nach abarbeiten und schon sollte das gehen, ein 
Problem nach dem anderen lösen. Das Ziel vor Augen halten aber nie alles 
immer im Überblick behalten wollen. Eins nach dem anderen.

Ist nen schönes Projekt übrigens.
Gast #4414480
Lesenswert?
• ▲
▼
Hier mal meine damaligen Ergebnisse, ich bin damals übrigens nicht über 
X-Sim gegangen, sondern habe den Telemetrie Datenstrom direkt abgefangen 
und umgewandelt (Ich glaube das war OutSim / OutGauge). Das Protokoll 
wird jedenfalls von vielen Fahrsimus benutzt, unter anderem Dirt, 
LfS,F1-20xx, DTM etc...
Angehängte Dateien:
Gast #4415769
Lesenswert?
• ▲
▼
Ja natürlich, du hast ja am Atmega8 insgesamt drei PWM Kanäle. OCR1A/B 
(PB1 und PB2) und OCR2 (PB3). Am cleversten wäre es, für Tacho und RPM 
nur OCR1 zu nutzen. Und dann die übergeben Werte mit OutputCompareMatch 
auf die zwei Kanäle zu legen.
Gast #4415878
Lesenswert?
• ▲
▼
So ich hab das ganze Zeugs nochmal rausgekramt und auch Dirt3 mal 
rausgesucht. Funktioniert tadellos.

Ich weiß nun nicht welche Daten ihr draußen braucht, wie du die 
Eingangsdaten haben willst? (Über UART?!) Bekommst du eigentlich schon 
Daten aus deinem Spiel raus? Also da in X-Sim? Ich schreibe heute Abend 
mal nen SerialOut in C# und lasse sie mal durch einen Mega8 laufen. 
Jedoch kann ich, in ermangelung eines Tachos, sie nicht so schön 
ausgeben :D Aber ich müsste mal kramen, nen paar Servos müsste ich noch 
haben.
Angehängte Dateien:
Gast #4417120
Lesenswert?
• ▲
▼
Ach lass uns das hier machen :-) Hier ist die Fehlerquote wesentlich 
geringer als wenn nur zwei / drei Paar Augen drüber schauen.

Ich habe nun mal die Relevanten Daten aus dem OutSim Stream 
herrausgezogen. “Leider“ übergibt Grid3 bloß die Grunddaten für z.b. 
einen Playseat. Daten für einen Tacho direkt werden nicht unterstützt 
(Lampen für Öl, Licht etc..) Geschwindigkeit, RPM und Gang werden aber 
ausgegeben.

Bei LFS z.b. hat man zwei Streams, eine für die Sim und eine für die 
Gauge.

Desweiteren bekomme ich bei Dirt3 auch Bloß die ersten 38byte (blauer 
Strich), den Rest leider nüch.
Angehängte Dateien:
OP #4417543
Lesenswert?
• ▲
▼
Hey zusammen,
wollen das alles Step by Step verstehen.
zurzeit wollen wir einfach nur Dem Microcontroller ein zeichen geben und 
das
soll am Hyperterminal angezeigt werden. Leider funktioniert das nicht so 
ganz wir bekommen ein zeichen aber nicht das zeichen was wir eingeben. 
Im anhang der Quellcode / max232 verdratung und die Daten vom Hyperlink 
+ ausgegebene zeichen. (Habe auch verschiedene Baudraten vom HL probiert 
es kommt immer ein anderes zeichen aber nicht das richtige)
Findet da jemand einen Fehler?!
MfG
Angehängte Dateien:

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.