DIYstompboxes.com

DIY Stompboxes => Building your own stompbox => Topic started by: tokyoburns on November 02, 2010, 07:00:20 PM

Title: robotic potentiometers
Post by: tokyoburns on November 02, 2010, 07:00:20 PM
does anybody know anything about this? i want to be able to "save" a potentiometer setting but it needs to be purely mechanical. Not Digital!!! so im looking for (what i think would probably be) a motor that will turn a pot and be able to recognize its position. that information could possibly be saved somewhere else and recalled when needed to turn the potentiometer back to the saved position if it is no longer in said position. the first thing that comes to my mind is volume slides on high end mixing boards.

i hope thats enough information. what i want to do in the long run is be able to have all my knobs turned into expression pedals but with AND ONLY WITH the following criteria:
1) there can be no cam or shaft mechanism involved in my expression pedal. it will probably be operated by magnets that activate said robotic pot turner. unless someone has another suggestion.
2) i need to be able to "save" the position of my pot and recall it on command.
3) i am not actually changing any circuitry in my pedal.

it will basically be a regular pedal (it doesnt matter which kind) with a digital exoskeleton. its guts will not be modded in any way. it will just now have third party digital controls.

i know it sounds crazy but it is a small part of a much bigger design which im trying to pursue.

any help is appreciated!!! links! similar projects! anything!

thanks guys!
Title: Re: robotic potentiometers
Post by: diminishedlogic on November 02, 2010, 07:03:01 PM
There was an amp created by fender a couple years back caled the cyber twin that had what youre talking about... also a yamaha amp made a long time ago had it... But more than likely youre looking at a lot of circuitry to do that. I could be wrong.
Title: Re: robotic potentiometers
Post by: tiges_ tendres on November 02, 2010, 07:16:39 PM
Good luck!!

You'd be better off without robotic pots though.  Perhaps you could use a switch to toggle between the pot on the pedal itself and a resistor which is the value you'd like the pot to be set at.

What you are describing is interesting, but probably commands much more real estate than would normally fit in a regular sized pedal.  Not to say this hasnt been done, it has http://guitars.musiciansfriend.com/product/T-Rex-Engineering-SpinDoctor-Overdrive-Guitar-Effects-Pedal?sku=150499 (http://guitars.musiciansfriend.com/product/T-Rex-Engineering-SpinDoctor-Overdrive-Guitar-Effects-Pedal?sku=150499)

But read the review, there is a latency between settings which makes it pretty much useless for on the fly changes.

I think you could achieve a compromise between having the sounds you want, but with different technology.
Title: Re: robotic potentiometers
Post by: tokyoburns on November 02, 2010, 08:19:17 PM
@ tiges

interesting. ive never seen that pedal before. yeah that is along the same lines. i figured latency would be an issue in a design like this but hopefully ill be able to find something to turn my pot quick and precise enough that it wont be an issue. thanks for the link. i might just have to get that pedal just to take it apart.

@ diminished

that is def my kind of gadget! that cyber twin looks pretty cool. just the sort of thing im trying to create. my guess is that all those effects are digital though which isnt my style. but it does a have a tube pre amp and robotic knobs. the robotic knobs are what im most interested in. maybe somebody knows something about that.

thanks guys.
Title: Re: robotic potentiometers
Post by: WangoFett on November 02, 2010, 08:54:19 PM
If the pot needs to be "close enough" to a drop-in replacement for an effect with hopefully only minor changes...

How about using two LDRs as a voltage divider in place of the pot, then you can drive those LDRs with currents that are converted from a voltage... (this is the guts of an expression pedal control mod)

..that are stored in a PIC or other uC.
Then have real pots on the panel that are connected the PIC so it can read the pot values and store those settings.
Does require a bunch of tweaking and some uC experience but could be exactly what you want.

Disadvantages or areas of concern would be:
* the resistance ranges of LDRs and whether they suit your circuit.  Not much one can do here.  If your pot is only 2K in range, you'll need to figure out another solution that is more intimately integrated with your circuit.
  actually, you could not use LDRs and use PWM driven gates to simulate real resistances (like how the MXR envelope filter works).
* the panel controls do not visually indicate the current settings.  but this could be remedied by having an LED under each control that varies in brightness according to the current setting.

Areas of awesome:
* trivial to add expression pedal control of any one or all settings and even this can be remembered by the uC (e.g. setting 1 has expression pedal controlled fuzz level, setting 2 has expression pedal controlled tone)
* you could have the uC record and playback a settings program where it can continuously vary any setting.
* you could feed a control voltage derived from an envelope filter into the uC and have the uC tweak settings based on envelope level.

Title: Re: robotic potentiometers
Post by: mattthegamer463 on November 02, 2010, 10:01:28 PM
All the motorized pots I've ever seen are over $30 US and extremely large- several inches long.  No good for a pedal.  I would say, possibly a small servo and a microcontroller, but using rotary encoders and saving settings non-analog would definitely be easier.  You can use digital potentiometer chips to keep an all-analog signal chain.
Title: Re: robotic potentiometers
Post by: R.G. on November 02, 2010, 10:01:50 PM
Dual-shaft stepper motor with 1/4" shafts. One end coupled to the 1/4" shaft of the pot(s) being controlled. A length of automotive rubber hose with 1/4" ID works fine for coupling the two shafts. The un-pot shaft of the stepper motor sticks out of the cabinet and has the control knob on it.

The stepper is uC controlled. There are 4.7 billion free programs for getting a PIC to run a stepper motor.

When a stepper motor is not powered, it has a mechanical cogging action and stays where it's set. Power it down, it stays there. Run it from the PIC and it goes where it's set.

But how do you have the PIC sense the mechanical position when you tell it where to go back to?

Easy. Use a dual pot. Put 5V across the unused section and have the PIC A-D converter read the voltage. Then when the PIC is told to remember the pot setting, it looks at the existing voltage, compares that to the desired, remembered voltage, and turns the pot to there, and then shuts off. The previous pot position exists both in the mechanical position of the stepper motor and in the EEPROM memory of the PIC.
Title: Re: robotic potentiometers
Post by: tokyoburns on November 02, 2010, 10:52:55 PM
@ R. G.

Wow! thanks a a lot! that is a great explanation. precisely the answer i was looking for. i guess the only question i would have is if the stepper motor can be controlled manually as well? you said that when it is powered down it stays there. does that mean that it will not move UNLESS the PIC tells it where to go? i would like it to be turnable by hand as well.

Also if i was to look into stepper motors i would like to be able to pick out the fastest one so i can reduce the latency that would naturally come with turning the pot. is there any specific spec i should be looking for to maximize that speed?

Thanks again! that is an awesome answer!

And thanks to everyone else as well.
Title: Re: robotic potentiometers
Post by: PRR on November 02, 2010, 11:01:01 PM
It has been reported that Neil Young's Fender DeLuxe, a magic machine which must NOT be tampered, has been fitted with R/C servos to turn the knobs.

R/C servos have internal position feedback (a pot). They churn according to a pulse-width signal. There's standard (though ill-documented) chips to turn voltage-inputs (joystick) into pulse-width. These voltage-inputs could be stored in flash-RAM through CPU and DAC or direct to pulse; or simpler, as a bank of pots, the desired setting selected with whatever logic/switchery you like.

R/C servos can be fast: they have to be, to control unstable hi-performance model airplanes. Speed and torque is a trade-off against size and power, but probably a non-issue for $2 pots.

Stock R/C servos spec 90 or 180 degree rotation; more makes no sense for lever-control. In fact the mechanism turns forever and the internal pot is a stock 270 deg wafer so it is trivial to get your rotation. When pulses stop, the gizmo holds position (else airplanes would twitch and crash for momentary loss of signal).

Beware excess complexity getting in the way of making music and doing business. You propose spending weeks off-stage to save seconds on-stage. This may be a good plan. Especially if, like Neil, you know the technology well AND earn enough to pay helpers to focus on the tedious details.
Title: Re: robotic potentiometers
Post by: tokyoburns on November 02, 2010, 11:51:47 PM
@PRR

thanks for the detailed answer. I'm afraid your talking a little above my head. I do mostly understand. i will definitely do my own research to find out what im looking for. I appreciate your input thanks so much guys. this website has been a huge help.
Title: Re: robotic potentiometers
Post by: R.G. on November 03, 2010, 12:25:32 AM
Quote from: tokyoburns on November 02, 2010, 10:52:55 PM
Wow! thanks a a lot! that is a great explanation. precisely the answer i was looking for. i guess the only question i would have is if the stepper motor can be controlled manually as well? you said that when it is powered down it stays there. does that mean that it will not move UNLESS the PIC tells it where to go? i would like it to be turnable by hand as well.
That's actually one of the big advantages. The PIC can be "alive" but told to open circuit all the stepper drivers when it's not actively hunting for a position. So until the controller is told "go to here..." the pot is 100% manually controlled. It retains the feel of the stepper motor doing a little cogging from position to position, but 200 step/revolution steppers have very tiny cogging steps, and the motor mass adds a nice feel to the pot. So the pot is 100% manual until told electronically to do something. While the stepper motor is actually turning, it turns on the drivers and twists the pot, then "releases" the pot. All a natural function of how stepper motors work.

One of the things it can be told is "memorize position", at which point it reads the pot position DC feedback and stores it in it's eeprom memory. Another thing it can be told to do is "seek the pot position you memorized in eeprom position number 57" (for instance), at which time it fires up the drivers, seeks the proper pot setting and then goes inactive again. The knob moves when the motor twists its position, then stays where the motor put it and can be turned manually again. The motor only holds the pot in place while it's actually moving.

If the programming is right, of course. Actually, for something as slow as turning a pot, you could easily write the code in something like a BASIC Stamp or one of the free-compiler variants of BASIC. A reasonable performance would be turning the pot from min to max in a second or so, so the time the pot is resistant to human adjustment is only while it's actually moving.

QuoteAlso if i was to look into stepper motors i would like to be able to pick out the fastest one so i can reduce the latency that would naturally come with turning the pot. is there any specific spec i should be looking for to maximize that speed?
In general, a pot is no significant load on even a small stepper, so the dynamics would be that of an almost unloaded motor. I think 1 second min to max or vice versa is a reasonable target. You want the highest number of steps for the most pot resolution, and that gets you to either 200 steps/rev (1.8degrees/step) or 400 steps/rev (0.9 degree/step) motors. The maximum step rate of the motor is what will limit your turning speed, and that can be pretty zippy. I think you'll be more limited by the mechanical ringing effects making the motor lose steps than by what the motor can do in terms of turning speed.

You also want the motor to be IN-capable of twisting the pot shaft off or damaging it, so you want a small, low-torque motor, which is also good for the pocketbook.

The hard part of all this is (1) finding small, double-shaft motors with 1/4" shafts (they do exist; they used to be used for track stepping in floppy disk drives, which made them almost free), (2) mounting the motor to the panel for holding the knob and also mounting the pot on an internal panel and getting the mechanics all lined up, and (3) using dual-section pots for DC feedback. OK, there is the whole user-interface thing of letting the user tell the pots to remember NOW! and "go back to setting grouping #24", but hey, that's a simple matter of programming, right?  :icon_lol:
Title: Re: robotic potentiometers
Post by: darron on November 03, 2010, 01:28:52 AM
the motorised alpha ones are easy enough to find:

http://www.altronics.com.au/index.asp?area=item&id=R2000



