Hello, I am French and I work on Speeduino. I'm used to using Arduino, but I'm not used to dealing with firmwares. I would like to add knock detection to my edits.
I looked at your Super Knock Shield firmware in Arduino IDE, and from what I understand I need to change some values for it to work properly with the motor.
how should I do it ? I just have to upload the firmware with the correct values? is there another trick?
I have everything I need, a clean RPM signal to hook up to it, I could use the alert LED channel to activate a correction ignition table, maybe even with a 0-5v output I I could pass it off as a flexfuel sensor, which would make it possible to use the flexfuel menu to apply a precise correction according to the % of irregularities. it is an idea.
I looked at your other work, it's really handy. I have a question: is it possible to upload the Knock Shield and the wideband on the same Arduino? I'm thinking of a mega 2560 pro. taking care that the routes are not common and change them if necessary.
thanks for reading, sorry for my english!
Knock Shield for Arduino UNO Memory
Knock Shield for Arduino UNO Memory
Currently the new knock setting are lost when we power cycle. How can we save the settings to memory? Do we need the logging shield?
- Christian_Bylund
- Posts: 270
- Joined: 07 Mar 2015 18:09
Re: Knock Shield for Arduino UNO Memory
Hello,
In the example code the settings are changed by modifying these values based on the values in the technical manual.
How are you changing the knock setting?
Code: Select all
//Define registers and parameters used.
#define SPU_SET_PRESCALAR_6MHz 0b01000100 /* 6MHz prescalar with SDO active */
#define SPU_SET_CHANNEL_1 0b11100000 /* Setting active channel to 1 */
#define SPU_SET_CHANNEL_2 0b11100001 /* Setting active channel to 2 */
#define SPU_SET_BAND_PASS_FREQUENCY 0b00101010 /* Setting band pass frequency to 7.27kHz */
#define SPU_SET_PROGRAMMABLE_GAIN 0b10100010 /* Setting programmable gain to 0.381 */
#define SPU_SET_INTEGRATOR_TIME 0b11001010 /* Setting programmable integrator time constant to 100µs */
#define KNOCK_THRESHOLD_LEVEL 204 /* Setting knock LED level, max value of 255. */
#define MEASUREMENT_WINDOW_TIME 3000 /* Defining the time window of measurement to 3ms. */
Best Regards,
Christian Bylund
Bylund Automotive AB
Christian Bylund
Bylund Automotive AB