My Car Assistant (Embebbed Car Automation Computer)!

50,161

551

47

Published

Introduction: My Car Assistant (Embebbed Car Automation Computer)!

About: Update 12 September 2017: A very special thanks to Sam Elder, a manager here at Instructables, who tracked down the cause of my lost publications and fixed the issue. Take a bow Sam!

Before we start, take a look at the video clip of operation: https://youtu.be/GHdMFtl_TAs

My 1999 Honda Civic is an old vehicle. She lacks lots of features that modern vehicle come as stock. I wanted the following functions implemented into my car:

1. Control of the air conditioning including engine load management during wide open throttle and driving up inclines.
2. Control of the lights and by extension, automatic dimming/brightening of the host controller screen.
3. Speed control of the cabin blower motor.
4. Automatic annunciation (voice and visual) of alternator failure and power conservation following this.
5. Annunciation (voice and visual) of an engine overheat condition.
6. Display of the fuel level and annunciation (voice and visual) of low and critical volumes.
7. Monitoring the refrigerant pressure switch to annunciate (voice and visual) abnormal pressure conditions.
8. Play music!

9. Record video of traffic while driving and also serve as a rear view camera.

10. Display the Time and Date.

Read on for how I implemented the World's First ever,windows 8.1 based, embedded, car automation system within my veteran civic!

Step 1: Choosing the Host System.

I use Windows to create automation systems as a hobby. The host computer needs to have a touchscreen interface to allow easy use within a car. There are two ways to do this:
1. Mini itx system with a 10 inch touchscreen monitor.
2. Touchscreen netbook.


The netbook is far cheaper and I chose this option to host my automation software. I used the Dell inspiron 2 in 1 netbook model 3147. This netbook is cost effective and it is very easy to access the internal components (see the attached service manual). I outfitted it with an ssd and I removed the Lithium ion battery since it would fail rapidly in the hot climate I live in.

https://www.instructables.com/id/Replacing-the-HDD-in-Dell-Inspiron-3147/

https://www.instructables.com/id/Removing-the-Battery-of-a-Dell-Inspiron-3147/

It may be possible to use a Windows tablet however for this system you really need at least 2 dedicated full size USB ports. Routing through an external hub is not a sturdy solution and may cause reliability issues for the Labjack U3. Perhaps in the future I may build another small scale automation system using a cheap Windows tablet as the host system.


I use my own custom blend of Windows for guaranteed stability and optimal performance.

https://www.instructables.com/id/Optimizing-Windows-for-Embedded-Systems/

Step 2: The Automation Software and Hardware.

To interface the netbook to the real world ie my car, I use the labjack u3 hv digital acquisition board. This is a very flexible usb device.

The automation software is created using flowstone. Flowstone is the very best for hobby automation and allows for the functions I need implemented.

All functions I created for controlling the hardware in the car have an AUTO and OFF selector switch. The car lights still has its OEM control however the air conditioning I had removed it's malfunctioning controller since mid 2015.

I love hearing voice annunciations from my automation systems. It gives the setup a more personal touch. In flowstone I call up the relevant mp3 file and let media player lite handle it. The 4th pic shows the schematic to make it happen. The website I get my text to mp3 files is:

http://www.fromtexttospeech.com/

Step 3: Making the Installation Modular.

I mounted the Labjack u3-hv, 8 relay card, DC DC converters, USB mouse, timer relay and other components in a PVC box. This Unified Control Box is detailed here:

https://www.instructables.com/id/Unified-Control-Box-for-Embedded-System/

I made sure to test the entire system in my living room prior to putting into the car. I stuck all the components onto the PVC surface with black silicone adhesive to provide shock absorption.

Step 4: Interfacing to My Honda Civic 1999.

In order to implant my newly created automation system into my car, I needed to know the relevant wiring for power, control and signals. I'm extremely intimate with the wiring in my vehicle and I know exactly where to tap into a wire to obtain an engine sensor signal or to inject a control voltage to effect a change.

I have attached the modified service manual for my car. This should be quite handy for you fellow civic owners out there!

If you wish to even attempt this system in your vehicle then you must have its service manual.

Step 5: Control of the Air Conditioning.

I previously prepared my car for simple ON OFF operation of the air conditioning system.

https://www.instructables.com/id/Wiring-my-Car-AC-for-MAXIMUM-Cooling/

The Blu/Wht and Blu/Red wires needed to be tied together for my car to acknowledge the AC is on and that the engine rpm needed to increase. I used 2 separate relays to engage the condenser fan and the compressor clutch by sending the marked wires to 0Volt. One relay would not work since the AC system stayed ON after the controlling relay was de-energized.

I used a negative temperature coefficient thermistor to read the temperature of the air vent.

The section of software reading the thermistor will determine the when the compressor turns on or off. I created a Slider to set the setpoint for the Cabin air (0 to 20 Celsius).

https://www.instructables.com/id/Measuring-Temperature-With-Flowstone/

The throttle position sensor (TPS) gives 0 to 5 volts, from no input to wide open throttle. I read this voltage via a potentiometer to FIO4 configured as an analog input. To prevent the car's engine control module from getting feedback voltage from my labjack u3 hv, I used a silicone diode to allow current flow into the labjack terminal.

