Seite 19 von 37

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 18. Nov 2016
von GalosGarage
ich hab mal geschaut, wo man den preiswert herbekommt.

die preise driften ja emens auseinander.


http://www.ebay.de/itm/2pcs-IRGB14C40L- ... SwLF1X5gIR


falls das von interesse ist.

galo

edit fragt: was haste da für ein display vorgesehen?

vermutlich mit I2C schnittstelle....

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 19. Nov 2016
von NyFAZ
Hallo Galo,

bist hier schon weiter gekommen?
GalosGarage hat geschrieben:oha, danke für den hinweis.

sobald wieder zeit dafür ist, werd ich das mal versuchen.

"Arduino simple Menu" hab das mal gegoogelt.

gibts ja ne menge ansätze dafür. da wird bestimmt was passendes bei sein.
Da ich mir auch so etwas mit Arduino bauen möchte habe ich den Thread mit Begeisterung durchgelesen und mich heute Vormittag als Laie mal ans Werk gemacht. Bei Fragen fragen ;)

Code: Alles auswählen

#include <LiquidCrystal.h>

  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  //Pins für LCD
  int Taster_runter = 0;
  int letzterStatus_runter = 0;
  int Taster_hoch = 0;
  int letzterStatus_hoch = 0;
  int Menuestatus = 0;                //Menuestatus Standard = nichts gedrückt
  int Menuemax = 3;                   //Wie viele Menueeinträge (BEI NULL WIRD ANGEFANGEN ;))
  boolean Umschalten = false;
  char* menuItems[]={                 //Einträge habe ich alle auf 20 Zeichen gesetzt um sauber zu überschreiben
    "Wassertemp:         ",
    "Oeltemp:            ",
    "Drehzahl(rpm):      ",
    "Geschwindigkeit:    ",
  };
  
void setup() {

  pinMode(6, INPUT);                  //Pin für Taster "hoch"
  pinMode(7, INPUT);                  //Pin für Taster "runter"
  lcd.begin(20, 4);                   // LCD Zeichen und Zeilen setzen:
  default_screen();                   // Standardanzeige darstellen
}

void loop() {
  
  Taster_abfragen();

}

void Taster_abfragen() {
  
  Taster_runter = digitalRead(7);
  if (Taster_runter != letzterStatus_runter) {
    if (Taster_runter == HIGH) { 
      Umschalten = true;
      if (Menuestatus >= Menuemax) {
        Menuestatus = 0;
      } 
      else {
        Menuestatus++;
      } 
    }
    else {
      Umschalten = false;
    }
    letzterStatus_runter = Taster_runter;
  }

  Taster_hoch = digitalRead(6);
  if (Taster_hoch != letzterStatus_hoch) {
    if (Taster_hoch == HIGH) {
      Umschalten = true;
      if (Menuestatus <= 0) {
        Menuestatus = Menuemax;
      }
      else {
      Menuestatus--;
      }
    }
    else {
      Umschalten = false;
    }
    letzterStatus_hoch = Taster_hoch;
  }
  
 switch(Menuestatus) {
  case 0:    // Standard
    lcd.setCursor(0, 2);
    lcd.print(menuItems[0]);
    lcd.setCursor(0, 3);
    lcd.print(menuItems[1]);
    break;
  case 1:
    lcd.setCursor(0, 2);
    lcd.print(menuItems[1]);
    lcd.setCursor(0, 3);
    lcd.print(menuItems[2]);  
    break;
  case 2:
    lcd.setCursor(0, 2);
    lcd.print(menuItems[2]);
    lcd.setCursor(0, 3);
    lcd.print(menuItems[3]);
    break;
  case 3:
    lcd.setCursor(0, 2);
    lcd.print(menuItems[3]);
    lcd.setCursor(0, 3);
    lcd.print(menuItems[0]);
    break;
  }
}