and if you used dual ones then you could use the other taper to help your control device find the resistance it wants, as mentioned.... beyond me though....


have fun! :D
Title: Re: robotic potentiometers
Post by: tokyoburns on November 03, 2010, 01:37:49 AM
@ R.G.

I was playing with a stop watch earlier to try and determine what kind of speed I was looking for and also looking up different stepper motors to try and determine what kind of speeds they typically come in. After some experimenting I decided that a half second is something i'd like to shoot for for a full rotation. Pots dont usually turn a full 360. i think its more like 270. so which makes a full sweep of the pot faster than the specs on the motors actually give since they assume full rotation. so I was shooting for more like .5 sec's. 1 full second in a 3:30 song seems to me to be quite a bit of time to wait for your desired tone to kick in. especially since i play a lot of fast tempo songs. but you are correct it is totally reasonable.

You totally nailed what i was looking for though. Thank you so much. I feel a lot more confidant about this project now.

when the motor is searching for its desired position my guess would be that it would take the shortest path possible to get there. so if i had a pot at degree 270 and i wanted it to go back to 0 would the motor try to rotate forward past the natural stopping point of the pot? how would it know it cant go that way and reverse its direction? is that part of the programming? or is that another specification i have to look for in the motor itself?

haha yeah the programming is not gonna be easy.

thanks again! you are a huge help.
Title: Re: robotic potentiometers
Post by: tokyoburns on November 03, 2010, 01:38:43 AM
thanks darron!
Title: Re: robotic potentiometers
Post by: tokyoburns on November 03, 2010, 02:07:58 AM
@darron

i cant find enough information about these motor driven pots. i assume they are mostly for direct remote uses and not that useful for programming. ive tried to find the same piece somewhere else and they all have little information available. thanks for the link though it is helpful.
Title: Re: robotic potentiometers
Post by: darron on November 03, 2010, 02:21:08 AM
i've seen them around a lot. they don't have counter or anything so you'd have to use the other tape to find the resistance.


most precision CNC motor 'location finder' thingies use a strip with very fine contrasting lines and an optical counter to determine location, which would need to be re-homed every boot. this is the way high speed laser engraves can instantly locate a spot on an X/Y/Z grid and re engrave the same task 100 times exactly in registration.


but seriously... good luck with that one! it'd be awesome for so many applications....
Title: Re: robotic potentiometers
Post by: MetalGuy on November 03, 2010, 05:57:04 AM
1 sec or 0.5 sec latency is waaay too much if you're going to use your device on stage and changing between presets. Your pot is not going to turn from zero to max every time of course. The most usable area is usually between 10 and 2 o'clock but latencies from 30 msec are already noticeable. Some people can hear them and they don't like them but all this is personal.
Title: Re: robotic potentiometers
Post by: R.G. on November 03, 2010, 11:13:05 AM
Quote from: tokyoburns on November 03, 2010, 01:37:49 AM
I was playing with a stop watch earlier to try and determine what kind of speed I was looking for and also looking up different stepper motors to try and determine what kind of speeds they typically come in. After some experimenting I decided that a half second is something i'd like to shoot for for a full rotation. Pots dont usually turn a full 360. i think its more like 270. so which makes a full sweep of the pot faster than the specs on the motors actually give since they assume full rotation. so I was shooting for more like .5 sec's. 1 full second in a 3:30 song seems to me to be quite a bit of time to wait for your desired tone to kick in. especially since i play a lot of fast tempo songs. but you are correct it is totally reasonable.
The exact speed you can get will depend on the mechanics, primarily the motor's inertia and inductance. It is possible to actually get much better times than 1 second for a traverse, but the electronic and mechanical design involved will be much greater. After all, many CNC machining setups use steppers for their functioning and get very high speeds indeed with good design.

One thing that will be important is that using an analog pot sidesteps some of the issues with digital pots. The sound will be fully listenable even while turning the pot. Digipots are plagued by "zipper noise". Even if there is no digital noise induced at all by stepping, the human ear picks out regularly timed steps in control setting if these do not occur at the zero crossing of the signal voltage, not where the control wants to "step". Zipper noise is a maddening thing to reduce to inaudible levels. 

You need to read:
http://www.solarbotics.net/library/pdflib/pdf/motorbas.pdf (http://www.solarbotics.net/library/pdflib/pdf/motorbas.pdf)

Quotewhen the motor is searching for its desired position my guess would be that it would take the shortest path possible to get there. so if i had a pot at degree 270 and i wanted it to go back to 0 would the motor try to rotate forward past the natural stopping point of the pot? how would it know it cant go that way and reverse its direction? is that part of the programming? or is that another specification i have to look for in the motor itself?
Yep, shortest direction. This is easier than it sounds with an analog position feedback. The stepper controller sees position as being the A-D conversion of an analog voltage, arguably 0-5V. It's told things like "go to 2.732V". The programming is something like:
====
Store target voltage
Read current voltage
Turn on motor drivers
IF target voltage > current voltage THEN GOTO SLEW UP
ELSEIF  target voltage < current voltage THEN GOTO SLEW DOWN
ELSE GOTO ALREADY THERE
ENDIF
SLEW UP:
...
SLEW DOWN:
...
ALREADY THERE:
...
Turn off motor drivers so the motor can be moved by hand
====

The "slew up"/"slew down" things are where the speed and direction get handled. With DC feedback of position, you always know which direction the motor has to move to get to the desired position fastest.

One advantage of stepper motors is that as long as the step rate is below the pull-in rate, you can turn on full stepping rate instantly, and turn it off. Starts and stops do not require acceleration ramps, even though there may be some minor ringing around the final stop position. This will be less than a full step (by definition), and can probably be ignored for pot-turning.

There will be some mechanical/shielding/circuit design needed to keep the controller digital noise and motor stepper noise out of the audio path. This gets harder with high impedances and high gain - which are just what we want to use.  :icon_eek:
Title: Re: robotic potentiometers
Post by: tokyoburns on November 03, 2010, 05:53:05 PM
@ R.G.

Thanks. That makes sense. so it is part of the programming and it doesn't seem that hard. good news!

Awesome link! That was pretty informative. So I don't need to worry about speed until i start programing since it is just Dependant upon how many pulses i send and how fast i send them. And the only thing i need to look out for is to not set the speed to close to the res. freq. of the stepper motor or else the ringing occurs which probably isn't a big deal anyways because the average audio pot is not THAT sensitive. And also to make sure the motor itself can handle the speed im looking for.

My design actually already called for an enclosure around an enclosure for aesthetic reasons. since ill probably be squeezing the motor in between them it might make it easier to work out shielding/interference problems. but ill cross that bridge when i come to it. right now im thrilled to learn about these motors. next step is finding one.

Thanks so much! You've been a huge help. And thanks to everybody who has written this has been a lot more helpful than i originally anticipated. I can't wait to get started on this.

I'm sure i'll be posting a lot more on here in the future.

Title: Re: robotic potentiometers
Post by: R.G. on November 03, 2010, 07:15:12 PM
If you can stand a pots on 1.625" center to center spacing and work with 5mm/0.196" diameter both ends, $9.00 each, these might work:
http://www.alltronics.com/cgi-bin/item/28M063/55/Lin-Engineering-4218L-01D-02-bipolar-stepper-motor (http://www.alltronics.com/cgi-bin/item/28M063/55/Lin-Engineering-4218L-01D-02-bipolar-stepper-motor)

You'll want a NEMA frame size of 17 or smaller.

Almost forgot - most of the motors I saw step rates or torque-speed curves on said they could do about 1000 to 1500 steps per second, so it is technically possible to get as much as five RPS, which means rack to rack on a pot would be heavily sub-second. There are a bunch of assumptions about driving the motors in that last sentence.
Title: Re: robotic potentiometers
Post by: Gus on November 03, 2010, 07:49:19 PM
RC servo control was posted about back in the old ampage days IIRC

This link saves a long post.  center 1.5ms one side 1ms other 2ms
http://www.epanorama.net/documents/motor/rcservos.html

http://en.wikipedia.org/wiki/Servomechanism

You will need to use a gears or belts to move the pot is full rotation or maybe modify the pot inside the servo to make it rotate over a greater range
Title: Re: robotic potentiometers
Post by: zombiwoof on November 03, 2010, 10:32:37 PM
Quote from: PRR on November 02, 2010, 11:01:01 PM
It has been reported that Neil Young's Fender DeLuxe, a magic machine which must NOT be tampered, has been fitted with R/C servos to turn the knobs.

R/C servos have internal position feedback (a pot). They churn according to a pulse-width signal. There's standard (though ill-documented) chips to turn voltage-inputs (joystick) into pulse-width. These voltage-inputs could be stored in flash-RAM through CPU and DAC or direct to pulse; or simpler, as a bank of pots, the desired setting selected with whatever logic/switchery you like.

R/C servos can be fast: they have to be, to control unstable hi-performance model airplanes. Speed and torque is a trade-off against size and power, but probably a non-issue for $2 pots.

Stock R/C servos spec 90 or 180 degree rotation; more makes no sense for lever-control. In fact the mechanism turns forever and the internal pot is a stock 270 deg wafer so it is trivial to get your rotation. When pulses stop, the gizmo holds position (else airplanes would twitch and crash for momentary loss of signal).

Beware excess complexity getting in the way of making music and doing business. You propose spending weeks off-stage to save seconds on-stage. This may be a good plan. Especially if, like Neil, you know the technology well AND earn enough to pay helpers to focus on the tedious details.

Neil Young's amp itself has not been fitted with the servos, he has a custom-made box called the "Whizzer", that sits on top of the amp and which turns the knobs of the amp to pre-determined settings.  I think it might have been made by his tech, but I don't remember for sure.  I also don't know the specifics of it, other than it sits on top of the amp, the amp knobs have been removed, and there are shafts that come out of the Whizzer that turn the pot shafts of the amp.  There is some info of this on the net, and I've seen pictures, but not any detailed discussion of how it works.  It takes advantage of the highly interactive channels on that particular model of tweed Deluxe, when you are plugged into one channel of it, you can get variations in tone and gain by changing the volume/tone pots on the unused channel.  He had the Whizzer made to be able to quickly access those different settings.

Al

Al
Title: Re: robotic potentiometers
Post by: tokyoburns on November 04, 2010, 05:20:38 AM
Thanks for all the replies guys!

The more I look into different PIC controllers the more confusing it gets. I guess I don't understand exactly what hardware it takes to control a stepper with PIC. Also its proving to be more and more expensive very quickly. but whatever a finished working product will be well worth it right?
One of the problems I'm having is noticing how quickly complicated this becomes with every motor you intend to control. But I will figure it out.

Thanks again!
Title: Re: robotic potentiometers
Post by: R.G. on November 04, 2010, 10:55:26 AM
Quote from: tokyoburns on November 04, 2010, 05:20:38 AM
The more I look into different PIC controllers the more confusing it gets. I guess I don't understand exactly what hardware it takes to control a stepper with PIC.
The world of microcontrollers does get very confusing if you are new to it, and even more so if you're new to programming. As with all complex problems, the best way to start is to divide and conquer.

First thing to do is to separate the motor drive from the controller. Assume that you can do *anything* with the controller and concentrate on the sequence of pulses the motor needs to work, and the voltage/current you feed the motor. High performance applications use low voltage/high current motors because this lets them feed the motors a big pulse of current to get them to move fast; then a pulse width modulation circuit chops the high current down to a holding current. For a pot-turner, you don't need to do that. Use, say, 5V-rated motors and run them on 5V. It simplifies things a LOT. The motor voltage and current takes care of itself.