Once the voltage from the TPS is greater than 3.5 volt, the air conditioning is temporarily disabled for 10 seconds to allow me to perform an overtake manoeuvre, which I hardly do since I prefer to drive defensively.

Step 6: Control of the Lights.

The light intensity I measured using a standard cadmium sulphide photocell. This I fitted into the space between both center dash vents with the help of black silicone adhesive.

Via flowstone 2 separate thresholds are used. One for Park lights and the lower one for headlights. On the user interface, I have a small blue led for the park lights and the bigger led for the headlights.

https://www.instructables.com/id/Measuring-Light-Intensity-With-Flowstone/

The signal from the photocell I used to dynamically adjust the back light brightness of the netbook. This way my eyes won't strain when I have to glance at the display.

https://www.instructables.com/id/Adjusting-Laptop-Brightness/

Two separate relays I used for the park and head lights. The actual connection I made near the under dash fuse box by splicing into the lighting wires.

Step 7: Cabin Blower Motor Speed Control.

A pwm controller from Amazon.com is what I used to replace the Bogus controller that came with the car. The labjack u3 DAC0 terminal gives 0 to 5 volt output to control, inversely, the speed of the blower.

https://www.instructables.com/id/Retrofitting-my-car-AC-blower-with-pwm-speed-contr/


The flowstone software has a Slider that gives me 100percent fan speed when the labjack outputs 0 volt. Inversely when the pwm controller gets 5 volt the blower motor stops. I configured the labjack DAC0 output as a default of 5 volt since I don't want the blower running when I start the car.

Via a software interlock, when the blower is off, the air conditioning is disabled. When the blower is commanded to run again there is a 8 seconds safety delay to allow the air conditioning to be engaged.

Step 8: Monitoring Voltage.

I measure the alternator voltage directly from the car's accessories circuit. Once the car is on, voltage is applied to the AIN0 terminal of the labjack. The Labjack U3-HV can safely measure this voltage on terminals AIN0 to AIN3.

Via flowstone, if the voltage is greater than 12.7 volt then all comfort features are enabled. Between 7.0 to 12.0 volt the software will voice annunciate a possible alternator failure and disable all comfort features including the automatic lights. I can manually turn on my Lights if I need it at night.

Below 7.0 volt the software will voice annunciate that the engine is switched off and will put the netbook into sleep mode. In this mode the entire automation system draws 40mA of current.

My existing 6Ah Lithium iron phosphate car battery in the glove box and 2.4 watt solar panel on the windscreen will suffice to keep the netbook as an extra load. Possibly in the future I will add a second 12Ah Lithium iron phosphate battery to give the car longer Park time.

Step 9: Playing Music.

I do like listening to music but not at loud levels. I use musicbee as the program to give me my entertainment. The flowstone user interface has a dedicated led button to open and close the musicbee program.

Originally I had a lepai amplifier to power my Car speakers but it blew a few days before installing the car automation pc. I plan to install a new one in the coming month.

Step 10: Installing Into the Car.

I put the pvc box holding the nervous system of my car automation setup into the centre console. After I used two lengths of 12inch long pvc trunking covers secure the netbook onto the console via lots of velcro.
Since I have no battery in the netbook it is very lightweight and stays perfectly onto the console.

I had previously labelled the battery and Accessories wiring used for my car deck. The wiring for air conditioning, lights, fuel level, engine temperature etc I routed through the back of the centre console. Lots of cable ties were used to secure the wiring.

To complete the look, I used an old bag strap and wound it around the edge of the netbook to give it a neater finish. I used Velcro to secure it.

Step 11: Improving Reliability.

In case I accidentally close the automation software (car.exe), I use Restart on Crash freeware program to automatically restart the application file. The same program boots with Windows to startup the car.exe automation program.

Step 12: ​Sleeping and Waking the System.

My netbook remains ON all the time but when the car is OFF, it will go into sleep mode and draw only 40mA from the car battery. To verify the system has slept, all I need to do is press the dedicated Windows key below the netbook touchscreen.

Once the car is started, the accessories 12 volt is made to momentarily left click the usb mouse, via the time delay relay, to wake the system.

Step 13: Backup Controls for Cabin Blower and Air Conditioning.

In the event I need to remove the netbook, for example if I carry the car in for repainting, I have a backup control for the air conditioning and the blower fan. I will have my comfort but without the digital finesse of the automation system.

Step 14: Preventing Prying Eyes.

To avoid my brand new system from being stolen, I use an old jacket and drape it over the dashboard to cover the netbook. Luckily the outside of my car is scratched, banged up and looks old so it is unappealing to the casual observer.

FYI: This is not the actually camouflage I'm using but you get the idea. Can't have folks on my island looking for that old jacket on the dash!

Step 15: Recording While I Drive!

I need the use of a reverse camera to help me while reversing. It helps with the neck injury I have (not due to a car accident). The Assistant also services as a great reverse camera plus as a Drive Record Unit (DRU). Consider it a "black box recorder" for driving purposes. Here is the instructable for the DRU component.

