• Welcome to Circuitbenders Forum.

Crystal clock speed (MMT8)

Started by gmeredith, March 21, 2014, 12:23:14 AM

Previous topic - Next topic

gmeredith

Hi, I have 3 MMT8 sequencers. Each MMT8 runs slightly different speed to each other when playing a sequence, set to the same speed (when not MIDI synced together). Each MMT8 resides in a different location, and I just take my sequence data with me and load it wherever i go. The differences in playback speed are causing timing problems with sample loops triggered by the MMT8 when played on a different MMT8 other than the one the song was sequenced on. Each MMT8 is out by about 1 BPM in a song that is set to tempo 140BPM (so less than 1% error) but is significant enough to throw sample loop points out.

Is is possible to adjust the playback speed of the clock by modifying the circuit? The MMT8 uses an 80C31 processor, which has an X-out pin that goes to one side of a 12MHz crystal, then to a 20pf capacitor, then to ground. The Vin pin of the processor then goes to the other side of the crystal, then to another 20pf capacitor, then to ground. The Vin pin is not the same pin as the main power pin of the chip (clearly labelled +5V).

Is there anything I can do here to tweak the circuit? I know about workarounds - make shorter loops, trigger more often etc but I want to avoid that.

Any Ideas?

Cheers, Graham

gmeredith

I tried posting the processor schematics (jpg, 73kb) but keep getting this message:

An Error Has Occurred!
The upload folder is full. Please try a smaller file and/or contact an administrator

No matter how small I make the image, this error keeps happening

gmeredith

#2
I put the MMT8 processor schematics for download on my bands website here:

http://www.warningwillrobinson.com.au/circuits

Cheers, Graham

Circuitbenders

Thats a standard crystal oscillator arrangement. You could probably change the clock speed by replacing the crystal with an LTC1799 circuit, and then tweaking the LTC with a scope or frequency counter until each MMT8 is running at an identical speed. Having said that, i'm not sure about the tolerances of crystals, but i suspect any selection of 12mhz crystals will already be running at speeds closer to each other than you could reliably measure.

Is there an adjustment procedure in the service manual?

How long are the loops you're working with? If they are massively long, i suspect you might have to just put in down to variances in component tolerances.

i am not paid to listen to this drivel, you are a terminal fool

gmeredith

#4
The audio loops are about 20 seconds long. The trouble is I'm also now using a recently acquired Roland P10 visual sampler with all the gear as well - it runs the facial expressions and talking vocal video of Elmer the singing robot in our band. I wrote about it in this thread here:

http://www.circuitbenders.co.uk/forum/index.php/topic,2291.0.html

The video clips for each song are a single video clip run for the whole length of a song (3-4mins) and by the time the song is half way through the video clip is out of sync by 100-200ms - which meand Elmer's lip-sync is completely out.

Again, I'm aware of the workarounds - shorter audio loops, video cut up into several sections in a song etc. but in the end I was hoping to resolve the problem, not keep applying workarounds to 3 different MMT8s. So I take it that changing the 20pf capacitors isn't going to change the speed significantly. I have heard of people dropping close tolerance crystals into their MMT8's - I may have to see if I can source some??

MMT8 service manual is here at the bottom of the page:

http://www.warningwillrobinson.com.au/index_files/InstrumentManuals.htm


It doesn't seem to specifically mention clock speed calibration

Cheers, Graham

Circuitbenders

Hmmm, you might actually get more precision by using tighter tolerance load caps on the crystal, but i would have thought that the differences would be tiny. I guess the offset between different machines would multiply over time though.

I wouldn't rule out using tighter tolerance crystals and caps, but i think i'd be looking for a problem elsewhere first. Unless the circuits between your 3 MMT8's are absolutely identical, with the exact same processor and RAM etc, there could be any number of things causing small timing differences between them.

Does any one MMT8 stay exactly in time with the video when the others don't, or is it random? Is the MMT8 having to do other things at the same time that might be interrupting the timing?
i am not paid to listen to this drivel, you are a terminal fool

gmeredith

They all keep their own timing accurately; if I make the video for one particular machine, it will always stay in sync with it. They don't seem to suffer drift. They just have different speeds to one another.

Each MMT8 is a different model, and have different motherboards (early grey, late model grey, black). I might have to get 2 of the same (maybe get another black one).

You can never have enough MMT8s  :D

gmeredith

