There is a new version of the the USBtin (USBcan) board. I have not populated it yet. I added another decoupling capacitor to to stabilize the MCP2515, I correct the SPI clock line, and switched the USB connector from micro B to standard B.
I look forward seeing if I fixed the issues with the first version. I will not know if I fixed all the old issues until the board is populated and tested.
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.
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.