v2kai
10-26-2010, 12:52 AM
Well figured I'd post on beyond about my homebrew EDC setup. Feel free to post any comments, questions or suggestions.
A little background info: for those of you who don't know what the hell it is I've built, TEIN has already had their EDFC for some of their suspensions setups out for a while now. Allowing the driver to adjust the dampening force of the aftermarket adjustable struts from inside the vehicle.
http://media2.sg.88db.com/sg_UploadFiles/2007/12/29/21B501D3-DC11-44D4-8522-616DE9B3954C.jpg
I've got tokico 5-way adjustable dampers on my car and frankly I was getting sick of having to get out of my car to adjust them. When the gf got in the car she wanted them adjusted to full soft, when I was DD'ing it to and from work it was right in the middle setting and when you're out for a cruise or decide you want to do a little spirited driving it is such a pain to stop, get out and adjust all four corners. (I know it really isnt that big of an effort, but it is my immense laziness and cheapness that inspires me to do great things so don't rain on my parade lol) rather than spending more coin on a more expensive setup I figured I'd build my own.
I should also add I have a few lazy friends with slightly different suspension setups I'm putting together EDC's for as well and I'll be adding pictures of theirs as I go.
Anyway onto my build project. I've got lots of pictures and video I won't be adding all at once but I'll try and get it up and linked quickly.
I didn't want to spend lots of money and had limited space for motors and mounts as the illuminas werent designed to have a motor slapped on top of it. So I tried to keep it as cheap and simple as possible while achieving full adjustability, and separate front and rear adjustment.
Components List:
-Plastic Controller enclosure, some buttons and 7-segment display
-Arduino nano pro microcontroller
-Servo Signal Boosters
-DC-DC step-down voltage regulator
-4x GWS S125 1T servos (meant for RC sailboats so theyre waterproof)
-Custom designed servo strut mounts (3D printed out of ABS plastic with my wicked nerdy rapid prototyper)
-various mounting hardware, wire, connectors
My first prototype was done with a breadboard and a larger Arduino microcontroller for ease of reconfiguration and testing.
http://members.shaw.ca/v2oracle/EDCproto1.jpg
My first attempt at a servo mount for my front strut, attempting to use the strut mounting bolts to hold the mount in place. I soon realized the limitations of this mount configuration and it was back to the drawing board. By using the two strut mounting bolts I was unable to adjust the position of the servo to clear hood ribbing and achieve the desired mounting angle. I also had limited threads left on the studs with my strut bars to add the mounts. Also a BIG problem with my first attempt was the plastic layer in between the strut and the chassis which would adversely affect the rigidity in the setup.:facepalm:
http://members.shaw.ca/v2oracle/EDCservomountrev1.jpg
My second servo mount design for my rear struts used the existing washer to hold the servo in place. This allowed me to easily set the mount angle, used existing hardware to mount it and didn't sacrifice rigidity. Yay!:clap:
http://members.shaw.ca/v2oracle/EDCservomountrev2a.jpg
http://members.shaw.ca/v2oracle/EDCservomountrev2b.jpg
I don't have a picture of my connection to the strut dial but seeing as it used a simple flat head screw driver I didn't want to mess with a coupler if it could be avoided. What I ended up doing was cutting a groove in the servo output shaft and mating the adjustment dial of the strut to the servo with a small flat piece of 1mm thick robotics grade carbon fiber sheet. This configuration didn't require modification to the strut dial allowing me the option to easily return it to stock should I ever choose to. You can see the dial below, I'll get a pic up of my final coupler assembly soon.
http://members.shaw.ca/v2oracle/frontpass.jpg
The angle between each setting was 72degrees so I designed my code for each front and rear servo pair to adjust in those set increments.
With everything tested and functional I didn't want to have a giant breadboard on my dash so I scaled it all down and squeezed everything into a small plastic enclosure. This was an absolute bitch to do. Fitting all the components in that enclosure, hand wiring and soldering everything onto a simple single-through hole prototyping wafer board. (kinda ghetto I know) Next time I will be making my own PCB's. I used to the DC-DC step down regulator to power all the electronics at 7V from the vehicle's 12V acc. This boosted the servo power slightly, and also keeps the voltage regulator on the microcontroller from cooking itself. It also boosts the normally 5V servo pulse signals to 7V, allowing me to run multiple servos off one signal, whereas at the original non-boosted signal levels the draw was too much on the controller it would glitch out. And at a full 12V the servos would jitter and the signal was too much to hold their angle.
Really cramped. This is partially assembled with other components (spare microcontroller and servo signal boosters) beside it and a quarter for size reference. Seven segment display and buttons mounted
http://members.shaw.ca/v2oracle/EDChandheld1a.jpg
Microcontroller mounted on the rear of the board spaced off with header pins to allow wiring underneath it due to limited space and also provide a solid backing against the back of the enclosure.
http://members.shaw.ca/v2oracle/EDChandheld2a.jpg
Further assembly still and I started to get it to all fit in the enclosure.
http://members.shaw.ca/v2oracle/EDChandheldenclosure.jpg
With all the other components wired up you can see how tight it is to fit everything into that little box.
http://members.shaw.ca/v2oracle/EDChandheldenclosure1.jpg
This is what the final handheld controller looks like.
http://members.shaw.ca/v2oracle/EDCcontrollerfinal.jpg
The four central wires are:
12VDC (ACC)
GND
SIGNAL OUT (FRONTSERVOS)
SIGNAL OUT (REAR SERVOS)
The two additional wires to the right side were added kind of after the fact. This was my work around to the jittery servo problem at 12VDC on the noisy vehicle electrical system. I ran power to the servo pairs from the DC-DC voltage regulator I also ran the microcontroller off of, and the signal boosters; giving it a nice clean power source at 7VDC. This additional plug also gives me a convenient kind of 'ghetto' feature. Each time the controller boots up with the car, I've set it to reset to my preferred setting of 3,3. If I want to keep a setting like 1,1 for a prolonged period of time I can simply cut the power to the servo pairs. This also means that they arent drawing any power to hold their angle, although the draw is so small and once set at the correct angle require no energy to maintain the setting on the strut anyways. I'm still debating developing a variant that 'remembers' the last setting before power was killed, either storing it in non-volatile memory or maintaining power to the microcontroller if the draw is negligible.
Partial Handheld controller assembly test to ensure everything was functioning as expected during the cramped handheld controller build process. The pulse signal duration is what controls the rotation angle of the servos. The yellow line on the oscilloscope is the front struts signal, and the blue is the rear struts signal.
qTgwp3qAXxo
One of my bench tests, breadboard was only used to quickly connect servos and supply power off a ghetto rigged PC power supply at that stage.
rqd60Hf3KH4
I'll post up a couple more vidsanother vid later when I can get time to do a walkaround of what it looks like installed in my car.
A little background info: for those of you who don't know what the hell it is I've built, TEIN has already had their EDFC for some of their suspensions setups out for a while now. Allowing the driver to adjust the dampening force of the aftermarket adjustable struts from inside the vehicle.
http://media2.sg.88db.com/sg_UploadFiles/2007/12/29/21B501D3-DC11-44D4-8522-616DE9B3954C.jpg
I've got tokico 5-way adjustable dampers on my car and frankly I was getting sick of having to get out of my car to adjust them. When the gf got in the car she wanted them adjusted to full soft, when I was DD'ing it to and from work it was right in the middle setting and when you're out for a cruise or decide you want to do a little spirited driving it is such a pain to stop, get out and adjust all four corners. (I know it really isnt that big of an effort, but it is my immense laziness and cheapness that inspires me to do great things so don't rain on my parade lol) rather than spending more coin on a more expensive setup I figured I'd build my own.
I should also add I have a few lazy friends with slightly different suspension setups I'm putting together EDC's for as well and I'll be adding pictures of theirs as I go.
Anyway onto my build project. I've got lots of pictures and video I won't be adding all at once but I'll try and get it up and linked quickly.
I didn't want to spend lots of money and had limited space for motors and mounts as the illuminas werent designed to have a motor slapped on top of it. So I tried to keep it as cheap and simple as possible while achieving full adjustability, and separate front and rear adjustment.
Components List:
-Plastic Controller enclosure, some buttons and 7-segment display
-Arduino nano pro microcontroller
-Servo Signal Boosters
-DC-DC step-down voltage regulator
-4x GWS S125 1T servos (meant for RC sailboats so theyre waterproof)
-Custom designed servo strut mounts (3D printed out of ABS plastic with my wicked nerdy rapid prototyper)
-various mounting hardware, wire, connectors
My first prototype was done with a breadboard and a larger Arduino microcontroller for ease of reconfiguration and testing.
http://members.shaw.ca/v2oracle/EDCproto1.jpg
My first attempt at a servo mount for my front strut, attempting to use the strut mounting bolts to hold the mount in place. I soon realized the limitations of this mount configuration and it was back to the drawing board. By using the two strut mounting bolts I was unable to adjust the position of the servo to clear hood ribbing and achieve the desired mounting angle. I also had limited threads left on the studs with my strut bars to add the mounts. Also a BIG problem with my first attempt was the plastic layer in between the strut and the chassis which would adversely affect the rigidity in the setup.:facepalm:
http://members.shaw.ca/v2oracle/EDCservomountrev1.jpg
My second servo mount design for my rear struts used the existing washer to hold the servo in place. This allowed me to easily set the mount angle, used existing hardware to mount it and didn't sacrifice rigidity. Yay!:clap:
http://members.shaw.ca/v2oracle/EDCservomountrev2a.jpg
http://members.shaw.ca/v2oracle/EDCservomountrev2b.jpg
I don't have a picture of my connection to the strut dial but seeing as it used a simple flat head screw driver I didn't want to mess with a coupler if it could be avoided. What I ended up doing was cutting a groove in the servo output shaft and mating the adjustment dial of the strut to the servo with a small flat piece of 1mm thick robotics grade carbon fiber sheet. This configuration didn't require modification to the strut dial allowing me the option to easily return it to stock should I ever choose to. You can see the dial below, I'll get a pic up of my final coupler assembly soon.
http://members.shaw.ca/v2oracle/frontpass.jpg
The angle between each setting was 72degrees so I designed my code for each front and rear servo pair to adjust in those set increments.
With everything tested and functional I didn't want to have a giant breadboard on my dash so I scaled it all down and squeezed everything into a small plastic enclosure. This was an absolute bitch to do. Fitting all the components in that enclosure, hand wiring and soldering everything onto a simple single-through hole prototyping wafer board. (kinda ghetto I know) Next time I will be making my own PCB's. I used to the DC-DC step down regulator to power all the electronics at 7V from the vehicle's 12V acc. This boosted the servo power slightly, and also keeps the voltage regulator on the microcontroller from cooking itself. It also boosts the normally 5V servo pulse signals to 7V, allowing me to run multiple servos off one signal, whereas at the original non-boosted signal levels the draw was too much on the controller it would glitch out. And at a full 12V the servos would jitter and the signal was too much to hold their angle.
Really cramped. This is partially assembled with other components (spare microcontroller and servo signal boosters) beside it and a quarter for size reference. Seven segment display and buttons mounted
http://members.shaw.ca/v2oracle/EDChandheld1a.jpg
Microcontroller mounted on the rear of the board spaced off with header pins to allow wiring underneath it due to limited space and also provide a solid backing against the back of the enclosure.
http://members.shaw.ca/v2oracle/EDChandheld2a.jpg
Further assembly still and I started to get it to all fit in the enclosure.
http://members.shaw.ca/v2oracle/EDChandheldenclosure.jpg
With all the other components wired up you can see how tight it is to fit everything into that little box.
http://members.shaw.ca/v2oracle/EDChandheldenclosure1.jpg
This is what the final handheld controller looks like.
http://members.shaw.ca/v2oracle/EDCcontrollerfinal.jpg
The four central wires are:
12VDC (ACC)
GND
SIGNAL OUT (FRONTSERVOS)
SIGNAL OUT (REAR SERVOS)
The two additional wires to the right side were added kind of after the fact. This was my work around to the jittery servo problem at 12VDC on the noisy vehicle electrical system. I ran power to the servo pairs from the DC-DC voltage regulator I also ran the microcontroller off of, and the signal boosters; giving it a nice clean power source at 7VDC. This additional plug also gives me a convenient kind of 'ghetto' feature. Each time the controller boots up with the car, I've set it to reset to my preferred setting of 3,3. If I want to keep a setting like 1,1 for a prolonged period of time I can simply cut the power to the servo pairs. This also means that they arent drawing any power to hold their angle, although the draw is so small and once set at the correct angle require no energy to maintain the setting on the strut anyways. I'm still debating developing a variant that 'remembers' the last setting before power was killed, either storing it in non-volatile memory or maintaining power to the microcontroller if the draw is negligible.
Partial Handheld controller assembly test to ensure everything was functioning as expected during the cramped handheld controller build process. The pulse signal duration is what controls the rotation angle of the servos. The yellow line on the oscilloscope is the front struts signal, and the blue is the rear struts signal.
qTgwp3qAXxo
One of my bench tests, breadboard was only used to quickly connect servos and supply power off a ghetto rigged PC power supply at that stage.
rqd60Hf3KH4
I'll post up a couple more vidsanother vid later when I can get time to do a walkaround of what it looks like installed in my car.