Open Source Joystick FFB / DIY FFB Joystick - Page 14 - ED Forums
 


Notices

Reply
 
Thread Tools Display Modes
Old 06-15-2017, 08:26 PM   #131
jpdesvals
Junior Member
 
Join Date: Jul 2014
Location: New Caledonia
Posts: 34
Reputation power: 4
jpdesvals is on a distinguished road
Default

Hi ,

Good to know that it helped.

@metal gear honk 1) is it possible for you to make a little step by step tutorial for how to install your test firmware into arduino as i am a total newb?
2) about the motor driver l298n : whatever the type of dc motors ( exept for stepper ) as long as you have the power supply in range for the motors you don t have to setup anything on the pc ( PWM for exemple ) ?
jpdesvals is offline   Reply With Quote
Old 06-19-2017, 11:24 AM   #132
MetalGear_Honk
Junior Member
 
MetalGear_Honk's Avatar
 
Join Date: Nov 2015
Posts: 57
Reputation power: 2
MetalGear_Honk is on a distinguished road
Default

Hi
The easy part first. :-)
The l298n is wired to the atmega32u4(Arduino pro).
So it has nothing to with your PC. The MCUis giving the signals for Direction and Speed (PWM) only the external power forthe DC Motor is separately wired to the L298n. it can run 2Ampere for eachMotor so we have something to play with.

As for the step by step for burning theMCU.
I will see what I can do. But I am notvery good with such things.

MetalGear_Honk



MetalGear_Honk is offline   Reply With Quote
Old 06-20-2017, 01:58 AM   #133
jpdesvals
Junior Member
 
Join Date: Jul 2014
Location: New Caledonia
Posts: 34
Reputation power: 4
jpdesvals is on a distinguished road
Default

Yes!
Many H bridge motor controller available on the market for this project ! Everybody should get the maximum torque he deserve good !

For the gear , shaft high torque geared dc motors or litteraly every thing you may need "servocity" is remarquable too if that may help other people .

Your code( pin mapping part) is written for the arduino pro witch has not exactly the same pin mapping as the arduino uno v3 ... Pb : pwm port for exemple are pb3 , pb2, pb1 repectively pin 11,10, 9...and from what i understand we must wright in the code what pins are related to what function musn t we ?

1) Could you please change your code to comply with the arduino uno or have i to buy an arduino pro ?

2) can you realese if possible the .HEX with X and Y axis implemented so we can try it in the sim ?

Voila , many asking i know anyway thx a lot for your codding work Metal Gear cause after hours of research on the web i have not be able to find an existing firmware to make arduino recognised as a basic 2 axis USB force feedback device ...
jpdesvals is offline   Reply With Quote
Old 06-20-2017, 06:11 AM   #134
MetalGear_Honk
Junior Member
 
MetalGear_Honk's Avatar
 
Join Date: Nov 2015
Posts: 57
Reputation power: 2
MetalGear_Honk is on a distinguished road
Default

Hi

For using a different Arduino, or otherHardware:
The Arduino Uno uses a different MCU(ATMEGA328P) which has no USB functionality. To communicate with the PC it usesa second MCU (ATmega16U2)
The Arduino Pro Micro (ATmega32u4)
For a quick Explanation about Atmel MCU's:
AT= Atmel
mega= MCU Family
32/ 16 internal Memory for programming
U = USB Capable
Rest = Special stuff not of interest forthe Moment.

We Need a USB capable for obvious reason. Sothe UNO is out of question.
And the UNO's Communications MCU is not assessablefor reprogramming
(Or not recommended) and it has not enoughMemory to hold the code for FFB.

So, we could build the Communication MCUto hold the PID/HID. And use the ATmega238P to hold the functionality. It willbe a lot of work just to get the communication between these two MCU running. Notto talk about sending Forces all the way from Direct Input (PC) tothe Motors.

In short it may be possible to Change thecode to fit into a UNO, but it is too much work to make it happen. And I stillhave a lot of work to get the MICRO to a working Status.

For Getting a working HEX:
As I said a few Posts earlier a am workingon a "Functional" Version for everybody to test. :-)
At least with the internal ADC as I am stillwaiting for my new ASD1115
Speaking of functions is Button Supportneeded for your tests?

MetalGear_Honk


MetalGear_Honk is offline   Reply With Quote
Old 06-20-2017, 09:00 AM   #135
jpdesvals
Junior Member
 
Join Date: Jul 2014
Location: New Caledonia
Posts: 34
Reputation power: 4
jpdesvals is on a distinguished road
Default

ok ,

-So let s go for an arduino pro

-Run Xloader to install your firmware .HEX file

-wiring as you explain and test !

no need for button for the test , only forces effect are my concern.

However :As you said "We Need a USB capable for obvious reason. Sothe UNO is out of question.
And the UNO's Communications MCU is not assessablefor reprogramming
(Or not recommended) and it has not enoughMemory to hold the code for FFB. "

