Relay Switching build report - ASMOP inspired success

Started by Chico, August 09, 2004, 12:35:41 AM

Previous topic - Next topic

Chico

I just built an 8 loop relay switcher that is based heavily on the information published by RG Keen over at geofex.com

I also included a few extra goodies, like a 433 mhz wireless transmitter.  The wireless feature was a PITA to incorporate, but now that it is done, it was a cool learning experience.  I have only tested this thing in my house, but I let is sit for over 6 hours without loosing sync.  I have also only tested it to a range of around 100 feet, but suspect I can get a reliable range of about 200-250 feet or more.

Basic features:
wireless or wired communication with footboard (transmitter)
Atmel ATMEGA16 microcontroller in transmitter and receiver
8 relay switched loops
72 programmable patch loctions
jumbo numeric LED displays on transmitter and receiver
two modes 1: select a bank and patch and the preset stored therein is loaded
2.  Loop mode, each of the 8 footswitches controls its respective loop.  This can be a "master preset" or it can be used to toggle effects in/out where a preset has not already been programmed.

Programming is carried out on the receiver with a real easy program interface.  There are 8 toggle switches and leds (one each to switch the loop in or out).  There are also buttons to select the bank and patch.  Press the STORE button, and the state of each relay toggle switch is read and stored in an EEPROM corresponding to the selected bank and patch.

Check out: //www.circuitmuse.com

There isn't much info at this site yet (just got it set up today- and do not have a clue how to create a web page), but there are a few pix and a few general explanations.  I will be updating the site with schematics, code and more detailed explanations over the next few weeks.  

If anyone has any ideas for future implementations, comments or suggestions, please let me know.  This thing is very much a work in progress and is still in the prototype stages.

That said, it works completely as advertised.  Bottom line, go read all of RG's posts on Relays and on the various switchers and ASMOP implementations.  There is enough there to let you customize a switching system to whatever your particular needs are.  Thanks to RG.

Best regards

Tom

Lonestarjohnny

Tom, I'm a lil behind ya but i've been over at RG's reading and i think i've comeup with somethimg that will work with the amp Emulator's I've built, but what you've done sound's very good, congratulation's on your success,
Johnny

mikeb


Lonestarjohnny

Love the Face's, Really makes your pedal's artwork standout,
Johnny

Chico

The Atmel AVR stuff is real easy and forgiving once you put some time into it.  AVRs allow in circuit programming, so once the hardware is built, you can reprogram as many times as you like (there is something like 100,000 limit).  

I wish I knew C, but I do not, thus the software for both the transmitter and receiver are coded entirely in assembly.

The use of the microcontroller also makes controlling the relays pretty simple.  The hard part is coming up with a programming interface.  I made mine much harder than it need be, for no reason but for to play around and learn more about programming AVRs.

The other thing is that once you get the hang of laying out AVR based boards, it is amazing how much of the layout is reusable.  I think I have a pretty generic AVR layout that I am going to work with for a while.  I use header pins to break out port pins, so that the microcontroller is just the necessary circuitry, reset, power, crystal, etc.   I bought some flat ribbon cable and IDC connectors, and build cables to interconnect the specialty boards, e.g., relay board, LED display board etc.

Has anyone else built a relay/loop switcher?
I know there was a lot of posts a while back, but it seams like the topic cooled off quite a bit.

Regards

Tom

Hal

wow.  Simply wow.  I was thinking of trying my hand at one of these at some point...but wireless footboard!?

thats amazing.

The Tone God

Quote from: ChicoThe Atmel AVR stuff is real easy and forgiving once you put some time into it.  AVRs allow in circuit programming, so once the hardware is built, you can reprogram as many times as you like (there is something like 100,000 limit).

I've been messing around with AVRs for the past few weeks and I really have enjoyed myself. I haven't been doing micro stuff for awhile but starting up again experimenting with the AVRs which has convinced me to drop the bulk of my PIC stuff.

One thing with the PICs that I could never getting working well was the ISP. While I haven't made anything that uses the AVR's ISP in an actual circuit it seems much easier and more well thought out then the PIC's ISP.

QuoteI wish I knew C, but I do not, thus the software for both the transmitter and receiver are coded entirely in assembly.

I've been programming the AVRs all in C thus far. GCC has been ported to most of the AVRs which makes things real easy. I've been able to port most of my PIC stuff to the AVR which has saved me alot of time.

