Zum Inhalt springen

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


chili023

Empfohlene Beiträge

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

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

@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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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;
    }

  }

 
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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