Умножитель частоты импульсов (шагов) для любого ЧПУ софта https://forum.cnc32.ru/index.php/topic,16.0.html
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MX_Master 8fa6b87b5b image links fix 2 months ago
Drivers F407VETx_OC_DMA_3 ported to F103C8Tx (not tested yet) 2 years ago
Inc Fixed an error with DMA direction 2 years ago
Info + some images 2 months ago
Src Forced DIR input->output sync while axis idle 2 years ago
Test +1 more test NC file 2 years ago
startup F407VETx_OC_DMA_3 ported to F103C8Tx (not tested yet) 2 years ago
.cproject F407VETx_OC_DMA_3 ported to F103C8Tx (not tested yet) 2 years ago
.gitattributes :circus_tent: Added .gitattributes & .gitignore files 3 years ago
.gitignore Full refactoring. Tested with STM Studion. Works 3 years ago
.mxproject F407VETx_OC_DMA_3 ported to F103C8Tx (not tested yet) 2 years ago
.project F407VETx_OC_DMA_3 ported to F103C8Tx (not tested yet) 2 years ago
README.md image links fix 2 months ago
STM32F103C8Tx_FLASH.ld F407VETx_OC_DMA_3 ported to F103C8Tx (not tested yet) 2 years ago
STM32F103C8Tx_OC_DMA.ioc Addendum to the pervious commit 2 years ago
STM32F103C8Tx_OC_DMA.xml F407VETx_OC_DMA_3 ported to F103C8Tx (not tested yet) 2 years ago

README.md

Step pulses frequency multiplier

It’s a very useful tool when your CNC controller can’t output more than 20-50 KHz of step pulses. With this mupltiplier you can encrease the output frequency from 20-50 KHz up to 2-4 MHz. Such frequencies can be used for servo drivers or for step motor drivers (for the extra small microstep). Steps frequency multiplier it’s a good solution when you are using Mach3 or LinuxCNC soft with LPT (parallel) port output. Or when you are using a cheap USB controller like Arduino with GRBL firmware.

1 1 1 1

Features

  • Up to 5 input/output axis count
  • Up to 4 MHz of output pulse frequency

Methods

  • Uses STM32CubeMX to initialize all options of MCU
  • Uses latest HAL drivers
  • Uses SW4STM32 IDE to build the project
  • Uses EXTI to capture input pulses
  • Uses timer’s OC mode with DMA for the output
  • Uses SysTick timer to catch the timestamp (in us) of each input step

Active branches:

  • F407VETx_OC_DMA_3: The most stable method of output using timer’s OC mode + DMA (for the F407VETx)
  • F103C8Tx_OC_DMA_3: The most stable method of output using timer’s OC mode + DMA (for the F103C8Tx)

Test branches:

  • STM32F407VETx_old: Old and slow method of output for the STM32F407VETx
  • STM32F407VETx_OC_DMA: New fast method of output with timer’s OC+DMA for the STM32F407VETx
  • STM32F407VETx_OC_DMA_2: Method based on STM32F407VETx_OC_DMA using only 2 timers for the output
  • F407VETx_BUF: Another method of output for the STM32F407VETx using buffer and timer’s OC+DMA
  • STM32F103C8Tx_OC_DMA: New fast method of output with timer’s OC+DMA for the STM32F103C8Tx
  • STM32F103C8Tx: First (non tested) version for the STM32F103C8Tx