Speeduino is now on Github Sponsors (Rather than Patreon): https://github.com/sponsors/noisymime
Anything not specifically related to the Speeduino hardware. Eg sensors, bluetooth, displays etc
User avatar
By PeterJones
#57568
As part of messing about with my Speedy NO2C project, i built the Ardustim 1.4 board, Nano V3.0 and running Josh's Ardustim 0.0.4.exe, uploaded firmware version 202108. Other then the known RPM sweep issue, it works well. Have selected 24-1 wheel only. Connected to a NO2C and using TunerStudio MS lite 3.1.06.
I have seen other posts noting a mismatch between the RPMs displayed in Ardustim and TS, but these are single digit errors. What I am seeing is TS 1500 / Ardu 1300, TS 2500 / Ardu 2000, TS 3500 / Ardu 2800 and so on up the scale eg TS7500/ Ardu 6000.
Ardustim leds for inj 1 and spark 1 (project is a single cylinder motorcycle) are strobing as expected, FP light on solid. Scoping inj1 and spark1 looks what I would expect (within the limits of the scope - Hantek 6022 / Open Hantek)

The other gauges in TS are all working and displays alter as the pots on the Ardu board are turned. MAP gauge changes when vac applied to the tube.
No tuning adjustment changes have been made yet, this is mainly about seeing if the NO2C I assembled is working.

Is there anything I should be doing to get the rev readings closer? Should I even care?
Thanks in advance
#57648
I changed the wheel selection in Ardustim to 12-1 with cam, made the appropriate changes to trigger setting in Tuner Studio and now the rpm matches within a few digits, right across the rev range.

Reverted to 24-1 no cam, adjusted TS to suit and the revs are mismatched again. Back to 12-1 no cam this time, and revs match. Not going to worry about it anymore, I have done what I originally intended, which was to give the NO2C a good testing, so I'll call it good and try and get on with installing on the bike (KLR650 if anyone is interested). Next step will be to get the trigger "notches" cut in the alternator rotor.
By RempageR1
#57649
Probably an issue in the Ardustim code. The pattern array looks like this:


Code: Select all
 const unsigned char twelve_minus_one_with_cam[] PROGMEM = 
   { /* 12-1 with cam */
     0,0,0,0,0,1,0,0,0,0,0,1, /* Teeth 1 and 2 */
     0,0,0,0,0,1,0,0,0,0,0,1, /* Teeth 3 and 4 */
	   0,0,0,0,0,1,0,0,0,0,0,1, /* Teeth 5 and 6 */
	   0,0,0,0,0,1,0,0,0,0,0,1, /* Teeth 7 and 8 */
	   0,0,0,0,0,1,0,0,0,0,0,1, /* Teeth 9 and 10 */
	   0,0,0,0,0,1,0,0,0,0,0,0, /* Tooth 11 and MISSING twelth */
	   0,0,0,0,0,1,0,0,0,0,0,1, /* 2nd rotation: Teeth 13 and 14 */
	   0,0,0,0,0,1,0,0,0,0,0,1, /* Teeth 15 and 16 */
	   0,0,0,0,0,1,0,0,0,0,0,1, /* Teeth 17 and 18 */
	   0,0,0,0,0,1,0,0,0,0,0,1, /* Teeth 19 and 20 */
	   0,0,0,0,0,1,2,2,2,2,2,1, /* Tooth 21 and 22,  2nd trigger on cam between teeth 21 and 22 for 25 deg */
	   0,0,0,0,0,1,0,0,0,0,0,0  /* Totth 23 and MISSING 24th */
   };

So that`s 144 entries in the array. The wheels definition is described as below:
Code: Select all
/* Pointer to friendly name string, pointer to edge array, RPM Scaler, Number of edges in the array */
The 24-1 is configured like this:
Code: Select all
 { twenty_four_minus_one_friendly_name, twenty_four_minus_one, 0.5, 48, 360 },
So that at least is the wrong number of edges in the array.

A very similar one is this one:
Code: Select all
 const unsigned char thirty_six_minus_one_with_cam_fe3[] PROGMEM = 
   { /* 36-1 with cam, 3 cam teeth, 2 180deg from each other */
     1,0,1,0,1,0,1,0,1,0,1,0, /* 0-55 deg */
     1,0,1,0,1,0,3,2,3,0,1,0, /* 60-115 deg  cam tooth at 90 deg crank for 15 crank degrees */
     1,0,1,0,1,0,1,0,1,0,1,0, /* 120-175 deg */
     1,0,1,0,1,0,1,0,1,0,1,0, /* 180-235 deg */
     1,0,1,0,1,0,1,0,1,0,1,0, /* 240-295 deg */
     1,0,1,0,1,0,1,0,1,0,0,0, /* 300-355 deg Crank missing tooth at end */
     1,0,1,0,1,0,1,0,1,0,1,0, /* 360-415 deg */
     3,2,3,0,1,0,3,2,3,0,1,0, /* 420-475 deg 2 more cam teeth at 420 and 450 deg, 15 crank degrees each */
     1,0,1,0,1,0,1,0,1,0,1,0, /* 480-535 deg */
     1,0,1,0,1,0,1,0,1,0,1,0, /* 540-595 deg */
     1,0,1,0,1,0,1,0,1,0,1,0, /* 600-655 deg */
     1,0,1,0,1,0,1,0,1,0,0,0  /* 660-715 deg Crank missing tooth at end */
   }; 
Also 144 and is defined as this:
Code: Select all
{ thirty_six_minus_one_with_cam_fe3_friendly_name, thirty_six_minus_one_with_cam_fe3, 0.6, 144, 720 },
So likely some code fixes are required so the Ardustim cycles through the pattern at the right speed.
PCB for BMW m52 engine

I had a Speeduino MS41 REV3.0B made by JLC PCB a[…]

540HP NA 7L V12 3Seater

That looks like an interesting worm hole. I can't […]

I would like to get an eagle and swap in a stroked[…]

Oh man! I am getting consistent RPM! That's […]

Still can't find what you're looking for?