1) in this tutorial you must have already look :https://www.youtube.com/watch?v=v7A_fFHfN_c&t=5s

The arduino uno is pluged in USB and able to hold code ifor all the force feedback effects on one AXIS with every car game and obviously flight sim.

Wouldn t be possible to edit or modiffy Mmos.exe sofware(windows inteface )and the FFB2014.HEX file to had ( with your knowledge ) one axis , i mean in these software everything is already possible to setup and worrking so why not use it as base for your work ?

I can send you the Mmos.exe and the FFB2014.hex file as well .

There must be many things i am missing .

JP

Last edited by jpdesvals; 06-20-2017 at 09:07 AM.
jpdesvals is offline   Reply With Quote
Old 06-20-2017, 11:53 AM   #136
MetalGear_Honk
Junior Member
 
MetalGear_Honk's Avatar
 
Join Date: Nov 2015
Posts: 57
Reputation power: 2
MetalGear_Honk is on a distinguished road
Default

ReHi

For the Xloader. At first it looks like a greattool. But as I have no bootloader implemented it would brick you pro micro.
Better to go with a UNO as ISP programmer
Or any other ISP Programmer.

forthe open ffbWeel:
It has only one Axis as you stated. Thereforonly capable of two directions.
A Joystick has two Axis and is capableof 254 Directions.
The PID states that force and Directionare send in one command set of three Signals. For Basic use. Force effect,Force Strength and force direction.
(That is strongly simplified for moreInformation please read the HID and PID device class documents)

Another side note different effects on OSWsimply add up the force that is applied. On the stick it is possible to geteffects in different directions. Constant force 128 (180°pull from High G) andrising Saw 63 (90° from bullet impacts) these are not stacked but using differentMotors to drive.
Reducing the angle between the two effectswill produce some overlay but will not mask them entirely.

I am not the best Software developeraround so feel free to correct me.

Another note: I have to correct myselfform earlier the L298N can Support 5A so we have a lot more power to play with.


MetalGear_Honk
MetalGear_Honk is offline   Reply With Quote
Old 06-24-2017, 03:10 PM   #137
MetalGear_Honk
Junior Member
 
MetalGear_Honk's Avatar
 
Join Date: Nov 2015
Posts: 57
Reputation power: 2
MetalGear_Honk is on a distinguished road
Default

Hi all
i hope someone is still interested:
here is another Version.
this time with working Axis and Motor Control.

I am not finished with the Moter PWM Control. it feels slugish at small forces.
but i think it is good enough for some more testing.

For the Mechanics:
I am working on a Gimball design but that will take some more time to get it right.


JOYSTICK_Test.zip
Attached Files
File Type: zip JOYSTICK_Test.zip (2.14 MB, 18 views)
MetalGear_Honk is offline   Reply With Quote
Old 06-24-2017, 09:50 PM   #138
Thadiun Okona
Member
 
Thadiun Okona's Avatar
 
Join Date: May 2016
Posts: 153
Reputation power: 2
Thadiun Okona is on a distinguished road
Default

Quote:
Originally Posted by MetalGear_Honk View Post
Hi all
i hope someone is still interested:
here is another Version.
this time with working Axis and Motor Control.

I am not finished with the Moter PWM Control. it feels slugish at small forces.
but i think it is good enough for some more testing.

For the Mechanics:
I am working on a Gimball design but that will take some more time to get it right.


JOYSTICK_Test.zip
One of the things that makes MSFFII such a good stick compared to others is that it does not use PWM (like cheap cnc machines use), it uses a real dc servomechanism in the form of an H-bridge circuit regulating variable current to DC motors... smooth variable l/r power output (like high end cnc machines use). It's also possible to slightly modify the original Ms circuit/power supply to generate 400% the torque, which if applied to bigger motors/better mechanicals it's a huge leap in power in without sacrificing it's many built in finesse.

http://www.simprojects.nl/ms_siderwinder_ff2_hack.htm

For power transmission, gears are really a compromise for this as they have backlash subject to wear, precision tolerances for incorporating, they create unwanted 'cogging' effects as you can feel the teeth meshing and is really done to make manufacture simple and the base compact at the expense of performance so if you're rolling your own, not something desirable to emulate.

A better method for power transmission is 'shaft winding', where you drill a cross-hole in the output shaft of the motor and feed a steel cable through it and wrap a few wingdings around it, that go to a pulley/bellcrank hooked to the stick's axis. It allows 100% smooth transmission of power, and extremely easy to achieve the 'gear' ratios desired. Roland van Roy (same guy who came up with the hack above, who's site is bar none prerequisite reading on the subject in general) has an example of this in his yoke: http://www.simprojects.nl/forcefeedback_yoke_ii.htm

