Program smc03a

Hi,
for an electronics project I use a smc03A, but I don’t know at all how to program it, which software to use, which programation language …
thank you

Hello,

The smc03a motor controller is not something you would program, and it is not a stand-alone product. You need to send it serial commands, which you can do from most platforms and in most languages. You can also connect it to an RC receiver or even just a potentiometer if you do not want to use the serial interface.

- Jan

But how can we change the PID coefficient without programming?

Changing the PID parameters requires using the serial interface: you need to send the proper sequence of bytes, which are listed in the user’s guide. The program for that is up to you, and it depends on the main controller you are using.

Also, are you sure you need to change the parameters? Some things, such as incorrect feedback polarity, can be addressed by switching your motor or potentiometer leads.

- Jan

For those who want to play with the SMC03A, I have created a quick command line program in C that runs on windows and should be able to control the SMC03A parameters. I’ve done very few tests with it yet, but you’re free to test it.

I don’t see any way to upload files to this forum, but those who might be interested can request the program and source code via regular e-mail. PM me with your e-mail address and it’s yours. See example run below:

==
Z:\Pololu>Win32\pololucfg.exe
Pololu SMC03A Configurator V0.1
Copyright© 2007 - RTist BV, The Netherlands

Which COM port [1…4]: 1

Port \.\COM1 now open

Menu:


0: Motor ID
1: Error multiplier
2: Error Divider
3: Integral Multiplier
4: Integral Divider
5: Derivative Multiplier
6: Derivative Divider
7: PID Rate
8: Misc. bits (BE CAREFUL)

Select parameter to change, ‘x’ to exit: 3

Changing settings for Integral Multiplier, default value is 3
Enter new value [0…127]: 5
Sending record: 0x80 0x02 0x03 0x05

Menu:


0: Motor ID
1: Error multiplier
2: Error Divider
3: Integral Multiplier
4: Integral Divider
5: Derivative Multiplier
6: Derivative Divider
7: PID Rate
8: Misc. bits (BE CAREFUL)

Select parameter to change, ‘x’ to exit: x

Done

Z:\Pololu>