Zum Inhalt springen
  • Das GSF wandelt Links in Affiliate Links um, um ggf. eine Provision erhalten zu können. Gerne nutzen bitte, danke! Mehr Infos, wie ihr das GSF unterstützen könnt, findet ihr im GSF Support Topic.

Open Source Prüfstandssoftware auf Basis von Arduino Mega und LabVIEW


Empfohlene Beiträge

Geschrieben

werden die Sensoren dann am Anschluss 48 und 49 und GND angeschlossen?. Ist einmal ein Counter (Drehzahlmessung) Digitaler EIngang und die Impulse der ROlle auch als Digitaler EIngang?

Da ich mit der Arduino Sprache noch nicht so vertraut bin, welche Daten werden hier weiter gesendet?

 

Serielle Schnittstelle mit 250000 Baudrates und dann? ICP4 und ICP5 sprich Digitaler Eingang 49 und Digitaler EIngang 48. Oder andere Daten auch?

 

  •   //----------SERIAL---------
  •   Serial.begin(250000);
  •  
  •   //Clear all Interrupt Flags
  •  // EIFR |= (1 << INTF0);
  •   TIFR4 |= (1 << ICF4);   //Clear ICP4 FLAG
  •   TIFR5 |= (1 << ICF5);   //Clear ICP5 FLAG
  •  
  • Arduino Mega 2560 PIN mapping table

    Pin Number Pin Name Mapped Pin Name
    1 PG5 ( OC0B ) Digital pin 4 (PWM)
    2 PE0 ( RXD0/PCINT8 ) Digital pin 0 (RX0)
    3 PE1 ( TXD0 ) Digital pin 1 (TX0)
    4 PE2 ( XCK0/AIN0 )  
    5 PE3 ( OC3A/AIN1 ) Digital pin 5 (PWM)
    6 PE4 ( OC3B/INT4 ) Digital pin 2 (PWM)
    7 PE5 ( OC3C/INT5 ) Digital pin 3 (PWM)
    8 PE6 ( T3/INT6 )  
    9 PE7 ( CLKO/ICP3/INT7 )  
    10 VCC VCC
    11 GND GND
    12 PH0 ( RXD2 ) Digital pin 17 (RX2)
    13 PH1 ( TXD2 ) Digital pin 16 (TX2)
    14 PH2 ( XCK2 )  
    15 PH3 ( OC4A ) Digital pin 6 (PWM)
    16 PH4 ( OC4B ) Digital pin 7 (PWM)
    17 PH5 ( OC4C ) Digital pin 8 (PWM)
    18 PH6 ( OC2B ) Digital pin 9 (PWM)
    19 PB0 ( SS/PCINT0 ) Digital pin 53 (SS)
    20 PB1 ( SCK/PCINT1 ) Digital pin 52 (SCK)
    21 PB2 ( MOSI/PCINT2 ) Digital pin 51 (MOSI)
    22 PB3 ( MISO/PCINT3 ) Digital pin 50 (MISO)
    23 PB4 ( OC2A/PCINT4 ) Digital pin 10 (PWM)
    24 PB5 ( OC1A/PCINT5 ) Digital pin 11 (PWM)
    25 PB6 ( OC1B/PCINT6 ) Digital pin 12 (PWM)
    26 PB7 ( OC0A/OC1C/PCINT7 ) Digital pin 13 (PWM)
    27 PH7 ( T4 )  
    28 PG3 ( TOSC2 )  
    29 PG4 ( TOSC1 )  
    30 RESET RESET
    31 VCC VCC
    32 GND GND
    33 XTAL2 XTAL2
    34 XTAL1 XTAL1
    35 PL0 ( ICP4 ) Digital pin 49
    36 PL1 ( ICP5 ) Digital pin 48
    37 PL2 ( T5 ) Digital pin 47
    38 PL3 ( OC5A ) Digital pin 46 (PWM)
    39 PL4 ( OC5B ) Digital pin 45 (PWM)
    40 PL5 ( OC5C ) Digital pin 44 (PWM)
    41 PL6 Digital pin 43
    42 PL7 Digital pin 42
    43 PD0 ( SCL/INT0 ) Digital pin 21 (SCL)
    44 PD1 ( SDA/INT1 ) Digital pin 20 (SDA)
    45 PD2 ( RXDI/INT2 ) Digital pin 19 (RX1)
    46 PD3 ( TXD1/INT3 ) Digital pin 18 (TX1)
    47 PD4 ( ICP1 )  
    48 PD5 ( XCK1 )  
    49 PD6 ( T1 )  
    50 PD7 ( T0 ) Digital pin 38
    51 PG0 ( WR ) Digital pin 41
    52 PG1 ( RD ) Digital pin 40
    53 PC0 ( A8 ) Digital pin 37
    54 PC1 ( A9 ) Digital pin 36
    55 PC2 ( A10 ) Digital pin 35
    56 PC3 ( A11 ) Digital pin 34
    57 PC4 ( A12 ) Digital pin 33
    58 PC5 ( A13 ) Digital pin 32
    59 PC6 ( A14 ) Digital pin 31
    60 PC7 ( A15 ) Digital pin 30
    61 VCC VCC
    62 GND GND
    63 PJ0 ( RXD3/PCINT9 ) Digital pin 15 (RX3)
    64 PJ1 ( TXD3/PCINT10 ) Digital pin 14 (TX3)
    65 PJ2 ( XCK3/PCINT11 )  
    66 PJ3 ( PCINT12 )  
    67 PJ4 ( PCINT13 )  
    68 PJ5 ( PCINT14 )  
    69 PJ6 ( PCINT 15 )  
    70 PG2 ( ALE ) Digital pin 39
    71 PA7 ( AD7 ) Digital pin 29
    72 PA6 ( AD6 ) Digital pin 28
    73 PA5 ( AD5 ) Digital pin 27
    74 PA4 ( AD4 ) Digital pin 26
    75 PA3 ( AD3 ) Digital pin 25
    76 PA2 ( AD2 ) Digital pin 24
    77 PA1 ( AD1 ) Digital pin 23
    78 PA0 ( AD0 ) Digital pin 22
    79 PJ7  
    80 VCC VCC
    81 GND GND
    82 PK7 ( ADC15/PCINT23 ) Analog pin 15
    83 PK6 ( ADC14/PCINT22 ) Analog pin 14
    84 PK5 ( ADC13/PCINT21 ) Analog pin 13
    85 PK4 ( ADC12/PCINT20 ) Analog pin 12
    86 PK3 ( ADC11/PCINT19 ) Analog pin 11
    87 PK2 ( ADC10/PCINT18 ) Analog pin 10
    88 PK1 ( ADC9/PCINT17 ) Analog pin 9
    89 PK0 ( ADC8/PCINT16 ) Analog pin 8
    90 PF7 ( ADC7 ) Analog pin 7
    91 PF6 ( ADC6 ) Analog pin 6
    92 PF5 ( ADC5/TMS ) Analog pin 5
    93 PF4 ( ADC4/TMK ) Analog pin 4
    94 PF3 ( ADC3 ) Analog pin 3
    95 PF2 ( ADC2 ) Analog pin 2
    96 PF1 ( ADC1 ) Analog pin 1
    97 PF0 ( ADC0 ) Analog pin 0
    98 AREF Analog Reference
    99 GND GND
    100 AVCC VCC

 