Then look at the motor phase currents. You'll need at least four motor phase drivers, for the six-lead unipolar motors, which I highly recommend. The drive is simpler than the four-lead bipolar stepper motors. Steppers have a specific step pattern. This can be provided by the programming inside a microcontroller or a dedicated stepper controller IC outside the microcontroller which does the step pattern in hard logic. It's lower cost to do it inside the microcontroller, but needs more programming. It's more expensive ($1-$5) to use the external stepper controller chip. There are people who will sell you a pre-programmed microcontroller which amounts to a dedicated stepper controller chip, but then you have to somehow tell it how to move to where you want it. I personally prefer to just stick it into the microcontroller itself unless I need high power, microstepping, high performance, etc., which you don't need for a pot turner.

Once you get sorted out how to drive the motor, you go back and make your assumptions come true about the microcontroller. To a first order, which microcontroller you use makes almost no difference. All but the tiniest ones are more than enough for this job. You're looking at $1.50-$2.00 for a microcontroller to do this job. The biggest needs are (1) a compiler that lets you compile the programming to the controller you're going to use and (2) a controller which has a built-in A-D converter, which most of them do these days. The compiler makes the exact microcontroller insides not matter much. There will be some specialized dinking to use the right pins, get the timing right, etc., but not anything like programming it in assembler language.

So for controlling a stepper with a PIC, you need (1) to know the exact stepping nature of your motor, (2) power driver transistors to run the high power motor currents from the controller outputs - these are kind of trivial, but I put them in for completeness (3) either a controller IC like the LS297 or some programming inside the controller (4) a PIC with A-D capability (5) some way to program it to do what you want; usually this means a programmer adapter to actually funnel the bits into the PIC and also a compiler or assembler to translate what you tell it to do into the bits inside the PIC.

QuoteAlso its proving to be more and more expensive very quickly.
It does get expensive quickly. As a DIY guy, you're either rich or you need to use surplus stepper motors. New-production stepper motors not on the surplus market tend to be $50 - $150 each. But they get surplussed out so often that you can often get them for under $20. The motor itself and the mechanical setup to hold the motor and pots is by far the most expensive part. The controller is probably $2.00 per motor. R/C servos are much the same price as stepper motors, and will have a similar difficulty in programming them to work from a microcontroller. DC servo motors are another possibility. I like steppers.

Quotebut whatever a finished working product will be well worth it right?
Good question. Only you can answer that.

QuoteOne of the problems I'm having is noticing how quickly complicated this becomes with every motor you intend to control. But I will figure it out.
Divide and conquer.

Decide up front if you or a friend can do the programming of the microcontroller. If that is not true, the task of learning how to do microcontrollers from the ground up is much bigger than getting a stepper motor to run. If you can do your own programming, or form a collaboration with someone who can do the programming while you do the mechanics and audio, the rest is fairly straightforward.

Next decision: Jump into the water or wade in slowly. I recommend wading in slowly. Buy one motor and one dual pot. Get one microcontroller running on that one motorized pot the way you like it. Once you can do that, you can easily replicate the motorized pot/controller setup, because it just requires buying more motors and controllers and putting the same program in all the microcontrollers. Replication is much easier than original design. Since you know you will not be using the first motor-controller setup, it frees you to do the tough part of programming and learning about motors separately from integrating this all into an audio chassis.
Title: Re: robotic potentiometers
Post by: tokyoburns on November 04, 2010, 06:38:24 PM
@R.G.

I am very new to it all. I have never taken on such a project. You are right I should probably find a buddy who knows how to do the programming.  work with him and learn what he does along the way. But I don't think I really know anybody who knows this stuff. So I'll probably be working with one motor at a time. I would like to be able to save my setting on the fly. It would make it really easy when finding the right tone at band practice to just hit the footswitch that says "save". I imagine the programming will look some thing like

IF SWITCH A IS PRESSED THEN SAVE POT VALUES UNDER CURRENT SETTING

lets say setting 1. and if i was at setting 2 and playing with tone then when i hit save it would save under 2 and so on. switch "A" would be my "save" button. then I would have a separate foot switch for lets say 10 settings or pedal configurations. if i was at setting 3 and i was playing with all my settings being creative and i wanted to start at 3 again i would just hit footswitch 3 again. and again all my knobs will be controlled either by hand or by foot depending on whatever i happen to be turning at the time. This is the very end goal anyways.

I think i have some literature on programming laying around somewhere i will just have to read it and start taking notes on what applies to my pedal project. (which will probably be most of it)

As always thanks you so much. This has been a huge help. and a giant leap towards what I'm hoping to accomplish.

Title: Re: robotic potentiometers
Post by: tokyoburns on November 04, 2010, 08:23:04 PM
reading about ADC I am trying to understand the resolution aspect of them. What I'm coming to is that if I have an 8 bit res ADC than my microcontroller will only recognize 8 different positions that my pot could possibly be in. is that correct?
Title: Re: robotic potentiometers
Post by: hoopshot on November 04, 2010, 08:31:27 PM
Quote from: tokyoburns on November 04, 2010, 08:23:04 PM
reading about ADC I am trying to understand the resolution aspect of them. What I'm coming to is that if I have an 8 bit res ADC than my microcontroller will only recognize 8 different positions that my pot could possibly be in. is that correct?

An 8 bit ADC has 2^8 or 256 distinct outputs. For control purposes this may be enough. For audio it's pretty cruddy. Each extra bit adds twice as many output levels.

--Will
Title: Re: robotic potentiometers
Post by: R.G. on November 04, 2010, 08:42:19 PM
Quote from: tokyoburns on November 04, 2010, 06:38:24 PM
I am very new to it all. I have never taken on such a project. You are right I should probably find a buddy who knows how to do the programming.  work with him and learn what he does along the way. But I don't think I really know anybody who knows this stuff. So I'll probably be working with one motor at a time. I would like to be able to save my setting on the fly. It would make it really easy when finding the right tone at band practice to just hit the footswitch that says "save". I imagine the programming will look some thing like

IF SWITCH A IS PRESSED THEN SAVE POT VALUES UNDER CURRENT SETTING

lets say setting 1. and if i was at setting 2 and playing with tone then when i hit save it would save under 2 and so on. switch "A" would be my "save" button. then I would have a separate foot switch for lets say 10 settings or pedal configurations. if i was at setting 3 and i was playing with all my settings being creative and i wanted to start at 3 again i would just hit footswitch 3 again. and again all my knobs will be controlled either by hand or by foot depending on whatever i happen to be turning at the time. This is the very end goal anyways.
The user interface - how the human tells it what to do - is by far the harder part of the programming, because a person may do *anything* whether the programming expected that or not. You have to try to think of all the things a human could do wrong, and filter them out, or at least have the thing not do anything at all on "silly human" inputs. It's kind of like not putting a "wings fall off" button on the control panel of an airplane at all, and especially not next to the "lower flaps" lever.  :icon_biggrin:

One possible way is to have, say, eight footswitches, which are patches 1 through 8. Press footswitch 2, and all the pots, as many as you motorized, go to where you told them to be for footswitch 2. Then you have a "remember" switch that's hard to find and can't be pressed by accident. You set the pots like you want them, then hold down the "remember" button and while it's down, press footswitch 2. That tells the controller "don't go to the positions you have stored; instead, memorize where they are now, and when I hit footswitch 2 again, go to the new ones I just told you to remember". That way, you can tweak each setting by going to it, tweaking the knobs, and pressing "remember" and the footswitch again. No menus, no displays, not modes to remember other than "remember". This works for as many pots as you want to set up.


Title: Re: robotic potentiometers
Post by: tokyoburns on November 04, 2010, 08:42:49 PM
yeah that makes more sense. thanks man.

that should have been a little more obvious.