QuoteThe use of the microcontroller also makes controlling the relays pretty simple.  The hard part is coming up with a programming interface.  I made mine much harder than it need be, for no reason but for to play around and learn more about programming AVRs.

I've been playing around with several different things using AVRs to learn more about them. I still have to say that they are much easier to get going then PICs especially the built in features. I haven't spent more the couple of days to get the hang of a particular feature.

QuoteHas anyone else built a relay/loop switcher?
I know there was a lot of posts a while back, but it seams like the topic cooled off quite a bit.

Interest seems to have dropped off along with the interest in micros. I was planning on writting some lessons but it seems the general thought was that people who want to learn have access to reasources on the net so my time might be better spent on other projects. I still might write an intro with what hardware and software people should use and maybe a basic I/O lesson in C. From there people can do what they want.

I have a switcher system on the design board that is built with all descrete logic ICs (i.e. various shift registers, latches, gates, etc.) so one could built it without the need for micros. I was going to release it with all the boards to the public but I'm not sure if I'm going to complete and post it. Most the sub modules are reuseable with micros so I will probably still use those.

Andrew

john1056

Quote from: Chico
Has anyone else built a relay/loop switcher?
I know there was a lot of posts a while back, but it seams like the topic cooled off quite a bit.
Tom

I wish I had the time to spend figuring this sort of stuff out!.  Honestly, I find it a little intimidating.  I'm a Java developer with a C background so it's not totally greek, but at the same time the learning curve looks pretty steep.  I would love to see your schematics and lab notes.  I know there is a lot of information on microcontrollers, but nothing that I've found that is focused enough to give me a good foot hold (e.g. covering microcontroller basics would not be necessary, but covering things specific to audio apps would be nice).  Similar to the Newbie project/forum on this site, it would be nice to have an inclusive project to start from with schematics and source code.   Anyway your switcher looks pretty awesome, very professional!

Gilles C

I still have my PIC switcher on the desk, waiting for me to find some inspiration and time to finish it.

The interest is still there, more than ever, but I have to experiment with a few more things, like FET switching, before I go on.

One thing that I learned (from R.G.) is that I should have kept the analog and digital ground separate to make sure I don't get switching noise (pops...) in the audio, which I do have with my actual layout with a 4053.  :cry:

Btw, one thing that I had in mind was to make a few programmed PICs for those interested to build an electronic footswitch, but unable to program them. But that's another story. I don't have time to do it right now, but maybe someone else does have some time for that...  :wink:

Check in the middle of the page for a few pictures:

http://members.tripod.com/gillcar/id19.htm

Sorry about the popups  :evil: I should finish moving the site soon.

This week, I am working on the FET part of a new layout that will switch the audio with the help of a PIC in a separate box.

Anyway, that was just to let you know that the topic is not dead, just on hold...

OH, I forgot... Chico, your switcher is superb!  And the other projects on your site look interesting... :roll:

Gilles

donald stringer

Allright you got my att. plenty of buttons tons of options. I believe that the first one of those that I have seen built. I hope you are going to post some details for builds[I suppose its a bound to be copyd]  way over the top build success
troublerat

R.G.

Congratulations, Chico! Looks good.

You're dead on about RF and reliability being tough. I didn't even want to try to take that one on. I still have this mental image of Nigel Tuffnel's wireless guitar link letting the air base control tower through ...  :D

Very nice work indeed.

To others on programming languages:

I have programmed in Fortran 4, IBM1620 Assembly, Basic, Pascal, C, 6502 assembly, 8080 assembly, Forth, 360/390 assembly, PIC assembly, and probably others that don't come to mind. This has led me to the conclusion:

The language doesn't matter.

What matters is thinking out and writing down clearly what is happening. After that, all you have to do is tranliterate the stuff you've written down into whatever language you have. I literally learned PIC assembly that way - I wrote down what I wanted to do, then manually "compiled" it into assembly. It's slow, yes, but at the end I knew PIC assembly, and the program... kinda... worked. The "kinda" reflected accurately where my thinking was faulty, not my language skills. I would have had the same problems in C.

Pseudocode is powerful.
R.G.

In response to the questions in the forum - PCB Layout for Musical Effects is available from The Book Patch. Search "PCB Layout" and it ought to appear.

Chico