Geschrieben

@Motorhead
 Du kannst ganz normal die Minimalkarte anzapfen, wie gesagt ich empfehle aber optokoppler. Ich habe morgen 2x 5h Zugfahrt vor mir. Ich hoffe, das ich da das Arduino shield mit allen Komponenten fertig bekomme.DAs könnte sich dann jeder ätzen lassen und bestücken. Ich werde versuchen, falls ich fertig werde mit dem Board, 5 Stück am we zu ätzen. Die kann ich dann nächste Woche bestücken und verschicken. Nach den Test können wir dann über Verbesserungen und ne kleinserie sprechen.

  • Like 1
Geschrieben

Die ICP sind Input Capture Pins. Das sind  2 von 5 Interrupt Pins. Wenn hier ein Signal > 2 V anliegt wird der Interrupt ausgelöst. Das Programm springt dann in die Interrupt Service Routine und führt den jeweiligen Code aus.In dieser Interrupt Service Routine fülle ich einfach einen Ringspeicher für die jeweiligen ersten Flanken. Sobald Timer0 (glaube ich) übergelaufen ist werte ich den Ringspeicher aus und schicke das Ergebnis an die Serielle Schnittstelle.

Geschrieben

Das ist der ISR (Interrupt Service Routine) von ICP5

ISR(TIMER5_CAPT_vect) {

  if ( ErsteFlanke5 == 1) {

    Messung5[j] = 0;
    StartTime5[j] = ICR5;
    ovlCAPTst5[j] = ovlTIM5;
    if ((TIFR5 & 1 << TOV5) && (StartTime5[j] < 0x8000))      // evtl. Ueberlauf T1 noch offen?
    {
      ovlCAPTst5[j]++;                                         // nur, wenn capture-int + overflow-int gleichzeitig !
    }
    ErsteFlanke5 = 0;   
                 
  }
  else {

    EndTime5[j] = ICR5;
    ovlCAPTend5[j] = ovlTIM5;
    if ((TIFR5 & 1 << TOV5) && (EndTime5[j] < 0x8000))      // evtl. Ueberlauf T5 noch offen?
    {
      ovlCAPTend5[j]++;                                      // nur, wenn capture-int + overflow-int gleichzeitig !
    }


    Messung5[j] = 1;
    ErsteFlanke5 = 1;                    
   
    TIFR5 |= (1 << ICF5);
    j++;
    //-------End of ringsize
    if (j == ringsize) {
      j = 0;
    }

  }

 
}

