I have been working on replicating a project by Thomas Fischl. The end goals is to send and receive CAN messages on on a computer. The PCB I made had to many errors to easily debug. It was easier to build the the circuit on a breadboard, and debug where I had access to all the pins.
There is a USB cable on the top left, and the Microchip in-circuit-program header on the center left. The pic18f14k50 is the left most chip. The MCP2515 is in the center and the MCP2551 is on the right. I had the USB data wires (D+ and D-) mixed up, and it took me a very long time to identify this. When I was stuck on this I Emailed the creator of the USBtin. Thomas Fischl was responded immediately and was very helpful. It was good to know someone was willing to help me out, and I am very grateful for all he did.
To prove that the system works I had to send and receive CAN messages from a device I knew was good. We had some maximum power point trackers (MPPT) that used can around in the garage. When I send a message an id of 0x711, and no data, the message 0x771 when 6 bytes of data is returned.
The Scope we have(dpo3054) is very cool. It was donated to the team by tektronix, and it truly is an awesome piece of equipment. It has the built in ability to decode can messages.
Above is one of the first messages I sent from my breadboard USBtin. And below is the MPPT answering the request.
Below is quick snap of my bench setup for testing.
The MPPT uses a MCP 2551, and a MCP 2510 (instead of the newer 2515), and the processors is a PIC16F877. These chips are pretty similar to what the USBtin uses. The code for the MPPT can be found on our github. It was written in assembly, so it takes time to understand.
The solar car team won the fluke connect, and we got to visit the fluke head quarters just outside of Seattle (Everett Washington). We won a great deal of fluke tools for our team. Before we won this prize we were mostly using our personal tools to work on the solar car.
The trip to Seattle was great. Fluke paid for our airfare, lodging, rental car, and our food. We got to talk to people who made the tools we use. I can’t thank the people at fluke enough for their hospitality, and generosity.
While in Seattle we also toured the Boeing plant, saw the space needle, and rode the monorail. It was my first trip to Seattle, and it was a awesome trip.
RESULT=$(iwlist wlan0 scan | grep ESSID | grep -Po '".*?"')
for i in $RESULT;
if [ $i = '"solarcar"' ]
echo "This is home"
echo "Not home"
if [ $ATHOME ]
echo "normal mode"
cp defaultSetup /etc/network/interfaces
echo "adhoc mode"
cp adhocSetup /etc/network/interfaces
The UK solar car uses a raspberry pi to collect information from different systems of the car. The biggest are the motor controller, maximum power point trackers , and battery protection system. This information is re-factored on the pi. Then the data is saved on the SD, and the information is re-factored again, and broadcast over our 900 Mhz system telemetry.
The high levels of concurrence required make this a difficult. The physical positions of the pi in the car make it difficult to verify the pi is working.
So, what we(I) want, is the pi to go into an ad-hoc mode when the ssid of the garage is not in range. I wrote a bash script that will switch modes depending the ssids in the available.
The above script is the first pass. There are many irritating things about bash scripts. The white space, and the $ are the first 2 that come to mind.
#is not the same as,
I have been been playing with the raspberry pi for the last couple of days. I SSH into the machine, so I still have all the advantages of a modern computer at my fingertips. The pi very responsive when the GUI is not running.
I need the screen and keyboard because I am rewriting the network config files. Occasionally I will mess up the basic internet connection, and have to undo something using the keyboard, and portable dvd player screen. I do everything else through an SSH client.
There are some pretty big errors on this board. I might specify what they are later (Now I am still embarrassed about them:).
It is the fist time we used a PIC18F14K50 processor. Most of our boards use PIC18F4480. The programmer is different for the PIC18k’s. It might take a bit longer then we thought to get this board up and running.
Vehicles in in the 80’s an d early 90’s did not have computer controlled fuel injection. These older vehicles used vacuum pressures to adjust the timing. Vacuum lines are still used to power, Power Breaks.
The carburetor atomizes the gasoline. The gasoline air mixture will then be ignited in the engine below. Modern cars have fuel injectors and not carburetors.
Coolant is designed to cool the engine, however the coolant is also being used to cool the air into the manifold here. Cooling the air in the manifold will allow a greater mass of air in the cylinders (b/c cold air takes a smaller volume)
The engine is starting to look like a equipment, not a junk pile.
These are images of the new engine on the engine stand. The distributor is blue with 6 cables leaving it. The coil is to the left of the distributor with one cable leaving from the top.
Below is an image from the front of the engine. The alternator is on the left side of, and the A/C compressor is dangling on the right. The harmonic damper is below the fan, and partially obscured by the fan.
We also took images of the old engine currently in the jeep. It does not look very pretty, but it run reliably.
The image to the left is from above. There is an aftermarket K & N filter on the carburetor. The distributor is in the image below.
Neither of these look pretty, but they are impressive pieces of automotive engineering. With two engines we will have backup parts should anything go wrong.
One on the most enjoyable projects I ever did was a rebuild of a 1987 Jeep CJ-7. I was 15 years old, and excited to learn about cars. My dad also enjoyed working on cars. We bought the Jeep in thought ebay. It was located in Kansans city Missouri. We had a fly there and drive it back.
The Jeep was in okay shape. It didn’t break down once on the trip. The weather was cold on the return trip. We latter learned that in warm weather the jeep would die due to a fault ignition control module.
We enjoyed driving the Jeep for a couple of months before we started the engine rebuild.
We got the jeep and rather then taking the engine out, we bought a extra engine from a man known locally as “Nathan the Jeep Man”.
Above is an image of the engine while on the trailer. There is a great deal of work that will be required before the engine would be suitable to drive a vehicle.
The bell housing is on the left side of the image. The intake and exhaust manifolds are on the bottom part of the image. The radiator tubes , vacuum tubes, and wires wrap all around the engine.