úterý 17. července 2012

1st week progress report



I spent the past week at work mostly familiarising myself with the Lpc1313 and 1342 micro-controllers under the guidance of Mr. Petr Svoboda, who is the person responsible for all (or at least most) of the work on the firmware up to this point.
I will keep this entry brief and only summarise the results that were achieved, because I am leaving for a vacation tomorrow and I don't quite have the time to type out a long post. This also means that there will be no more posts for two weeks. I intend to go back to this one after I return and add all the necessary info and details.


Now for the results:
Firstly I set up the appropriate tool-chain for working with the Lpc1313 and 1342 micro-controllers. I keep referring to Lpc1342 even though it is not the micro-controller that is used in MagMan. This is because Mr. Svoboda 
provided me with a handy circuit board, which emulates the whole MagMan device and contains the Lpc1342 micro as well as a display, a push-button and some LEDs. These features make it more suitable for debugging and development, than the actual board which is really used. The differences between Lpc1313 and 1342 are minimal.
After that, Mr. Svoboda decided that the best way to familiarise myself with the development on these micros will be to give me "Homework" consisting of a series of tasks that my program should perform. I spent most of my time working on those and learning how to use the different peripherals on the Lpc1342, such as SysTick timer and watchdog timer; and I am now beginning to experiment with the process of rewriting the on-chip FLASH memory with data sent over the serial interface - a necessary step towards my goal of creating a boot-loader.

That's about it, see you in two weeks.

neděle 8. července 2012

The intrudoctory post


Hello,
let's get the introduction out of the way first - My name is Viktor Kajml and I study robotics at the Faculty of electrical engineering at the Czech technical university in Prague. During this summer I have been chosen for a temporary job at AA4CC - one of the faculty's research groups. More specifically I will be participating in the development of a project called MagMan, which is a device for planar manipulation of objects by the means of generating and shaping magnetic field.
The purpose of this blog is document the progress of my work on this project and, provided there will be no unexpected complications, it should be updated about once every week.


A full description of the MagMan device can be found in this article but I will provide a brief summary here as well. Basically, it consists of an array of electromagnets, which are individually controlled to generate the desired magnetic field and move the test object (currently a metal ball) around. The array is composed of a number modular units, each of which contains four electromagnets, mechanical and electrical connectors that plug into the rest of the array and a microcontroller, which I shall describe in more detail, because it will be the focus of my work.
The used micro controllers are LPC1313 with the ARM Cortex-M3 microprocessor. Their function is to measure the current running through the four electromagnets, regulate it by generating the correct PWM signals and to communicate with the master computer via RS485 bus.
My task will be to improve and finalise the microcontroller firmware. This will involve completing several different sub tasks:
First of these will be to implement a bootloader that will allow re-programming of the micro controllers over the RS485 bus. This feature is sorely needed, as manual re-programming of each individual module over it's dedicated programming pins is very cumbersome and will only get worse as the array grows in size.
Next task will be to make the communication over the RS485 as fast as possible. Again this is necessary, if we want to extend the array, in order to keep the delays in communication with the master computer sufficiently short and to allow for an effective control.
Lastly, it would be desirable to implement a feedback controller to handle the regulation of the currents flowing through the electromagnets. As of right now the regulation consists simply of setting the desired duty cycle of the controlling PWM signal and no feedback is utilized. As a result the rise time of the value of the current is sub-optimal, which affects the overall control of the magnetic field.
I think that this is quite enough of work for right now and I hope that next week I will be able to post some results.