Jump to content

Hansolo

Members
  • Posts

    1775
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Hansolo

  1. Congratulations on you purchase mr_mojo97. You will have a lot of fun building that. At least I know I had when I recently assisted a good friend of mine with his collective; https://forums.eagle.ru/showthread.php?t=185224 Yes we went for the BU0836X for ease. With regard to figuring our the wires I suggest you take a multimeter that has continuety check with sound. It's an easy way of setting checking which wires goes where. Just attached one lead to the common, and the other lead to another wire and start flipping the switches until you get a tone. As molevitch says 16 wires are probabbly redundant, or it's because it is used for different systems in the aircraft. Looking forward to seeing more pictures of your build. Cheers Hans
  2. Deadman it breakes my heart to see you hacksawing your MIP but I know where you are going. Looking very much forward to see the end result. And congratulations on the shop. Looks great and I see you have bundled them into the which panels they are used :thumbup: Cheers Hans
  3. Very nice writeup WhoMadeWho :thumbup: @Inverted & @Draken152 you may also use an EasyDriver Shield instead; http://www.ebay.com/itm/A3967-EasyDriver-Shield-Stepper-Motor-Driver-Module-V44-For-Arduino-3D-Printer-/400522271040?epid=581015416&hash=item5d40fcd940:g:fc0AAOSwq1JZLplm In that case you need to use this code by Warhog/Ian #define DCSBIOS_IRQ_SERIAL #include <AccelStepper.h> #include "DcsBios.h" struct StepperConfig { unsigned int maxSteps; unsigned int acceleration; unsigned int maxSpeed; }; class Vid29Stepper : public DcsBios::Int16Buffer { private: AccelStepper& stepper; StepperConfig& stepperConfig; unsigned int (*map_function)(unsigned int); unsigned char initState; public: Vid29Stepper(unsigned int address, AccelStepper& stepper, StepperConfig& stepperConfig, unsigned int (*map_function)(unsigned int)) : Int16Buffer(address), stepper(stepper), stepperConfig(stepperConfig), map_function(map_function), initState(0) { } virtual void loop() { if (initState == 0) { // not initialized yet stepper.setMaxSpeed(stepperConfig.maxSpeed); stepper.setAcceleration(stepperConfig.acceleration); stepper.moveTo(-((long)stepperConfig.maxSteps)); initState = 1; } if (initState == 1) { // zeroing stepper.run(); if (stepper.currentPosition() <= -((long)stepperConfig.maxSteps)) { stepper.setCurrentPosition(0); initState = 2; stepper.moveTo(stepperConfig.maxSteps/2); } } if (initState == 2) { // running normally if (hasUpdatedData()) { unsigned int newPosition = map_function(getData()); newPosition = constrain(newPosition, 0, stepperConfig.maxSteps); stepper.moveTo(newPosition); } stepper.run(); } } }; /* modify below this line */ /* define stepper parameters multiple Vid29Stepper instances can share the same StepperConfig object */ struct StepperConfig stepperConfig = { 120, // maxSteps 1200, // maxSpeed 10000 // acceleration }; // define AccelStepper instance [b]AccelStepper stepper(AccelStepper::DRIVER, 11, 10);[/b] // define Vid29Stepper class that uses the AccelStepper instance defined in the line above // +-- arbitrary name // | +-- Address of stepper data (from control reference) // | | +-- name of AccelStepper instance // v v v v-- StepperConfig struct instance Vid29Stepper vvi(0x10a0, stepper, stepperConfig, [](unsigned int newValue) -> unsigned int { /* this function needs to map newValue to the correct number of steps */ return map(newValue, 0, 65535, 0, stepperConfig.maxSteps); }); void setup() { DcsBios::setup(); } void loop() { DcsBios::loop(); } It is almost identical to WhoMadeWho's code except for the highlighted part where you define which two pins are used for the the Step and Direction. Advantage with this is that it only uses 2 pins from the Arduino. Just make sure you have the correct 'AccelStepper.h' version as otherwise you get a compiling error. WhoMadeWho was kind enought to lead me to the correct one; http://www.airspayce.com/mikem/arduino/AccelStepper/index.html Cheers Hans
  4. SOLVED @WhoMadeWho, you Sir are the man :thumbup: It complies perfectly with the link you provided. I need to spread some rep around before able to rep you again. Thank you very much for the assistance Cheers Hans
  5. Thanks WhoMadeWho. Much appreciated. I just noticed that I pasted the wrong code :doh: I pasted your code which compiles. Its the other that won't complite and as far as I can see the only difference between yours and the one Ian/Warhog is that yours says this AccelStepper stepper Whereas Ian/warhog code says this AccelStepper stepper(AccelStepper::DRIVER, 11, 10); I will try the link you provided later tonight. Many thanks for the assistance Cheers Hans
  6. Alright another noob question from my side. I have come to the point where I am about to implement steppers into the setup. I have copied the code used by Warhog and Ian (I think) but I get a compiler error. This is the code: #define DCSBIOS_IRQ_SERIAL #include <AccelStepper.h> #include "DcsBios.h" struct StepperConfig { unsigned int maxSteps; unsigned int acceleration; unsigned int maxSpeed; }; class Vid29Stepper : public DcsBios::Int16Buffer { private: AccelStepper& stepper; StepperConfig& stepperConfig; unsigned int (*map_function)(unsigned int); unsigned char initState; public: Vid29Stepper(unsigned int address, AccelStepper& stepper, StepperConfig& stepperConfig, unsigned int (*map_function)(unsigned int)) : Int16Buffer(address), stepper(stepper), stepperConfig(stepperConfig), map_function(map_function), initState(0) { } virtual void loop() { if (initState == 0) { // not initialized yet stepper.setMaxSpeed(stepperConfig.maxSpeed); stepper.setAcceleration(stepperConfig.acceleration); stepper.moveTo(-((long)stepperConfig.maxSteps)); initState = 1; } if (initState == 1) { // zeroing stepper.run(); if (stepper.currentPosition() <= -((long)stepperConfig.maxSteps)) { stepper.setCurrentPosition(0); initState = 2; stepper.moveTo(stepperConfig.maxSteps/2); } } if (initState == 2) { // running normally if (hasUpdatedData()) { unsigned int newPosition = map_function(getData()); newPosition = constrain(newPosition, 0, stepperConfig.maxSteps); stepper.moveTo(newPosition); } stepper.run(); } } }; /* modify below this line */ /* define stepper parameters multiple Vid29Stepper instances can share the same StepperConfig object */ struct StepperConfig stepperConfig = { 120, // maxSteps 1200, // maxSpeed 10000 // acceleration }; // define AccelStepper instance [b]AccelStepper stepper(AccelStepper::DRIVER, 11, 10);[/b] // define Vid29Stepper class that uses the AccelStepper instance defined in the line above // +-- arbitrary name // | +-- Address of stepper data (from control reference) // | | +-- name of AccelStepper instance // v v v v-- StepperConfig struct instance Vid29Stepper vvi(0x10a0, stepper, stepperConfig, [](unsigned int newValue) -> unsigned int { /* this function needs to map newValue to the correct number of steps */ return map(newValue, 0, 65535, 0, stepperConfig.maxSteps); }); void setup() { DcsBios::setup(); } void loop() { DcsBios::loop(); } This is the compiler error: Flaps_position_test:70: error: 'DRIVER' is not a member of 'AccelStepper' AccelStepper stepper(AccelStepper::DRIVER, 11, 10); ^ Using library AccelStepper-master in folder: C:\Users\____\Documents\Arduino\libraries\AccelStepper-master (legacy) Using library dcs-bios-arduino-library-0.2.11 at version 0.2.10 in folder: C:\Users\____\Documents\Arduino\libraries\dcs-bios-arduino-library-0.2.11 exit status 1 'DRIVER' is not a member of 'AccelStepper' My guess is that the AccelStepper.h version I am using is not the correct one? Does anyone know where to find the correct one? Cheers Hans
  7. Thank you very much for the great effort Kimi. Much appreciated. Do you plan to make a feature where it's possible to import different navigation points than the ones included in the tool? *must spread some rep around' :-( Cheers Hans
  8. Just updated NTTR and started instant action Vegas Tour (not the takeoff, sorry). I had an issue with throttle being at full power at all time. Turned out that DCS apparently remapped all my controllers and added Throttle Both from all my joystick controllers. Is that what you have observed? Cheers Hans
  9. Huey caution panel; http://www.ebay.com/itm/142425143213?ul_noapp=true
  10. I guess PULL to OFF can be done on a regular switch just like Henkie from Viperpits; http://www.pdp-11.nl/viperpit/ky58/ky58-panel.html Quite some building tips in this Cheers¨ Hans
  11. IFF panel hardware IFF panel ZERO-B-A-HOLD: Pull to get it into ZERO position. HOLD position is springloaded back into A position DAK261360-AF1 249-3171 36554 OFF-STBY-LOW-NORM-EMER: Pull to get into OFF and EMER DAK261361-AF3 249-3171 36555 AUDIO-OUT-LIGHT ON-OFF-ON 8820K16 MS35059-21 TEST 4x; M-ON-OUT (ON)-ON-ON 8860K5 MS25201-5 RAD TEST-OUT-MON (ON)-OFF-ON 8832K6 MS35059-31 MODE 4 ON-OFF ON-ON 8857K45 MS25125-C3 IDENT-OUT-MIC ON-OFF-ON 8809K16 MS35058-31 Light REPLY & TEST DIALCO 801-1030-0332-504 MS24041-3
  12. Very nice Sir. Thanks for sharing :thumbup: Cheers Hans
  13. GSS Rain I have been unable to find the switches put have following marking on them: ZERO-B-A-HOLD: Pull to get it into ZERO position. HOLD position is springloaded back into A position DAK261360-AF1 249-3171 36554 OFF-STBY-LOW-NORM-EMER: Pull to get into OFF and EMER DAK261361-AF3 249-3171 36555 You can see the lock arangement here Knobs: Base circle ø32x2mm Total knob height 21mm Grip part ø19x11mm Just realised that the light is red so may be out of a helo. I'll try and take it apart over the weekend and send Deadman the switch numbers so he can include it in his total list :smilewink: Cheers Hans
  14. Nice Gadroc :thumbup: Very neat setup Sir. Looking forward to seeing it come together. Did you drill and mounted the press inserts before or after the square cut-out was cut? Cheers Hans
  15. Uhh very nice indeed. Then there is hope that I can wire up my real IFF :thumbup: Thanks a lot gents Cheers Hans
  16. You're welcome. I got a full set of those and they are nicely made. No bubbles or anything. Cheers Hans
  17. Mr.Fenestron please see here; https://forums.eagle.ru/showthread.php?t=91929 & https://forums.eagle.ru/showthread.php?t=91400 Cheers Hans
  18. Try and look here; https://forums.eagle.ru/showpost.php?p=3165388&postcount=1348 Cheers Hans
  19. LASTE & AAP Slow but steady progress. Managed to get a prototype of the LASTE panel up and running. The dimensions have been taken from the antenna panel as it looks like they are same size. The light wasn't too good thus phones wasn't able to do a very good recording. Also got the AAP up and running on the old poor panel layout. This time its running with correct switches for CDU and EGO PWR as well as STEER selection Both are running DCS-BIOS over RS-485 Cheers Hans
  20. I would suggest to try out the MAX487 chip right away. Considering how much you have already achieved then implementing those should not give you any trouble. Just take a prototype PCB and attach the chip. Here is my current setup I am running with On the cable: Brown - GND White - +5VDC Pink - +12VDC Grey - for panel light later Yellow - A line Green - B line The 12VDC goes to the Arduino Nano. The Nano then supplies the MAX487 with 5VDC. I then have a break-out board on top; Which I found on Ebay but I could have made it myself. It just comes handy with the terminals http://www.ebay.com/itm/400387932408?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT So far only got 5 boards running like this. Did have an issue with the last one. It flooded the communication but turned out there was a short between GND and A-line. Let me if you need any assistance. Cheers Hans
  21. Very nice purchase BIGNEWY. Looking forward to seeing you got them up and running Cheers Hans
  22. +1 Thanks for sharing Kadda Cheers Hans
  23. Looking good Sir. Keep up the the good work Cheers Hans
  24. Incredible craftmanship Sir :thumbup: Keep the pictures flowing Cheers Hans
  25. Very nice video Sir :thumbup: I like that you have solved the mag switches by coding yourself. I am not at that level yet, but found that DCS-BIOS can include mag switches out of the box if it's just set in Advanced view. To implement the mag switch that way all you need is this; const byte lcpAnticollisionPins[2] = {PIN_0, PIN_1}; DcsBios::SwitchMultiPos lcpAnticollision("LCP_ANTICOLLISION", lcpAnticollisionPins, 2); DcsBios::LED lcp_Anticollision(0x1144, 0x0080, PIN); You of cause needs two pins to get both positions of the mag switch. Keep those videos comming :thumbup: Cheers Hans
×
×
  • Create New...