I have the [CAN BUS mockup module] from the shop.
CAN output ID, scaling, offset is pre-programmed into firmware.
- it has information in standard format (different for AIM, BMW or VAG/Audi)
- normally it does not need to be changed (the AIM version outputs all the information)
- can be changed via reflashing only (after negotiating the exact content), if justified
I also received a USB stick
which has 4 wires
Yellow - SWDIO
Brown - GND
Orange - SWCLK
RED - 3.3v
Inside the module there is a 4 way header pin and also a micro USB connector.
Currently the 4 way header (GND, SWDIO, SWCLK) from the USB-
Programmed to convert aim => AUDI CAN-data, see SimpleCanMessages
- if different needed, what message ID, what exact data ? See CanBus
- CAN messages are not "1 dimensional", (not like a 0-5V that can be tuned with a pot); If the message is known and specified, it can be programmed; otherwise not.
Testing step 1
I´m only getting Id 0x280 @ 500Kbit @ 10Hz but nothing on it.
The ECU has RPM and is operating, but nothing is coming out on CAN at ID 0x280. What configuration does it have? If nothing how can I put a config on it?
If AIM is verified, See CanBus
I don´t have a Android phone to test the AIM out or a gauge but It looks like I´m not getting AIM out.
Definitely check that first (easy with a terminal, every 5th byte is A3).
- AIM is verified with a A3 every fifth byte. And the ECU has RPM and TPS but nothing on the 0x280 Id.http://www.vems.hu/files/CAN_testing/Aim%20out.txt
Is AIM out only available via second RS232?
Aim output stream is available via 1st or 2nd serial, but 1st is often used for VT, so 2nd serial is much more practical: see BroadcastDatastreamAim section: "Configure 2nd UART to send "5 byte stream" with datacontent matching the AIM"
I?ve got a aim2can module with analogs.
My problem is the input voltage range from a 0-5v sensor is only 0-3v with a factor of 1.5v till that point into the vems. This means I cannot properly use the sensors full range.
The ratio of actual sensor voltage to vems reported voltage is about 1.5 upto 3v, after that it starts changing as the module hits its max range
Multimeter >> VEMS voltage tested using a potentiometer
0.00 >> 0.02
0.50 >> 0.77
1.03 >> 1.57
1.48 >> 2.25
1.99 >> 3.01
2.51 >> 3.79
3.00 >> 4.52
3.52 >> 5.00
4.00 >> 5.00
4.52 >> 5.00
4.91 >> 5.00
If 0-5V input range is needed, simply divide by 1.5
- eg 4k7 series resistor, and 10k to GND (See VoltageDivider)
- Will the aim2can module ever be updated to have a native 0-5v range or will it always be stuck at 0-3.3v? Having to put an external voltage divider on all the analog channels is not a great way to go about things.
- agreed. the new design has more IO, 5V analog inputs, and much smaller and cleaner compact design (DSUB15 size, roughly)
NOTE: also checked MembersPage/HankMoody/AIM
AIM pdf to confirm position ("ECU_12" but numbered from 1).
AIM output stream Lambda is theoretically:
- stored_aim_channels[11] = LAMBDASENSOR ...
- The last 2 bytes of 6F2 ID
- actually 0x0311 (785 decimal * 0.001 = 0.785 lambda)
See below
The Snip was with 0.96 Lambda value
The Top right Lambda was 1.83
- There is 1831(Lambda 1.831) being sent on byte 3 & 4 but it never updates.
- position is byte 7 and 6, right ?
Can you test AIM module software and send me an update so I can get this working?
We tested all versions, and they update properly if the CAN-bus is set up properly, and the receiver is acknowledging the messages. See AimCanBusSniffing .
- Oldest fw version resends value forever (no significance if CAN-bus is set up properly, but might be confusing when sniffing, admittedly ),
- New fw versions drops old (AIM/lambda) value and sends new value (updates continuously 'even with a CAN-bus that is not set up properly and receiver fails to ACK).
- In any case, either works with a working CAN-bus where at least 1 receiver acknowledges messages.
new 2021 AIM2CAN module FW idea for exporting analogs directly to CANBUS for other devices and being able to use multiple aim2can modules at the same time.
I can produce a .DBC file that many systems need to import to make use of new CAN devices, or simply for people wanting something they are familiar with when they are setting this up in their dashes or their own ecu?s or whatever.
PDF file with some information for the casual user needs producing by VEMS.
I have a few suggestions for this FW
- Use 3 analogs to set some settings , this way no interactive software development is needed to talk to the unit via vemstune or load firmware via command prompt for the novice user, 18 analogs is already more than most competitors.
- Assumption is made here that this module will never talk to VEMSTUNE
- All Pulled up analogs can be mentioned to be ?temp sensor / switch inputs? ? the pullup value needs clear mentioning in documentation
- Analog 20 ? Pulled high via resistor = Base CAN Id+0 , pulled low via resistor = Base CAN ID+10
- Analog 21 ? Pulled high via resistor = 100Hz output , Pulled low via resistor = 50Hz
- Analog 23 ? Pulled High via resistor = 500kbit speed , Pulled low via resistor = 1000kbit
- So you can infact get a mix of 36 Analog/Digital channels via CAN with just two devices which should satisfy 99.99% of all customers.
- Base CAN ID ? 0x700
- First frame
- 16bits per analog channel
- Analog 0-3
- Base CAN ID - +1
- Second Frame
- 16bits per analog channel
- Analog 4-7
- Base CAN ID - +2
- Third Frame
- 16bits per analog channel
- Analog 8-11
- Base CAN ID - +3
- Fourth frame
- 16bits per analog channel
- Analog 12-15
- Base CAN ID - +4
- Fifth frame
- 16bits per analog channel
- Analog 16-18 (4bytes)
- Digital A Frequency (2 bytes) ? at least 1 decimal point so XXX.X Hz
- Digital B Frequency (2bytes)
- Base CAN ID - +5
- Sixth frame
- Byte 0 ? Internal VCC
- Byte 1 ? Internal diagnostic 1 (cpu usage or whatever **reasonably valuable information for diagnostics)
- Byte 2 ? Internal diagnostic 2
- Byte 3 ? Internal diagnostic 3
- Byte 4 ? Internal diagnostic 4
- Byte 5-7
- Bit1 ? Digital A state
- Bit2 Digital B state
- Bit 3 Digital state of Analog2
- etc so you get Digital representations of the analogs in the event they are being used as switch inputs as the reading device might not have the customizing ability to convert analog voltages via can into switch inputs locally.