Geschrieben (bearbeitet)

TIFRx sind die Flags die dem Prozessor sagen: Jetzt ISR ausführen.

TimerInterruptFlagRegisterX

Bearbeitet von chili023
Geschrieben

und welche Daten sendet der Arduino an Labview weiter?

 

Kann man nicht sagen, dass nur die zwei Digitalen Eingänge bzw. die Ergebnisse daraus weiter gesedet werden sollen? Das geht glaube ich mit Analoge Eingänge auch?

 

Geschrieben

Ich weiss nicht genau worauf du hinaus willst.

 

Gesendet wird:

Counter (zur Plausibilierung);Frequenz zwischen zwei Transfers an den PC; Frequenz Signal 1; Frequenz Signal 2

Geschrieben
Am 9.1.2017 um 11:49 schrieb chili023:

Hallo SMarco.

Du benötigst einen Arduino (Genuido) MEGA 2580 oder ein Vergleichbares China Modell.

Wenn ihr gleich loslegen wollt, braucht ihr sonst nichts mehr.

Was ich aber empfehle ist ein paar optokoppler zwischen Minimal und Arduino.

Ich habe einen LTV827.

Zusätzlich noch 2x 10kOhm und 2x X Ohm um den Strom der Rolle und Zündung auf 50mA zu begrenzen.

 

Bei der Minimal mit 5V sind das dann glaube ich 180 Ohm. Rollensensor dann bitte mit U=RI ausrechnen.

 

Möglichkeit zwei wäre, ihr wartet noch ne Woche oder so und dann kann ich euch für die Materialkosten ein komplettes Schield für den MEGA ätzen.

Da wäre dann alles drauf. Optokoppler, Minimalkartschaltung, BME 280 und Anschlüsse für Lambda und Thermoelement.

 Super Sache:thumbsup::thumbsup:

bin gerade dabei das ganze zu Basteln und zu Probieren!

 

Bei deiner Rechnung mit der Minimal Spg. meintest du 9V  R=U/I, R=9/0,05, R= 180Ohm  ?????  und die 10kOhm sind für die Zündung?

Geschrieben

Also das kommt ganz darauf an wie viel Volt deine Schaltung bekommt und welche Optokoppler du benutzt.

Bei 12V 240Ohm

Bei 9V 180 Ohm

Bei 5V 100 Ohm

 

Abgriff Zündsignal an Pin 3 des HEF 4093

 

