Welcome to the website of the PICROCK project!!
This
is a website about a project we had to make for the course mechatronics for
the year 2005.
The assistants gave us a list of possible projects to make and one of those
was to make a guitar that can play automatically. In fact, it's a project
that has been made two years ago for the first time. Back then, they managed
to make quite a well working guitar where only two strings could be played.
The main problem they had was that their motors became too hot after a while
of playing. So our main assignment this year was to fix the fact that the
motors get that hot.
In order to fix that, the assistant said it would be a good idea to let the
motor be fed by a lower voltage when the motor doesn't have to work.
Now, I can imagine that the question that burns on all of your lips is if we managed to do this. Of course we did manage to do it...., you think we'd give an intro like this if we didn't? I mean, let's be serious...
In fact, we did more...
First we redesigned the entire system. Making it so that we can play all 6 strings. Since we put pressure on all six string at the same time, this implies we can't play chords unfortunately. But with just playing strings, you can make nice songs too.
Secondly, we designed a new electronic circuit, completely different from the earlier design two years ago. This year we made a big board (we admit, it's very big....) capable of controlling 4 stepper motors instead of 3. This board is based on a circuit with two chips: the L297 stepper motor controller and the L298 which is a power chip that is used in combination with the L297. The two chips work together and the L298 gives feedback to the L297 in such way that the current through the motors can be controlled. Since controlling the current through the motor is basically the same as controlling the voltage over the coils of the motors, we have already accomplished our mission with this board.
Thirdly, we made a new program in assembler code that works with the PIC 16F877A microcontroller we had to use. This was a challenge because none of us had ever coded in assembler. We got a nice result though and by working with timers and serial communication interrupts we managed to make a program that controlled the 4 motors and could communicate with a PC.
Fourthly, since the PIC has to communicate with a PC to receive a song, we had to mak a suitable interface. We made this interface with Visual Basic 6.0. The end program has 3 modes.
Firstly the mode where you can play with the motors, just let them make a number of steps. This is mainly used for testing and calibration.
Secondly, the mode where you can manually play notes by clicking on a button which tells which string and which position to hit.
Thirdly, the mode where you can load a song (it's saved in a “.song” file that we made ourselves) After a song is loaded, the guitar can play it automatically. The karaoke function even shows you the lyrics to sing with every note. Pretty neat huh!
You can see we had a lot of work on this project.... For almost 3 months we worked hard on it. All our holidays and free time went into it. Even on the few days off we had, you could find us in building Z of the VUB, sometimes even until close to midnight. It was hell...., but it sure was worth it and we learned a lot.
Before you continue to read this site, we want to thank Ronald Van Ham for his demo programs and demo board to show us the working of the PIC. And of course we'd like to express our greatest gratitude to Jean-Paul Schepens who gave us all we needed and who was always there to help us with some advice when the mechanical design showed flaws once again.
We wouldn't have been able to do this all without you. So when you're sitting there behind your PC, please give a little applause for them, they deserved it.
Now we invite you to read the rest of our site. We hope you like it.
Bram Verkens
Willem Deconinck