been away - any conclusion on microcontrollers?

Started by Hal, July 12, 2004, 03:29:07 PM

Previous topic - Next topic

Hal

after I tried to sort through the 6 pages of new posts, I failed to find anything recent on the microcontroller topic, hot before i left.  Is anything going down ??

The Tone God

Quote from: Halafter I tried to sort through the 6 pages of new posts, I failed to find anything recent on the microcontroller topic, hot before i left.  Is anything going down ??

I left it off asking for some opinions without much response:

http://www.diystompboxes.com/sboxforum/viewtopic.php?t=23048

I'm still up for things but I don't know how many people would commit to the work.

Andrew

mikeb

Well .... I think there's enough info on the net already for beginners on how to get started (both from the hardware side with low cost programmers, and from the software side with tutorials, examples etc); it would seem to be more efficient to leverage from this body of existing material via links and recommendations, then move onto more FX-specific stuff where there is little to no existing material.

Cheers

Mike

Chico

Hal:

I am working on an ATMEL AVR series microcontroller version of a relay switcher which is synthesized from bits and pieces of the various versions of RG Keens ASMOP and other misc. switching and relay articles.  There is a WEALTH of information at GEOFEX on the subject.   In fact, RG has provided enough information to build just about any switcher that you can dream up (Thanks RG).

 There are also features and other ideas in my relay switcher gleened from various sites located by searching across the web, and from my experience with existing midi pedals and switching systems.  My footpedal transmitter is complete, and I am finishing up the receiver/switcher this week.

I am relatively new to microcontrollers, so I selected AVR series based primarily on the overabundance of sites on the web that host sample code etc.  As noted by Miikeb, beginners info is readily available to anyone with access to Google.   It took no time at all to get comfortable coding in assembly on the avr.

I will try to post some pictures tonight or later this week.  

I also built an AVR based function desktop function generator that I use for testing my stompbox builds.  The device is capable of outputting up to four waveshapes at a time.  My next project is to convert this into a stompbox approved external function generator.

If anyone is interested, I will publish the details of these projects as they become complete.


Best of luck with your projects

Tom

The Tone God

I tend to agree that it would be a waste of time talking about hardware and software setups and other basic things. I would just recommend something to get that information. I'll give a list of things to have before getting started. Then we could jump right in on programming. I'm sure everybody getting involved has enough experience to get themselves to that starting point.

I think a simple goal to work towards would be a switching system of some sort. I can see a series of lessons on various topics working towards that goal like hardware interfacing, device communication, etc.

I actually find more information on PICs then AVRs but that might just because I've been playing with PICs longer. Since that posting though I've started playing with AVRs...well kind of. I still can't get my ISP working. If I can get that working then I'll probably move from PICs to AVRs for this. Hey, I've got to learn something from this as well. :)

Andrew

mikeb

One thing that is missing from practically all tutorials on the net (and indeed, in hard copy format also) is a time estimate on how long it will take to complete something. I would say - for example - it could take 8 hours to get even something simple (like a LED flasher) working the first time from scratch. Why? The programmer needs to be sourced, purchased and setup on the PC; the programming software needs to be sourced, downloaded, installed, configured; documentation needs to be read and understood; parts need to be found, the basic circuit constructed (if a development kit / board isn't being used); then add 20% for debugging and correcting mistakes. Giving the 'real story' on how much time things takes is good as it:
a) gives newbies a better idea of what they are getting into ("8 hours just to flash some LEDS? no way!")
b) gives people who try it an idea of when they should ask for help ("I've spent months on this, and it says it should take a day or so to do - maybe time to ask for some help?")
c) allows all of us to plan 'doing' time in and around other everyday things (work, partners, children, music)

I think this would lead to much greater satisfaction and less frustration; rather than jumping straight in people could think about whether they can afford the time and money to get started today, or whether it will need to wait until later. Given the scarceness - and hence high value - of our free time, the 'estimated time' figure would be very, very handy, IMHO.

Mike

The Tone God

All good suggestions. I think it would be hard to estimate the amount of time it takes for somethings. Some people can put a working FF together in an hour, for others it takes weeks. I was thinking of starting out by putting lessons up in one or two week periods to allow everyone time to get sorted out. Putting up a bunch of lessons without having everyone in sync would be troublesome and frustrating for some people. Plus I would be doing this in my spare time just like everyone else so I need time to get things together.

I do understand your point about time. I've been screwing with getting the ISP for AVRs working for two days now. I just can't get the programmer to pull the reset pin down correctly. Arg. I think AVRs would be a better and cheaper solution for beginners.

I think having a sub-forum will be helpful for people. Much in the same manner as the beginners forum. That would be up to Aron of course. Other forum members who have an understanding of microprocessors could then chip in when normally wouldn't have the time to do full lessons.

Andrew

john1056

I'd be pretty excited to see some AVR stuff around here.  I've been poking around at AVRFreaks the last couple of days, but it would be nice to have a little handholding and a more focused approach.  Also I think branching into these sorts of things is going to make this forum a more vibrant community... But maybe that's just me :)

The Tone God

I got my ISP working for the AVRs last night so I'm happy. Now I'm going to try porting some of my PIC code to see how things go. If all is well then I could get something going in alittle while. I figure people can get themselves setup and going for approxmently $50 CDN.

Another thought I had was making a simple development board PCB/layout availible. Just something to do ISP and access the various I/O pins with switches and LEDs for testing. It could save time when testing so you wouldn't have to run back a forth from the breadboard. I don't how many people would find it useful or want to put the time. I would suspect most would just use their breadboards.

Andrew

Chico

Andrew:

It took me a few tries to get the reset thing going too.  I now use a 10k resistor in parallel with a 1n914 diode, the combination in series with a 10nf cap.  I tap the point that connects the cap, diode and resistor and bring the reset line to a header pin via a 330 R series resistor.  This seams to consistently work for me.

Here is my take.  Given the vast number of preferences, desired features, builder capabilities, and components available to chose from, and given the wealth of beginner AVR info, I think the more useful approach is to frame out concepts and let everyone take it from there.
I think talking about approaches to problems, rather than cookie cutter uc projects would be a better use of resources and more educational overall. (IMHO)

For example, when building my function generator, I decided to use a wavetable lookup.  But how do you generate the timing for a desired frequency?  I considered wavetable lookup with a fixed frequency clock using linear interpolation and an accumulator to modify frequency.  I also considered modifying the count time of a counter to set the wave frequency, and finally settled on a hybrid implementation of direct digital synthesis.  My point is that I built four separate, completely different wave table lookup engines.  Each had its strengths and weaknesses, e.g., code efficiency, accuracy, flexibility, etc.

Also, I have a pot that controls the frequency and one that controls the output level scalable from 0 to 5 volts.  I had to figure out when it was appropriate to sample the pots.  Do you include a switch that puts the device in program mode, or are the pots active all the time.  I settled on sampling the pots periodically.  The built in ADC in an AVR is not rock solid, and I ran into jittery noise on my readouts, so I incorporated a moving average filter to average out previous samples into my final pot reading.  All these decisions may not be intuitively obvious to a beginner.  

Having a group where ideas such as these can be bounced around in a group focused on effects building would be quite cool.

Sorry for the long rant

Best regards

Tom