https://www.instructables.com/id/How-I-Made-a-Drive-Record-Unit-DRU-for-My-Car/

Step 16: The Latest Version of My Custom Made Software.

I have attached the latest revision of my car automation software for your cannibalizing pleasure! It has the most current software configuration and fixes based on my road trials to date.

Step 17: Real World Performance.

The system performes admirably to date (5-Oct-2016). I'm very happy with the results and I depend on the Assistant each time I drive. I hope my instructable has been interesting to you fellow hobbyists.

Digital Life 101 Challenge

Runner Up in the
Digital Life 101 Challenge

Share

    Recommendations

    • Planter Challenge

      Planter Challenge
    • Woodworking Contest

      Woodworking Contest
    • Casting Contest

      Casting Contest
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    47 Comments

    Im SPEECHLESS wow didnt ever think this is possible SUPER COOL i dont have time or patience to do this but REALLY cool project man WOW WOW WOW

    I gotta say, I love stuff like this. I've always wanted to build my own car and incorporate something similar to this into it. Great ideas here...

    1 reply

    Just with few hi fi software eui & perfect fitting this can make any of the modern cars such as audi and alike look like nothing.

    Well using windows if connected to internet etc for further development such as gps , theft protection application & many other applications would make it less protected from viruses & malwares etc. Well u never know what internet can carry with it.

    1 reply

    thanks for the kudos...my car assistant is not connected to the internet specifically since it is designed for one task only..to automate equipment on my car. Zero connectivity to the internet since I personally have no desire to do that.

    I wen the easy route of putting computer in my '69 beetle. the wiring diagrams are very easy AND accessible. Still working on steering control, so I can completely remove the steering wheel and use joystick.

    Have you thought about removing the airbag and using that nice big cavity to hold screen?

    ONE option you should consider, DOOR locks so it locks door when they are closed so cops have to break in. you can use a left / right / right pattern to unlock with key since they will probably confiscate you key anyways to open it.

    I pulled that keypad out of a junkyard wreck, and mounted it in door. eventually finger print scanners will reach point you can out one on inside of door handle.

    That wouldn't work here. I need both the A/C and heater/defroster (sometimes in the same day!) Got any ideas on how to control stepper motors to change these settings?

    2 replies

    an arduino stuffed in dash, with a threaded rod hooked to flapper door in vent would be best option, unless you only want full closed or open, then a simple solenoid valve would do it. If you want to drag vacuum from engine, you could use a vacuum actuator control as well. But you ARE going to be digging up into the dash to get at those flapper arms, very few are easily accessible. Stepper motor is over thinking the problem. IF you have clearance, a motorized pot hooked directly to flap, would let you move it as well as read the position. But I haven't been in any dashes that had that clearance option. You COULD put it INSIDE the duct if you want to take everything apart.

    The stepper motors will be easy to control via a relay card tied to the labjack u3. All u need to get is the pinout of those motors which will be in the service manual of the car. Usually connecting a control pin to 0volt causes the motor to rotate to a set position.

    That is very cool! I would like to do this to one of my cars, especially replacing the HVAC controls. I don't see any controls for the heater or defroster. It looks like you are only controlling the fan and A/C compressor. I'm guessing that you must live somewhere where it rarely or never gets cold. How would you go about controlling the settings of the vents, defroster etc.?

    Don't know about your thief preventing system. If I got one of these in my car where I live, it would be gone in a week I guess.

    1 reply

    Let's Hope my disguise works. Yes I also do live in a weird place for car stereos. This is why I love the old banged up look of my car.. Extremely unappealing to any observer. My friends tell me, man you can more than afford a new car or at least get this one repainted. I always say, unless I'm gonna have sex with my car.. I don't give a damn about her looks.

    Hello all

    I would use a RPI or BPI its alot cheaper

    If you buy a OBD2 chip as well you can display all the data off the car

    you can also wire in a amp for a stereo system

    1 reply

    Your ideas except the amp won't work especially for my car.

    This is really hard core stuff. No where near to a newbie . Trying this kind of stuff requires a professional knowledge in embedded course as well as practical electronics. For a rookie raspberry pi is more than sufficient. By the Way HATS OFF to you. Keep it up.

    1 reply

    Thank you so much. I prefer Windows based automation since it opens all possibilities up and offers true multitasking. Microcontrollers can perhaps be made into a car assistant but it will be very difficult to develop the code. Flowstone makes tweaking a breeze and I personally think it is the best software package on the planet.

    Man, this is sick! What a great idea and perfect execution. I will definitely try this programing sw you used. Also, I just realized, that my Asus Transformer T100 is powered by 5V, so no need for 19V power supply, and it has power button right on top of device, so I can switch it on and off by hand (or rework it for sensitivity to 15 pin).. Great inspiration, thank you so much!

    1 reply

    great thanks for your compliments. Let me know how the T100 works out for this. My biggest concern with a tablet was the lack of full USB ports and I didn't want to use an OTG usb hub. However the appeal of a tablet for my automation projects is growing on me....maybe in the future I may replace the car netbook with a lower profile sleek low cost tablet.