#7
Does anyone know about these precision crystals:

http://www.ebay.com/itm/5-x-12Mhz-High-Precision-Crystal-HC-49U-Pack-of-5-/300697292615?pt=LH_DefaultDomain_0&hash=item4602f48f47

I think my best bet in this whole affair is to put crystal sockets in all my MMT8s, and buy a handful of crystals. Then swap crystals in turn in 2 of the machines while keeping one as the "reference" machine, until I get a matched set of crystals for each machine that keep close enough time to the reference machine as to be satisfactory. Having said that, each machine will have to have dedicated crystals - because of different motherboards, other components of influence, matching crystals to each other crystal won't be any use - it will have to be the machine that is "matched" to a crystal, not a crystal matched to another crystal. Two identically matched crystals may still not make 2 machines match in tempo, because of motherboard variations - as you said.


Joy oh joy... :(

So I guess that I don't really need precision matched crystals after all - in fact, that would probably be pointless. Just a handful of cheap ones with a range of variation is perhaps what I actually need, and mix and match until I find ones that make all the machines work the same.

The whole reason for this question is actually to do with fail-safing my live performances, as well as just simple file loading between machines in different locations. I don't want to travel 100 miles to a gig with a backup MMT8 to find out that when the main MMT8 dies on stage, that the backup one is all out of time to the video clips/audio loops. I want to be able to grab the emergency machine, do a quick swap and continue on, knowing that it will perform as close to identical as the faulty machine.

None of this would matter if my band didn't have a singing, dancing robot. Why do I always take the harder road?? :D

Circuitbenders

I suspect that all crystals are 'high precision' in terms of that ebay listing. Are they high precision compared against normal crystals or a 555 timer? Who knows?

Wouldn't it be a whole lot easier to use LTC1799's with a good quality multi turn trimmer pot to set the frequency? That way you could keep the MMT8 thats dead on sync with its crystal, and tweak the other two until they're the same without messing around with sockets and multiple crystals. Some kind of frequency counter or a decent scope would probably come in handy here.

This is all assuming that its the crystal timing thats the issue. Do they all use the same version of the OS?

i am not paid to listen to this drivel, you are a terminal fool

gmeredith

No, all have different firmware - you see what I'm up against  ::)

I'm starting to think that I should just look out for an identical black MMT8 and match the 2 black ines - that way all the hardware and firmware will be the same, and then work from there.

Circuitbenders

So surely putting the same firmware in all of them might be a good idea for a start? If you don't have a programmer you can get one for less that £30 from ebay. The EPROM image of the last OS version must be out there somewhere, or you could just copy the firmware from the MMT8 that works fine and burn a couple of copies.
i am not paid to listen to this drivel, you are a terminal fool

gmeredith

Well, I'm just thinking that if I get another black MMT8 with the same firmware already installed, they'll be identical in all respects. And then I'll sell off my 2 grey ones.

Anyone interested in 2 grey MMT8s' with 16x memory expansions and DC-battery mods??  :o

gert

sorry to revive this old thread, i am also a mmt-8 freak... (if graham is active here still: i am the guy from yahoogroups that did ported the sram voltage fix from black to gray units).

why dont you slave the mmt-8 to an external midi clock, maybe a simple thing like a small yamaha QY? arming/recording and MMC (play/stop) works perfectly from external clock. in our live project we are using the sequencers with a boss BR-864, all our sample loops are tight always, the BR-864 even allows for comma bpm like 120,4.

gmeredith

Hi Gert, that's an interesting idea, I hadn't thought of that. One would presume then that it wouldn't matter which MMT8 was being used, the master sequencer's clock would be overriding the clock in the MMT8s. I'll think about how that might be incorporated; I have a QY70 that is not being used.

Cheers, Graham

gmeredith

#14
Just following up on an old thread. I finally managed to get another black MMT8 so I could try out this clock timing mod. I found out that by swapping the 2 small ceramic 20pf capacitors next to the 12MHz crystal, I was able to change the clock speed of the MMT8 enough to get it match my other MMT8! I swapped the 20pf caps with some 12pf ones and that gave me enough to speed it up slightly to the same as the other machine. Easy fix! So the findings were: increase the pf value = slows the clock speed down, reduce the pf value = speeds it up. Not really of any practical use in bending as such, just a way to solve a very specific problem if matching 2 machines is vitally important, as in my case.

Cheers, graham