Originally Posted by
kur4o
The bluetooth module draws around 40ma peak.
I don't anticipate that causing any kind of problem for the regulator. If you're worried try finding a sheet metal type heatsink for it and you should have plenty of safety margin.
Originally Posted by
kur4o
Any idea how much those leds draw.
Discussed here [link] (fourth paragraph of first post).
With all leds on, and all 8 coil igniters being driven high total load on the AVR would be around 36 milliamps. This doesn't concern me whatsoever because in operation there will only be 4 to 5 coils being dwelled at max rpm, and the status led should be off.
Originally Posted by
kur4o
Now the main issue is uploading firmware and fixing the crank tables.
Go here [link] and install the latest Arduino ide package for your OS platform.
When you launch the Arduino IDE for the first time I think it asks you where you'd like to store your sketches, and that will probably default to a folder under Documents named 'sketchbook'. I haven't used it on windows in at least 10 years so this could have changed, but I think you should be able to figure that out.
Extract the latest firmware to your sketchbook folder. The file / folder structure should look something like:
(Documents)\sketchbook\diy_ltcc_0_9_38\diy_ltcc_0_ 9_38.ino
Find that .ino file in windows explorer and double-click it. You should see a number of header (.h) files and several .ino files (no extension will be displayed in the IDE for these) represented as tabs at the top of the editor window. Find config.h and click it.
The default build is set to use the D580_dwell.h table - if you have different coils edit the include line appropriately.
You can fine-tune your voltage divider resistor values here as well - plug in the values measured for R1 and R2.
Scroll down to the definition of cranking spark table and put the values from your tune in the second column.
Code:
v 0x12075 table goes in this column
const uint8_t PROGMEM crankSpkTable[17][2] = {{ 0, 14}, // -40c
{ 16, 14}, // -28c
{ 32, 14}, // -16c
{ 48, 14}, // -4c
{ 64, 13}, // 8c
{ 80, 13}, // 20c
{ 96, 12}, // 32c
{112, 11}, // 44c
{128, 10}, // 56c
{144, 9}, // 68c
{160, 8}, // 80c
{176, 7}, // 92c
{192, 6}, // 104c
{208, 5}, // 116c
{224, 4}, // 128c
{240, 4}, // 140c
{255, 4}}; // 152c
Click the save button or press [ctrl]+[s].
In Arduino IDE go to Tools > Port and select the com port your bluetooth adapter appears as.
Then go to Tools > Board and select 'Arduino Uno'
Click the check button or press [ctrl]+[r] to test compile the sketch. If no errors you can try uploading ([ctrl]+[u]). If you get any errors uploading follow the troubleshooting links that are presented. If you get a timeout from avrdude check that your bluetooth dongle is properly controlling the DTR pin. The drivers for the common bluetooth boards don't support this in the linux kernel, so I can't upload firmware using them. But I believe they work in windows.
Note: always disconnect the DTR pin from serial device you're using when operating the board. DTR must only be connected for uploading firmware to the board.
Originally Posted by
kur4o
Is there any test mode or the only way to test is to put in an opti signal and give it a spin.
Different test modes are documented at the top of config.h. Simplest test if you have all the coil indicator leds installed and an opti signal is to uncomment
Code:
#define STANDALONE 1
and upload. Do not use this mode with coils attached unless you're ready to fire the coils. Spin the opti or crank the engine, and you should see the controller find sequence and begin a light show on the 8 indicator leds.
Originally Posted by
kur4o
Just to make sure the shorter red coded 25v can cap goes to c3 and the longer 16v purple coded goes to c4
Correct
Originally Posted by
kur4o
Should I be worried of bricking or it is pretty straight forward and safe.
The bootloader on the AVR is pretty robust, and it wont let you write any of the fuse bytes when programming over the UART. So you'd really have to make an effort if you wanted to brick it. The only time I've killed a 328P based system is by applying reverse polarity power. I'm not even sure it killed the AVR, but the 7805 regulator shorts immediately in this situation. I did this to my original prototype board when I started testing coils, and the AVR is soldered in so it's not worth the time to try removing the 328P.
P.S. - the reverse polarity "trick" mentioned above is also a really fast way to destroy a coil pack. Ask me how I know.
Bookmarks