Geschrieben
vor 4 Stunden schrieb chili023:

Ich weiss nicht genau worauf du hinaus willst.

 

Gesendet wird:

Counter (zur Plausibilierung);Frequenz zwischen zwei Transfers an den PC; Frequenz Signal 1; Frequenz Signal 2

 

vielen Dank. Ich habe irgendwie einen Denkfehler drinnen.

Wäre es bitte möglich, dass man im Arduino die Messdaten (Drehzahl Motor und ROlle) simuliert, damit die keinen Prüfstand/Sensoren haben auch mit der Kommunikation experimentieren können. Super wäre ein 30Sekunden Lauf. Drehzahlen/Messdaten rauf und dann runter. --> Schleife und somit immer wiederholt.

VIelen Dank im Voraus.

 

DatenSonden.jpg

 

Geschrieben

Also ehrlich Leute!   Großen Respekt! Ist ja echt super was ihr da auf die Beine stellt.  Freue mich schon das mal auszutesten . Ich bin gerade dabei meinen Prüfstand fertig zu stellen.  Mechanisch halt . der Rest muss eben erst entstehen. Wenn ich das. Ganze hier mal durch gekaut und auch verstanden habe. 

IMG_1201.JPG

Geschrieben

Weil ich heute mal gefragt worden bin, wie das alles eigentlich so grundsätzlich aufgebaut ist, hier ein Strukturbild zur Erklärung:

Schaltbild.jpg

  • Like 3
Geschrieben
vor einer Stunde schrieb Malzi1977:

Also ehrlich Leute!   Großen Respekt! Ist ja echt super was ihr da auf die Beine stellt.  Freue mich schon das mal auszutesten . Ich bin gerade dabei meinen Prüfstand fertig zu stellen.  Mechanisch halt . der Rest muss eben erst entstehen. Wenn ich das. Ganze hier mal durch gekaut und auch verstanden habe. 

IMG_1201.JPG

 

Das ist aber nur ein Probeaufbau mit deinen Aluprofilen und dem Schalldeckel oder?

 

 

Geschrieben

also der Aufbau und die Lagerung der Rolle sollte so bleiben aber das gesamte Umfeld wird dich noch ändern falls nötig.  Hab ja noch wenig Erfahrung in Sachen Prüfstand Bau. 

Geschrieben

Das ist zwar jetzt völlig OT und weitere Diskussionen sollten bitte wenn nötig ins Leistungsprüfstand, wer bastelt mit Topic verlagert werden aber nur von mir dazu soviel:
ich bin jetzt echt kein Hosnbiesler und betreibe seit 2 Jahren ein ausbetoniertes Rohr als Rolle ohne Bauchschmerzen. Aber als Lagerbock für die Rolle Aluprofile zu verwenden, das wär sogar mir zu triggi... musst du aber selbst entscheiden

  • Like 1
Geschrieben

Also da muss ich meinem Freund zustimmen.

Aber zurück zum Thema. Da die Frage aufkam wie bei der Minimalkartschaltung angezapft werden muss, hier ein Beispiel für die Zündung und 12V Versorgung der Minimalkartschaltung.

 

Optokoppler_Zündung.PNG

  • Like 1
Geschrieben

So, mein Mega-Board ist auf dem Weg.

Und die Software von Arduino habe Ich nun auch runtergeladen.

Welche Datei muss Ich dann auf den Board schreiben ?

Wollen wir dann noch ein paar Bilder zusammenfassen wie ein Board aussehen muss, zwecks Optokoppler und Widerstände ?

Aktuell stehe Ich auf den Schlauch.

Aber Bilder sagen ja meistens mehr als 1000 Wörter !?

Was Ich noch wissen müsste, Ich versorge Aktuell meine Schaltung und Rollensensor mit 12 V reicht es wenn Beide Signalleitungen von der Rolle und Schaltung mit den Board verbinde ?




Gesendet von iPhone mit Tapatalk

Geschrieben
vor 30 Minuten schrieb chili023:

Also da muss ich meinem Freund zustimmen.