void default_screen() {

 // Ersten beiden Zeilen darstellen:
  lcd.clear();                       // LCD löschen          
  lcd.setCursor(0, 0);               // Cursor auf position 0,0
  lcd.print("Caferacer-Forum.de");     // Nachricht auf LCD darstellen
  lcd.setCursor(0, 1);
  lcd.print("Beispielprojekt");
}
Die ersten beiden Zeilen bleiben stehen und per Taster/Knöpfe/Wasauchimmer kann man die beiden unteren Zeilen hoch- und runterscrollen. Pull-Down-Widerstände (10k) nicht vergessen ;)

Lieben Gruß

Roland

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 19. Nov 2016
von NyFAZ
Hallo nochmal an alle...

Ich habe da noch einige Fragen auf Lager, passend zu diesem Thema.

Für meine CX500:
Kann ich den originalen Wassertemperaturfühler weiter verwenden?
Welchen Öltemperaturfühler habt ihr verwendet, an der Ablassschraube?
Könnte ich die Arduino-Sketche dazu mal sichten, die ihr sicher schon lange optimiert habt?

Eigentlich habe ich vor, zwei Oldschool-Leuchten (grün) zu verbauen. Die eine gibt grünes Licht bei Wassertemperatur i.O., die andere wenn Öl warm genug. Bei Zustand "alles grün" kann man Vollgas geben :grinsen1: .
Für das Hauptinstrument habe ich einen alten Drehzalmesser (d=110mm), angeblich von einer Ducati Pantah.
Tacho soll als OLED sehr unauffällig irgendwo "weg", mit der Option Wasser- und Öltemperatur anzeigen zu lassen.

Das Moped ist zwar noch komplett auseinander, aber irgendwo muss ich ja anfangen. Montag geht die Mail wegen Heckloop erst an den TÜV raus. Vorher will ich den nicht bearbeiten.

Liebe Grüße, Roland

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 19. Nov 2016
von Emil1957
GalosGarage hat geschrieben:ich hab mal geschaut, wo man den preiswert herbekommt.

die preise driften ja emens auseinander.


http://www.ebay.de/itm/2pcs-IRGB14C40L- ... SwLF1X5gIR


falls das von interesse ist.

galo

edit fragt: was haste da für ein display vorgesehen?

vermutlich mit I2C schnittstelle....
Ich hab meine IRGB14C40L bei Conrad gekauft (1,89 € pro Stück).

Zum Display: Ich hab zuerst eins mit I2C Schnittstelle verwendet. In meiner "virtuellen Testumgebung" hat das aber zu unerklärlichen "Zündaussetzern" geführt (siehe auch meinen Beitrag vom 6.8.2016 in diesem Thread). Nach langen Suchen bin ich dann darauf gekommen, dass das am I2C Display lag. Die Bibliothek, die für I2C benötigt wird, benutzt offensichtlich einen Timer mit gleichem "Prescaler" wie ich. Nachdem ich ein Display mit "klassischer" serieller Schnittstelle (leider teurer und schwerer zu bekommen als I2C) verwendet habe, waren die Probleme verschwunden.

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 19. Nov 2016
von GalosGarage
toll, das sich noch jemand dazu gesellt hat. .daumen-h1:

nein, in der sache hab ich bis dato nix mehr unternommen.
andere baustellen, die priorität haben.
leider nix ums moped.

das einzige was ich voran getrieben habe , ist die türsprechanlage über DECT mit RFID türöffnung, display und anbindung an die fritzbox.

als tempgeber kannste fast jeden geber nehmen. musst halt nur die werte kennen.
deswegen schmeiss ich in der sache alles originale raus u erstzt die dinger durch geber, deren werte ich kenne.
schlussendlich arbeiten die alle als spannungsteiler.

öl und wasser temp hab ich bei mir auch schon als RGB realisiert.

https://get.google.com/albumarchive/111 ... zZfl8bvEdg

https://get.google.com/albumarchive/111 ... t-1SBKmmd7

https://get.google.com/albumarchive/111 ... 4WxWu2GAGN


galo

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 20. Nov 2016
von NyFAZ
Nette Sache mit RGB, ich mag es etwas "rustikaler".
Deinen Sketch dazu magst Du noch zeigen?

LG Roland

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 20. Nov 2016
von GalosGarage
mit herkömmlichen glühobst wirste das wohl nicht so ohne weiteres hinbekommen.
setz doch ne RGB in ein gehäuse einer normalen anzeige.

