Jump to content

Documentation project: Core Module.


Guest XORNOT

Recommended Posts

Ok, I'm way too tired to write something big right now, but the idea I have is to start a thread in which we can brainstorm and discuss aspects for each chapter. Lets start with the core!

I figure the first baby step is documenting the circuitry of the core, ignoring the midi i/o port, which is more complicated than just getting a pic going. Then I will provide some sample code one can burn into the core using simply the button input and some leds off the port normally used for display. I'm thinking enough that people can go, hey I can understand how this works, and alter my code to change how the buttons and leds are working. I will provide some code that uses the button through polling and through interrupts, and perhaps something demonstrating use of one the internal timers as well. Perhaps a couple of different ways of making things blink. This will then be extended with explanation of the midi i/o port, and changing the led blinking to midi i/o. Perhaps making a midi message go every second off timer 0, send one off the button press, generate an interrupt off incoming midi, that kind of thing.

In the meantime, would anyone like to make a writeup for dummies explaining how the power supply of the core works?

Thanks

Iain

Link to comment
Share on other sites

In the meantime, would anyone like to make a writeup for dummies explaining how the power supply of the core works?

Before we launch off into writing there are some other important issues to be decided. Who is this document aimed at? What do we assume they know? Where will this documentation be posted? What is the structure of the document?

Using the power supply as an example. There is quite a bit of information in the description of J1 and J2 here:

http://www.ucapps.de/mbhp_core.html

What more is needed? And why?

No one should be redesigning the power supply as part of a MIDI Box project. Designing power supplies is a major topic all by itself. Anyone designing electronic hardware should know how to design at least a simple power supply but I am sure that topic has been done very well many other places.

Is this going into the Wiki documentation? If so, maybe this section needs to be nothing more than pointers glued together with a few sentences.

Overall, it wouldn't be unreasonable to start with an outline of everything to be covered and a statement of who the document is written for.

Does anyone beside me think that a redesign of the web page at http://midibox.org/ could go a long way in improving the perception of the amount of information that is available and make finding it easier?

This project needs an editor. Who wants to take on that role? Those tossing their hat into the ring should write a statement giving their qualifications. There is no one to make official appointments around here. The editor is just going to emerge as the person who can get the job done. Convincing people to make the contributions needed will be important and convincing people you can do the job is one way to encourage contributions. Another is to write some significant first piece. A good outline should be useful in that regard.

Link to comment
Share on other sites

Hey Jim, very good points and concerns. I guess the kind of level I was thinking of would be for someone like me to read. That is, I like to look at, and be able to figure out what everything is doing. Sure, you can find all that on the net, but really, wading through the crap is a pain. So I'm imagining a fairly detailed overview of it with links to really good free explanations for more detail. Ideally I'd like folks to be able to go down the article, following levels of links for whatever detail and level of experience they want, but never having to go to Google to type in "power supply". I did that today because my job pays me to zone out in front of a computer. = ) But man, most of the hits are lame!

What I suggest is that I will make a sample page in the next week with the approach I'm envisioning, and then others can comment on the style, level of detail, etc. I don't think the explanations of the hardware will take very long to document really, it's the software that will be complicated. I just want to get the hardware documented clearly enough that new programmers can understand what's going on around the chip.

Thanks

iain

Link to comment
Share on other sites

Wicked, thanks Smash. With everyone pitching in, I think we can make a very cool midi box manual. I found a fantastic explanation for newbies on recitifiers and power supplies that we should include a link to, unfortunately it doesn't quite use the same circuit as the 7805 part of the midibox power supply. Good read though.

http://www.technology.niagarac.on.ca/courses/etec1120/Files/Unit12.pdf

I will do a write up for beginners today and tomorrow about the housing for the actual chip, ie basics of what a PIC needs to run, and how it sees the outside world. A simple explanation of what the resistor on NOT-MCLR is for, what happens when ports are configured as ins or outs, and what the deal is with the internal ADC pins.

