Compare commits
134 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9cc9a41ea2 | ||
|
|
a6b70bf6c6 | ||
|
|
cf4bece469 | ||
|
|
cd78577e4d | ||
|
|
2a92e97aaa | ||
|
|
a19a3b5b4e | ||
|
|
924ab972cb | ||
|
|
08915ef4bb | ||
|
|
f253ce8482 | ||
|
|
93c48940b8 | ||
|
|
b3bb88cf08 | ||
|
|
b867d58b15 | ||
|
|
2770c70d90 | ||
|
|
719f1755fe | ||
|
|
c31249b603 | ||
|
|
dcce7b5375 | ||
|
|
430eedd77d | ||
|
|
dac61fbba5 | ||
|
|
15d25ab06d | ||
|
|
44a15a21f8 | ||
|
|
90a2d4dd32 | ||
|
|
4b3567aa45 | ||
|
|
28a3edc8b8 | ||
|
|
6dc4d9fa03 | ||
|
|
dfabecc28e | ||
|
|
f34c5ebe9b | ||
|
|
7ffe9158df | ||
|
|
c6d88beb56 | ||
|
|
d7a2110a67 | ||
|
|
3c61897b8e | ||
|
|
81b930b290 | ||
|
|
6d7d20774d | ||
|
|
a0a4d5d9f3 | ||
|
|
bd5d77395f | ||
|
|
e4c3f14809 | ||
|
|
eb1d76ad3f | ||
|
|
f46140484b | ||
|
|
418aac0a35 | ||
|
|
73a34a2559 | ||
|
|
20f1acdbeb | ||
|
|
fe24b8f4a3 | ||
|
|
ca4248ce2d | ||
|
|
a73339d6ff | ||
|
|
9956a50722 | ||
|
|
5b61d87f68 | ||
|
|
766985d11a | ||
|
|
7f5e392a3e | ||
|
|
97fefb19af | ||
|
|
a283091a3f | ||
|
|
3df3d63fff | ||
|
|
f79ad7035e | ||
|
|
8130f407b9 | ||
|
|
a0ea80e368 | ||
|
|
47d05ff020 | ||
|
|
bc08682f31 | ||
|
|
b75cde78c1 | ||
|
|
9ba809d4cd | ||
|
|
eced221b35 | ||
|
|
8726aff1f8 | ||
|
|
6de2a44814 | ||
|
|
27c644cd68 | ||
|
|
08f2544560 | ||
|
|
a0e74cf2dd | ||
|
|
9411889f54 | ||
|
|
206c033fc6 | ||
|
|
47d8bdb89d | ||
|
|
fbc031a61e | ||
|
|
c160901131 | ||
|
|
e9d046bbb7 | ||
|
|
71158e3e47 | ||
|
|
72ec3e38a0 | ||
|
|
13463f269f | ||
|
|
bec102b7f6 | ||
|
|
b136a93e28 | ||
|
|
72e861b174 | ||
|
|
7e0225711b | ||
|
|
8e127929c4 | ||
|
|
d357bfd43c | ||
|
|
d52ec4672f | ||
|
|
aaebedc398 | ||
|
|
22531366af | ||
|
|
0a66626fe4 | ||
|
|
f070ea592c | ||
|
|
e40d81e71c | ||
|
|
310a08cc67 | ||
|
|
d115eca125 | ||
|
|
e7872db6aa | ||
|
|
378a9eec89 | ||
|
|
2682eea508 | ||
|
|
191e652bb3 | ||
|
|
2fad0732f2 | ||
|
|
d2f17c5f7e | ||
|
|
3e8a4a7ec3 | ||
|
|
8d31928d7a | ||
|
|
a2787e04c2 | ||
|
|
edaf00681f | ||
|
|
c62b865f03 | ||
|
|
ada1b8aa05 | ||
|
|
dda9d3bf20 | ||
|
|
c410207d52 | ||
|
|
1528d45ec6 | ||
|
|
0c5551663d | ||
|
|
040ea4ab61 | ||
|
|
3e76263177 | ||
|
|
28f05090f1 | ||
|
|
8568bf99b3 | ||
|
|
5f8c3ba5fc | ||
|
|
909685cf0e | ||
|
|
9cd264fa52 | ||
|
|
7ebc28a5ca | ||
|
|
77cc13f175 | ||
|
|
2871fd7905 | ||
|
|
44d2324a03 | ||
|
|
1df85b5646 | ||
|
|
a653a3d94a | ||
|
|
e26d411d61 | ||
|
|
e285923d2e | ||
|
|
0aba15aaab | ||
|
|
29fb2bfe6c | ||
|
|
76335711e6 | ||
|
|
4e32128a0f | ||
|
|
cdce935560 | ||
|
|
6e0496805a | ||
|
|
3bd59f4c3e | ||
|
|
92244e3c9c | ||
|
|
b722cc6b25 | ||
|
|
0795eea21e | ||
|
|
d38497ed85 | ||
|
|
1918604586 | ||
|
|
31b896871d | ||
|
|
3a44cded1f | ||
|
|
c710f3e57e | ||
|
|
855553bed7 | ||
|
|
a4ca1f641a |
10
.gitignore
vendored
10
.gitignore
vendored
@@ -4,3 +4,13 @@
|
||||
.vscode/launch.json
|
||||
.vscode/ipch
|
||||
Octave
|
||||
|
||||
.pioenvs
|
||||
.piolibdeps
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
||||
.pio
|
||||
|
||||
logs
|
||||
*.bak
|
||||
*~
|
||||
|
||||
70
Build.md
Normal file
70
Build.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Building an EaserCAT board
|
||||
|
||||
## Parts
|
||||
|
||||
Most parts are generic and can be found in many places. SMD resistors and capacitors are standard, nothing special.
|
||||
|
||||
Crystals are standard type hc49/s.
|
||||
|
||||
In case of smd crystal then it's a "passive smd crystal 3225"
|
||||
|
||||
For ferrite beads marked BLM18EG221SN1D - you can use any generic "ferrite bead 220 Ohm 0603 1ln". Not sure if 1ln is important nor what it means. In the schematics some are called BLM18EG221SN1D, others are called BLM18EG221S. It is the same, just a mistake in the naming.
|
||||
|
||||
RJ45 connectors must include "magnetics" and be configured in this way\
|
||||
\
|
||||
I have used PulseJack JN0011D01BNL (and most likely a chinese knockoff) and it works fine, but any jack that meets the diagram above will work.
|
||||
|
||||
The EtherCAT ICs are from aliexpress. There are quite a few sellers that has the LAN9252i/PT and the Ax58100 (LAN9252/PT and LAN9252V/PT are also possible, temperature range differs). Afaik, there is only one variant of the Ax58100 - AX58100LT. The LAN9252 is generally available, the Ax58100 is more of a challenge but check aliexpress.
|
||||
|
||||
The pcb needs to be ordered. Consider using a solder stencil - but hey it's up to you. I have bought pcbs from some chinese factories and from Aisler, Germany. The Aisler pcb is the nicest and came with excellent solder stencil. At a bit higher cost, nothing dramatic though. If you are hunting pennies then go to one of the chinese ones, maybe check prices at https://pcbshopper.com.
|
||||
|
||||
## EEPROM
|
||||
|
||||
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.
|
||||
|
||||
## Populating the pcb
|
||||
|
||||
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 usually get some solder bridges on the EtherCAT IC or the STM32 chip. A magnifyng device definitely helps.
|
||||
|
||||
## Powering up
|
||||
|
||||
Need:\
|
||||
STLINK/V2\
|
||||
Serial port - USB
|
||||
|
||||
Connect the STLINK/V2 unit and the serial port. The serial port will provide 5V, you don't need to see the serial output (there isn't any).
|
||||
|
||||
Ax58100\
|
||||
Red led status - Blinking pattern means succesful read of eeprom
|
||||
Gree led status - Blinking pattern indicates EtherCAT state (init, op, etc.)
|
||||
|
||||
LAN9252\
|
||||
There is no indication.
|
||||
|
||||
## Hookup to TwinCAT
|
||||
|
||||
Install TwinCAT/XAE\
|
||||
Ethernet cable\
|
||||
Network interface assignment\
|
||||
scan\
|
||||
free-run\
|
||||
download EEPROM contents
|
||||
|
||||
## Build and download firmware
|
||||
|
||||
vscode\
|
||||
platformio\
|
||||
open folder\
|
||||
Build and upload\
|
||||
|
||||
## Twincat verification
|
||||
|
||||
## Linuxcnc
|
||||
|
||||
## Modifying the firmware
|
||||
30
Cards/.gitignore
vendored
Normal file
30
Cards/.gitignore
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
TEST*
|
||||
Gerbers*
|
||||
*.zip
|
||||
For PCBs designed using KiCad: https://www.kicad.org/
|
||||
# Format documentation: https://kicad.org/help/file-formats/
|
||||
|
||||
# Temporary files
|
||||
*.000
|
||||
*.bak
|
||||
*.bck
|
||||
*.kicad_pcb-bak
|
||||
*.kicad_sch-bak
|
||||
*-backups
|
||||
*.kicad_prl
|
||||
*.sch-bak
|
||||
*~
|
||||
_autosave-*
|
||||
*.tmp
|
||||
*-save.pro
|
||||
*-save.kicad_pcb
|
||||
fp-info-cache
|
||||
~*.lck
|
||||
\#auto_saved_files#
|
||||
|
||||
# Netlist files (exported from Eeschema)
|
||||
*.net
|
||||
|
||||
# Autorouter files (exported from Pcbnew)
|
||||
*.dsn
|
||||
*.ses
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
volatile uint64_t cnt = 0; // Debug counter
|
||||
#undef double
|
||||
StepGen3(void);
|
||||
void updateStepGen(double pos_cmd1, double pos_cmd2);
|
||||
void updateStepGen(double pos_cmd1, double pos_cmd2, uint32_t servoPeriod);
|
||||
void makeAllPulses(void);
|
||||
int rtapi_app_main();
|
||||
int export_stepgen(int num, stepgen_t *addr, int step_type, int pos_mode);
|
||||
@@ -147,7 +147,7 @@ private:
|
||||
|
||||
// For the example
|
||||
#define BASE_PERIOD 20000
|
||||
#define SERVO_PERIOD 2000000
|
||||
//#define SERVO_PERIOD 2000000
|
||||
#define JOINT_X_STEPGEN_MAXACCEL 0.0
|
||||
#define JOINT_Z_STEPGEN_MAXACCEL 0.0
|
||||
#define JOINT_X_SCALE -200
|
||||
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
@@ -15,7 +15,7 @@ board = genericSTM32F407VGT6
|
||||
upload_protocol = stlink
|
||||
debug_tool = stlink
|
||||
debug_build_flags = -O0 -g -ggdb
|
||||
monitor_port = COM7
|
||||
monitor_port = COM10
|
||||
monitor_filters = send_on_enter, time, colorize, log2file
|
||||
monitor_speed = 115200
|
||||
build_flags = -Wl,--no-warn-rwx-segment
|
||||
@@ -1102,7 +1102,7 @@ StepGen3::StepGen3(void)
|
||||
stepgen_array[0].enable = stepgen_array[1].enable = 1;
|
||||
}
|
||||
|
||||
void StepGen3::updateStepGen(double pos_cmd1, double pos_cmd2)
|
||||
void StepGen3::updateStepGen(double pos_cmd1, double pos_cmd2, uint32_t servoPeriod)
|
||||
{
|
||||
stepgen_array[0].pos_cmd = pos_cmd1;
|
||||
stepgen_array[1].pos_cmd = pos_cmd2;
|
||||
@@ -1110,8 +1110,8 @@ void StepGen3::updateStepGen(double pos_cmd1, double pos_cmd2)
|
||||
{
|
||||
stepgen_t *step;
|
||||
step = &(stepgen_array[i]);
|
||||
update_pos(step, SERVO_PERIOD);
|
||||
update_freq(step, SERVO_PERIOD);
|
||||
update_pos(step, servoPeriod); // servoPeriod is in nanosecs
|
||||
update_freq(step, servoPeriod);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ HardwareSerial Serial1(PA10, PA9);
|
||||
volatile uint16_t ALEventIRQ; // ALEvent that caused the interrupt
|
||||
HardwareTimer *baseTimer; // The base period timer
|
||||
HardwareTimer *syncTimer; // The timer that syncs "with linuxcnc cycle"
|
||||
uint16_t sync0CycleTime; // usecs
|
||||
uint32_t sync0CycleTime; // nanosecs, often 1000000 ( 1 ms )
|
||||
|
||||
#include "MyEncoder.h"
|
||||
volatile uint16_t encCnt = 0;
|
||||
@@ -47,16 +47,19 @@ volatile uint16_t basePeriodCnt;
|
||||
volatile uint64_t makePulsesCnt = 0, prevMakePulsesCnt = 0;
|
||||
volatile uint16_t deltaMakePulsesCnt;
|
||||
|
||||
volatile double pos_cmd1, pos_cmd2;
|
||||
volatile double posCmd1, posCmd2;
|
||||
double oldPosCmd1, oldPosCmd2;
|
||||
double deltaPosCmd1, deltaPosCmd2;
|
||||
|
||||
void syncWithLCNC()
|
||||
{
|
||||
syncTimer->pause();
|
||||
baseTimer->pause();
|
||||
deltaMakePulsesCnt = makePulsesCnt - prevMakePulsesCnt;
|
||||
prevMakePulsesCnt = makePulsesCnt;
|
||||
Step->updateStepGen(pos_cmd1, pos_cmd2); // Update positions
|
||||
Step->updateStepGen(posCmd1, posCmd2, sync0CycleTime); // Update positions
|
||||
Step->makeAllPulses(); // Make first step right here
|
||||
basePeriodCnt = SERVO_PERIOD / BASE_PERIOD; //
|
||||
basePeriodCnt = sync0CycleTime / BASE_PERIOD; //
|
||||
baseTimer->refresh(); //
|
||||
baseTimer->resume(); // Make the other steps in ISR
|
||||
}
|
||||
@@ -74,13 +77,17 @@ uint16_t thisCycleTime; // In usecs
|
||||
int16_t maxIrqServeTime = 0;
|
||||
uint64_t oldIrqTime = 0;
|
||||
uint16_t nLoops;
|
||||
uint16_t failedSM2s = 0;
|
||||
uint16_t totalFailedSM2s = 0;
|
||||
uint16_t nLoopsAboveNorm = 0;
|
||||
|
||||
void handleStepper(void)
|
||||
{
|
||||
if (oldIrqTime != 0) // See if there is a delay in data, normally it *should* be nLoops=1, but sometimes it is more
|
||||
{
|
||||
thisCycleTime = irqTime - oldIrqTime;
|
||||
nLoops = round(float(thisCycleTime) / float(sync0CycleTime));
|
||||
nLoops = round(float(thisCycleTime) / float(sync0CycleTime / 1000));
|
||||
nLoopsAboveNorm += nLoops - 1;
|
||||
}
|
||||
oldIrqTime = irqTime;
|
||||
|
||||
@@ -100,18 +107,34 @@ void handleStepper(void)
|
||||
if (maxIrqServeTime < maxInBuffer)
|
||||
maxIrqServeTime = maxInBuffer;
|
||||
}
|
||||
if (ALEventIRQ & ESCREG_ALEVENT_SM2)
|
||||
{ // The normal case, position update every cycle
|
||||
posCmd1 = Obj.CommandedPosition1; // The position update
|
||||
posCmd2 = Obj.CommandedPosition2;
|
||||
deltaPosCmd1 = posCmd1 - oldPosCmd1; // Needed for extrapolation in the other case
|
||||
deltaPosCmd2 = posCmd2 - oldPosCmd2;
|
||||
failedSM2s = 0;
|
||||
}
|
||||
else
|
||||
{ // Not normal, we didn't get a position update. Extrapolate from previous updates
|
||||
if (failedSM2s++ < 100) // Do max 10 such extrapolations, should be plenty
|
||||
{ //
|
||||
posCmd1 += deltaPosCmd1; // Continue with the same speed
|
||||
posCmd2 += deltaPosCmd2;
|
||||
}
|
||||
totalFailedSM2s++;
|
||||
}
|
||||
oldPosCmd1 = posCmd1;
|
||||
oldPosCmd2 = posCmd2;
|
||||
|
||||
pos_cmd1 = Obj.CommandedPosition1;
|
||||
pos_cmd2 = Obj.CommandedPosition2;
|
||||
|
||||
Obj.ActualPosition1 = Obj.CommandedPosition1;
|
||||
Obj.ActualPosition2 = Obj.CommandedPosition2;
|
||||
// Obj.ActualPosition1 = Obj.CommandedPosition1;
|
||||
// Obj.ActualPosition2 = Obj.CommandedPosition2;
|
||||
|
||||
Step->stepgen_array[0].pos_scale = -Obj.StepsPerMM1;
|
||||
Step->stepgen_array[1].pos_scale = -Obj.StepsPerMM2;
|
||||
|
||||
// Obj.ActualPosition1 = Step->stepgen_array[0].pos_fb;
|
||||
// Obj.ActualPosition2 = Step->stepgen_array[1].pos_fb;
|
||||
Obj.ActualPosition1 = Step->stepgen_array[0].pos_fb;
|
||||
Obj.ActualPosition2 = Step->stepgen_array[1].pos_fb;
|
||||
|
||||
delayT = maxIrqServeTime - diffT; // Add 10 as some safety margin
|
||||
if (delayT > 0 && delayT < 900)
|
||||
@@ -135,10 +158,10 @@ void cb_get_inputs(void) // Set Master inputs, slave outputs, last operation
|
||||
Obj.IndexByte = Encoder1.getIndexState();
|
||||
|
||||
Obj.DiffT = nLoops;
|
||||
Obj.D1 = 1000 * Obj.CommandedPosition2; // abs(1000 * (ap2 - Obj.CommandedPosition2)); // Step2.actPos();
|
||||
Obj.D2 = 1000 * Obj.ActualPosition2; // Step->stepgen_array[1].pos_fb; // Step->stepgen_array[1].rawcount % INT16_MAX; // Step->stepgen_array[1].freq;
|
||||
Obj.D3 = encCnt % 256; // Step->stepgen_array[1].freq;
|
||||
Obj.D4 = 1000 * (Obj.CommandedPosition2 - oldCommandedPosition); // deltaMakePulsesCnt; // Step->stepgen_array[1].rawcount % UINT16_MAX;
|
||||
Obj.D1 = 1000 * deltaPosCmd2; // abs(1000 * (ap2 - Obj.CommandedPosition2)); // Step2.actPos();
|
||||
Obj.D2 = totalFailedSM2s; // Step->stepgen_array[1].pos_fb; // Step->stepgen_array[1].rawcount % INT16_MAX; // Step->stepgen_array[1].freq;
|
||||
Obj.D3 = 1000 * Obj.CommandedPosition2; // Step->stepgen_array[1].freq;
|
||||
Obj.D4 = 1000 * posCmd2; // Step->stepgen_array[1].rawcount % UINT16_MAX;
|
||||
oldCommandedPosition = Obj.CommandedPosition2;
|
||||
}
|
||||
|
||||
@@ -270,7 +293,7 @@ uint16_t dc_checker(void)
|
||||
{
|
||||
// Indicate we run DC
|
||||
ESCvar.dcsync = 1;
|
||||
sync0CycleTime = ESC_SYNC0cycletime() / 1000; // usecs
|
||||
sync0CycleTime = ESC_SYNC0cycletime(); // nanosecs
|
||||
return 0;
|
||||
}
|
||||
|
||||
47
Cards/EaserCAT-2000/Kicad/.gitignore
vendored
Normal file
47
Cards/EaserCAT-2000/Kicad/.gitignore
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
fp-info-cache
|
||||
Ethercat-stm32-backup*
|
||||
*.lck
|
||||
# For PCBs designed using KiCad: https://www.kicad.org/
|
||||
# Format documentation: https://kicad.org/help/file-formats/
|
||||
|
||||
# Temporary files
|
||||
*.000
|
||||
*.bak
|
||||
*.bck
|
||||
*.kicad_pcb-bak
|
||||
*.kicad_sch-bak
|
||||
*-backups
|
||||
*.kicad_prl
|
||||
*.sch-bak
|
||||
*~
|
||||
_autosave-*
|
||||
*.tmp
|
||||
*-save.pro
|
||||
*-save.kicad_pcb
|
||||
fp-info-cache
|
||||
~*.lck
|
||||
\#auto_saved_files#
|
||||
|
||||
# Netlist files (exported from Eeschema)
|
||||
*.net
|
||||
|
||||
# Autorouter files (exported from Pcbnew)
|
||||
*.dsn
|
||||
*.ses
|
||||
|
||||
# Exported BOM files
|
||||
*.xml
|
||||
*.csv
|
||||
|
||||
# Gerber outputs
|
||||
Gerbers\*
|
||||
*.zip
|
||||
|
||||
|
||||
# Exported BOM files
|
||||
*.xml
|
||||
*.csv
|
||||
*.step
|
||||
*.stp
|
||||
*.stl
|
||||
.~lock.*
|
||||
61631
Cards/EaserCAT-2000/Kicad/Ethercat-stm32.kicad_pcb
Executable file
61631
Cards/EaserCAT-2000/Kicad/Ethercat-stm32.kicad_pcb
Executable file
File diff suppressed because it is too large
Load Diff
@@ -169,6 +169,13 @@
|
||||
"via_dimensions": [],
|
||||
"zones_allow_external_fillets": false
|
||||
},
|
||||
"ipc2581": {
|
||||
"dist": "",
|
||||
"distpn": "",
|
||||
"internal_id": "",
|
||||
"mfg": "",
|
||||
"mpn": ""
|
||||
},
|
||||
"layer_presets": [],
|
||||
"viewports": []
|
||||
},
|
||||
@@ -427,14 +434,76 @@
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "C:/Program Files/KiCad/7.0/",
|
||||
"plot": "",
|
||||
"pos_files": "",
|
||||
"specctra_dsn": "Ethercat-stm32.dsn",
|
||||
"step": "",
|
||||
"svg": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"bom_export_filename": "",
|
||||
"bom_fmt_presets": [],
|
||||
"bom_fmt_settings": {
|
||||
"field_delimiter": ",",
|
||||
"keep_line_breaks": false,
|
||||
"keep_tabs": false,
|
||||
"name": "CSV",
|
||||
"ref_delimiter": ",",
|
||||
"ref_range_delimiter": "",
|
||||
"string_delimiter": "\""
|
||||
},
|
||||
"bom_presets": [],
|
||||
"bom_settings": {
|
||||
"exclude_dnp": false,
|
||||
"fields_ordered": [
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Reference",
|
||||
"name": "Reference",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "Value",
|
||||
"name": "Value",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Datasheet",
|
||||
"name": "Datasheet",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Footprint",
|
||||
"name": "Footprint",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Qty",
|
||||
"name": "${QUANTITY}",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "DNP",
|
||||
"name": "${DNP}",
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"filter_string": "",
|
||||
"group_symbols": true,
|
||||
"name": "Grouped By Value",
|
||||
"sort_asc": true,
|
||||
"sort_field": "Reference"
|
||||
},
|
||||
"connection_grid_size": 50.0,
|
||||
"drawing": {
|
||||
"dashed_lines_dash_length_ratio": 12.0,
|
||||
"dashed_lines_gap_length_ratio": 3.0,
|
||||
@@ -448,6 +517,11 @@
|
||||
"intersheets_ref_suffix": "",
|
||||
"junction_size_choice": 3,
|
||||
"label_size_ratio": 0.375,
|
||||
"operating_point_overlay_i_precision": 3,
|
||||
"operating_point_overlay_i_range": "~A",
|
||||
"operating_point_overlay_v_precision": 3,
|
||||
"operating_point_overlay_v_range": "~V",
|
||||
"overbar_offset_ratio": 1.23,
|
||||
"pin_symbol_size": 25.0,
|
||||
"text_offset_ratio": 0.15
|
||||
},
|
||||
@@ -463,6 +537,7 @@
|
||||
"spice_external_command": "spice \"%I\"",
|
||||
"spice_model_current_sheet_as_root": true,
|
||||
"spice_save_all_currents": false,
|
||||
"spice_save_all_dissipations": false,
|
||||
"spice_save_all_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
@@ -470,7 +545,7 @@
|
||||
"sheets": [
|
||||
[
|
||||
"5597aedc-b607-407f-bbfd-31b3b298ecb1",
|
||||
""
|
||||
"Root"
|
||||
],
|
||||
[
|
||||
"a120273a-c1ae-42b3-935d-01f789f654a3",
|
||||
176
Cards/EaserCAT-2000/Kicad/Ethercat-stm32.kicad_sch
Executable file
176
Cards/EaserCAT-2000/Kicad/Ethercat-stm32.kicad_sch
Executable file
@@ -0,0 +1,176 @@
|
||||
(kicad_sch
|
||||
(version 20231120)
|
||||
(generator "eeschema")
|
||||
(generator_version "8.0")
|
||||
(uuid "5597aedc-b607-407f-bbfd-31b3b298ecb1")
|
||||
(paper "A3")
|
||||
(lib_symbols)
|
||||
(text "Huvudsida"
|
||||
(exclude_from_sim no)
|
||||
(at 162.56 85.09 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
(uuid "adf2be63-7ec7-44be-837f-901ddbc80717")
|
||||
)
|
||||
(sheet
|
||||
(at 144.78 224.79)
|
||||
(size 71.12 16.51)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "0a376a6c-0f15-42f8-81f6-3a55619be267")
|
||||
(property "Sheetname" "Peripherals"
|
||||
(at 144.78 224.0784 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "peripherals.kicad_sch"
|
||||
(at 144.78 241.8846 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "Ethercat-stm32"
|
||||
(path "/5597aedc-b607-407f-bbfd-31b3b298ecb1"
|
||||
(page "5")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet
|
||||
(at 46.99 224.79)
|
||||
(size 82.55 17.78)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "650f1ee4-2ce7-4e9d-a70d-f9d8defa5d03")
|
||||
(property "Sheetname" "LAN9252_diverse"
|
||||
(at 46.99 224.0784 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "LAN9252_diverse.kicad_sch"
|
||||
(at 46.99 243.1546 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "Ethercat-stm32"
|
||||
(path "/5597aedc-b607-407f-bbfd-31b3b298ecb1"
|
||||
(page "3")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet
|
||||
(at 46.99 200.66)
|
||||
(size 82.55 17.78)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "a120273a-c1ae-42b3-935d-01f789f654a3")
|
||||
(property "Sheetname" "LAN9252"
|
||||
(at 46.99 199.9484 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "LAN9252.kicad_sch"
|
||||
(at 46.99 219.0246 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "Ethercat-stm32"
|
||||
(path "/5597aedc-b607-407f-bbfd-31b3b298ecb1"
|
||||
(page "2")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet
|
||||
(at 142.24 200.66)
|
||||
(size 74.93 17.78)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "d564400f-40ba-4aca-9c2a-14ec52a8353b")
|
||||
(property "Sheetname" "STM32F4"
|
||||
(at 142.24 199.9484 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "STM32F4.kicad_sch"
|
||||
(at 142.24 219.0246 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "Ethercat-stm32"
|
||||
(path "/5597aedc-b607-407f-bbfd-31b3b298ecb1"
|
||||
(page "4")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet_instances
|
||||
(path "/"
|
||||
(page "1")
|
||||
)
|
||||
)
|
||||
)
|
||||
6236
Cards/EaserCAT-2000/Kicad/LAN9252.kicad_sch
Executable file
6236
Cards/EaserCAT-2000/Kicad/LAN9252.kicad_sch
Executable file
File diff suppressed because it is too large
Load Diff
11312
Cards/EaserCAT-2000/Kicad/LAN9252_diverse.kicad_sch
Executable file
11312
Cards/EaserCAT-2000/Kicad/LAN9252_diverse.kicad_sch
Executable file
File diff suppressed because it is too large
Load Diff
12965
Cards/EaserCAT-2000/Kicad/STM32F4.kicad_sch
Executable file
12965
Cards/EaserCAT-2000/Kicad/STM32F4.kicad_sch
Executable file
File diff suppressed because it is too large
Load Diff
4695
Cards/EaserCAT-2000/Kicad/peripherals.kicad_sch
Executable file
4695
Cards/EaserCAT-2000/Kicad/peripherals.kicad_sch
Executable file
File diff suppressed because it is too large
Load Diff
BIN
Cards/EaserCAT-2000/linuxcnc/Performance.ods
Executable file
BIN
Cards/EaserCAT-2000/linuxcnc/Performance.ods
Executable file
Binary file not shown.
|
Before Width: | Height: | Size: 4.8 MiB After Width: | Height: | Size: 4.8 MiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user