SMC03A - Does configuration work at all?

I’m trying to use an SMC03A to control a linear actuator with analog feedback. The jumpers are set such that both input and feedback select are on analog.

The system appears to work in a very rough way, it sort-of-moves to the desired position but continues to jitter. To try to control the jitter I have hooked up a PC and wrote a program to control the SMC03A, but it seems that none of the settings make any difference. Even sending settings that should radically mess up the loop make no difference whatsoever. This leads me to believe that RS232 isn’t being received or accepted while in this mode.

I have tripple checked my PC-to-SMC03A circuit using an oscilloscope, all data that I send shows up as intended on pin3, with the proper polarity. I’ve tried 9600 Baud and 2400 Baud, but nothing seems to happen with any of the data I send :cry:

Anyone here with a hint how to proceed?


You need to be in a serial input mode for the commands to work. Also, allow at least a few ms between commands since they need to get written to EEPROM.

- Jan

Thanks for the reply, Jan. But would that mean having to change the jumper for each setting?? That doesn’t sound right, nor practical :cry:

Also, do I have to reset after changing the jumper and after reprogramming a value?

You have to reset for a jumper change to take effect since that’s just read once at start-up. Once you’re in serial mode, is it that inconvenient to send position commands serially? Serial commands also give you more consistent tests since you can go from one position to another in a repeatable way and not worry about variations in how your analog input behaves.

- Jan

Well, running in serial mode would require an intelligent device for the input. What I’m trying to do is make things as simple and resilient as possible.

Basically the linear actuator should be positioned in one of 4 fixed positions. The feedback about it’s currect position comes from a Sharp GP2D120 infrared sensor. The desired position comes from a simple 4-position switch with 4 potmeters. Each potmeter corresponds with one specific position and it’s a matter of simply adjusting each potmeter so the desired position is selected. If I must run in serial mode then I’d have to replace the potmeter/switch combo with an intelligent device and that’s not what I bought the controller for…

I may be able to find a combination of error loop settings that is stable and functional, but I expected to be able to tweak the loop while it ran in analog mode. Now I have to go back and forth futzing with the jumpers and the reset line for each successive tweak. That makes it a lot harder to experiment. Nowhere in the documentation does it say that serial control is only accepted in a specific mode.

Yes, it would be nice to set the control loop variables with the computer, then flip your selector switch to make your flaps, well, flap, just like when you’re in the air.

From a controls point of view though, there shouldn’t be any behavioral difference between your motor controller approaching a target position specified serially (with the program you’ve already written, with the computer you already have connected), rather than matching a reference voltage from one of your potentiometers. If you tune your loop variables while testing them with a couple of serial position commands (no jumping, no resetting), the control loop should behave exactly the same when you do finally jumper it back to read your potentiometers.

The only potential problem I can think of is the non-linear feedback from the Sharp range finder. Just make sure you test your loop with serial commands around the range of positions you plan on setting your potentiometers to.

Any chance of posting pictures of your plane/flap setup?


Hi Adam,

In an airplane you want to stick to the golden ‘KISS’ rule. ‘Keep It Simple, Stupid!’… The last thing you want to do is having to run a program on a PC to control your flap position. I’ve written the program to be able to experiment with the loop so it behaves the way I want it to. Once it’s stable I don’t want a PC attached to anything that controls flight characteristics. “Blue Screen Of Death” suddenly gets a new meaning when it makes stuff move out of control.

Anyway, I will try to make due with the functionality I have now. If I can’t get it to work I’ll have to revert to my own design. I have a design with an AVR microchip, but as fallback I could use a simple window comparator circuit to get the same functionality without any CPU’s involved…

Don’t the loop variables you program in serial mode (on the ground) get saved, and continue to govern the behavior of the controller after you’ve switched back to the analog voltage interface? I agree you shouldn’t rely on a laptop to keep you in the air, but I don’t think you need to to use this motor controller with your custom control loop settings.

I’ll be sad if this isn’t the case; I haven’t had the chance to play with one of these feedback controllers yet, but it’s definitely on my list.