So i guess 8 bits doesn't sound to bad. if i have a pot with 270 degrees to it and 8 bit ADC will convert that to 256 different parts (or really i guess you could consider it 256 degrees) than im not really losing that much. I guess it would be safer to search for 10 bits. just to cover the bases. i suppose that will come down to cost.
Title: Re: robotic potentiometers
Post by: tokyoburns on November 04, 2010, 08:45:55 PM
hahaha well looking at cost now i guess its not much to worry about. :icon_biggrin:
Title: Re: robotic potentiometers
Post by: R.G. on November 04, 2010, 08:56:36 PM
Quote from: hoopshot on November 04, 2010, 08:31:27 PM
Quote from: tokyoburns on November 04, 2010, 08:23:04 PM
reading about ADC I am trying to understand the resolution aspect of them. What I'm coming to is that if I have an 8 bit res ADC than my microcontroller will only recognize 8 different positions that my pot could possibly be in. is that correct?
An 8 bit ADC has 2^8 or 256 distinct outputs. For control purposes this may be enough. For audio it's pretty cruddy. Each extra bit adds twice as many output levels.
Yeah, what he said. The number of bits is the exponent to base 2 of the number of possible readings. Most PICs and other controllers now have 10 bit A-D. This converts the reading to 1024 states. For controlling pots, 256 positions is pretty fine. 1024 positions might as well be infinite to the human twisting the pot, and may be a worse PITA for programming than it's worth for resolution to the user. The $2 microcontrollers typically also have 10 bit A-D.
Title: Re: robotic potentiometers
Post by: tokyoburns on November 04, 2010, 09:22:46 PM
@R.G.
Right that is very close to how I want it to operate but I would like it to always know the last bank I was on so if I hit "remember" it will just save it to the bank I'm already on. I don't have to press a second switch to tell it which bank to save it to. That way I can skip a step and make decisions faster. I like to experiment with my sound a lot on stage so to hold down one switch with one foot and then press another with my other foot while playing guitar would require to much concentration. The "remember" or "save"  switch will be safely tucked away where I cant accidently step on it.
Title: Re: robotic potentiometers
Post by: R.G. on November 04, 2010, 09:37:44 PM
Quote from: tokyoburns on November 04, 2010, 09:22:46 PM
Right that is very close to how I want it to operate but I would like it to always know the last bank I was on so if I hit "remember" it will just save it to the bank I'm already on. I don't have to press a second switch to tell it which bank to save it to. That way I can skip a step and make decisions faster. I like to experiment with my sound a lot on stage so to hold down one switch with one foot and then press another with my other foot while playing guitar would require to much concentration. The "remember" or "save"  switch will be safely tucked away where I cant accidently step on it.
:icon_biggrin:
Yep. The user interface is the tough part. Enjoy.
:icon_biggrin:
Title: Re: robotic potentiometers
Post by: petemoore on November 05, 2010, 12:32:39 PM
  It'd be neat to have a race between two equally interested parties:
  one uses PIC manuals, guides and data sheets + extensive mechanical/machine shop prototype work...belts/pulleys/screws..stuff like that.
  The other uses LDR/LEDs and simple gone complicated circuits.
  The goal is multi-faceted...
  1 Get 1 control to work 'acceptably' [pretty sure LDR's gonna be quicker to figure/work, depending on what 'acceptably' means to that control user.
  2 Get a control network that nearly meets or surpasses 90% of the design goal [ie turns down the bass and reverb down 2 smidges as it turns up volume 3 smidges.
  3 Get it to where the PIC clearly outclasses the LDR [and whatever else might be circuited to work around their shortcomings] in ability to achieve zero resistance, as well as other gymnastic or complex control maneuvers.
Title: Re: robotic potentiometers
Post by: R.G. on November 05, 2010, 01:35:05 PM
Quote from: petemoore on November 05, 2010, 12:32:39 PM
  It'd be neat to have a race between two equally interested parties:
  one uses PIC manuals, guides and data sheets + extensive mechanical/machine shop prototype work...belts/pulleys/screws..stuff like that.
  The other uses LDR/LEDs and simple gone complicated circuits.
  The goal is multi-faceted...
  1 Get 1 control to work 'acceptably' [pretty sure LDR's gonna be quicker to figure/work, depending on what 'acceptably' means to that control user.
  2 Get a control network that nearly meets or surpasses 90% of the design goal [ie turns down the bass and reverb down 2 smidges as it turns up volume 3 smidges.
  3 Get it to where the PIC clearly outclasses the LDR [and whatever else might be circuited to work around their shortcomings] in ability to achieve zero resistance, as well as other gymnastic or complex control maneuvers.
Wish I could do that. I've done the single pot thing before.

The dual-shaft stepper thing is remarkable in not having any belts, pulleys, etc. You simply put a 1/2" length of 1/4" ID rubber tubing and a hose clamp. Slip the tubing onto the motor shaft, and then onto the pot shaft. Mechanics done. You mount the motor on the panel by drilling a 3/8" hole for the shaft, and then two, three, or four holes to run screws into the motor face for mounting. These holes can be oversized to make the mounting not be a super-precise job. Going to belts, pulleys, gears, etc. in my opinion makes the motorized setup impractical immediately.

The programming to do a "go to here" control on a PIC is, frankly, a one-afternoon project. To make it that way, you have to already have developed the skills for writing programs in the abstract, writing PIC programs in particular, running the compiler, downloading the code to a PIC, etc. But if you have those skills already under your belt, the code needed to get a PIC to drive a stepper motor to turn a pot until the A-D reads some voltage is really pretty trivial.

Writing code takes whatever time it takes, and is hugely experience dependent. However, I can run a compiler, produce a hex file, program a PIC and put the PIC into a socket in about five minutes.

In fact, if I were doing the LDR version, I would do it much the same way as the motorized pot. I'd use a centertapped LED/LDR, and use one section to sense a DC voltage for "pot position". The panel-mount user pot would be a DC voltage setting pot only. I'd use a PIC to read the position of the panel pot (as a DC voltage), then drive the LED to make the DC-voltage-sensing LDR be the same voltage, and use the other half of the LDR as the signal pot. A PIC is necessary here too, because if you want to remember positions/settings across power-on-cycles, you are pretty much forced to go digital to put the setting in eeprom memory.

In my estimation, getting the PIC to servo to a DC voltage from a panel pot is harder than getting a stepper motor to move a pot, and the LDR approach does not have any way of actually moving the user-panel pot rotation to show the user where the pot is set. That's an important part of the user interface.
Title: Re: robotic potentiometers
Post by: MetalGuy on November 05, 2010, 05:41:36 PM
tokyoburns: I'm sorry man but such project is not for beginners in uCUs unless your head is naturally "wired" for programming and stuff. If this is not the case believe me and do yourself a favor - find somebody who can do it for you and pay him. This will save you a lot of trouble and especially time.
Title: Re: robotic potentiometers
Post by: PRR on November 05, 2010, 06:56:11 PM
> a full sweep of the pot faster than the specs on the motors

There's a motor for almost any speed. Hard-Drive head motors sweep in 1/100th of a second. They are not directly adaptable to a knob, and knob mass/drag would slow them, but if you were desperate you could replace the heads with contact fingers and smudge carbon onto the platter (hmmmm....)

The model aircraft R/C motors can be very fast; have to be. They can be modified for 270 rotation.

The motor-pots from old hi-fi systems were not speedy. Home volume control is not a rush operation. The controller was pushbuttons; if the knob turned too fast it would overshoot before I could get my fat thumb off the button. Made to be mellow. The trick here is: simple DC motors turn according to Voltage. The spec is mellow rotation on 4.75 Volt control. Put 10V or 15V on the motor, it turns 2X or 3X the speed. It wants to overheat but you will never run it for more than a blip, it will never overheat. (Somewhere past 3X or 10X voltage it will arc like a mini-welder and the brush-life will drop from thousands of operations to dozens of operations... but the hi-fi use is so mellow that you can hot-rod a LOT and not have short motor life.)

Stepper motors are used in inkjet printers and scanners. The ink-head or scanner head moves side to side via a string around a stepper motor; the paper feeds on a roller on a stepper. While the print or scan motion may be slow so that the dots go-down or read-off, you can see in the reset or cleaning modes that these contraptions can move awful fast, and with ~~~600dpi repeatability.

> my guess would be that it would take the shortest path possible to get there

"Assume that you can do *anything* with the controller..." {R.G.}

If you are picking up trash in the driveway, you probably want to go to the end of the drive anyway, not just stop at the big pile you came to pick up. Or maybe not every time, just once in a while. Likewise a pot-turner "may" want to do a full-turn to knock the dust off the track; again, maybe not every time.

But the SIMPLE way is: desired setting is "4", current setting is "5". 4-5 = -1. The main point is that the change is negative, you want to go backward, you use reverse motor rotation (reverse polarity or back-steps). Likewise from "4" to "10" is +6, the plus means go forward, normal polarity or forward-steps.

It is possible to also note the magnitude of the change. -1 is a small turn, +6 is a large turn. Very high performance motion control will handle small change different from large change. If you want to drive 400 miles to Chicago, you stand on the gas. If you want to creep the car into the garage 4 inches, you feather the gas. However in this case I believe that you can get ample speed with minimal over-shoot (not hit the garage wall, nor go much below "4") with simple bang-bang control.

> PIC controllers the more confusing it gets.

IMHO, learning CPUs (a PIC is just a teensy CPU) is like learning to play music. There's a LOT to learn. There's a whole way-of-thinking. Remember how far it is from first putting a finger on a fret to playing "Stairway..." recognizably? Some people absorb it, some don't. It's not for everybody.

There ARE simpler ways, but they are so out-of-fashion that nobody goes there even when it would be easier.

One main thing about your PIC. You "can" do anything, but. Your motor (whichEVER type you go with) needs some complicated control. Steppers need runs of pot-steps. R/C servos need pulse-widths. DC motor with pot feedback needs analog inputs. These are such common chores that some PICs have high-level instructions so that you do not have to get down in the dirty-bits and poke each pulse. The BASIC Stamp's "pulseout 0,150" command directly turns an R/C servo to half-turn; diddling the "150" sets other positions. For a stepper-motor, the code can be quite ugly:

Stepit: for i = 1 to Steps
   pins = pins^b1
   b1 = b1^%00000011
   pause Delay
   next
Directn = Dir_cmd

---however some PICs (even the fancier Stamps) have a one-line command to do this chore.

There's also multitasking. Can you turn two knobs at once? Four knobs? These simple for...next command loops tie-up the CPU's teeny brain until the one task completes. Do you want to turn Gain, then Vol, then Bass, then Treb? At say half0second each, that's 2 seconds to do a scene change. The CPU is far faster than the motor, so in principle it can send a pulse to Gain, a pulse to Vol, etc, and appear to turn all four knobs "at once". However the code to do this is double-ugly. It is really nice if the PIC vendor has already done the dirty bits and given you a simple interface to turn multiple motors with very little code-writing on your part.
Title: Re: robotic potentiometers
Post by: R.G. on November 05, 2010, 07:27:08 PM
Quote from: PRR on November 05, 2010, 06:56:11 PM
> my guess would be that it would take the shortest path possible to get there
"Assume that you can do *anything* with the controller..." {R.G.}
That was evil of me, wasn't it?  :icon_lol:

QuoteOne main thing about your PIC. You "can" do anything, but. Your motor (whichEVER type you go with) needs some complicated control. Steppers need runs of pot-steps. R/C servos need pulse-widths. DC motor with pot feedback needs analog inputs. These are such common chores that some PICs have high-level instructions so that you do not have to get down in the dirty-bits and poke each pulse. The BASIC Stamp's "pulseout 0,150" command directly turns an R/C servo to half-turn; diddling the "150" sets other positions. For a stepper-motor, the code can be quite ugly:

Stepit: for i = 1 to Steps
   pins = pins^b1
   b1 = b1^%00000011
   pause Delay
   next
Directn = Dir_cmd
I love it when you talk dirty (code, that is...).
Actually, if you get past the IF-THEN-GOTO school of programming, you learn to encase functions, even dirty ones, in subroutines or functions so that to the main program, even a dirty routine gets much easier. And steppers are very simple when you realize that the proper phase pattern is either a left-shift or right shift of a given pattern of bits in a register. Or gray code. One of those. Eminently sub-routine-able.

QuoteThere's also multitasking. Can you turn two knobs at once? Four knobs? These simple for...next command loops tie-up the CPU's teeny brain until the one task completes. Do you want to turn Gain, then Vol, then Bass, then Treb? At say half0second each, that's 2 seconds to do a scene change. The CPU is far faster than the motor, so in principle it can send a pulse to Gain, a pulse to Vol, etc, and appear to turn all four knobs "at once". However the code to do this is double-ugly. It is really nice if the PIC vendor has already done the dirty bits and given you a simple interface to turn multiple motors with very little code-writing on your part.

That is a big deal. Multitasking systems are a full exponent bigger than single task systems.

However, I cheated.  :icon_biggrin:
I manipulated the problem statement so it could be solved with one uC per pot, acting in parallel with an external set of switches they share. If you're willing to pay $2.00 per pot for uCs instead of $4.00 for one uC to control N pots, it gets much easier.
Title: Re: robotic potentiometers
Post by: R.G. on November 05, 2010, 07:36:02 PM
http://www.imagesco.com/articles/picstepper/01.html (http://www.imagesco.com/articles/picstepper/01.html)
Title: Re: robotic potentiometers
Post by: PRR on November 06, 2010, 02:02:23 AM
> "Assume that you can do *anything* with the controller..." {R.G.}
> That was evil of me, wasn't it?


Not evil. There are problems not solvable on computer. "Find the last digit of Pi" can not be solved. There are problems which can be solved, but the computational effort gets huge; common factors of large numbers.

But many practical problems (especially mere chores) can be done by computer. Often wih trivial effort. Sensing switch inputs, reacting with switch/motor outputs, is dummy-work, less than chimp-work.

Within this set of problems "...you can do anything..." is a good point.

Questions like short-way or long-way don't change this.

A rack of relay-logic can run-stop an elevator long-way at mid-day (so nobody long-waits on the top floor) and short-way at 9am and 5pm (to get the crowds in/out). Designer's choice. (Also added-cost option.) (Also trade-off between smarter elevators and more elevators.)

> encase functions, even dirty ones, in subroutines

Yes. But someone has to write that function. Tokyoburns has enough to learn and do. It would be nice to have a PIC library with high-level motor-control, rather than debug bit-boffer code.

Decades back, I massaged text. I used BASIC and I used Pascal. My Pascal (may have been Turbo Pascal 2) pretty much only extracted the i-th byte of a string. MS Basic had LEFT$ RIGHT$ TRIM$ INSTR String($), higher-level primitives to test, extract, replace, extend text strings. Being studious, I wrote similar functions in Pascal. When, a decade later, I had to do it again, I went straight for BASIC.

> solved with one uC per pot

Oh, well, I still think of computers as "expensive". You're right, they aren't.

But pots are also cheap. Instead of one pot robotically turned to many positions, you can have many pots each pre-set for a sound, and switch among them.

And a knob-bank has a lot more "Wow!" factor than bitty CPUs hiding in a box. Imagine eight rows of eight knobs, add some indicator lights... WOW! You could make a science-fiction movie!

I'm not gonna draw 8-knobs, but here's the idea:
(http://i53.tinypic.com/9sdt3m.jpg)

Each original knob becomes a bus. Pots connect to bus via switches. All switches in each bank linked together. Press the "surf" button and bank 3 pots are connected. Or since the button should be underfoot and the pot-banks should not, have relay-coils working the switches. If bringing the Clip signal so close to the Gain signal incites squeal, use more relays.

The "logic" then becomes a 1-of-X switch in the pedal and X+1 wires back to the pot-bank. Ethernet cables give 7 selections and zero decoding.

Yes, when you need more than a handful of sounds, the cost of pot-bank rises with number of sounds and with decoding to put the selection onto a low-cost cable (50-pair cable is costly and stiff). Pot-motors can conceptually get infinite sounds (or for 8 knobs with 1% settability, only 10^16 sounds). But that begs the next question: how do you select hundreds/millions of sounds with your feet? An organ pedal-board is quite big and has like 37 choices. You can tap two at once and get a thousand settings, but can you do it in performance without an organ-bench?
Title: Re: robotic potentiometers
Post by: R.G. on November 06, 2010, 10:43:23 AM
Quote from: PRR on November 06, 2010, 02:02:23 AM
> "Assume that you can do *anything* with the controller..." {R.G.}
> That was evil of me, wasn't it?

Not evil. There are problems not solvable on computer. "Find the last digit of Pi" can not be solved. There are problems which can be solved, but the computational effort gets huge; common factors of large numbers.
Actually, I was parsing my words as finely as Bill Clinton when he was caught under oath explaining his answer about being alone with Monica Lewinsky - "It depends on how you define 'alone'".  :icon_lol:  "Evil" necessarily implies intent. I said "assume" with malice aforethought, knowing that was kind of, but not absolutely, true.

And your example of the digits of pi reminds me of the long-ago "Space Child's Mother Goose":
Little Jack Horner sat in a corner
Extracting cube roots to infinity.
An employment for boys which reduces the noise
And produces a quieter vicinity.

QuoteA rack of relay-logic can run-stop an elevator long-way at mid-day (so nobody long-waits on the top floor) and short-way at 9am and 5pm (to get the crowds in/out). Designer's choice. (Also added-cost option.) (Also trade-off between smarter elevators and more elevators.)
Microcontrollers were new when I did some of my MS work. One homework project was to design an elevator controller. That's a deceptively tricky problem.

Quote> encase functions, even dirty ones, in subroutines
Yes. But someone has to write that function. Tokyoburns has enough to learn and do. It would be nice to have a PIC library with high-level motor-control, rather than debug bit-boffer code.
You're absolutely correct. That's one reason I repented my evil in the first part and posted the link to some pre-canned stepper motor routines.

QuoteDecades back, I massaged text. I used BASIC and I used Pascal. My Pascal (may have been Turbo Pascal 2) pretty much only extracted the i-th byte of a string. MS Basic had LEFT$ RIGHT$ TRIM$ INSTR String($), higher-level primitives to test, extract, replace, extend text strings. Being studious, I wrote similar functions in Pascal. When, a decade later, I had to do it again, I went straight for BASIC.
It's funny - I did much the same. I've programmed in assembly for a slew of processors, in FORTRAN (may it forevermore rot in dusty deck Hades), in Pascal, in C, in FORTH, some ALGOL.  For quick and easy, go to BASIC. Real he-man programmers (of both sexes) laugh at me about this, but my programs are running before they get their parentheses counted.  :icon_lol:

Quote> solved with one uC per pot
Oh, well, I still think of computers as "expensive". You're right, they aren't.
Yeah. That's a profound realization. Once you get over the hump of it being a computer, you can think of a $2.00 or even $0.50 microcomputer as being an IC that does anything you're clever enough to define clearly. For anything where the real timing requirements are not critical, that's a good approximation. One ongoing project I keep designing at is a bagpipe generator, a single chip that delivers all the notes of the bagpipe scale, which parenthetically is NOT the same as the even tempered western music scale.

QuoteBut pots are also cheap. Instead of one pot robotically turned to many positions, you can have many pots each pre-set for a sound, and switch among them. And a knob-bank has a lot more "Wow!" factor than bitty CPUs hiding in a box. Imagine eight rows of eight knobs, add some indicator lights... WOW! You could make a science-fiction movie!
Good point. I recent re-watched "Radar Men from the Moon". Cool stuff!

QuoteEach original knob becomes a bus. Pots connect to bus via switches. All switches in each bank linked together. Press the "surf" button and bank 3 pots are connected. Or since the button should be underfoot and the pot-banks should not, have relay-coils working the switches. If bringing the Clip signal so close to the Gain signal incites squeal, use more relays.
Cool! I used much the same setup in the no-controller version of the programmable footswitch looper. You're right - replication and switching can do it, and it makes a great visual effect.

QuoteYes, when you need more than a handful of sounds, the cost of pot-bank rises with number of sounds and with decoding to put the selection onto a low-cost cable (50-pair cable is costly and stiff). Pot-motors can conceptually get infinite sounds (or for 8 knobs with 1% settability, only 10^16 sounds). But that begs the next question: how do you select hundreds/millions of sounds with your feet? An organ pedal-board is quite big and has like 37 choices. You can tap two at once and get a thousand settings, but can you do it in performance without an organ-bench?

Hey - an alternate visual effect: motorized pots with knobs/pointers a foot across so the audience can *see* the pots move.  :icon_biggrin:
Title: Re: robotic potentiometers
Post by: anti-idiot on November 06, 2010, 11:58:20 AM
I'm sorry i didn't read the whole thread, since the language is too technical and english is not my first language (and my brain hurts from the struggle). But, does anybody tried the Arduino thingy?

I was lookin' for a way to have 5 or 6 motorized knobs (i want a preamp like the Soldano/Caswell x99) and thought about the Arduino, but since i couldn't find anything, i thought about LDR (like Mesa/Boogie Triaxis). Now you mention the robotin pots again, and since is what i wanted in the first place... well.

I know the uC programming will be a b!t©h, but the Arduino doesn't look so complicated like a regular PIC. Maybe I'm wrong.

Maybe Dano can tell us anything, since he did an amazing job with the arduino and a vactrol.
Title: Re: robotic potentiometers
Post by: R.G. on November 06, 2010, 01:24:37 PM
Quote from: anti-idiot on November 06, 2010, 11:58:20 AM
I'm sorry i didn't read the whole thread, since the language is too technical and english is not my first language (and my brain hurts from the struggle).
English is my first language, and sometimes that doesn't help.  :icon_eek: I've stuggled with other languages, too, and I very much respect you for trying.

QuoteBut, does anybody tried the Arduino thingy?
I was lookin' for a way to have 5 or 6 motorized knobs (i want a preamp like the Soldano/Caswell x99) and thought about the Arduino, but since i couldn't find anything, i thought about LDR (like Mesa/Boogie Triaxis). Now you mention the robotin pots again, and since is what i wanted in the first place... well.

I know the uC programming will be a b!t©h, but the Arduino doesn't look so complicated like a regular PIC. Maybe I'm wrong.
Actually, the Arduino programming is very much like the  C programming language. BASIC is possibly even easier than Arduino or C.

It's important to separate the programming language from the underlying hardware. The language can make it much easier. That's why I mentioned the BASIC stuff. Doing it with a compiler, you're much further removed from the hardware.


Title: Re: robotic potentiometers
Post by: anti-idiot on November 06, 2010, 06:16:58 PM
BTW, i have some pics of a soldano x99. you can see how the motorized pots were done (and the big uC)


http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-01.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-02.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-03.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-04.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-05.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-06.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-07.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-08.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-09.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-10.jpg
http://i20.photobucket.com/albums/b228/Anti-Idiot/x99/x99-11.jpg
Title: Re: robotic potentiometers
Post by: R.G. on November 06, 2010, 07:13:13 PM
Quote from: anti-idiot on November 06, 2010, 06:16:58 PM
BTW, i have some pics of a soldano x99. you can see how the motorized pots were done (and the big uC)
Hahahahahahahahaha!
:icon_lol: :icon_lol: :icon_lol: :icon_lol: :icon_lol: :icon_lol: :icon_lol:

That IS the stepper-motor pot idea, dual shafts and user settable knobs and all, just done with a single microcomputer instead of one per motor. They even went with the rubber tubing  couplers, but used cable ties instead of hose clamps. I can't tell off hand whether they did the second-pot DC thing for position, or if they periodically run all the pots to "0" to get a reference position and then always keep count of where they are, or if they put an encoder on the motor. All of these are possible, but the DC trick is quicker - and probably dirtier! - than encoders and surer than "go to zero" recalibrations.

I love it! I think I first described this on the usenet forums, before there was a web. I've also written about it on the web, when there was a web. I'd have to go check, that was well over a decade ago. There is no way to know whether it was convergent evolution or whether someone at Soldano reads and remembers the web.

But yessir, that's the fully embodied deal. Notice in photo 10 there's an IC above each stepper motor. That's a stepper-driver IC that makes the stepper move up or down in response to a single "up" or "down" command from the uC. Those cost about $2.00 and up all by themselves, but integrate the driver transistors, protection diodes, etc. Whether to use a uC per stepper or a controller per stepper and one uC is a design decision that depends a lot on how the user interface is done and what the economics are.

Thankyou, thankyou, thankyou, thankyou, thankyou. That makes my day. I've never seen the inside of one of these. :icon_biggrin:
Title: Re: robotic potentiometers
Post by: Hides-His-Eyes on November 07, 2010, 07:33:55 AM
Colour me impressed, RG :)
Title: Re: robotic potentiometers
Post by: MetalGuy on November 07, 2010, 09:14:01 AM
Thanks for the pics. I had some X99 pics from a long time  but these are better quality.
Since motorized pots are not new idea the question is why we don't see it implemented more often by the big companies?
Maybe because they won't be able to sell many different models amps and stuff.
Title: Re: robotic potentiometers
Post by: defaced on November 07, 2010, 09:37:47 AM
Price, upfront engineering vs sustainability, service life - those are the big things that come to my mind first - not to mention weight, size, parts count, electrical interference, etc.  I know the price of a SLO, I don't even want to think how much the X99 is.  Commercially available motors are less to engineer, but get discontinued.  Custom motors are more to engineer, but you should always be able to get them wound (tons of assumptions in that last part).  Anything with a moving part is much more likely to break down, and alot of times more costly, than a solid state part. 
Title: Re: robotic potentiometers
Post by: R.G. on November 07, 2010, 09:41:06 AM
Quote from: MetalGuy on November 07, 2010, 09:14:01 AM
Since motorized pots are not new idea the question is why we don't see it implemented more often by the big companies?
Maybe because they won't be able to sell many different models amps and stuff.
It probably comes down to money. Even in quantity, non-surplus stepper motors are about $20-$50 each. A company simply can't rely on finding surplus parts cheap unless they get a batch big enough for a whole production run. And the practice of selling not-quite-fully-good parts as "surplus" is entrenched in the industry. So you have to buy new. At $25 per stepper, that's $125 of steppers there before you add any other parts to the box. This is perhaps the parts cost for the whole rest of the box. There is a truism in the industry that you have to sell things for about three or more times parts cost to make a profit. The extra price is for labor, overhead, investment, discounting to distributors, advertising, etc, and finally profit. Those extra things above parts cost are as real a part of the product that gets sold as the knobs on the front, you just don't get to see them in the final product. Profit is often the smallest piece.

Where I'm going with that is that a $25 cost stepper translates into $75 to $100 more product price at retail. Five of them are $375 to $500 more at retail. So you really, really have to get a lot of sales out of having those steppers in there. I don't know what that preamp costs, but just having motorized pots probably prices it out of the normal amp range entirely, and puts it in boutique and professional tool categories. People with really fat wallets will buy the hand-adjusted versions every time.

In a world made perfect for the motorized pot, the stepper motor would be optimized for the pot-turning job. It would be much more cheaply made, as normal steppers in the square frame are usually higher precision devices. You could use sleeve bearings instead of ball bearings, wider gaps on the rotor/stator and still get away with the lower torque that would give, as well as making it much smaller overall. Setting up for this would require a lot of capital investment though, because motors are highly standardized items, and already heavily automated. So you'd have to get large quantity. Maybe something could be done using as many already-stock parts as possible from a smaller motor.

Yeah. Probably money.
Title: Re: robotic potentiometers
Post by: MetalGuy on November 07, 2010, 01:41:19 PM
I think big companies can afford to order custom parts in quantities at good prices.
Soldano products are quite pricey so +150-200$ on top of an already high price is hardly an issue for them. Also if you want versatility and options I guess you'll have to pay some extra for it.
Title: Re: robotic potentiometers
Post by: PRR on November 08, 2010, 02:44:13 AM
> stepper motors are about $20-$50 each

Those square-frame jobs are the good stuff.

A $39.99 injet printer has two stamped steppers, plus case and brains and a half-tank of ink. Even assuming the $39 price is cut-profit (razor economics), they can't be paying much over a buck a motor.

Of course the same printer company orders hundreds of thousands of steppers. So the winders do their best deals, and mostly won't leak over-runs in production quantities (to deprive competitors of their favoriate customer). Some boutique builder looking for one box of 1,000 can't get that deal.

4-Phase / 12 Volt Unipolar Stepper Motor (http://www.parallax.com/Store/Accessories/MotorServos/tabid/163/CategoryID/57/List/0/SortField/0/Level/a/ProductID/65/Default.aspx) $13 (only 36 whole-steps per 270 deg pot) "the Stepper Motor we currently have in is always subject to change at any time. ...we only carry this motor for education (and proof of concept) purposes."

Continuous Rotation Servo (http://www.parallax.com/Store/Accessories/MotorServos/tabid/163/CategoryID/57/List/0/SortField/0/Level/a/ProductID/102/Default.aspx) $13
Title: Re: robotic potentiometers
Post by: tokyoburns on November 08, 2010, 03:13:29 AM
WOW! You guys really worked my post! I haven't got to check it over the weekend and just checked it now and it was quite a bit to digest. Thanks for all the replies!

First of all let me get this off my chest:
Quote from: MetalGuy on November 05, 2010, 05:41:36 PM
tokyoburns: I'm sorry man but such project is not for beginners in uCUs unless your head is naturally "wired" for programming and stuff. If this is not the case believe me and do yourself a favor - find somebody who can do it for you and pay him. This will save you a lot of trouble and especially time.

Dude... step off my case. why be discouraging? that's not even advice. you might as well have told me to flat out doubt myself and prepare to give up before starting. I thought this was a DIY forum not a give-up-and-pay-someone-to-do-it-for-you forum. How about this. I wont take your advice. If I fail a thousand times I'll be all the happier with myself for having done it.

@ everyone else
so awesome! I'm surprised to find so many people willing to help and its definitely a good thing.

@anti-idiot
That's awesome! great pics. When I saw them I recognized exactly what R.G. was explaining before about the motors. I can clearly see the size issues that would come when dealing with putting that into a pedal. It was great to look at. thanks.

@PRR
You asked about how to make a practical footswitch. I was actually thinking about that today. Here is a rough sketch of my plan. lets say I have one uC controlling 8 pots (lets say thats like 3 or 4 pedals) The way I understand it the controller will turn whatever steppers i have wired to it so I could program multiple uC with the same exact program and add motorized pots as I see fit one by one. It will actually be a whole modded pedal (2 or 3 pots) at a time. that way if i ever want to add or subtract my modded pedals from my board it will be as easy as adding or subtracting pedals from the board now as long as i have enough uC to cover as many pedals as I have modded. I dont imagine that those uC take up to much space. having 1 uc for every 3 or footswitches probably will not be to much of a bother. Im sure once my hardware is correctly calculated then I can work on integrating the aesthetic of the uC boxes into the rest of my pedal board. so back to the footswitch... I figure the footswitch is gonna be digital so why not add a banking system? it will have lets say 10 footswitches for 10 immediate settings then it will have a bank button with up and down control so at one instance it can represent switches 1-10 and the next represent switches 11-20 and so forth up to whatever. So the footswitch will be 10 "unique setting" switches a "save" switch and 2 "scroll"  switches. 13 switches total. not too many switches or at least not for me. On that same token if having 10 immediate switches isnt enough for me ill just add an identical footswitch design and set it to switches 11-20. now i have 20 switches. Now I know that probably makes programming beyond difficult but i dont care. i have had this design in my head for a long time and have been kinda obsessed with building it. To be honest it actually gets even more crazy then everything ive explained so far im just trying to take things one at a time on this forum.

@R.G.
As always you are a huge help. Thanks for all the good advice throughout this whole post it has been extremely helpful.

Thanks guys! I really appreciate all the support (except you MetalGuy)
Title: Re: robotic potentiometers
Post by: Hides-His-Eyes on November 08, 2010, 04:16:45 AM
http://cgi.ebay.co.uk/5V-Stepper-Motor-Geared-Arduino-PIC-51-AVR-MCU-ARM-/150514129983?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item230b575c3f

48 turns in a 270deg pot, £5...
Title: Re: robotic potentiometers
Post by: MetalGuy on November 08, 2010, 04:40:07 AM
QuoteDude... step off my case. why be discouraging? that's not even advice. you might as well have told me to flat out doubt myself and prepare to give up before starting. I thought this was a DIY forum not a give-up-and-pay-someone-to-do-it-for-you forum. How about this. I wont take your advice. If I fail a thousand times I'll be all the happier with myself for having done it.

Dude, I've been through this already. That's a practical advice and I'm just being realistic. At least for me it's just not practical to learn a skill that will serve you couple of times. uCUs, programming and mathematics are not for everybody and this is a fact. It's not like you read something several times and memorize it.
Good luck with your project!
Title: Re: robotic potentiometers
Post by: Hides-His-Eyes on November 08, 2010, 12:07:07 PM
BASIC really isn't that bad. I learnt it on a DOS machine my dad gave me when I was barely into high school (who remembers QBasic huh?)

If you've never used a terminal before and your experience of computers hasn't gotten deeper than MS word and internet explorer, it's probably a fair bit of work... But there's not a big distance between being able to draw a flow diagram and being able to code that flow diagram in Basic.

<include> #wtfisthisshit

main(){

C++, not so much;;

return 0}
Title: Re: robotic potentiometers
Post by: MetalGuy on November 08, 2010, 04:21:09 PM
QuoteBASIC really isn't that bad. I learnt it on a DOS machine my dad gave me when I was barely into high school (who remembers QBasic huh?)

I started working with computers in the 80-s and it was only BASIC not even DOS :) I was able to do things in BASIC on that Apple but not much although many hours spent learning programing. Since then I know it's not for me. But if one is getting it easily and/or you want to have some fun with it enjoy it!
Title: Re: robotic potentiometers
Post by: tokyoburns on November 09, 2010, 05:56:05 PM
So after a lot of drawing and sketching I've decided that the amount of through ports it would take to have one uC control many step motors in various pedals would be more work and less simple than to just have one uC for every step motor. I guess what im hoping is that if i hook one outside control up to several uC in parallel and they are all programmed the same way then they'll all act the way I want them too. they will read their pot and adjust it individually. this will also make the programming much simpler for myself who has never programmed anything.
Title: Re: robotic potentiometers
Post by: R.G. on November 09, 2010, 11:41:44 PM
Quote from: tokyoburns on November 09, 2010, 05:56:05 PM
So after a lot of drawing and sketching I've decided that the amount of through ports it would take to have one uC control many step motors in various pedals would be more work and less simple than to just have one uC for every step motor. I guess what im hoping is that if i hook one outside control up to several uC in parallel and they are all programmed the same way then they'll all act the way I want them too. they will read their pot and adjust it individually. this will also make the programming much simpler for myself who has never programmed anything.
I agree with that design approach, and not only because it's what I'd do.  :icon_biggrin:

With this approach, each pot's uC has a few inputs. It's important to write these down for when you forget what you did. For me, this is only about a week.

The inputs are maybe something like
- the "learn" signal
- a setting number, either encoded as a number or one of a bank of switches. For instance, you could feed in the numbers 0-7 on three pins. But if you have eight pins, you could just have any one of the eight pins be the number.
- the DC voltage on the control pot, fed into the A-D converter pin. The uC will read this as a digital number, usually 0-255 (eight bits of resolution) or 0-1023 (ten bits of resolution).

Normal operation might be:
-turn all the knobs manually till you get a sound you like.
-flip the "learn" switch on
-press a footswitch, say #2.
Each uC gets the "learn" signal, and the #2. When it gets that, it individually reads its own DC pot signal. Each uC/pot will probably read a different value of DC even if you try to set them the same. That doesn't matter. What matters is that each uC reads the DC voltage corresponding to where IT is.
Once it reads the voltage, it stores the DC pot value in its EEPROM under location #2.
Now the learn switch goes off.

Later, you've messed with the knobs and want setting #2 back. You press footswitch #2, and all the uCs get a #2 footswitch input, but the learn signal is off; this has to be a "go to" signal. So each looks up its own personal value of DC voltage stored in its unique #2 eeprom position, and then sets off to turn its own knob to get to what it thinks #2 is for it.

Title: Re: robotic potentiometers
Post by: anti-idiot on November 10, 2010, 11:55:22 AM
And then, uploead the code so we can use it. I'm still looking for some info on how to do that with 5 pots and lots of relays (i want a preamp ala x99)
Title: Re: robotic potentiometers
Post by: MetalGuy on November 10, 2010, 04:40:03 PM
What about using some of the small relays from the links below to make an attenuator? For example 10 relays per pot won't take much space. I'm using the SIL version in some of my builds and I can't hear it switching at all. Since the whole idea is to be able to memorize presets this way you don't have to worry about pot's position. The switching latency will be couple of msec.

http://www.meder.com/sil-relay_uk1.html

http://www.meder.com/ms-relay_uk0.html
Title: Re: robotic potentiometers
Post by: R.G. on November 10, 2010, 11:07:24 PM
Quote from: MetalGuy on November 10, 2010, 04:40:03 PM
What about using some of the small relays from the links below to make an attenuator? For example 10 relays per pot won't take much space. I'm using the SIL version in some of my builds and I can't hear it switching at all. Since the whole idea is to be able to memorize presets this way you don't have to worry about pot's position. The switching latency will be couple of msec.

(1) what do they cost?
(2) are you using only 10 positions per pot?

One thing that's possible is to use JFETs to select resistor dividers in a binary format so that each pot is presented a binary word of, say, eight bits to represent a stepped one-of-256 value.

The beauty of stepper-motor pots is that the pots look like and function just like they always did, except moving to new positions when you tell them to. I haven't yet found another setup that gives you both pot setting and using the pot itself as a position indicator. But yes, there are lots of ways to do this.
Title: Re: robotic potentiometers
Post by: PRR on November 11, 2010, 12:42:01 AM
> relays .... to make an attenuator?

How many relays?

Pot is numbered 0-10, ten gross positions (rounded).

I often note half-step, 20 positions.

I sometimes note "3.75", 40 positions.

I understand that some tone-stacks (and some players) like even finer divisions.

Say 64 settings.

64 3-buck relays is almost $200 per knob. Eight knobs 512 relays you get the $2 price, but $1,000? I can hire a kid to turn my knobs!

Yeah, binary tree. (Why I picked the decimally-odd value "64".) You do need more poles and throws to get a reduction in relay-count. If you had 8-pole relays.... but they ain't $3.

For a "small" number of presets (small enough to remember which-is-which), the cost and size of relays to give reasonable "pot" resolution seems to be larger than the cost and size of a separate pot per pre-set.... pots can be quite cheap.

> 10 relays per pot won't take much space

If ten is enough (it may be), then it may make sense. Sixteen settings needs "only" fifteen SPDT relays, eight DPDT relays.

> reads its own DC pot signal.
> value of DC voltage stored ... turn its own knob to get to what it thinks #2 is for it.


You can eliminate the gang-pot (a major hassle since all stock gitar pots are single) with RC servos. Don't touch the actual amplifier/effect pot. Turn it remotely with the servo. When pleased, hit "MEM 2". The CPU(s) memorize the most recent pulse-width. Twiddle, then hit "RECALL 2". The CPU(s) apply the remembered pulse-width and the RC servo rotates the working pot to that position. (It could additionally rotate the remote setting pot but that would be a contraption-- it could rotate a dummy display knob above the smooth unmarked setting knob.)

> use JFETs to select resistor dividers

Practical for the 9V world. Easy-enuff in a +/-15V world. Needs thought and probable re-design if a tube amplifier is involved: signal at tone-control can exceed 20V peak, and should swing 60V with tube-kink not FET-kink. Master Volume in power tube grids can be higher. Modern designers use FETs for switching in tube amps but this usually means re-scaling the gain and impedance structures for "FET friendliness" rather than raw tone.

Yeah, you knew this and tube-amps are a small niche. And if you HAD to, small unprotected MOSFETs can switch hundreds of volts.

> The beauty of stepper-motor pots is that the pots look like and function just like they always did

Agree, except that feedback pot.

An alternative is an encoder ring. Open that old ball-mouse, bust the rollers out, there's a slotted disk and LED-eye (or brush). That tells relative motion. With more tracks (and eyes) you have absolute position. In principle you can print a Grey-Code pattern on thin film; if reflective, even on the back of the knob. I don't offhand know any encoders so slim that they could hide behind a standard-shaft pot knob.
Title: Re: robotic potentiometers
Post by: MetalGuy on November 11, 2010, 05:01:46 PM
Quote(1) what do they cost?

If you buy 50pcs the price is ~2USD (at Farnell).

QuoteHow many relays?

I'm OK with 10 positions but if you need 64 positions obviously it's not going to work for you.

Quoteuse JFETs to select resistor dividers

If we're talking tube amps/preamps maybe these high voltage (up to 200V!) analog switches will do the job:

http://www.maxim-ic.com/datasheet/index.mvp/id/5771

http://www.maxim-ic.com/datasheet/index.mvp/id/6127



Title: Re: robotic potentiometers
Post by: tokyoburns on November 20, 2010, 02:58:27 PM
So I'm thinking that the control cable to my pics will be a usb. Im hoping that I can power them the motor and the voltage across the pot and save a ton of cable space as well as provide the necessary digital input to the pics. they are easy to aquire and have a compact port that wont take up space on my pedals.
Title: Re: robotic potentiometers
Post by: tokyoburns on May 09, 2011, 12:08:17 AM
Update to the project: I got Flowcode and have been learning to program with that. It has made it a lot easier on me. I haven't been able to test my code yet but it works the way I want it to in simulation. I have got some pretty sick features and am really excited to test them out. I am about to start gathering parts. still looking for the perfect stepper motors dual shaft 4 phase unipolar. If anybody has an update as to a good place to look I would appreciate it. Thanks!
Title: Re: robotic potentiometers
Post by: ~arph on May 09, 2011, 05:49:44 AM
I'm not sure if this is posted before, but here is an idea.

Instead of using a dual shaft stepper motor, we try to find a dual shaft potentiometer. This should be a lot cheaper. Now I haven't found dual shaft pots in my quick search, but maybe it is possible to take the back end of a dual gang pot off thus creating a dual shaft single pot.

EDIT: come to think about it.. that way there is no way of recalling position.
Title: Re: robotic potentiometers
Post by: stephanovitch on May 09, 2011, 11:41:18 AM
This solution is very funny:
http://9giga.sfr.fr/n/50-17/share/LNK51844dc80ac853a2f/
Title: Re: robotic potentiometers
Post by: tokyoburns on May 14, 2011, 12:36:45 PM
@stephanovitch

That is a really cool idea. I would have never thought of it although I'm sure everyone else here probably recognizes it. However that does not solve my problem. I really want the user to be able to control his pots by hand as well as externally. The idea which I'm trying not to reveal too much about calls for the pots to actually turn. although I suppose I could just make the pots turning for show and have that design actually be the resistance of the pot to eliminate all that turning noise of the pot from one transition to another. Now that I think about it it would make the programming  a hell of a lot easier. haha. I might have to rethink my design. Months of research and programming thwarted by a single post. haha. I'm gonna have to meditate on this one. Hmmmmmmm...... That circuit probably does really well when recalling quick transitions between resistances but it probably causes zipper noise when cycling through. Now you got me thinking hybrid. haha. Can you point me towards small relays or something that covers that whole circuit without going digital? Should I just be searching for PCB mounted dpdt relays obviously something worthy of audio. The amount of space it would take up in a circuit seems a little big. Great reply! I appreciate it.
Title: Re: robotic potentiometers
Post by: anti-idiot on May 14, 2011, 12:55:40 PM
Why don't you try something with LDR's, like Mesa/Boogie's Triaxis?

Quote from: tokyoburns on May 14, 2011, 12:36:45 PM
@stephanovitch

That is a really cool idea. I would have never thought of it although I'm sure everyone else here probably recognizes it. However that does not solve my problem. I really want the user to be able to control his pots by hand as well as externally. The idea which I'm trying not to reveal too much about calls for the pots to actually turn. although I suppose I could just make the pots turning for show and have that design actually be the resistance of the pot to eliminate all that turning noise of the pot from one transition to another. Now that I think about it it would make the programming  a hell of a lot easier. haha. I might have to rethink my design. Months of research and programming thwarted by a single post. haha. I'm gonna have to meditate on this one. Hmmmmmmm...... That circuit probably does really well when recalling quick transitions between resistances but it probably causes zipper noise when cycling through. Now you got me thinking hybrid. haha. Can you point me towards small relays or something that covers that whole circuit without going digital? Should I just be searching for PCB mounted dpdt relays obviously something worthy of audio. The amount of space it would take up in a circuit seems a little big. Great reply! I appreciate it.
Title: Re: robotic potentiometers
Post by: tokyoburns on May 14, 2011, 01:16:24 PM
@anti-idiot
How so? Can you point me towards a circuit diagram or explain a little further?
Title: Re: robotic potentiometers
Post by: anti-idiot on May 14, 2011, 01:35:54 PM
Quote from: tokyoburns on May 14, 2011, 01:16:24 PM
@anti-idiot
How so? Can you point me towards a circuit diagram or explain a little further?

http://tubefreak.com/fschema.htm

http://tubefreak.com/triaxis2.jpg

The Triaxis uses LDR/LED combos replacing the potentiometers, but don't get confused by the schematic, they are simplified: i.e. the Treble "pot" is done by using 2 LDR (27 & 28), while the Bass "Pot" is done by using just one LDR (29). As you can see, every potentiometer uses two LDR, while the rheostats (variable resistors, like bass control or the mids in a Fender Tonestack, like the Traixis' one) uses just one LDR. Each "control" uses a parallel trimpot (you the total value is close to the real counter-part).

5th Reply will tell you how to set-up this monster
http://forum.grailtone.com/viewtopic.php?t=2840

Remember that in the controls that uses 2 LDR, when one LDR goes up, the other must go down at almost the same rate*

I wanted something like this some months before (but using a Marshall Tonestack) but don't know anything 'bout programming. About the code, how to store it, how to recall it and stuff like that, I cannot help (but i will apreciate it if you help me, lol)

BTW, sorry if something is poorly written or is kinda messy. Take care
Title: Re: robotic potentiometers
Post by: tokyoburns on May 14, 2011, 05:01:03 PM
I will look in to it. I guess I don't quite understand the advantage. I cant replace the physical potentiometer in any way. I wouldn't want a pedal with no knobs or knobs that were just there for decoration. adding LEDs and LDRs sounds very space consuming. but like I said maybe I just dont understand. I will look in to it.

I have been teaching myself to program PICs using a program called FLOWCODE. It was made for students to learn on so it was very helpful. A lot of it was drag and drop using a flow chart. It also has a virtual simulation for mechanical parts like stepper motors and potentiometers so it worked out pretty well for me. I could help with some basic stuff but only if it pertained to Flowcode otherwise I am just as clueless. It still took me months to figure out what I was trying to do with a big hiatus in between but I got there. I understood very well how I wanted my pedal to work mechanically so preparation was a big key for someone like me who has limited knowledge of this kind of stuff. I go to school for electrical engineering and I own a small DMX lighting business at www.lightatmospheres.net so I have a pretty good base knowledge of computers and electronics but in no way am I a programing expert or even close to being an engineer yet.

I am really hopeful about this pedal design. It is far more complex and awesome than i have given away and am really excited to share it when it is finished. Thanks for all the replys!
Title: Re: robotic potentiometers
Post by: anti-idiot on May 14, 2011, 05:59:17 PM
Quote from: tokyoburns on May 14, 2011, 05:01:03 PM
I will look in to it. I guess I don't quite understand the advantage. I cant replace the physical potentiometer in any way. I wouldn't want a pedal with no knobs or knobs that were just there for decoration. adding LEDs and LDRs sounds very space consuming. but like I said maybe I just dont understand. I will look in to it.

Well, you'll end up using the "outside pots" to save control the internal pots. You can use, let's say, five 10k (Gain, Bass, Mids, Trebele, Volume), store a setting (the "internal pots" will use the real values (1M, 250k...) in the uC, have a few settings and recall 'em while ignoring the position of the "outside pots".

Marshall's JMP-1 (rackmount preamp) uses buttons for the selection (bass, mids, treble, gain, etc), a rotary encoder for changin' the value and a LED-Display so you know the setting of the "pot" you have selected.
Title: Re: robotic potentiometers
Post by: tokyoburns on May 14, 2011, 08:29:05 PM
yeah that would be the idea if I did some sort of hybrid thing but I would need a way to switch from the "outside pots" (as you call them) and the "internal". Wouldn't be hard to figure out. The trick would be finding the most compact and practical solution that resembles one of the ways we are discussing for the internal and I think I would incorporate the idea but so far space on a pcb board seems to be the deal breaker for all the ideas so far. but I am sure there is a solution that is not digital somewhere.
Title: Re: robotic potentiometers
Post by: Boobslappy on May 14, 2011, 08:55:39 PM
What about running an Arduino to read the pots' resistance, store the value after you press a button (get pots with a switch) then recall this value via a motor shield and small servos to move the pots.  I assume you could even interface with an LCD to cycle through different save presets
Title: Re: robotic potentiometers
Post by: stephanovitch on May 16, 2011, 07:31:08 AM
Quote from: tokyoburns on May 14, 2011, 12:36:45 PM
@stephanovitch

That is a really cool idea. I would have never thought of it although I'm sure everyone else here probably recognizes it. However that does not solve my problem. I really want the user to be able to control his pots by hand as well as externally. The idea which I'm trying not to reveal too much about calls for the pots to actually turn. although I suppose I could just make the pots turning for show and have that design actually be the resistance of the pot to eliminate all that turning noise of the pot from one transition to another. Now that I think about it it would make the programming  a hell of a lot easier. haha. I might have to rethink my design. Months of research and programming thwarted by a single post. haha. I'm gonna have to meditate on this one. Hmmmmmmm...... That circuit probably does really well when recalling quick transitions between resistances but it probably causes zipper noise when cycling through. Now you got me thinking hybrid. haha. Can you point me towards small relays or something that covers that whole circuit without going digital? Should I just be searching for PCB mounted dpdt relays obviously something worthy of audio. The amount of space it would take up in a circuit seems a little big. Great reply! I appreciate it.
Switching pulse to ground(mosfet on volume pot) during relays driving will cancelling noise
Title: Re: robotic potentiometers
Post by: rip on July 20, 2011, 06:28:40 PM
Any progress with this?

I was working on the same thing, and found this post in searching.

I must say while this is a great idea, after pricing things out it gets very expensive.

Thanks
Rip
Title: Re: robotic potentiometers
Post by: R.G. on July 20, 2011, 08:00:00 PM
Quote from: rip on July 20, 2011, 06:28:40 PM
I must say while this is a great idea, after pricing things out it gets very expensive.
I finally tumbled to something a while back. If something is good and useful, but no one does it, it can only be for a few reasons. They run something like:
- it's too expensive
- something else is better
- no one really knows how

That last one is where inventors live. If it's obvious how to do it, then it's nearly always too expensive to be practical for most people.

Occam's Razor is a B$#C#.
Title: Re: robotic potentiometers
Post by: teemuk on July 21, 2011, 04:40:16 AM
I have to admit that if I had to make a system similar to this thread's idea, then I'd rather choose rotary encoders and those "electronic volume ICs".
Title: Re: robotic potentiometers
Post by: R.G. on July 21, 2011, 08:07:39 AM
For function, yep.

That still leaves visible feedback to the guy turning the pot as a problem.
Title: Re: robotic potentiometers
Post by: ~arph on July 21, 2011, 08:19:32 AM
there come the led indicators..
Title: Re: robotic potentiometers
Post by: rip on July 21, 2011, 11:44:31 AM
Yes, but fidelity may be a problem as well with leds. Sure the digital pots would provide good grandularity, but then you must deal with zipper noise with the IC.

Earilier, I too was thinking a rotary encoder paired with a led ring would work, but I believe a LCD screen displaying actual value would be better. Ultimately, though the mechanical knob turning provides a more user friendly feedback.

I still believe the stepper motor is the best solution.

A significant problem that I don't believe has been addressed here is the layout for such an amplifier design. The x99 was only a preamp, to house the power amp and all the transformers with the stepper motors is no easy task. Sufficient room and shielding must be accounted for.

For a DIYer using COTS (arduinos, and easydrivers, etc.)  means a system that would ultimately provide a solution with un-neccesary un-used space because each of the COTS are not specifically designed for the amp application.

Rip

Title: Re: robotic potentiometers
Post by: tokyoburns on July 25, 2011, 08:55:11 PM
@RIP
I am not building an amp. This is a design for a pedal.

I have been working on this design for a long time. I am not a born tinkerer like other people on here. A lot of my time is going in to research. I had to teach myself how to program which im still learning how to do. I am still saving up but my next step is to purchase the motors, pots, pic chips, pic programmer, parts for stepper driver circuit and so forth. I have a good list put together of items i found on ebay that will seem to work.

motors - http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220520400102&ssPageName=STRK:MESINDXX:IT#ht_981wt_1054

programmer - http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220623060314&ssPageName=STRK:MESINDXX:IT#ht_1079wt_1054

chip - 16f88

motor clutch - http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220676556168&ssPageName=STRK:MESINDXX:IT#ht_2569wt_1015

what do you guys think? The motors are the closest thing I could find to what I need. It will allow me to get 150 different positions on a 270 degree pot so I think that should be pretty good. this with a few other caps and resistors should be enough to test my stepper programming.
Title: Re: robotic potentiometers
Post by: Gurner on July 26, 2011, 01:01:06 PM
Have you confirmed with the seller the resolution of those steppers? (there's no mention in the advert....normally a bad sign!)...some smaller steppers aren't 200 steps per rev.
Title: Re: robotic potentiometers
Post by: R.G. on July 26, 2011, 01:14:48 PM
I'm with Gurner - I wouldn't buy the steppers unless I got some information that they had lots of steps. The seller should be able to guarantee that they have many steps or to tell you the maker's model number so you can look it up.

The shafts are 5mm and 4mm diameter; so the clutches you're after won't fit the shafts directly, nor will a standard knob, which are most often for 1/4"/6.35mm diameter pot shafts.

I personally would bag the clutches unless you just like the whizzo mechanical look. 1/4" fuel hose from a car parts place will slip right over 1/4" shafts (do you detect a bias in my advice toward getting 1/4" shafts?  :icon_biggrin:  ) and be held in place fine with screw-type hose clamps, in addition to being much cheaper.

The programmer is OK, I guess. I wouldn't go with one of the 16F8x series. The 16F6xx series is newer, cheaper per function, and in general better.

Title: Re: robotic potentiometers
Post by: rip on July 26, 2011, 03:52:37 PM
I agree about the clutch, fancy but not needed. If you got the money fine but it's was meant for 1/4 shafts. I would suggest a coupler, get a machine shop if you need to, to make a shaft with a 5mm hole and a grub screw, the other end I would machine a interference fit or close enough fit with may be some weak loctite.

RG the nema 17? Stepper motors are typically 5 mm and those are really the closest ones to a 1/4 shaft I believe the x99 used the same. So I don't think we'll get away from that ;(. Wish there were more choices.

Oh and why not go with the Arduino? Huge following where you will more easily find help to debug

Rip
Title: Re: robotic potentiometers
Post by: R.G. on July 26, 2011, 04:41:39 PM
Quote from: rip on July 26, 2011, 03:52:37 PM
RG the nema 17? Stepper motors are typically 5 mm and those are really the closest ones to a 1/4 shaft I believe the x99 used the same. So I don't think we'll get away from that ;(. Wish there were more choices.
The old full-high 5.25" diskette drive (from when dinosaurs roamed the world) each had a 200 step, double-ended 1/4" shaft, 5V stepper motor in them. At one point people would pay you to haul them away, but I suspect the vast majority are now in landfills. Too bad.

Using rubber hose for a couple would make you able to squash it down from 0.250 (1/4") to 0.200" (5mm, more or less). Knobs are harder.

I have a lathe, but most people don't.
Title: Re: robotic potentiometers
Post by: tokyoburns on July 26, 2011, 09:24:54 PM
If you look at the pictures from the motor there is one that has information about the number of steps. 3.6 degrees 100 steps/revolution. I wrote my programming for half steps so that gives me a 1.8 degree angle and 150 different positions across a 270 degree pot. The coupler is just one that I was looking at. I thought it looked pretty spiffy but I wasn't married to it. I'm sure I can find one with the right dimensions. I am not using regular knobs for this. they are going to be handcrafted per the aesthetic design which I'm keeping to myself. So I am not worried about about using common dimensions. It has been very difficult to find the right motor at the right price. These are definitely the best ones I could find. there was a different motor listed on an obscure sight that i didnt feel all that comfortable about getting over the net.

http://eolsurplus.com/StepperAndServoMotors.html

"Sigma Instruments, Inc. 20-2220D-24435, $20.00, 2 Available
Stepper Motor, 200 Steps/Rev, 50 oz/in, dual 1/4" shafts, NEMA 23 single stack, 4 wire."

If I could find these somewhere else they would be my first choice.

I don't really know much about the arduino I have already spent a lot of time learning how to program a PIC so I think I will stick with that. Like I said I have most of the programming written and the program im using "flowcode" lets me test out my programming on virtual components including a visual of watching a custom stepper spin. Not that I dont count on there being bugs to work out. But I think Im already at a really good place with the PIC. That being said...

@RG

If you think the 16fxx series are better I'd take your word for it. I'll give it some tests on the program i mentioned earlier and see if it works out.

One thing I haven't figured out yet is how to display numbers on a 7 seg LED. It seems to me that I'd be able to just apply voltage to whatever leg i needed lit to make a number but it doesn't work on my virtual testing. There are preset macros to call up letters but not for numbers so I guess ill just have to experiment with it when I start putting it together.

Did I mention I started a product design in google sketchup. It didnt come out the way i wanted it to but at least i started to learn how to use that program and came up with something similar to what it is supposed to look like.



Title: Re: robotic potentiometers
Post by: R.G. on July 27, 2011, 11:11:24 PM
Quote from: tokyoburns on July 26, 2011, 09:24:54 PM
I have already spent a lot of time learning how to program a PIC so I think I will stick with that. Like I said I have most of the programming written and the program im using "flowcode" lets me test out my programming on virtual components including a visual of watching a custom stepper spin. Not that I dont count on there being bugs to work out. But I think Im already at a really good place with the PIC. That being said...
You gotta program with what you feel comfortable with, and what you have the tools for. I've written code in Fortran, Pascal, COBOL, ALGOL, APL, BASIC, 360/370/390 assembler, 6502 assembler, 8051 assembler, 68000 assembler, X86 assembler (d@MN the byte reversals), several RISC architectures, C, C++, and a few others.  I'm kind of at the point where I don't much care about the language. I write down what I want it to do, then go translate my design into the language of the day.
Quote
If you think the 16fxx series are better I'd take your word for it. I'll give it some tests on the program i mentioned earlier and see if it works out.
Again, go with what you like. I like the 16F6xx right now. But I used the 16F54 back in the day.

QuoteOne thing I haven't figured out yet is how to display numbers on a 7 seg LED. It seems to me that I'd be able to just apply voltage to whatever leg i needed lit to make a number but it doesn't work on my virtual testing. There are preset macros to call up letters but not for numbers so I guess ill just have to experiment with it when I start putting it together.
Seven segment LEDs are just an array of LEDs. You have to put a *current limited* voltage across the segment, and in software translate the number you want to show to the set of segments that make that character. This is almost universally done by table lookup. Google "seven segment display". The segments are given standard names of "a, b, .., g" and "dp" for decimal point. You will have to know whether your display is common cathode (all the LED cathodes go to one pin) or common anode (all the anodes go to one pin), other wise the LEDs get wrong polarity voltages and won't light up. They are LEDs, but they are still diodes.  :icon_biggrin: