1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Elektronikjacks Simulator

Discussion in 'DIY Motion Simulator Projects' started by ElektronikJack, Dec 30, 2007.

  1. ElektronikJack

    ElektronikJack Member

    Joined:
    Sep 15, 2007
    Messages:
    83
    Occupation:
    Techniker Elektronik
    Location:
    Germany Itzehoe
    Balance:
    - 40Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor
    Hallo zusammen,

    hier möchte ich jetzt einmal kurz meinen Simulator beschreiben damit einige in den Genuss kommen einen schnell agierenden Simulator zu bauen- oder Ihren umzubauen:
    dirk1.jpg dirk2.jpg
    Dirk3.jpg

    rFactor Fahrt MonteCarlo:
    http://www.youtube.com/watch?v=w9zZvPOetXw

    an den Reglern rumgespielt:
    http://www.youtube.com/watch?v=b39JOBY-yB4

    wie ihr in dem Videos von mir wohl erkennen könnt sind die Bewegungen
    der Wischermotoren zwar nicht so gross (ca 7cm von min zu max) aber
    doch sehr schnell.

    von der Mechanik habe ich mir einen Stahlrahmen selbst zusammen geschweisst. Ich benutze ein Logitech G25 mit angebautem
    billig Sportlenkrad.
    Kernstück der Mechanik ist das der Stuhl (mit dem Fahrer) möglichst im Gleichgewicht sein sollte. Dazu habe ich ein (Golf II 10 Euro vom Schrott) Antriebswellengelenk auf Länge abgetrennt und relativ gut im Schwerpunkt an meinem Stahlrahmen geschweisst:

    IMAG0004.JPG

    Wichtig ist das das Gelenk sich zwar in jede Richtung bewegen kann aber nicht verdrehen !! Daher ist ein Gummipuffer nicht ideal.

    Ansonsten sind natürlich alle mechanischen Rahmen aus Alu usw gut wenn die bewegte masse möglichts klein bleibt. Daher ist die Mechanik
    von tronicgr wohl zu schwer. Meine bewegte Masse liegt wohl bei ca 30Kg mit Sportsitz. Die Mechanik von yobuddy finde ich sehr gut und müsste sich gut verwenden lassen.

    yobuddys-motion-simulator-t625.html

    zu den Motoren : es sind normale 12V Wischermotoren (Golf II) die ich zu Servomotoren um gebaut habe. Ich habe die Motoren geöffnet, den Masse Pol isoliert auf ein Kabel herausgeführt, das Ende des Motorgehäuses aufgesägt und in die Motorwelle ein M4 Gewinde geschnitten um ein kleinens Kunstoffzahlrad ( Conrad 237663 das kleine 10Zähne) nach dem Zusammenbau zu befestigen-

    Wichtig alle Veruche mit an dem Rahmen befestigten Potis werden keine schnellen Bewegungen erzeugen. Nur wenn die Drehbewegung der Motorwelle aufgenommen wird schafft man das !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Ich habe mich entschieden ein 10Gang Poti mit einer Untersetzung von 3:1
    zu benutzen (30 Zähne Zahnrad von dem Conradset):
    IMAG0002.JPG

    bei direkter Verbindung mit der Motorachse war der Weg nur ca 2,5cm.
    Die Potis haben eine Lebensdauer von 1Millionen Bewegungen und kosten ca 6 Euro. Eine Positionserfassung mit einem Drehgeber wäre natürlich auch möglich und verschleisfrei.

    Der T-Arm von der Sitzplatform ist auf Schultehöhe mit Kugelgelenken (Golf II Lenkstangen) mit den Wischerarmen verbunden:

    IMAG0003.JPG IMAG0005.JPG

    Die Motoren treibe ich mit Mosfet endstufen aus Gabelstabler/Flurfahrzeuge an, weil ich diese Module vom Schrott bekommen habe. Diese Module sind 3 Phasig und völlig überdimensioniert (jeder Transistor kann 110Amp schlalten zusammen 440 Ampere Spitzenstrom). Sind sehr groß aber fast umsonst gewesen. Die 10 Amp Brücken die z.B. von Tronicgr benutzt werden sind wohl gut geeignet.
    (VN2 Dual Motor or HB25’s )

    IMAG0006.JPG IMAG0009.JPG

    zur Elektronik:
    Prinzip = ich schicke mit dem Force-Profiler die G-Effekte 24-26 an die USO
    im Format
    x[Wert]y[Wert]sRETURN

    Effekte.JPG USO.JPG

    Ich habe dann 3 AVR Mega8. Mit dem Ersten empfange ich den String und
    separatisiere die Daten und rechne Sie um. dann schicke ich die Daten an 2 8bit Schieberegister. Die beiden Motor AVRs holen sich immer wenn sie Zeit haben die Werte von den Schieberegistern ab und stellen den PWM Wert und Drehrichtung abhängig von der Potieinstellung ein.
    Vorteil mit den Schieberegistern: Es liegt immer ein gültiger 8bit Sollwert
    für jeden Motor an und jeder Motor AVR kann jederzeit sich den Wert holen. Schaltplan der Steuerung (Eagle + PDF). Die Platine hatte noch 6 Motor AVRs.

    IMAG0007.JPG

    [​IMG]Schaltplan.rar (334.51 KB)

    (vorläufig ohne Board) ggf ändere ich noch die Weitergabe der Werte oder versuche alles in ein grösseren Chips zu bringen.
    ggf versuche ich auch die Steuerung von Tronic zu verwenden:
    tronics-pwm-servo-control-interface-with-encoder-pot-input-t559.html

    So ich hoffe ich konnte behilflich sein. ich möchte ja noch einiges erweitern wie Über und Untersteuern (Driften) und Drehzahl und Ganganzeige und
    Drehzahl Vibrationsmotoren.

    Viel Spass und guten Rutsch ins neue Jahr

    Dirk
  2. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Servus Dirk

    Sehr beeindruckend, dein Simulator!

    Vielen Dank für die Beschreibung!

    Falls dir noch zusätliche Details einfallen, dann editiere sie bitte oben im ersten Beitrag ;)

    Wenn die Motoren hängenbleiben, hat der RN-VN2 kaum Reserven. Sein DIY Motortreiber ist da ein guter und saugünstiger Kompromiss.

    Dir auch einen guten Rutsch!

    Gruss
    Christian
  3. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Die Steuerstangen unter unseren Sitzen kompensieren das.

    Aber ein Kreuzgelenk ist auch ne feine Sache. Setzt aber Fähigkeiten im Schweißen vorraus, denke ich.

    Nunja, irgendwann baust halt thanos seinen DIY Treiber rein, und hast dann noch nen 440A Treiber für ein größeres Projekt übrig ;)
    Zur Not haben wir auch nen Marktplatz *g*
  4. tronicgr

    tronicgr

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    Hi Dirk,

    Nice project! Its interesting that you choosed the alternative choice I had in mind (to use multiple AVR's to share the jobs).

    Anyway I wish it was written in english since altavista/babelfish had trouble translating most parts. But I got the general idea...

    In what language do you program the AVR's ?

    Regards, Thanos
  5. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Ook! :scherzkeks:
  6. ElektronikJack

    ElektronikJack Member

    Joined:
    Sep 15, 2007
    Messages:
    83
    Occupation:
    Techniker Elektronik
    Location:
    Germany Itzehoe
    Balance:
    - 40Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor
    programing the avr's

    hello,

    i using the Bascom Basic . It'S to hard for me programming in ASM with Atmel Studio. It is faster than Bascom but the big parts for a program
    (LCD, ADC, PWM print on Serial port....) are ready to use in Bascom.

    My Controller is simple:
    The first Mega8 get the Data from the profiler with a
    input command. then it separates the data. calculate it for
    every side motor and send it to the 8bit shift register.

    The Motor AVRs get the data, get the Poti Voltage ->Position
    and control the motor direction and PWM Signal.
    (nearer position lower PWM Signal).

    because i need more Motors (overstear,understear and engine rotations
    make with a unbalaced motor) i have to think about the next controller.

    - i whant to use the next profiler resolution
    so the 8 bit shift registers are to smal
    -idea use the MISO MOSI serial bussystem between the controllers

    -i don't know if it is possible to make only one bit chip for all
    5-6 Motorcontrollers (all with PWM) ??

    Tronic how does your controller prinzip work ?

    Source of the Controllers in Bascom

    [​IMG]bascom.rar (3.53 KB)

    The Master Source is the first Mega8 the Slave are the Motor Controllers

    happy new year

    dirk
  7. tronicgr

    tronicgr

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    Hi Dirk,

    Hey, I'm using Bascom too!

    Here is how my motion controller works:

    1. I read the data from the profiler byte by byte with interrupt service when new data occurs in 115200bps speed. Then I multiply each data value (x,y) by 4 to have them close in the 1023 range.

    2. I read the feedback potetiometers in ADC 10-bit resolution (and then dissabling the ACD function for the rest of the program to avoid inteferences with serial communications)

    3. Computing the proportional servo position offset using the serial data input and the pot feedback info. This produces the desired speed and direction that we need to move the motors. All calculation here are done in integer (-32768 to +32768) to avoid overfloating.

    4. Driving the motors with PWM in 10-bit resolution. 0-506 speed for one direction and 516-1023 to the other direction. A small range between 507-515 is used for braking the motor in middle position. The PWM frequency is 24kHz that means its totaly silent!

    Here is a sample of my proportional servo code:

    Setpoint = Pitch
    Error = Setpoint - Feedbackpotpitch
    P = Kp_pitch * Error
    Pitchdrive = P + Offset

    Of course I can do the same thing with four or six motors without much difference in code cycle speed. Now the code cycle speed is around 5ms and with extra code for the rest of the motors, will be around 8ms!

    One chip that does it all! Isn't cool?

    As you see its not that much different the programming we do. The main difference I see in your code is that you DONT use proportional servo code! This means that you drive the motors in Linear mode! With linear mode you don't have variable speeds!!! Another thing is that you use 8bit resolution for the PWM!!! And with a prescaler of 64 you propably getting 270Hz PWM frequency!!! Ouch!!! That must be loud as drilling a hole on the wall!

    If you are willing to try again in a new controller with only one chip, I'd recommend you to use the ATMega644 that among other features has SIX PWM hardware channels to control six motor with! My AVR controller is ready to host this ATMega644 in place of ATMega8535 changing only the code.

    Regards, Thanos
  8. ElektronikJack

    ElektronikJack Member

    Joined:
    Sep 15, 2007
    Messages:
    83
    Occupation:
    Techniker Elektronik
    Location:
    Germany Itzehoe
    Balance:
    - 40Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor
    new Controller for the Profiller 2.0

    hello Thanos

    happy new year !!

    in prinziple we make nearly the same.

    if take a look on my code :
    Pwmwert = Delta * 4 ´
    Pwmwert = Pwmwert * -1
    Pwmwert = Pwmwert + Offset

    you see that i calculate the pwm value by the delta.

    i want to create a controller for the new Profiler
    with multiple output (several motors) and higher resulotion
    16bit. For the higher resulolution it's better to use a motor encoder.

    The question is, is the Mega644 standalone the right choise?
    -He have to controll the 4-6PWM's
    -receive the seriell data
    -to read 2 or more encoders
    -to read 2 or more poti voltages
    i think i order some of this an try.

    Whant we create the controller together ? i whant to make this weekend
    a few PCB's at home. i have holidays until monday

    bye dirk
  9. tronicgr

    tronicgr

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    Hi Dirk,

    As you have seen the development of my avr controller had last for several months. And yet, I have to implenent reading of optical encoders input and 3DOF coupled motion control!

    Its not easy to come with such controller from one monent to another. I'll try to work with you on this to see if we can speed up a little things up.

    Yes ATMega644 seems the best standalone choice in DIP packet format. There are better AVR microcontrollers out there but they are SMT !!!

    You could start a PCB based on the AVR motion controller schematic, I made, and expand it to support all 6 PWM ports of the ATMega644. I was planning to do that later but if you interested... Alternatevely you can just make the PCB of the AVR motion controller v1.5 that is pin to pin compatible with ATMega644 but uses ATMega8535 for now and it can drive 4 PWM signals for 4 motors.

    Since much of the programming of the AVR motion controller is done I'd really appreciate if you tested my current ATMega8535 setup & firmware (pwmBeta002frex) on your 2DOF cockpit to see how it responses. My Joyrider uses a different motion control method (pwmbeta001) and can't test for frex like cockpits.

    Just a small note, I overclocked the ATMega8535 from 16Mhz to 24Mhz crystal, to speed up its capabilities, and archieve the 115200bps serial speed without errors!

    Thanks,
    Regards, Thanos
  10. Michael N.

    Michael N. Member

    Joined:
    Dec 27, 2007
    Messages:
    274
    Location:
    Germany, NRW, Düren
    Balance:
    611Coins
    Ratings:
    +5 / 0 / -0
    Hallo Dirk,
    ich bin von Deiner Lösung total angefixt :D . Ich fahre nur Rennsimulationen (RFactor,GTR2,GTL usw.) und finde dafür Deine Konstruktion bzw. Umsetzung sehr gut :top: . Vorallem komme ich an Scheibenwischermotoren und was man sonst so Hardwaremäßig braucht gut dran.
    Letztes Jahr habe ich mir schon das VPP-Racing-Rack-Proffessional anhand von Bildern nachgebaut :D. Ich glaube ich werde mich schonmal ransetzen und austüffteln wie ich jetzt so einen beweglichen Sitz da anfüge :D. Für den elektrischen Teil dann später bräuchte ich dann ein bißchen Hilfe :rolleyes: :)

    Gruß, Michael :) :top:
  11. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Servus Michael,

    ich glaub du hast gerade den Emoticons/cm² Rekord gebrochen ;D

    Nur zu, bin gespannt auf deine Konstruktion!

    Gruss
    Christian
  12. Michael N.

    Michael N. Member

    Joined:
    Dec 27, 2007
    Messages:
    274
    Location:
    Germany, NRW, Düren
    Balance:
    611Coins
    Ratings:
    +5 / 0 / -0
    Eine Frage noch, ich finde auf die schnelle keine Antwort dazu.
    Womit wird eigentlich die Spannungsversorgung der 2 Motoren hergestellt ?. Bei dem Gewicht (inkl. Fahrer) müssen da aber schon dicke Netzteile ran oder?
  13. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Ein Netzteil mit so ner hohen Ampèreleistung wird für Otto Normal unbezahlbar sein.

    Am besten ne Autobatterie. Damit kann man ne Weile fahren, bevor sie ans Ladegerät muss ;)
  14. ElektronikJack

    ElektronikJack Member

    Joined:
    Sep 15, 2007
    Messages:
    83
    Occupation:
    Techniker Elektronik
    Location:
    Germany Itzehoe
    Balance:
    - 40Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor
    neuer Controller und GTR2

    Hallo zusammen,

    ich hoffe Ihr seit alle gut ins neue Jahr gerutscht.

    Hallo Michael N.. Wenn du so ein tolles Grundgerüst schon hast, musst Du nurnoch versuchen den Sitz auf einem Rahmen zu befestigen. Von dem Rahmen geht dann eine Stange auf ca Schulterhöhe (siehe Videos)
    woran die Arme der Motoren befestigt sind.

    Wichtig ist das der ganze Sitz mit Fahrer und allem Zubehör möglichst im Schwerpunkt auf ein nicht verdrehbares Gelenk befestigt ist.
    Ein Kugelgelenk geht nicht !! Ich habe Ein Antriebswellengelenk vom Schrott genommen.
    Dann sind zackige Bewegungen mit den Motoren gar kein Problem.
    (Selbst mein Aufbau ist nicht perfekt im Schwerpunkt)

    Ich plane ja jetzt den Controller für den Profiller 2 mit Encodern
    and den Motorachsen anstatt 10 gang Potis.

    Die neuen Megas habe ich schon. Jetzt muss ich noch schnell die Platine machen.

    Ich werde auch versuchen mal mit GTR2 zu experimentieren.

    Grüsse
  15. ElektronikJack

    ElektronikJack Member

    Joined:
    Sep 15, 2007
    Messages:
    83
    Occupation:
    Techniker Elektronik
    Location:
    Germany Itzehoe
    Balance:
    - 40Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor
    Netzteil für 2 Wipermotoren !

    hallo zusammen.

    Das Netzteil ist völlig unproblematisch !!

    Ich habe einfach einen 500Watt (VA) Halogen trafo genommen
    (kein elektronischen !!) der kann dauerhaft 40Amp liefern.
    Besser ist natürlich ein Ringkerntrafo. Aber selbst ein
    300Watt Trafo müsste für 2 Motoren reichen
    z.B. Ebay 260200284514
    Dahinter ein 35Amp Gleichrichter und ein möglichst grosser Elko
    (>22.000µF >16V)

    Der 500VA sollte problemlos 4 Wipermotoren antreiben da jeder Motor
    maximal 10 Amp aufnimmt (langsamer Wischeranschluss)
    und nur wenn er gerade läuft. Die Brummspannung stört nicht,da der Motor mit PWM läuft.

    Und ganz wichtig !!!!!!!!!!!!! Der Stuhl sollte so gut wie möglich im Schwerpunkt liegen. Dann haben Die Motoren nicht viel zu tun und es geht ab.

    Zum Motor: ich habe die Masse leitung separat rausgeführt, sonst müsste man den Motor vom Chasis isoliert montieren. Wenn man den schnell Wischgang Anschluss benutzt, wird der Motor doppelt so schnell aber wohl auf dauer zu heiss. Dann braucht er wohl auch eher Richtung >10Amp

    Dirk
  16. Michael N.

    Michael N. Member

    Joined:
    Dec 27, 2007
    Messages:
    274
    Location:
    Germany, NRW, Düren
    Balance:
    611Coins
    Ratings:
    +5 / 0 / -0
    Hi Dirk,
    ein paar Fragen :)

    Das ist ja günstig :eek: , dann kann man auf eine Batterie verzichten?. Muß ich mal auf der Arbeit nachhören ob da irgendwo noch ein alter Trafo rumfliegt. :D

    Ich habe hier ein gut dimensioniertes Wellengelenk (Kreuzgelenk), das müßte doch auch gehen?. Sieht vom Prinzip so aus wie das Hier.


    Mein Sitz ist im jetzigen Rack leicht nach hinten gekippt angeordnet, da es so von der Ergonomie am besten paßt. Heißt das jetzt auch, dass ich den Sitz aufjedenfall in der waagerechten Position einbauen muß oder kann ich ihn leicht nach hinten gekippt lassen?. Kann man auf den Bildern erkennen wie er leichte Rückneigung hat.

    Gruß, Michael
  17. ElektronikJack

    ElektronikJack Member

    Joined:
    Sep 15, 2007
    Messages:
    83
    Occupation:
    Techniker Elektronik
    Location:
    Germany Itzehoe
    Balance:
    - 40Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor
    Bei gelegenheit versuche ich es mal mit einem 300Va Trafo
    und messe den eff. Strom.

    Die Neigung des Stuhls ist eigentlich egal, Du musst das Kippgelenk
    so weit nach hinten setzen das, das sich der Stuhl im Schwerpunkt
    befindet und dann superleich bewegbar ist.
    Eine gute Idee : versuche doch eine Art Schiebeleiste in längsrichtung mit dem Gelenk zu montieren. Hab ich leider vergessen.

    Dann kannst Du die Achse nach vorne oder hinten verschieben.
    (ähnlich wie beim Autositz)

    Dirk
  18. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Gute Idee. Regulierungsmöglichkeit wird nötig sein, da er ja nach und nach noch Gewicht vorne drauf packen will (Displays, Eingabegeräte etc)

    Allerdings würde ich die Schwerpunktsanpassung dann eher über die Sitzschinen des Sitzes regulieren, anstatt die komlette Plaform auf dem Gelenk zu verschieben.

    Gruss
    Christian
  19. Michael N.

    Michael N. Member

    Joined:
    Dec 27, 2007
    Messages:
    274
    Location:
    Germany, NRW, Düren
    Balance:
    611Coins
    Ratings:
    +5 / 0 / -0
    Das hatte ich auch vor, da sich der Schwerpunkt nicht mal so eben leicht ausrechnen läßt. :?

    Hatte ich eigentlich nicht vor, bei mir soll sich nur der Sitz bewegen. So habe ich das Prinzip hier verstanden oder sieht das anders aus?. Ist ja so wie bei dem Frex-Teil.
  20. Michael N.

    Michael N. Member

    Joined:
    Dec 27, 2007
    Messages:
    274
    Location:
    Germany, NRW, Düren
    Balance:
    611Coins
    Ratings:
    +5 / 0 / -0
    Was ich noch fragen wollte Dirk. Wie sieht das ganze denn aus wenn Last (also Du :D ) auf den Sitz kommt.
    Sind die Bewegung der Motoren immer noch so zackig oder gibt es da einen Unterschied.