wasser:
bei mir ist das blau bis 50°
51 bis 70° grün
dann bis 98° aus, danach rot.

ab 98° läuft bei mir der ventilator vom kühler an.
hab ich eprom vom steuergerät von 107° auf 98° gesetzt. :mrgreen:

öl
blau bis 50°
51 bis 70° grün
drüber aus
ab 120°rot
ab 140° rot blinkend


wird aber aufgrund der wasserkühlung nicht erreicht.

ist eher für luftgekühlte motoren interessant, die höheren temperaturen.

bei den sensoren muss normalerweise der b kuofizient einbezogen werden und die gleichung nach steinhart-hard angewandt werden.

https://de.wikipedia.org/wiki/Steinhart-Hart-Gleichung

hab ich aber bei der RGB vairante drauf verzichtet.
in der LCD variante doch sehr wohl eingebaut.


aber :respekt: , als laie mal eben so nen sketch zu schreiben.

bin ja auch nur laie. hab vor 3 jahren erst damit angefangen.

edit: was vergessen.

die RGB's dimmen über nen LDR bei dunkelheit per PWM runter, damit sie nbicht blenden. :wink:

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 20. Nov 2016
von NyFAZ
Hallo Galo,

die Materialkonstante lässt sich einfach durch zwei Messergebnisse des Temperaturfühlers errechnen.
Idealer Weise im Dateblatt des Fühlers angegeben. Für den Arduino habe ich schon Code parat.
Nur noch mal bei den Honda-Spezies reinschauen ob das schon jemand mit dem vorhandenen Temperaturfühler gemacht hat. Mit dem Wassertemperaturwert könnte ich meinen Lüfter der CX sicher auch ansteuern. Schöne Hysterese rein und gut ;)

LG Roland

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 21. Nov 2016
von Emil1957
Hallo,

hier mal die ersten Platinen-Entwürfe für die elektronische Zündung. Ich hab mich entschlossen, das Steuermodul (mit dem Arduino) und die "Endstufen" (mit den Leistungstransistoren) auf zwei separate Platinen aufzuteilen. Das hat den Vorteil, dass ich z.B. Änderungen am Steuermodul machen kann (z.B. anderen Prozessor als der Nano), ohne dass das gesamte Konzept angepasst werden muss.

Ich muss dazu sagen, dass ich noch nie eine Platine entworfen habe. Daher habe ich für das Layout eine Experimenierplatine verwendet ("stripboard"), auf der aber auch einige Drähte zur Verbindung der einzelnen Leiterbahnen notwendig waren (die bunten "Würste"), aber auch Unterbrechnungen der Leiterbahnen.

Steuermodul
8918
Oben links ist die 12 V-Stromversorgung, die über ein step-down-Modul (unterhalb der Platine platziert) auf 5 V gebracht wird. Ich hab mir das folgende Modul bestellt: http://www.ebay.de/itm/391441365106. Das hat den Vorteil, dass es von den Maßen genau unter die Platine passt. Außerdem ist es komplett vergossen.
An die Schraubklemmen unten links werden die Verbindungskabel zu den beiden Endstufen angeschlossen.

Unter dem Arduino sind natürlich alle Leiterbahnen unterbrochen.

Endstufe
8919
Dies entspricht im Prinzip der "Pandista-Vorlage", nur um den Optokoppler ergänzt.
Zwei Module (für meinen Zwei-Zylindermotor) passen in ein ca. 52 x 38 x 31 mm (L x B x H) großes Aluminium-Gehäuse, das gleichzeitig als Kühlkörper dient.

Re: Elektronik Bastelei mit Arduino (Selbstbau Tacho, DZM et

Verfasst: 21. Nov 2016
von Schraubnix
Hi

N Platinenlayout kannste mit eagle erstellen .

https://cadsoft.io/de/

Ein Platinenlayout auf eine Platine bringen kannste mit Transferfolie , geht sehr einfach ( aufbügeln ) .

http://thomaspfeifer.net/platinen_aetzen.htm