Disk II interface update #6

I’ve mostly recovered from the power supply disaster. Instead of replacing the ATMEL AVRISP programmer, I purchased a USBtinyAVR kit. I figured that I would be able to repair any damage instead of doing a replacement, if I burned another programmer up. Well the kit works alright, but isn’t nearly as well integrated into AVR studio software as the ATMEL programmer was. Anyway, I’ve been able to get back to work finishing the format and write functions, well sort of.

Now I am working with a regulated bench power supply jumpered to the mother board with alligator clips (I guess I don’t learn). The wall wart is on the back burner until I can find a better 12 volt regulator solution.

Since the great power supply disaster I have had issues with dropping RS-232 characters being sent from my proto-board. I also found that I couldn’t fit all 16 sectors on a track during the format process. Tweaking the speed of the drive solved the formatting issue, but this clearly isn’t an acceptable workaround. What is really happening with both these issues is that, for some reason, the processor clock is now running way too slow. I need to recalibrate the internal RC oscillator that I’m using to clock this device. That will hopefully solve both issues.

Disk II interface update #5

Ok, I’ve done some additional analysis of the power supply, while waiting for the new flash programming device to show up. Here is the situation. The power draw is between .25 and .75 AMPs depending upon whether the motors are running or not. The LM7812 voltage regulator can supply enough power, but it has a specified drop out of about 2 volts. Therefore I need a .75 AMP at 14 volts, DC, in order to supply enough power for this application. The wall wart I was using is rated for 1 AMP at 12 volts. It couldn’t support the .75 AMP at 14 volts. I’ve been looking for a higher power wall wart. I did find a 15 volt 1 AMP surplus unit at http://www.primelec.com for only 2.95 that might work. However after thinking about it, I think it would be better if I could lower requirements a bit. This would allow me to find a more common source for power, such as a 13.8 volt DC supply meant to replace a car battery. I have one of these at home, and it’s not quite up to the job, due to the large 2 volt dropout with the LM7812, even though it is rated at 2.5 amps. In order to solve this, I’m going to investigate low drop out 12V DC regulators. An example might be the LM2940 from National, that reduces the dropout to .5 volt typical or 1 volt maximum. I found another example implementation on the web that used op-amps controlling a FET. The dropout on this design is far less: .1 volt, but it requires a few more parts.

http://www.drbob.net/project/powersupply/linear/12v1alvdfxd/default.html

This is kind of interesting to me, since I’ve had some fun with op-amps in the past.

Now that I know overall power consumption, I also plan to power the 7805, 5 volt regulator off of the 12 volt regulator, instead of unregulated input power. This should lower the power consumption (and heat output) of the 7805.

Disk II interface update #4

Well I confirmed that I have a power supply issue. I’m seeing a nearly 2 volt drop in the 12 volt supply when stepping. The onboard regulators are doing their job, but the wall wart I’m using doesn’t appear to be able to deal with the instantaneous load of the stepper motor. I’ve confirmed this by connecting a bench power supply with alligator clips and seeing a much more stable 12 volt supply during head movement operations. Unfortunately in the process, I somehow fried my AVR flash programmer. Until I build or buy a new one, further debugging will be delayed. I will be able to work on designing the USB interface while I sort out the flash programming issue, though.

Disk II interface update #3

Format is having issues, when moving between tracks. The first sector written after moving to next track isn’t reliably readable. A rewrite of the track, always works. I’m going to have to review my power supply, as I’m guessing that I’m not providing enough juice to cleanly power the stepper motors. This is something I’ve suspected before, but haven’t taken the time to fully investigate. Now appears to be a good time, since it is getting in the way of finishing the format function.

Disk II interface update #2

Ok folks, I have found the issue with the format track function. I was writing a preamble of one 0xff followed by all zeros, due to a programming error. With that error, it’s surprising that I could find any sectors at all. Fixed that and the first track is written cleanly and I can read it back reliably. However I must have a bug in the verify track portion of the format function, as the format disk routine quits after writing one track. As RosanaRosana Danna would say – “it’s always something”