After that I will tackle the midi i/o port part, for which I may need some help. I understand how serial i/o from pics work, but don't know much about the optocoupler, etc.

I will also see if I can rig up my "experimenters breadboard interface to core" so I can take some digital pics. I think I will put a pot on A0, a button on the pin that is left open for a button, and an 8 led bar thingy on the pins normally used for the display interface. By using an 8 led bar as the simplest output possible we can demonstrate displaying a value with an absolute minimum of code overhead by simply showing the binary value to be displayed directly on the bars.

I was thinking perhaps one good core tutorial would be sampling one pot, displaying the value on the bars, and sending it as a midi message on button push, flashing the bar graph on the button push. Not sure what the best one for input would be though, maybe just hooking up a second led somewhere and flashing it on incoming midi messages of any type?

Any thoughts?

iain

Link to comment
Share on other sites

I have a couple more questions before my write up on the housing of the pic in the core module is complete. I'll be researching this on my own anyway of course, but in case someone already knows, I'll fire them out.

How is the correct value for the current limiting resistor on Not_MCLR chosen? And how does one calculate the total voltage drop across the PIC?

How are the correct values for the capicators on the oscillator chosen as well? I understand that they are there to smooth out, but not clear on how a designer knows what value they should be?

Should have a draft write up of "Introduction to PIC chips for midiboxers" done by tonight.

Thanks

iain

Link to comment
Share on other sites

Great, that's exactly the kind of thing I'm trying to collect. I'll include a basic blurb on what the crystal and caps are doing, and then include that link for further depth.

iain

Link to comment
Share on other sites

  • 3 weeks later...

Heya!

I made up a little web page to illustrate the CORE power supply, check it out at http://www.avishowtech.com/mbhp/ps/ and let me know what you think.

This is a bit of tinkering to see if we can make this easy for total beginners, and all feedback from everyone is appreciated.

If it is the most stupid thing you have ever seen, or if its a workable direction and needs finished/done better please let me know your thoughts......  ;D

Best!

Smash

<edit: corrected outdated URL>

Link to comment
Share on other sites

the final output in the scope dos't it showe 12 v insted of 5 v ?
Whoop I had not thought about that......These are just graphics I made with Photoshop and Eagle and images found from a google images search in a half-hour flurry of work on this......I drew the waveforms in Photoshop....;)

If the concept is worth further work I'll make sure the scale(s) are marked and right on the final.

Best!

Smash

Link to comment
Share on other sites

Hi Smash,

nice work, I would suggest that from an engineering point of view the purpose of the 330nF and 100nF caps is actually to guarantee the stability of the regulator at high frequencies (prevent it from oscillating) and mounted physically close to the regulator in the PCB layout. The 2200uF is most definitely for "smoothing", I agree. The 10uF is to reduce the output impedance of the circuit at high frequencies, (In other words, to provide a stable voltage even when a sudden spike of current is drawn.)

Remenber a linear regulator is actually an amplifier with gain and negetive feedback.

So to summerise, my recommendation is to depict the ceramic caps in the "regulation" box, and to rename the 10uF cap "output decoupling" (it decouples the regulator from sudden changes in load current).

It probably seems pedantic, but if the effort is going to be made, its worth looking at the detail.

Anyhow it's a very nice presentaion.

cheers  

Link to comment
Share on other sites

@Duggle: I agree, Since we are assuming the worst case, the person knows very little or nothing about electronics. If going to this level of detail, I suggest also an explanation of the Bridge rectifier, and what is happening in the various stages. Perhaps you intended to do this anyway, Smash....Overall the page looks good

Link to comment
Share on other sites

  • 2 weeks later...

Yeah I think it would be handy for us to be able to put up draft documents and then comment on them together. Sorry I have been silent the last week or so, but between xmas and a bunch of shows on New Years Eve that I'm in, I got hella busy. Looking forward to getting back to the code after the holidays though.

iain

Link to comment
Share on other sites

  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...