Over the course of the next week or two, I will be posting complete schematics, discussion and code of all of the components of the switcher.

I need to get better organized, but right now, most of the most important stuff is handwritten in my notebook.  I just need to get it typed up and organized.

Like the comments of Lonestarjohnny and the real nice project built by Giles C emphasize, this is really not a recipe project.  Rather, it is a project that is likely to be tailored to the particular needs at hand.  As such, I hope to get enough info out there such that someone can build what they need.

Andrew, I am glad to hear of other AVR folks out there.  In the next day or two, I hope to have some schematics up.  The in circuit programming interface was one of the first things I worked on, and I would truly appreciate your feedback and comments.  I would also like to hear how you implement this feature that put "hopefully" interesting spins on classic effects.

My interest in AVR programming is to find fun, unique and interesting ways to integrate digital control into predominantly analog circuitry.  I will have several projects popping up in the near future.

I also do not intend my postings to be an AVR for beginners.  Heck, I AM a beginner, and there are great sites that have all the beginners stuff.  What I hope to get across, is how I chose to use AVRs to implement guitar effects related functions.

Andrew:  I am onboard as far as beginner tutorials go, but man, for all the good info out there, there sure are a lot of voids when it comes to the guitar specific stuff.  I think seeing intermediate to advanced projects laid out, and seeing how specific problems were solved would be quite helpful.  For example, to see how memory was allocated, how sampling was initiated, how controls were interfaced... From there, folks can strip out the pieces of knowledge pertinent to them and run with it.

I also like the Idea of a discrete switcher.  As you will see in my layout for the relay board, it is designed to accomodate microcontrollers as well as discrete logic systems.

Giles:  One nice thing about a project such as this, is that the switching device can be freely substituted from CMOS switches, relays, you name it.  The basic ideas are all there.  I did also realize that you cannot connect digital and audio grounds through a less than pleasant experience.

You will see when I post my schematics that I keep a separate voltage regulator for digital and analog signal paths, even when supplying analog vcc for the ADC on the microprocessor.  I also separate the analog and digital grounds using back to back schotkey diodes.

Thanks for the feedback, I will keep everyone posted.

Best regards

Tom

The Tone God

I really enjoy using the AVRs. For the first time in years I've started enjoying playing with micros again.

I never got ISP for PICs working realiabily so I never used it in production boards. I haven't design an actually project board that uses the AVR in circuit yet but I have looked at the documentation on it and it looks easy enough.

I do use ISP for program my AVRs. I bought a AVRISP programmer and made a little board that powers the AVR IC and AVRISP via the six or ten pin header as well as providing the AVRISP-to-AVR IC ISP interface thus making a programmer for less the $50. It was a cheap way to get started when I wasn't sure how well the AVRs would work. I have sold a couple of my PIC programmers since. :)

I agree there is a gap in information with regards to AVR/micro usage. I wasn't playing on making a absolute beginners guide. I would be requiring basic knowledge in order to explain the lessons. If I were to go to an absolute beginner level alot of time and reasources would be wasted with little gain.

I was thinking along the same lines for the lesson system. A short starter course just to get people oriented then a bunch of lessons on various topics like memory usage, interfacing hardware, communication, LED/LCD display usage, MIDI, and so forth. Each lesson would have a explaination, schematics, code, and anything else needed to play with. This would end up being a library of sorts containing various functions so if someone wanted to build something then they can take what bits they need and put it all together. Much like a circuit cookbook with different functional blocks (i.e. buffers, amplifiers, distortion stages, EQs, mixers).

I thought the descrete switcher I was playing with was interesting. No micros needed but it did need alot of various logic ICs. It used a mock SPI interface to talk between a controller board and a motherboard board. Three wires plus power so it could be connected with a MIDI cable or two stereo connections. It was also infintely expandable.

Anyways, just a few thoughts.

Andrew

Chico

I have now added a few design notes, and schematics for the receiver.

This weekend, I am going to add the transmitter schematics, add better design notes, and add a section on software.  

Best regards

Tom

Arno van der Heijden

Quote from: The Tone GodEach lesson would have a explaination, schematics, code, and anything else needed to play with. This would end up being a library of sorts containing various functions so if someone wanted to build something then they can take what bits they need and put it all together. Much like a circuit cookbook with different functional blocks (i.e. buffers, amplifiers, distortion stages, EQs, mixers).

That would be really cool!!! :D