I've been watching this for a while with interest and have almost commented several times but ultimately deleted them cause I'm not sure if it's helpful but I'm not sure exactly what this thread is trying to solve. For a DIY FF setup honestly the easy part is making the hardware, which is pretty well known stuff. Interfacing with a sim however is a completely different animal, and is something putting it mild will be hard to beat MS/sim dev's collective efforts at so anyone interested in really using FF might as well perform the hack vs reinventing a wheel that might not work as well.

http://www.simprojects.nl/diy_force_...nterfacing.htm -basic interfacing explanations

I sort of do this for a living (work with motion platforms and this company supplies professional control loading hardware too but spend a lot of time picking my boss's brains as well) having dabbled with this since 2008 myself. I also came up with a way to interface with sims and came up with a functional scheme (including an electromechanical loop error circuit to turn digital>mechanical) based chiefly on airspeed data. This needs to be extracted in real time from a sim/game (sometimes a feat in itself) to run through the circuit. It's easy enough to generate variable centering force based on airspeed as well as incorporate offsets like trim (though each different game/sim needs its own extraction program) but that's where the 'free' lunch ends. Every. Single. Event. beyond that needs to be manually generated from a library of carefully sculpted sine wave 'effects' to replicate things like like stall shakes, landing bumps, fluttering control surface, turbulence effects, machine gum bumps etc. Not only does a library need to be scripted (and variable versions of certain effects), but each one of those events has to be programmed to be triggered from a variable inside the sim which is a much more complicated parameter extraction/generation program. Each sim will require it's own version, and also that they're tuned for each plane and each effect ad nauseum.

I deemed the effort to be well into the zone of diminishing returns... spent a lot of time wondering 'if I could' vs 'if I should' and determined while DIY interfacing si entirely possible it was not worth the effort unless it was being made for a single high fidelity simulator for study or training level that didn't have built in FF signals to work with already.

So... in the end it's still more advantageous to hack an MSFFII which has done the hard stuff at the dev logic level already and generates high resolution output that only lacks power, which luckily is the easier part to solve. Mod circuit/ps and make better mechanicals with bigger motors and you will have something already able to work pretty well with nearly everything as well as having supplementary support programs to get it to work with games/sims that don't immediately support it...

...it's possible I'm totally missing something here too, and I hope my advice is not taken as disparagement.
Thadiun Okona is offline   Reply With Quote
Old 06-25-2017, 07:57 AM   #139
MetalGear_Honk
Junior Member
 
MetalGear_Honk's Avatar
 
Join Date: Nov 2015
Posts: 57
Reputation power: 2
MetalGear_Honk is on a distinguished road
Default

Hi
OK so first:
CNC use Steppers not PWM (Pulse wide Modulation). even the cheapest 3d Printer use Steppers.
second:
The sidewinder uses PWM it is directed from the Controller to the "Enable" pin of the H-Bridge. (that way it looks like a true DAC (Digital to Analog conversation) on the Motor side. that is exactly what I am using here.
for the gears:
Using step down gears reduces the backlash and play that is feeld at the grip.
The Shaft winding systems produce to much Force that can not countered by the Operator (you will not be able to move the stick against the Motor)
that is great for motion Platforms but not for a FFB Stick.
The same goes for linear Actuators and worm drive.

so much for the Mech parts.
if I got something wrong please feel free to correct me.

For the software:
the main intension was/is to replace the good Sidewinder-mainboard.
so a SF Hack is not a way to go. :-)
I am full aware of the difficulties for developing something like this.
but interfacing with the SIM is not part of the Stick. it is done in the USB driver. as it is part in the USB-PID (Universal-Serial-Bus-Physical-Interface-Device).
that makes the Stick as it is Working already a simple Plug and Play :-)
that part is already done by me. so as USB is part of the Windows Kernel the Stick can be used an all machines without additional drivers/software.
for getting Force informations from the SIM:
most all sims/modules that I have tested provide Directing / support FFB.

So knowing that all, I can assume that we already have a working Version of a Diy-FFB Stick. as it is already working with DCS and other Sims.
not completed but Working.

the biggest and by far most complicated missing part is getting the forces to feel right. that is what makes the Sidewinder so unique.

again i am not the best Software developer in the World (but almost :-D )
so if someone can correct me I am more than happy in getting help.



MetalGear_Honk
MetalGear_Honk is offline   Reply With Quote
Old 06-26-2017, 02:37 AM   #140
jpdesvals
Junior Member
 
Join Date: Jul 2014
Location: New Caledonia
Posts: 34
Reputation power: 4
jpdesvals is on a distinguished road
Default

Hello MetalGear_Honk !

More interested than ever , just waiting to the Arduino pro mini , the l 298 motor controler and all the stuff to test , thx for the firmware update !!

I will report asap but this may take some time for me to recieve everything in New-Caledonia !

Conerning the FF2 gimball scan to make a 3 d printable format : some pieces are just a little bit to big to be scan by the guy i know , waiting for another solution .

I 'll keep you inform !
jpdesvals is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 05:02 AM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.