Pending upload for EaserCAT-7000
This commit is contained in:
6
Build.md
6
Build.md
@@ -1,4 +1,4 @@
|
||||
# Building a EaserCAT board
|
||||
# Building an EaserCAT board
|
||||
|
||||
## Parts
|
||||
|
||||
@@ -20,7 +20,7 @@ The pcb needs to be ordered. Consider using a solder stencil - but hey it's up t
|
||||
|
||||
## EEPROM
|
||||
|
||||
You need to fill the EEPROM with valid contents before putting it on the pcb. It is actually a must, the EtherCAT IC will not start with an empty EEPROM, or with a non-valid content. It doesn't have to be for a real EtherCAT slave, because the first thing you will do when the card works is to upload the correct contents using TwinCAT. Any valid EEPROM content.
|
||||
You need to fill the EEPROM with valid contents before putting it on the pcb. It is actually mandatory, the EtherCAT IC will not start with an empty EEPROM, or with a non-valid content. It doesn't have to be for a real EtherCAT slave, because the first thing you will do when the card works is to upload the correct contents using TwinCAT. Any valid EEPROM content.
|
||||
|
||||
There is a small Arduino program [Link here](Utils/EEPROM_store_valid/) that helps to fill the empty EEPROM. Follow the link.
|
||||
|
||||
@@ -30,7 +30,7 @@ Enjoy!
|
||||
|
||||
## Soldering
|
||||
|
||||
I have put the pcb in the soldering oven. Hand soldering should work, although the pin spacing is only 0.4 m on the Ax58100 IC and can be a challenge.
|
||||
I have put the pcb in the soldering oven. Hand soldering should work, although the pin spacing is only 0.4 m on the Ax58100 IC and can be a challenge. I usually get some solder bridges on the EtherCAT IC or the STM32 chip. A magnifyng device definitely helps.
|
||||
|
||||
## Powering up
|
||||
|
||||
|
||||
@@ -8,97 +8,99 @@
|
||||
{
|
||||
"name": "PlatformIO",
|
||||
"includePath": [
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/include",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/src",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/MyMCP3221",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/ADS1X15",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/MCP3X21",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Wire/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SPI/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino/avr",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc/LL",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/STM32F4xx",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver",
|
||||
"/home/debian/.platformio/packages/framework-cmsis/CMSIS/Core/Include",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc",
|
||||
"/home/debian/.platformio/packages/framework-cmsis/CMSIS/DSP/Include",
|
||||
"/home/debian/.platformio/packages/framework-cmsis/CMSIS/DSP/PrivateInclude",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/variants/STM32F4xx/F407V(E-G)T_F417V(E-G)T",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/CMSIS_DSP/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/EEPROM/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/IWatchdog/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Keyboard/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Mouse/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/RGB_LED_TLC59731/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Servo/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SoftwareSerial/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SubGhz/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/src",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/include",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/src",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/MyMCP3221",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/ADS1X15",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/MCP3X21",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Wire/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SPI/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino/avr",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc/LL",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/STM32F4xx",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/Core/Include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/DSP/Include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/DSP/PrivateInclude",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/variants/STM32F4xx/F407V(E-G)T_F417V(E-G)T",
|
||||
"C:/Users/Hakan/.platformio/lib/RunningAverage",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/CMSIS_DSP/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/EEPROM/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/IWatchdog/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Keyboard/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Mouse/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/RGB_LED_TLC59731/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Servo/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SoftwareSerial/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SubGhz/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/src",
|
||||
""
|
||||
],
|
||||
"browse": {
|
||||
"limitSymbolsToIncludedHeaders": true,
|
||||
"path": [
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/include",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/src",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/MyMCP3221",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/ADS1X15",
|
||||
"/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/MCP3X21",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Wire/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SPI/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino/avr",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc/LL",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/STM32F4xx",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver",
|
||||
"/home/debian/.platformio/packages/framework-cmsis/CMSIS/Core/Include",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc",
|
||||
"/home/debian/.platformio/packages/framework-cmsis/CMSIS/DSP/Include",
|
||||
"/home/debian/.platformio/packages/framework-cmsis/CMSIS/DSP/PrivateInclude",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/variants/STM32F4xx/F407V(E-G)T_F417V(E-G)T",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/CMSIS_DSP/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/EEPROM/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/IWatchdog/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Keyboard/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Mouse/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/RGB_LED_TLC59731/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Servo/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SoftwareSerial/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SubGhz/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/src",
|
||||
"/home/debian/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/src",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/include",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/src",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/MyMCP3221",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/ADS1X15",
|
||||
"Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/MCP3X21",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Wire/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SPI/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino/avr",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc/LL",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/STM32F4xx",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/Core/Include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/DSP/Include",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/DSP/PrivateInclude",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/variants/STM32F4xx/F407V(E-G)T_F417V(E-G)T",
|
||||
"C:/Users/Hakan/.platformio/lib/RunningAverage",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/CMSIS_DSP/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/EEPROM/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/IWatchdog/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Keyboard/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Mouse/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/RGB_LED_TLC59731/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Servo/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SoftwareSerial/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SubGhz/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/src",
|
||||
"C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/src",
|
||||
""
|
||||
]
|
||||
},
|
||||
@@ -122,7 +124,7 @@
|
||||
],
|
||||
"cStandard": "gnu17",
|
||||
"cppStandard": "gnu++17",
|
||||
"compilerPath": "/home/debian/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc",
|
||||
"compilerPath": "C:/Users/Hakan/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc.exe",
|
||||
"compilerArgs": [
|
||||
"-mcpu=cortex-m4",
|
||||
"-mthumb",
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
"type": "platformio-debug",
|
||||
"request": "launch",
|
||||
"name": "PIO Debug",
|
||||
"executable": "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf",
|
||||
"executable": "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf",
|
||||
"projectEnvName": "genericSTM32F407VGT6",
|
||||
"toolchainBinDir": "/home/debian/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"toolchainBinDir": "C:/Users/Hakan/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"svdPath": "/home/debian/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd",
|
||||
"svdPath": "C:/Users/Hakan/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd",
|
||||
"preLaunchTask": {
|
||||
"type": "PlatformIO",
|
||||
"task": "Pre-Debug"
|
||||
@@ -26,21 +26,21 @@
|
||||
"type": "platformio-debug",
|
||||
"request": "launch",
|
||||
"name": "PIO Debug (skip Pre-Debug)",
|
||||
"executable": "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf",
|
||||
"executable": "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf",
|
||||
"projectEnvName": "genericSTM32F407VGT6",
|
||||
"toolchainBinDir": "/home/debian/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"toolchainBinDir": "C:/Users/Hakan/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"svdPath": "/home/debian/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd"
|
||||
"svdPath": "C:/Users/Hakan/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd"
|
||||
},
|
||||
{
|
||||
"type": "platformio-debug",
|
||||
"request": "launch",
|
||||
"name": "PIO Debug (without uploading)",
|
||||
"executable": "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf",
|
||||
"executable": "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf",
|
||||
"projectEnvName": "genericSTM32F407VGT6",
|
||||
"toolchainBinDir": "/home/debian/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"toolchainBinDir": "C:/Users/Hakan/.platformio/packages/toolchain-gccarmnoneeabi/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"svdPath": "/home/debian/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd",
|
||||
"svdPath": "C:/Users/Hakan/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd",
|
||||
"loadMode": "manual"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -15,7 +15,7 @@ board = genericSTM32F407VGT6
|
||||
upload_protocol = stlink
|
||||
debug_tool = stlink
|
||||
debug_build_flags = -O0 -g -ggdb
|
||||
monitor_port = COM19
|
||||
monitor_port = /dev/ttyUSB0
|
||||
monitor_filters = send_on_enter, time, colorize, log2file
|
||||
monitor_speed = 115200
|
||||
build_flags = -Wl,--no-warn-rwx-segment -DECAT
|
||||
|
||||
40
README.md
40
README.md
@@ -17,7 +17,7 @@ The Ax58100 supposedly has more efficient access to registers and data.
|
||||
The indirection scheme is the main objection to using LAN9252, I have read.
|
||||
The LAN9252 is the true and tested IC of the two. If you don't know, go for the LAN9252.
|
||||
|
||||
The EtherCAT cards, which I call EaserCAT cards, often use an EtherCAT chip and a normal MCU.
|
||||
The EtherCAT cards, which I call EaserCAT cards, use an EtherCAT chip and a normal MCU.
|
||||
I have used the STM32F407VGT6. The EaserCAT chip does the network talk and other
|
||||
EtherCAT things. The STM32 does the application things, like reading and setting pins high or low,
|
||||
reading encoder inputs, generate stepper motor pulses and other interesting applications one can think of.
|
||||
@@ -25,11 +25,14 @@ There is a narrow interface between the two: SPI and a couple of lines for synch
|
||||
Any decent MCU can do that, it doesn't have to be a STM32F407VGT6. I have tested with a esp32 with success.
|
||||
Feel free to experiment with other processors.
|
||||
|
||||
I learned most of what I know about EtherCAT through a number of Youtube Videos I made.
|
||||
I learned most of what I know about EtherCAT through a number of Youtube videos I made.
|
||||
There are accompanying git branches. For example, for video 8 you can check out the
|
||||
Video8 branch to get the software tree in the state at the video.
|
||||
More info on the videos, which are now more of historical interest, but also a bit of learning by following [this link](Videos.md)
|
||||
|
||||
And of course, this work builds on the work of many others. This would not be possible without their work.
|
||||
I'm just reusing what they did and maybe expanding on it.
|
||||
|
||||
Here is the start of [building instructions](Build.md)
|
||||
|
||||
## EaserCAT 2000 - a testbench for ESC+MCU, SOES, stepper generator, linuxcnc
|
||||
@@ -130,6 +133,39 @@ This board replaces EaserCAT-4000 and EaserCAT-5000.
|
||||
|
||||
A few weeks later and I've used this card in the plasma cutter for quite a bit of cutting and it hasn't missed a beat. Works so well. THC follows the sheet surface up and down. Awesome.
|
||||
|
||||
## EaserCAT Torch Height Control - EaserCAT 7000 with THTIC and THTIC2
|
||||
|
||||
Actually something useful again - not one, but two, plasma torch voltage readers.
|
||||
They replace the THCAD board and comes with the entire chain from voltage reading to the introduction of a calibrated voltage to linuxcnc for use in QtPlasmaC.
|
||||
|
||||
Let's start with the plasma cutter. There is either a THTIC or THTIC2 mini-board, which reads the plasma torch voltage, and through a voltage divider lowers it to about 2 Volts during cutting. This voltage is converted by an analog to digital converter and feeds the digitized voltage to the EaserCAT 7000 board via an I2C bus (cable). The EaserCAT 7000 board makes the voltage available both as the raw read voltage for further scaling, or as a calibrated voltage using entered calibration constants.
|
||||
|
||||
An important feature of THCTIC and THCTIC2 is that the plasma voltage side is isolated from the linuxcnc signal side. The isolation level is better than 1.5 kV. This is achieved by using an I2C isolator and an isolated DC-DC converter. The difference between the two is the choice of ADC. THTIC uses MCP3221 and THTIC2 uses ADS1014. Both are 12-bit analog to digital converters, ADS1014 is perhaps an 11-bit, both with sampling rates around 3 kHz. A newly measured voltage value can be obtained every 1 ms. Of course you only choose one of the two. Since it seemed pretty easy when I did it, I made two different ones. Always good to have options.
|
||||
|
||||
The boards are relatively small, 55x32 mm. Voltage 5V in, current less than 0.1 mA. I2C Data and clock.
|
||||
|
||||
### THTIC
|
||||

|
||||

|
||||
I'll fix the SDL misspelling, it's the I2C clock line.
|
||||
|
||||
### THTIC2
|
||||
|
||||
These are images of the prototype. The prototype is basically ok, need to give more space for the dc-dc converter, the connector crashes into it. And add footprints for optional I2C pullups.
|
||||

|
||||

|
||||
|
||||
### EaserCAT-7000 Digital IO and I2C voltage reader
|
||||

|
||||
|
||||
EaserCAT-7000 is an EaserCAT-6000 board where the THCAD frequency input has been replaced by the I2C bus.
|
||||
|
||||
Configuration of the I2C device is done with the two SDOs 0x2000:0 and 0x2001:0.\
|
||||
The I2C device type is set to 0 by default. A zero means no I2C ADC. Entering a 1 in 0x2000:0 selects the MCP3221, and a 2 in 0x2000:0 selects the ADS1014.\
|
||||
The I2C address for the ADC is written into SDO 0x2001:0. The address for the MCP3221 is selected when it is purchased - there are 8 different models each with a different I2C address 0x48-0x4f. The ADS1014 has a way to select the address, but the THTIC2 board has it fixed at 0x48.
|
||||
|
||||
The experience with these cards has been very good so far. I have used the THTIC the most, cutting for at least an hour of cutting time, with THC enabled and active. A status variable shows that it has been working the whole time, no stops or resets. The THTIC2 has been used much less, but it behaves the same as the THTIC card, meaning it just works.
|
||||
|
||||
### License
|
||||
|
||||
Don't violate the original licenses. No warranties. Use it any way you like.\
|
||||
|
||||
Reference in New Issue
Block a user