Hi Robert,
Me, again... :(
So i mounted the arduino board and the bitreetech driver on a breadboard and connected it to myFP2W 2.5.0.8. but when I try to move the motor it rings like a bell and does not turn. Of course I double checked the wirering and it seems to be ok. I also tryed to play with Moto Speed Delay settings as by your documentation, with no result.
Also I was not able to find the xls file you are mentioning in the documentation (looked in the driver archive and on Trinamic site).
Any help will be welcome.
Regards
Franck
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Franck
The tmc board is probably the most difficult. I attach a number of focuments etc that might help. Apologies for the delay, I needed to put together a document and diagram suitable for bread board use.
Yes, perhaps 100% probability that the stepper does not move correctly,
The wiring has to specific
The software values need to be set,
12v must be on
Only then can the motor speed delay value work correctly.
BUT doing this without the PCB is way too hard, even for me, There are multiple connections that have to be wired and it will be an absolute jungle of wires to do that.
A stripboard version was never done for the TMCxxx because of the connections.And I would not advise anyone to do that.
As explained you need the spreadsheet to determine the correct settings before compiling the firmware and uploading it to the controller.
The reason why each is different from what is in the firmware is because it is very stepper motor dependent.
It is also important to use the BIGTREE stepper modules, others will not work and there is no support for them.
For TMC2298 reference pg 30 of myFP2-TRINAMIC-09-4.pdf
So this could be the path to follow
Check all connections as per below
Use spreadsheet to determine the values you need
Change the values in the firmware file
Line 207 myFP2F_TMC2209SG_329.ino
change
myfocuser.stepmode = 1;
to
myfocuser.stepmode = 4;
In file focuserconfig.h DO NOT ENABLE ANY HOME POSITION SWITCH OPTIONS
Reprogram the controller
Once running, you can test motor movement.
If your intention is to use a home position switch (or stall guard), avoid trying that
until the motot is moving and every thing works.
Stall guard is the most difficult. Do not try that until the controller is working and everything works. I have a minefield of documents about stall guard, sometimes bordering on incoherent, and I stopped using these chips sometime ago, so may not be much help now.
I understand you are using a breadboard. In myBoards.h the pins are defined
In myBoardDefs.h there are settings for the TMC2209 chip
// TMC22xx definitions#defineTMCRX10// tmc2209 interface#defineTMCTX11#defineSTALL_VALUE40// [0... 255]#defineTMC2209CURRENT1000// 600mA for 8HS15-0604S NEMA8 stepper motor#defineTMC2209PORTSPEED57600// define tmc2209 serial speed, DO NOT CHANGE#defineTOFF_VALUE4// [1... 15]#defineDRIVER_ADDRESS0b00// TMC2209 Driver address according to MS1 and MS2#defineR_SENSE0.11f// Match to your driver// SilentStepStick series use 0.11// UltiMachine Einsy and Archim2 boards use 0.2// Panucatt BSD2660 uses 0.1// Watterott TMC5160 uses 0.075
The TOFF_VALUE and R_SENSE you get from the spreadsheet and then change the values in the file above,
The DRIVER_ADDRESS uses the MS1-MS2 pins. With a strip board you will also need to set up the serial comms between the arduino and the tmc chip. The pins are TMCRX (pin10) and TMCTX (pin11), and a 1k resistor, capacitor etc
The step mode MUST be set to 1/4
TMC2209 CONNECTIONS
VMOT to 12V +
GND1 - Wired to GND2
- Wired to 12V GND
- Wired to Nano pin ground
A2 - to stepper motor coil 1
A1 - to stepper motor coil 1
B1 - to stepper motor coil 2
B2 - to stepper motor coil 2
VDD - Wired to Arduino 5V
DIAG - Wired to Nano D12
ENABLE - Wired to Nano D8
MS1 - Wired to Nano D7
MS2 - Wired to Nano D6
PDN - Wired to Nano D10
- Wired to 1K resistor
- Other end of 1K resistor wired to Nano D11
PDN - not used
CLOCK - Wired to GND
STEP - Wired to Nano D4
DIRECTION - Wired to Nano D3
100uf 35V Bipolar Capacitor
- +ve lead to VMOT
- -ve lead to GND
- mount as close to the TMC chip as possible
My experience, wrong motor wiring makes motor jiggling.
for example:
wrong wiring:
A2 - to stepper motor coil 1 (black)
A1 - to stepper motor coil 1 (green)
B1 - to stepper motor coil 2 (red)
B2 - to stepper motor coil 2 (blue)
correct wiring:
A2 - to stepper motor coil 1 (green)
A1 - to stepper motor coil 1 (black)
B1 - to stepper motor coil 2 (red)
B2 - to stepper motor coil 2 (blue)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Would you please check the wiring color again? Black and green should be a pair; red and blue should be a pair. I never see the coloring like yours.
Another my silly experience of A4988, that was Vref of my motor drive board too large, and outout too much current and the chip of A4988 was extremely hot immediately. I think, that may cause thermal shutdown protection of A4988 in that moment. And my stepper motor was jigling til I turned off.
For TMC2209, here is my sample result, I used a oscilloscope to get step pulse and motor current (1 phase). If the current like sine wave, the motor rotate without vibration. But if the current wave look "ugly", the motor will jiggling.
BTW, I only fine-tuned some parameters which described on page 24 of myFP2-TRINAMIC-09-4.pdf. No other code was modified of version TMC2209SG_328.
Hi Robert,
Me, again... :(
So i mounted the arduino board and the bitreetech driver on a breadboard and connected it to myFP2W 2.5.0.8. but when I try to move the motor it rings like a bell and does not turn. Of course I double checked the wirering and it seems to be ok. I also tryed to play with Moto Speed Delay settings as by your documentation, with no result.
Also I was not able to find the xls file you are mentioning in the documentation (looked in the driver archive and on Trinamic site).
Any help will be welcome.
Regards
Franck
Hi Franck
The tmc board is probably the most difficult. I attach a number of focuments etc that might help. Apologies for the delay, I needed to put together a document and diagram suitable for bread board use.
Yes, perhaps 100% probability that the stepper does not move correctly,
The wiring has to specific
The software values need to be set,
12v must be on
Only then can the motor speed delay value work correctly.
BUT doing this without the PCB is way too hard, even for me, There are multiple connections that have to be wired and it will be an absolute jungle of wires to do that.
A stripboard version was never done for the TMCxxx because of the connections.And I would not advise anyone to do that.
As explained you need the spreadsheet to determine the correct settings before compiling the firmware and uploading it to the controller.
The reason why each is different from what is in the firmware is because it is very stepper motor dependent.
It is also important to use the BIGTREE stepper modules, others will not work and there is no support for them.
For TMC2298 reference pg 30 of myFP2-TRINAMIC-09-4.pdf
So this could be the path to follow
Check all connections as per below
Use spreadsheet to determine the values you need
Change the values in the firmware file
Line 207 myFP2F_TMC2209SG_329.ino
change
myfocuser.stepmode = 1;
to
myfocuser.stepmode = 4;
In file focuserconfig.h DO NOT ENABLE ANY HOME POSITION SWITCH OPTIONS
Reprogram the controller
Once running, you can test motor movement.
If your intention is to use a home position switch (or stall guard), avoid trying that
until the motot is moving and every thing works.
Stall guard is the most difficult. Do not try that until the controller is working and everything works. I have a minefield of documents about stall guard, sometimes bordering on incoherent, and I stopped using these chips sometime ago, so may not be much help now.
I understand you are using a breadboard. In myBoards.h the pins are defined
In myBoardDefs.h there are settings for the TMC2209 chip
The TOFF_VALUE and R_SENSE you get from the spreadsheet and then change the values in the file above,
The DRIVER_ADDRESS uses the MS1-MS2 pins. With a strip board you will also need to set up the serial comms between the arduino and the tmc chip. The pins are TMCRX (pin10) and TMCTX (pin11), and a 1k resistor, capacitor etc
The step mode MUST be set to 1/4
TMC2209 CONNECTIONS
VMOT to 12V +
GND1 - Wired to GND2
- Wired to 12V GND
- Wired to Nano pin ground
A2 - to stepper motor coil 1
A1 - to stepper motor coil 1
B1 - to stepper motor coil 2
B2 - to stepper motor coil 2
VDD - Wired to Arduino 5V
DIAG - Wired to Nano D12
ENABLE - Wired to Nano D8
MS1 - Wired to Nano D7
MS2 - Wired to Nano D6
PDN - Wired to Nano D10
- Wired to 1K resistor
- Other end of 1K resistor wired to Nano D11
PDN - not used
CLOCK - Wired to GND
STEP - Wired to Nano D4
DIRECTION - Wired to Nano D3
100uf 35V Bipolar Capacitor
- +ve lead to VMOT
- -ve lead to GND
- mount as close to the TMC chip as possible
Regards
Robert
Challenge accepted :-)
I'll update you with my progress (if any)
Regards
Franck
My experience, wrong motor wiring makes motor jiggling.
for example:
wrong wiring:
A2 - to stepper motor coil 1 (black)
A1 - to stepper motor coil 1 (green)
B1 - to stepper motor coil 2 (red)
B2 - to stepper motor coil 2 (blue)
correct wiring:
A2 - to stepper motor coil 1 (green)
A1 - to stepper motor coil 1 (black)
B1 - to stepper motor coil 2 (red)
B2 - to stepper motor coil 2 (blue)
Thanks, good advice. I tested the poles conductivity with a multimeter and found that proper wiring was:
A2 - black
A1 - red
B1 - green
B2 - blue
Would you please check the wiring color again? Black and green should be a pair; red and blue should be a pair. I never see the coloring like yours.
Another my silly experience of A4988, that was Vref of my motor drive board too large, and outout too much current and the chip of A4988 was extremely hot immediately. I think, that may cause thermal shutdown protection of A4988 in that moment. And my stepper motor was jigling til I turned off.
For TMC2209, here is my sample result, I used a oscilloscope to get step pulse and motor current (1 phase). If the current like sine wave, the motor rotate without vibration. But if the current wave look "ugly", the motor will jiggling.
BTW, I only fine-tuned some parameters which described on page 24 of myFP2-TRINAMIC-09-4.pdf. No other code was modified of version TMC2209SG_328.
Yes, I was also very surprised, but it works well like that. I may try other combination. Anyway this is a test motor not the definitive one.
Don't forget to set the tmccurrent to match that of the new motor