Aber zurück zum Thema. Da die Frage aufkam wie bei der Minimalkartschaltung angezapft werden muss, hier ein Beispiel für die Zündung und 12V Versorgung der Minimalkartschaltung.

 

Optokoppler_Zündung.PNG

 ist der Optokoppler nicht ein 827 ?

Geschrieben
So, mein Mega-Board ist auf dem Weg.

Und die Software von Arduino habe Ich nun auch runtergeladen.

Welche Datei muss Ich dann auf den Board schreiben ?

Wollen wir dann noch ein paar Bilder zusammenfassen wie ein Board aussehen muss, zwecks Optokoppler und Widerstände ?

Aktuell stehe Ich auf den Schlauch.

Aber Bilder sagen ja meistens mehr als 1000 Wörter !?

Was Ich noch wissen müsste, Ich versorge Aktuell meine Schaltung und Rollensensor mit 12 V reicht es wenn Beide Signalleitungen von der Rolle und Schaltung mit den Board verbinde ?




Gesendet von iPhone mit Tapatalk

Im ZIP ist eine *.INO enthalten, die ist jene für den Arduino. Lade dir auf arduino.cc die Programmiersoftware down, damit compilieren und auf den Arduino hochladen.

Betreffend Hardware wärs glaub ich ideal den Entwurf von chilis Platine abzuwarten.
  • Like 1
Geschrieben

also für so ein how-to wäre ich auch zu haben

hab das arduino jetzt hier liegen

mal egen an den pc angeschlossen

die gismos leuchten

 

wie es jetzt aber weiter gehen soll...

daaaa hab ich leider kein plan

Geschrieben

Zu meiner großen Verwunderung ging das erste Board doch schneller als gedacht.

Ich werde es morgen mal ätzen und bestücken.

How to, kann ich auf der Rückfahrt schreiben.

Aber generell:

Minimalkart anzapfen (pin3 des HEF4093) Von da mit einem Widerstand in den Optokoppler (Schaltplan siehe open). Vom Optokoppler in den Arduino (Pin 49). Das gleiche für den Rollensensor mit korrektem Widerstand (Pin 48 des Arduino).

Und erstmal mit dem Seriellen Monitor der Arduino Softwäre schauen ob alles funktioniert.

In Labview passiert noch gerade viel durch @BugHardcore und @grua da würde ich noch ne kleine Weile warten.

 

 

Arduino Board.PNG

  • Like 4
Geschrieben
In Labview passiert noch gerade viel durch [mention=1351]BugHardcore[/mention] und [mention=40090]grua[/mention] da würde ich noch ne kleine Weile warten.
Ach, mit der 0.182 kann man glaub ich schon mal ganz gut starten. Wenns neue veröffentlichungswürdige Releases gibt, wird hier ja informiert.
Geschrieben (bearbeitet)
vor einer Stunde schrieb chili023:

Zu meiner großen Verwunderung ging das erste Board doch schneller als gedacht.

Ich werde es morgen mal ätzen und bestücken.

How to, kann ich auf der Rückfahrt schreiben.

Aber generell:

Minimalkart anzapfen (pin3 des HEF4093) Von da mit einem Widerstand in den Optokoppler (Schaltplan siehe open). Vom Optokoppler in den Arduino (Pin 49). Das gleiche für den Rollensensor mit korrektem Widerstand (Pin 48 des Arduino).

Und erstmal mit dem Seriellen Monitor der Arduino Softwäre schauen ob alles funktioniert.

In Labview passiert noch gerade viel durch @BugHardcore und @grua da würde ich noch ne kleine Weile warten.

 

 

Arduino Board.PNG

 

 

Kannst du da beide Seiten bzw. auch das Format der Printplatte angeben damit man das auf einer Klarsichthülle ausdrucken kann um es zu belichten?

Hast du auch noch einen Bestückungsplan dazu?

Gehören da nicht noch alle GND verbunden?

Kann man beim WildGruChil Dyno die COM nur bis 9 vergeben oder sieht man halt einfach die 2 Zahl nicht mehr?

Bearbeitet von sf freak

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.



×
×
  • Neu erstellen...

Wichtige Information