Index
- Eclipse IDE and JTAG
- Unlock STM32F103 with JTAG
- Flash firmware using Bluetooth
- Serial Port Bluetooth
- Serial Port Plot
- SM32F103C8T6 use 128kbytes flash
- Observer
- Shane Colton documentation and firmware
- Firmware
- Part 1: Field-Oriented
- Part 2: Field-Oriented
- Sensorless Pneu Scooter - part 1
- Sensorless Pneu Scooter - part 2
- Sensorless Pneu Scooter - part 3
- Texas Instruments videos
- Chinese controllers code
- Chinese balance group reference design
- Kerry D. Wong -- A Self-Balancing Robot
- Self balance bicycle
- PID
- LQR
- PID and LQR, MATLAB
- Steve Brunton videos
ADC
Injected conversion mode
This mode is intended for use when conversion is triggered by an external event or by software.
The injected group has priority over the regular channel group. It interrupts the conversion of
the current channel in the regular channel group.
Example of application
This mode can be used to synchronize the conversion of channels to an event. It is
interesting in motor control applications where transistor switching generates noise that
impacts ADC measurements and results in wrong conversions. Using a timer, the injected
conversion mode can thus be implemented to delay the ADC measurements to after the
transistor switching.
Vários modos de utilização ADC:
Linked file: AN3116-STM32_ADC_modes_and_their_applications.pdf |
F103: ADC injected scan mode question
I'm implementing a high power buck converter using STM32F103C8. I need to measure voltage on 4 channels during each PWM period. I figured, that i will use ADC injected mode for this. Since PWM is being generated from TIM1, I'm triggering on TIM1-CH4 in an instant when I don't expect switching-related disturbances.
What bothers me though, is that I'd like the ADC to convert all the selected channels as fast as it can and then wait for another trigger. Is there a way to do this? I have enabled scan mode, which I figured would do exactly that, but it seems that it only converts one channel and waits for another trigger event to happen before it converts another channel in sequence.
Not sure why you'd need injected mode, scanning mode can be triggered to do multiple channels one after another, from a single trigger event. Scanning requires the use of DMA.
Scanning should be enabled, Continuous Mode should be disabled, and you should enumerate the channels/speed you wish the samples to be performed at.