Skip navigation

community

1 2 3 4 Previous Next

Summer of Design

52 Posts
1

EQUINOX CAR

Posted by urvish Sep 29, 2011

A SPARK (IDEA):


I always wondered how nice it would have been if two wheeled bikes had their body closed like in cars. It would enable the rider to be free from the pollution, dust and heat in the environment. In places like India and China where there is an extreme population boom such vehicles could be very helpful. But I still don't understand what prevents them from being manufactured.

I would definitely drive this vehicle on every hill I can find to see if the suspension system is better than the ones we are familiar with. This amazing piece of engineering and design is called Dual Pod Transport vehicle, and it has only two wheels. It’s like a motorcycle with a roof. But it’s not a motorcycle; it’s a car with two wheels. So we ask ourselves how it is able to hold its balance. The foot print is generous and it offers stability on various types of terrain.

This paper presents the idea of a 4 seat vehicle on two wheels….

dual-transport-concept2.jpgdual-transport-concept5.jpg


Technical:

In my working model an PID controller will be deployed to continuously monitor the centre of gravity of the vehicle. The Board XL_STAR is very useful for this type of concept the board Controller uses the 2 Axis accelerometer as the Primary Sensor and Freescale MC9S08MM128 is used for controlling and changing the machine parameters as and when required.

This PID controller will generate signal for the plant which changes centre mass vehicle to coincide with centre of gravity of the vehicle such that vehicle is balanced on two wheels.

Benefits:

1. Less consumption of fuel.

2. Less Parking requirements

3. Fast and less circular turn radius.

4. Easy to implement electric vehicle concept.

 

Now a new PID ... with Artificial Intelligence >>>>

I am implementing the efficient and error proof environment on a chip which is basically on XL STAR. Artificial neural networks are algorithms that can be used to perform nonlinear statistical modelling and provide a new alternative to logistic regression, the most commonly used method for developing predictive models for dichotomous outcomes in medicine. Neural networks offer a number of advantages, including requiring less formal statistical training, ability to implicitly detect complex nonlinear relationships betIen dependent and independent variables, ability to detect all possible interactions betIen predictor variables, and the availability of multiple training algorithms. Disadvantages include its "black box" nature, greater computational burden, proneness to over fitting, and the empirical nature of model development. An overview of the features of neural networks and logistic regression is presented, and the advantages and disadvantages of using this modelling technique are discussed.
Using software MATLAB software I am generating the Artificial Neural network then from that SIMULINK and MATLAB file obtained, I convert it to equivalent microcontroller code. I am using Neural Network toolbox, Simulink Coder and Embedded coder toolboxes for this task.
For the elecrama project I made the PID controller which can dumped on microcontroller .It is As PID controllers are widely used in the industries appliances. I am developing a highly error proof and robust environment for industry.

PID.bmpNEWPID.bmp


So  benifits of AI PID>>>>

1) Low in cost and highly efficient Environment.
2) Reduces the steady state error and gives faster response.
3) Adding Artificial intelligence will make human effort less on Instruments

 

 

So as Soon as possible going to upload AI PID code for XL_STAR..




 

0

Your Judges!

Posted by Joe Alderson Sep 28, 2011

Hi all!

 

Just a note to let you know who is currently judging your excellent work...

 

We have:

 

Zhang Paul : Global 8 bit product marketing manager

Laurent Vassort : EMEA distribution Technical Resources Manager

 

Also, your projects have been passed around the office like wildfire at Freescale!

 

Don't forget that your vote in the poll is also appreciated, as the engineers at Freescale who are helping with the judging need to know who your favourites are. We hope to be able to announce the winners next week, so stay tuned...

1

GloveMote Controlled Robot

Posted by sohil_4932 Sep 24, 2011

Finally I completed writing tutorial for hand control robot and I publish full length tutorial with codes on my blog.

http://sohilp.blogspot.com/2011/09/tutorial-hand-controlled-robot.html

5

This is my blog entry on what i managed to do with the XL_star kit i received as part of Element14's Summer of Design. Although it is a few days past the deadline, i thought it will be good to share my experience with Xl_star board


i registered for 'Summer of Design' without any projects in mind. The plan was to decide if i receive the kit.
On reading about the XL_star, it struck to me that the kit with its accelerometer is an excellent platform to do relative position control of objects. The first project that came into my mind was RC car, for my nephew to play with
There was some confusion regarding whether i would be receiving the kit or not. By the time the kit arrived(without any email notification) i had lost interest and got busy with my research work. Still the desire was there to do some project with XL_star board. But taking my time and financial limitations into consideration, i decided not to do any hardware work.
While going through discussions in XL_star group of element14, i saw a post enquiring about XL_star as usb hid mouse. Considering my original idea of using XL_star as a position control device, i decided to implement usb hid mouse on XL_star.


The plan is to use the three buttons for mouse clicks and tilt of the board(in landscape) for moving mouse pointer as illustrated below:

Board_usage.png

The leds will glow to indicate the direction of movement of the mouse

 

I first downloaded the usb stack from the following webpage:
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MEDICALUSB&fpsp=1&tab=Design_Tools_Tab
Now the task was to combine the XL_star demo code with the usb hid example from the stack. Code to emulate usb mouse was added to the orientation demo. On compiling i got 'out of memory' error. On analyzing i found that floating point library was using more than 55K, which together with the usb stack resulted in memory usage of more than 64K.
i was about to give up on the project(i was working on the project during night, as i was busy with my research during day time). But suddenly it occurred to me that the microcontroller in XL_star had 128K of flash. Now the task was to find out the missing memory. On going through all files in the project directory, i came across the 'prm' file. This file contained the memory map and usage of the memory. I modified this file to use the flash, but i got compilation error. On further digging i found it was a problem with memory model setting of the project. I created a new project with banked memory model, and copied the new project's 'prm' file to the original. There was linking error now, which was due to the floating point library not being bank compatible. I replaced the library with the correct one, and the project finally compiled properly. After some fine tuning in the mouse code, i was able to make XL_star into a reasonable usb hid compatible mouse. I then removed most of the unused code from the original XL_star demo project, for better memory usage.

 

All are welcome to download and try out the code.
For converting this project into a RC car controller , all i have to do is to replace the usb API call with custom code to send data serially to an RF module. I might try this out when i have more time and resources

 

Working with the freescale codewarrior IDE was a real pain in the neck. For example, if we change the memory map model or the floating point format through compiler settings, it would not automatically select the appropriate library. We have to manually search and replace the library.

 

Suggestions for future Summer of Design
  Make it a three month event - Concept, Design and Engineering
  A week before the concept phase, the platform should be announced and project proposals invited. One month should be given for people to decide on the project and blog about the same. Depending on the blog entries a subset should be selected for the design phase. This group should be given the development kits/IDEs to start their design.
During the design phase, the various groups will go about designing the software algorithm and hardware. The blogs will be regularly updated. At the end of this phase a subset from the entries will be chosen for the engineering phase depending on their progress. This group will be given further hardware resources to continue their project
During the engineering phase each group will do the final implementation of their projects. At the end of this phase winners will be chosen depending on the overall progress.
All groups can continue till the final phase, but those who are not selected for the further stages should meet the expenses on their own.

0

Rd's blog

Posted by RajanDhingra Sep 9, 2011

finally the board arrived at my home and i will soon upload all the ideas that i want to put into my project i firstly want to go through all the things..


it will be a gesture based application interacting with computer in the normal manner we interact with the real world things it really become lot more easier for all old, childern to know to interact with computer ..  Then computer for them  doesn't merely remain a machine having cpu, ram , rom but a thing that is there real world thing not a machine..

There are only 6 days for me to complete my project (i know its less but 24*6 hours remain and i can do it )

 

Soon i will put all images and text regarding my project ..

 


Thanks

7

GESTURE GLOVE

Posted by LIFESAVER101 Sep 7, 2011

DESIGNERS:-      1)Jayneil Dalal

                     2)Samarth Shah

 

BACKGROUND:- We are currently pursuing our bachelor's degree with Electronics and Communication as major from Nirma University, India.

 

MOTIVATION:- A month back we visited an old age home(where old people with no one to take care of them live). There were a lot of elderly people sitting at their places, not moving much. The heat was insane, driving us crazy as the FAN was turned OFF. Upon interaction with them we found out that many of them were disabled while others found the task of going to the other end of the room just to turn ON the fan too tiring and their health did not permit to do the same. That is when we decided we would make a device which will enable these elderly people to control the electronic devices around them wirelessly.

 

1277195059_101245083_1-Pictures-of--Building-fund-required-for-the-construction-of-Old-age-home-1277195059.jpg

 

oldage1.jpg

 

1292771463_148068676_2-Pictures-of--Elder-Home-Seniors-Home-Senior-citizen-Home-Old-age-Home-Home-for-Senior-citizens-Ba.jpg

 

AIM:- To develop an embedded system which would control the electronic devices around the house wirelessly via different hand gestures. Moving the hand towards right would turn ON the light while moving it towards left would turn OFF the light and so on..

 

HARDWARE REQUIRED: - XL_STAR BOARD(x2), Relays(x5). PCB(x1), IR LED(x1), TSOP(x1), Hookup wires, Breadboard.

 

1) XL_STAR Board:

4dac26777981e_Farnell_News_nEPD14_ELM004-element14-XL-Star_High_Resolution.jpg

 

 

2)Relay: (5 PIN POWER RELAY for AC based applications)

article-page-main_ehow_images_a07_7c_ts_wire-12volt-5pin-relay-800x800.jpg

 

 

3)PCB:

 

pRS1C-2266799w345.jpg

 

 

4)IR LED

 

ir_led_200807.jpg


 

5)TSOP (aka IR RECEIVER)

 

tsop.jpg

 

6)Hook up wires

 

hookup_wire.jpg

 

 

7)Breadboard

 

halfbb.jpg

 

SOFTWARE REQUIRED: - Eagle, CodeWarrior Studio

 

1)Eagle (http://www.cadsoftusa.com/downloads/?language=en )

 

eagle-software.png

 

2)Codewarrior Studio

 

6b61fc79.bmp.JPG

 

Construction:- All the wired connections of the different electronic appliances are connected to the PCB containing relays. There will be one relay for each electronic appliance.

 

The header pin(p) of relay is connected to the +ve pin or live pin of AC electronic appliance. The other pin of electronic applicance is grounded. NC pin is left open. NO pin is connected to AC power supply. The terminal pins of relay are connected to the pins of XL star board. This XL star board will act as the RECEIVER and will have TSOP has IR receiver.

 

Now the other XL star board will be mounted on hand of user and will act as TX using IR led as transmitter. So depending upon different user hand movement , corresponding code will be transmitted to RECEIVER XL star board.

 

 

Please see the "Block_diag.pdf" which has the diagram to illustrate the same: (the figure is very bad, please pardon me as I don't know any other software to do the same but will update it soon)

 

 

Working:-

 

Note:- To understand the working of the relay(electronic switch) , see the attached file "Relay_work.pdf"

 

1)The user makes a gesture via the XL star board(TX) by moving it in a particular direction.

 

2)Now a specific code for that gesture is already made. It is then amplitude modulated and sent to the the XL star board(RX) via IR led.

 

3)The RX board takes corresponding action for the received code , i.e. , give high ouptut(1) at the desired application control pin.

 

4)This will trigger the relay of the desired application. Hence the required application will turn ON.

 

 

Connection Diagram: -

 

drawing (copy).jpeg

 


 

 

Concepts: - This section will brief you through some of the basic concepts required for carrying out this project on your own. We strongly recommend that you go through it.

 

                  1)Electrical wiring, sockets used in AC applications.

 

                        http://en.wikipedia.org/wiki/AC_power_plugs_and_sockets

 

 

 

 

 

Note:- I will upload the PCB schematic ASAP..

 

 

 

 

 


 

 

 

 

 

 

 


 


 


4

Hi. I am a bit too late to post. I had my exams and could not work on the entry. I intended to work on something different initially, but did not get the required components. I plan to use the onboard accelerometer to sense seismic vibrations and display the analog data of xyz co-ordinates on a 4 inch TFT Lcd. If possible, i would like to add an external  EEPROM to save the data. I have the TFT lcd code, just need to port it to the codewarrior suite.  The acceleromter data is already captured in the demo program, and my final code will incorporate a part of the demo program.

9

I have been working on a lighting project for my entry project, but some parts I ordered for it have been delayed (I hate UPS), so while I wait for my High power LEDs to arrive, I thought I may start a new small and more simple project in the hopes of completing it Before the LEDs arrive.


 

Small Digitally adjusted Linear Bench Power supply


Regulator 3D_sml.gif

http://i52.tinypic.com/30b3248.jpg

By Zeta-UNI

 

Motivation

 

I hate my current Bench Power supply. It uses a mechanical potentiometer to adjust the voltage, so the resolution depends on the skill of the user (a.k.a. me). However, this skill changes day by day or even along the day. For example, when you are fresh in the morning you might be able to adjust it precisely. But it might be a real pain to precisely set the desired voltage after a long day at school/work, late at night or after having had some cups of coffee. For this same reason the adjustment is not repeatable.

 

 

Also, it has a lot of features I never use, but it lacks a feature that would make my life so much easier: “Allowing a Desktop or laptop computer to set the desired voltage”. If it had this feature, I would be able to write a small script that would set the voltage of the power supply, wait until the voltage stabilizes, read what an attached measurement instrument senses then increase or decrease the voltage and repeat the process. This would probe to be useful, for example, when determining at which level a device stops working reliably like when you are using a battery to power the device.

Motivation_2.png

Unfortunately, commercial Bench Power supplies that can be adjusted digitally are really expensive and out of my budget, so I set to build one on my own.

 


Requirements and Design Idea

 

tuxGraphicPowerSuply.jpg

 

At first, I thought about porting one of the Digital DC Power supply that have their sources freely available on the net like the one on tuxgraphics.org ( http://tuxgraphics.org/electronics/200707/bench-power-supply-unit.shtml ), but the design is too noisy. If anyone is to port that code to the HCS08mm, I would like to say that the HCS08MM MCU on the XL_STAR board is actually a better fit for this application than the MCU used by tuxgraphics because the S08MM has all the components required integrated in the IC, and it would make a truly one chip solution rather than requiring separate ICs for ADC, DAC and even a separate module for USB.

 

My DC requirements are quite modest: 700mA continuous current and 1.8v to 5v low noise regulated output range. I rarely (if ever) need and adjustable current source. So I decided to use the combination of an adjustable Low dropout linear regulator, a digital potentiometer for the adjustment, character LCD and, to make things fancy, capacitive touch sensing controls.

 

Diagrama Pequeño.png

 

 

The workflow

 

Since the HCS08MM MCU on the XL_STAR is too powerful for this application, the idea is to develop the software on CodeWarrior using the XL_STAR board as the target hardware. Build small modules for capacitive touch controls and digital pot + regulator to connect to the XL_STAR board. Build load and debug the software. Then, when everything is working properly, use the “Change Target” feature on CodeWarrior to set the target to a cheaper HCS08JS MCU. Use CADSoft Eagle to laydown a PCB board for all the components on the project, calibrate the touch electrodes, use the XL_STAR as a BDM to program the S08JS on the final board. This will allow us to trade a £6.04 MCU (S08MM) for a £1.90 MCU (S08JS) in a easy to solder SOIC package and let us use the XL_Star board for other projects. The final step is to test the device and enjoy touch sensing madness.

 

Workflow.png

 

 

 

Design specifications and features

 

  • Regulated Voltage output range:   1.5v  to  5v
  • Adjustable increment:  0.1V
  • Precision:  2%
  • Max current:   1A
  • Conectivity:  USB interface
  • Interface: Touch sensing interface
  • Display: Character LCD

 

 

Software Tools and libraries

 

  • CodeWarrior for Microcontrollers v10.1 ; IDE for all of our managing, building and debugging project needs.
  • ProcessorExpert module included in CodeWarrior; a really useful tool that makes your life easier and speeds project development (more on this later).
  • TSS, Freescale Touch Sensing Software library v2.5; it’s a Software library that turns any HCS08 MCU into a Touch Sensing capable device.
  • Freescale USB Stack v3.1, a royalty free stack for USB communications.
  • D4CD AN4263_SW Modification of eGUI, Freescale embedded Graphic User Interface library, to support Character LCDs. I would like to use this library but if the USB stack eats all the Flash + ram on the JS16 I’m going to have to use a simpler approach with less overhead.

 

 

Processor Expert is your friend


As mentioned before, Processor Expert is a tool on CodeWarrior. It allows you to configure the core and periphetals in an organized GUI-like interface and automatically generates configuration code. It also generates convenient functions for manipulating the different modules on a MCU.

 

For people new to HCS08 architecture like me, it gives us a head start to project development because it automatically detects the valid values for any given property and tell us when a certain feature is not present or not configured properly for our target MCU. It also includes a detailed description of every property, so we learn along the way the internals of the MCU.

 

CodeWarriorWindow.JPG

 

For advanced users, and novice users alike, it simplifies project development because it generates code and functions and exposes simple interfaces to complex periphetals and speeds time to market.

 

I will be using Processor Expert (PE) not only to configure the core but also to configure and manage the communication interface with the digital pot (I2C or SPI). Furthermore, the TSS library includes a PE module, so I’ll be using PE for the Touch Sensing interface too. I would like to use PE for the USB interface, but, unfortunately, CW Special Edition only includes the USB configuration module. I would need the CW Standard Edition to fully use USB PE module.

 

Using PE, my XL_STAR board and Freescale’s libraries, I’m hopping I can manage to complete the project in 4 days worth of work, its probably going to take longer to write this blog than it will take to actually write code xD.

 

 

 

 

 

 

 


Update 09.05.2011 PART II

It's being harder than expected to find some enought time to finish the project. I'll do my best to finish on time. Some math and device selection on this Update

 

Low Dropout Linear Regulator Device Selection

 

 

TO-220.jpg

 

The requirements ask for 1.5v to 5v output voltage and 1A output current. So, I didn’t think much and choose the MIC29152WT from Micrel. The MIC29152WT offers 1.5A minimum guaranteed output current, programmable output from 1.24v to 25v, 220mv dropout voltage at 750mA (350mV at 1.5A) with ΔVout=-1%, TO-220 Package, 40nA Adj current and a logic compatible Enable pin. At £4 per unit at single quantity it’s a good fit for the application.

SOIC8.jpg

Micrel was kind to send me some samples of MIC39102BM that has basically the same characteristics as MIC29152WT but in a Power SOIC Package that limits power dissipation so I’ll be using MIC39102BM for development and be limited to small loads until I can get some MIC29152WT.

 

The down side of the MIC29152WT (and MIC39102YM) is that it requires 5mA (10mA for MIC39102YM) minimum load current to maintain stability. This means that since the load will vary widely from 0A when no load is attached to 1A at full load, we will need to include a small load that will have to draw at least 5mA at 1.5v.

schem_with_SmallLoad.gif

 

Features:

  • Product Page: http://www.micrel.com/page.do?page=/product-info/products/mic29150.shtml
  • Datasheet http://www.micrel.com/_PDF/mic29150.pdf
  • High current capability
  • MIC29150/29151/29152/29153     1.5A
  • Low-dropout voltage
  • Low ground current
  • Accurate 1% guaranteed tolerance
  • Extremely fast transient response
  • Reverse-battery and Load Dump protection
  • Zero-current shutdown mode (5-pin versions)
  • Error flag signals output out-of-regulation (5-pin versions)
  • Also characterized for smaller loads with industry-leading performance specifications
  • Fixed voltage and adjustable versions

 

Note: I've chosen the MIC29152WT Regulator, but anyone who is to replicate this project can choose to use any other device that fits the application. As a consequence, it will be necessary to adjust the values of the rest of the design.

 

 

Defining Circuit Elements


From the datasheet we can get the output formula

 

1.GIF

Where R1 and R2 are defined according to this application example.

 

APP_exa,ple_schem.gif

We may be tempted to replace R1 + R2 with the Digital pot as a voltage divider with the wiper pin connected to ADJ, but if we do it Vout ends up depending on 1/Rw rather than being lineal. Something similar happens if we replace R2. Therefore, it’s necessary to replace R1 with the digital pot configured as a variable resistor or Rheostat (Rw).

.

Schem_digital_pot_as_Rheostat.png

After taking a look at Datasheets of several Digital Potentiometers, I noticed that none of their pins should be driven with a voltage above VDD. Some digital pots may allow us to connect higher voltages to H, W and L but it will be necessary to add a separate Dual supply. This would add more components and complexity to the Design than necessary.

 

Since I’ll be using a VDD=5V and I want 5V output, it will be necessary to add a resistor before the pot. This way the H pin will never be exposed to a voltage above VDD, but it comes at the expense of increasing the minimal Vout=1.240V that can be obtained from the regulator.

Schem_R1_pot_R2.png

 

Determining the number of steps of the potentiometer

 

From the specs:

  • Vout_max = 5
  • Vout_min = 1.5
  • Vout_max – Vout_min = 3.5

 

I would like to have an increment of 0.02v for every step of the potentiometer. This way, I can get the required 0.1v increment in Vout every 5 steps and leave room for software calibration with a precision close to 0.02v to make up for component tolerance.

 

Therefore, if N is the required number of steps

2.GIF

 

A potentiometer with at least 176 steps is required. The closest standard pot has a resolution of 8 bits or 256 steps so the potentiometer selected will have N=256 steps.

 

 

Probably the most exiting part: The Maths

 

I have to determine the relationship between R1, R2 and Rw to select the right Digital Potentiometer and pasives.

 

The output equation from the Datasheet and the schematic

 

3.GIF

Determining R1_max

 

For Rw = 0 then Vout =Vout_min

Therefore,

 

4.GIF

R1 depends on R2.

 

Determining R2

 

From  (1)

 

5.GIF

Where ∆Vout =0.02 is the increment of Vout for every step and ∆Rw is the increment of the resistance of the pot on every step.

 

But

6.GIF

Where RH-L is the end to end Resistance of the potentiometer and N is its total number of steps (N=256).

 

In case you are wondering why ∆Rw =RH-L/N-1 and not ∆Rw =RH-L/N you can find a good explanation at http://pdfserv.maxim-ic.com/en/an/AN4288.pdf

 

Then

7.GIF

 

RH-LR2IR
10 KΩ2.431 KΩ0.51mA
20 KΩ4.863 KΩ0.25mA
50 KΩ12.156 KΩ0.1mA
100 KΩ24.313 KΩ0.05mA
200 KΩ48.63KΩ0.025mA

 

I’ll use the DS1805Z-010+; it is a Volatile Memory Digital Potentiometer with RH-L =10 KΩ, I2C interface, Iwmax = 1mA and more importantly a hand solderable SOIC package. (I wish I could use MAX5417 but it comes in TDFN package, it has the advantage of having non-Volatile memory to load saved adjustments on power-on). Therefore, R2 = 2.43 KΩ.

 

8.GIF

 

Then I set R1=301Ω

 

Components Selected:

 

  • Voltage Regulator:  MIC29152WT
  • Digital Potentiometer:  DS1805Z-010+;
  • R1 = 301 Ω 1%
  • R2 = 2.43 KΩ 1%

 

 

Thats all for this update. I hope I haven't bored you too much with the math stuff but I wanted to include enough detail so anyone can replicate the project with diferent components.

Now that I have the components selected I can build the Touch and Digital Pot modules to connect to the XL_STAR

 


Update III

 

Change of plans

 

plan-a.jpg

 

At first, I wanted to use Freescale’s TSS for Touch Sensing functionality, but I found 2 problems:

 

  1. Since the S08JS16 has only 20 pins, only 12 can be used as I/O because the rest are used for Power, XTAL and USB. I needed 2 pins for I2C, 6 for LCD, 1 to enable/disable the regulator.  So I was left with only 3 pins for Buttons (and I was missing 1 for USB connection detection).
  2. It was almost impossible to achieve good SNR for the signals from the Touch pads. Parasitic capacitance was too high, mostly because of the pinheads I used as connectors and the long and wide traces of the PCB. Unfortunately, the PCB fabrication method I’m using (Home etching xD) won’t allow me to go lower than 10mill traces and 25mill clearance.

 

So I decided to change plans and instead of using TSS I’m going to use a discrete Touch sensor IC. This is against my non declared goal of a design with the lowest possible number of chips but the alternative would have been to find a better suited connector (which involves a lot of time testing different connectors), change the final target chip to a JM32 in QFP (too many and too small legs) and have the PCB manufactured by a professional fab house that would mean long lead times and/or high cost.

SOIC8.jpg

 

I have decided to use a CY8C201xx CapSense sensor. The SO package of the CY8C201xxs is a good reason to use it in DIY projects instead of its competitors. Furthermore, the CY8C201xx is an I2C device. Therefore, the pins to control it would be the same pins used to control the Digital potentiometer.

 

 

Designing the modules

 

I used Cadsoft Eagle to design the schematic. Unfortunately, I couldn’t find any of the ICs needed in the parts library so I had to make them myself. This has been the first time I’ve ever had to make a custom part for eagle, so this was a good learning experience. I have attached the library file with the custom parts (and some garbage parts I made while learning, still don’t know how to remove them from the file xD) I hope you can take a look at them and tell me what mistakes I made.

 

With the parts ready I set to design the module

 

Schematic.png

Building the schematic was strait forward. I just followed the datasheets. But I forgot the input capacitors (that would explain latter the bad transient response I was getting >_<). With the schematic ready it was time to design the board layout.

 

boardlayout.png

The datasheet for the CapSense parts calls for a 2 sided board, but I stuffed everything on the same side for easy of fabrication of this prototype. A small mistake in the pin assignment of one of the parts that I discovered only when the board was fully routed lead me to introduce a couple of jumper wires (I didn’t want to route it all again).

 

This is the module ready to be populated.

 

 

That’s all on this update. I’m hopping to have the source code ready the next time.

4

A Little More Time...

Posted by Joe Alderson Aug 30, 2011

Hi everyone!


I've been on leave for a week, and posed a question to you all via email just before I went about whether you would like a little more time to complete your projects. The overwhelming response was YES! so we're giving you more time to work on your projects (2 weeks from our deadline, which was the 1st of September).

Having checked through the excellent work that has been going on here, I must say that I'm blown away by the cool projects that have been developed. Even a quick glance down the blogs on and around this page shows a big variety, and clearly there are some XL_Star experts emerging!

 

On  the subject of Experts - you will notice that you have a little rank  badge next to your name here on element14, which is something we have  added recently. As you post more content, answer more questions (correctly!) and gain recognition, you build up your rank (a bit like Half Life 2 but for real world engineers). What we're going to do is to allow you to  recommend community experts, who will be recognised by you as members of the community as the "go to guys" who know as much or more about certain areas than our official experts. Check out the newly revamped expert pages here!

 

For the people who have managed to complete their XL_Star project already: a massive well done!

 

For anyone still hard at work: keep at it and good luck! I'll be putting together a poll today with some of the more complete projects so that you can vote for your favourites so far.

 

What would be great to see would be some more video clips demonstrating your project, as it's been awesome to see the first one, and we're looking forward to more!

 

Happy coding/building/blogging/videoing!

 

Joe


2

Hi all,

 

For my entry into the contest, I decided to create a "Crazy Countdown Timer", which emulates the cheesy time bombs often used in movies - In this case, the hero of the movie has to choose which wire to cut (red, yellow, or blue?), without bumping it too much and setting off the motion detector.

And before you start dialing the authorities on me, please know that my motivation to build this was the stash of clock displays in my electronics box

 

Not sure if my blog posts automatically notify everyone or not, so here is a link to it which has all of the details, pictures, and full source code.

http://www.element14.com/community/people/ntewinkel/blog/2011/08/30/the-crazy-countdown-timer-is-complete

 

Next I need to figure out how to post my video

 

So that's my project submission for this contest!

 

I suppose I could arts and crafts it up to make it look more authentic, but dunno if I'll have enough time to make that happen soon enough.

 

Cheers,

-Nico

9

SoundAccelerated

Posted by RWM Aug 29, 2011

Hello,

 

I plan to change XL_star into sound generating device (musical instrument is too much to say). The idea behind this is to use board movements measured by accelerometer to change frequency and volume of sound. If this device would be used by ballet dancer, we would have some interesting music

 

Firstly I modified my XL_star board to prevent damage by accidentaly connecting USB cable to J1 socket without connected J6.

 

I located via which must be drilled

51281-Hole.jpg

Then I bored through this via

51282-Drill-600.jpg

Finally I checked that there is not any connection between 3.3V and C2

51291-Check-600.jpg

For additional safety I sealed J1 USB socket with tape (as I don't plan to use it in this design).

51285-Sealed-600.jpg

So now XL_star board is ready to project development.

 

CONCEPT

 

As I have written before, I plan to change XL_star into sound generating device. Each accelerometer's axis will control one parameter of sound.

SoundAccel-concept.jpg

 

Sound will be generated using internal 12-bit DAC. Its output (DAC0,J3 pin 23) will be connected to external active speaker.

 

30.08 - next steps

 

To easily generate different sounds, I plan to use 16-words DAC buffer. Samples of different waves (sine, triangle, square etc.) will be stored in memory and copied to DAC buffer (one switch will be dedicated to change sound). Buffer will work in continuous mode.

 

DAC will be triggered by PDB (Programmable Delay Block). There is 16-bit register DACINTH:DACINTL which determines delay between triggers and therefore sampling frequency.

 

31.08 - follow-up

 

How to change orientation into right frequency or amplitude value?

Orientations of MMA84512Q accelerometer: PU - Portrait Up, PD - Portrait Down, LL - Landscape Left, LR - Landscape Right:

MMA8451Q_orientation.jpg

 

 

In this application orientation PU will mean max. frequency and LR max. signal amplitude.

 

Acceleration at different angles [AN4068]:

AN4068-Accel_vs_angle.jpg

It is sine and cosine function. To obtain angle between board and horizontal position it is possible to use arcsin function. As human ear sensing is logarithmic this angle should be involved to some power in order to obtain right change of frequency and amplitude (volume) of sound vs. board angle.

 

2. 09 - a little bit more

 

Software diagram

Prog-m110903.gif

It looks simple. In order to keep interrupt service routine short, it will clear interrupt flag and set "new accelerometer value" flag only. IIC communication will be implemented in main loop.

 

Hardware modification (done Sep. 13 when I tought I will solve debugging problems and finalize project in time; output to 3.5 mm audio socket)

IMG_1853-Board.jpg

Sample code (not tested due to problems with debugger)

 

DAC and PDB initialization (square wave for testing, later planned array of samples):

 

/* Initialize DAC */  
    DACC0 = 0x00; /* disable DAC */
    DACC1 = 0x01;
    DACC2 = 0x0F;
    DACDAT0H = 0x0F; /* DACDAT = 0x0FFF */
    DACDAT0L = 0xFF;
    DACDAT1H = 0x0F; /* DACDAT = 0x0FFF */
    DACDAT1L = 0xFF;
    DACDAT2H = 0x0F; /* DACDAT = 0x0FFF */
    DACDAT2L = 0xFF;
    DACDAT3H = 0x0F; /* DACDAT = 0x0FFF */
    DACDAT3L = 0xFF;
    DACDAT4H = 0x0F; /* DACDAT = 0x0FFF */
    DACDAT4L = 0xFF;
    DACDAT5H = 0x0F; /* DACDAT = 0x0FFF */
    DACDAT5L = 0xFF;
    DACDAT6H = 0x0F; /* DACDAT = 0x0FFF */
    DACDAT6L = 0xFF;
    DACDAT7H = 0x0F; /* DACDAT = 0x0FFF */
    DACDAT7L = 0xFF;
    DACDAT8H = 0x00; /* DACDAT = 0x0000 */
    DACDAT8L = 0x00;
    DACDAT9H = 0x00; /* DACDAT = 0x0000 */
    DACDAT9L = 0x00;
    DACDAT10H = 0x00; /* DACDAT = 0x0000 */
    DACDAT10L = 0x00;
    DACDAT11H = 0x00; /* DACDAT = 0x0000 */
    DACDAT11L = 0x00;
    DACDAT12H = 0x00; /* DACDAT = 0x0000 */
    DACDAT12L = 0x00;
    DACDAT13H = 0x00; /* DACDAT = 0x0000 */
    DACDAT13L = 0x00;
    DACDAT14H = 0x00; /* DACDAT = 0x0000 */
    DACDAT14L = 0x00;
    DACDAT15H = 0x00; /* DACDAT = 0x0000 */
    DACDAT15L = 0x00;
   
   
    /* Initialize PDB */  
    DACINTH = 0x02;
    DACINTL = 0x55; /*initial frequency value=peripheral clock/DACINT/16 samples; DACINTH:L = 600 */
    PDBSC = 0x93; /* %10010011 */
    PDBC1 = 0x1E; /* %00011110 */
    PDBC2 = 0x00;
    PDBMODH = 0xFF;
    PDBMODL = 0xFF;
   
   
    /* Initialize DAC follow-up */
    DACC0 = 0x80; /* enable DAC */

Function to change frequency when acceleration is changing

 

/************************************************************************
*       change_freq - Change PDB DAC freq       *
*************************************************************************/

static void change_freq (byte *values)
{
    int     x, y;
   
    /* Get X and Y values */
    x = (values [0] << 8) | values [1];
    y = (values [2] << 8) | values [3];
   
    /* Change g value to delay
    board Portait Up -> y = -1g */
    y = 16384 + y; /* 16384 = 1g; higher g -> lower delay */
    if (y < 150)
        y = 150;                        
       
    /* logarythmic correction */
    y = y >> 6; /* change to 8 bits */
    y = y * y;  /* power of 2 */
   
    /* PDB hardware trigger delay change */
    DACINT = y;
    /* PDBSC_LDOK = 1 to update DACINT */
    PDBSC |= 0x01;
}

 

6.09 No progress due to debugger

 

Debugger can't connect to hardware, so I cannot load and test software

110906-DebuggerProblem.jpg

 

7.09 Attempts to solve debugger problems

 

When I try to debug, "No connection" window appears.


In COMMAND window:

executing C_layout.hwl

!OPEN source 0 0 60 39
NO CONNECTION
!Source < attributes MARKS off
!OPEN assembly 60 0 40 31
!Assembly < attributes ADR on,CODE off,ABSADR on,SYMB off,TOPPC 0xF88C
!OPEN procedure 0 39 60 17
!Procedure < attributes VALUES on,TYPES off
!OPEN register 60 31 40 25
!Register < attributes FORMAT AUTO,COMPLEMENT None
!OPEN memory 60 56 40 22
!Memory < attributes FORMAT hex,COMPLEMENT None,WORD 1,ASC on,ADR on,ADDRESS 0x80
!OPEN data 0 56 60 22
!Data:1 < attributes SCOPE global,COMPLEMENT None,FORMAT Symb,MODE automatic,UPDATERATE

10,NAMEWIDTH 16
!OPEN data 0 78 60 22
!Data:2 < attributes SCOPE local,COMPLEMENT None,FORMAT Symb,MODE automatic,UPDATERATE

10,NAMEWIDTH 16
!OPEN command 60 78 40 22
!Command < attributes CACHESIZE 1000
!bckcolor 50331647
!font 'Courier New' 9 BLACK
!AUTOSIZE on
!ACTIVATE Data:2 Command Procedure Data:1 Source Register Assembly Memory 
done C_layout.hwl

Loading Target ...
Error: Device list is empty!!!!
SETCOMM DRIVER PROTOCOL|NOPROTOCOL PERIODICAL|NOPERIODICAL "<path to the GDI driver DLL>"
SETCOMM COMPORT NONE|USB|LPT|ETHERNET|ETHERNETFIP "<com device name>"
SETCOMM IPADDRESS "<IP address>"
SETCOMM DRIVER NOPROTOCOL NOPERIODICAL
SETCOMM COMPORT NONE
Error: Device list is empty!!!!
SETCOMM DRIVER PROTOCOL|NOPROTOCOL PERIODICAL|NOPERIODICAL "<path to the GDI driver DLL>"
SETCOMM COMPORT NONE|USB|LPT|ETHERNET|ETHERNETFIP "<com device name>"
SETCOMM IPADDRESS "<IP address>"
Error: The debugger is currently not able to run
due to loss of contact with hardware.
No Link To Target

in>


First I tried my program, then demo and always "no link" is displayed. Some time ago all

worked OK.

 

I debugged demo code and all was OK, then written some modification

to demo code (I used demo code and added DAC configuration, PDB configuration for DAC

triggering and function to modify DACINT register when value from accelerometer has changed)

and when I tried to debug, I had above mentioned problem Then I tried demo code and had same

problem.


I have found description of similar poblem: OSBDM doesn't recognize hardware
http://www.witztronics.com/Forum/viewtopic.php?t=31&sid=66d2893d592ee579b059f5f4bb0d7381

but reinstallation of driver didn't solve this problem. Demo code still works on XL_star

board.

 

Update Sep. 7, 12:04
At the moment, when I tried once again, Windows (I use XP SP3) displayed window that there

was a problem with HIWAVE.EXE ("Problem with HIWAVE.EXE, it will be closed"). So I will try

to reinstall CodeWarrior.

 

Update Sep. 7 15:02
I reinstalled CodeWarrior and problem exist. Additionally when I compile demo program, after

Make I have following message ("Errors & Warnings" window) :

Ignoring prm file "C:\Documents and Settings\..\Sample XL_STAR project\prm\Project.prm" in

project


I don't know why Project.prm is ignored because this is file for linker.

 

8.09 Further attempts to solve debugger problems

 

I installed CodeWarrior 10.1 but it also has problem with connection, so I'm afraid there is

a problem with board.

CW10_1error-Debug.jpg

CW10_1error-Debug2.jpg

CW10_1error-Debug3.jpg

CW 10.1 programmed something (or erased) so now demo doesn't work only 4 LEDs are on: 3

green ones (D15 +3.3V, D14 +5V, D10 Tap) and one yellow D12.

 

9.09 Problem still not solved

 

Sep. 9 0:37
I created new project and results are same as before (except problem with prm file, which

disappeared)


There is same message with connected XL_Star and with disconnected, however, it is installed

in system.

System.jpg

When I connected J3, bootloader port was installed

System-bootloader.jpg

 

And when I removed J3, all was as previous (devices are in system but debugger doesn't see

target).

 

10.09 It works!

 

Sep. 10 23:57
I used other USB ports, uninstalled CW, drivers, made register cleaning then installed CW -

still problem. Then I installed CW on another PC - it works! I was able to flash XL_Star

with demo program and it works. However, I still don't know what is the problem with first

PC.

 

11.09 Not so good - return of problem

 

When I tried today, problems showed on second PC. Mainly system error "Problem with

HIWAVE.EXE" (if board is connected with PC, otherwise debugger has problem with connection

to target). So I think there is a hardware problem.

 

13.09 Error in libusb0.dll

 

Sep. 13 1:49
Problem with HIWAVE.EXE is due to error in libusb0.dll. It is in version 1.2.1.0. I upgraded to 1.2.5.0 but it doesn't help.


When "HCS08 Open Source BDM" is selected in debugger there isn't any conection with target. When "FSL Open Source BDM" is selected, problem with HIWAVE.EXE (debugger program) is present. So perhaps it is software problem, but is on two different PCs with different OSes.

 

14.09 Third PC doesn't help

 

I added USB card to PC but problem was not solved.

 

Then I installed fresh OS on third PC (different achitecture - AMD processor) then CW but problem still exist.

 

15.09 Firmware upgrade

 

I tried to upgrade OSBDM firmware using P&E Micro Firmware Updater - perhaps this will help. Now firmware 29.3 is installed

OSBDM-FW29_3.jpg

I updated to latest ver. 30.7

 

FWupdate5.jpg

 

Flash programmed and verified OK, but after removing JP3 device was not recognized by Windows

 

FWupdate2.jpg

FWupdate3unknown.jpg

Then I connected JP3 and bootloader mode started. Firmware updater displayed error

 

FWupdate4failed.jpg

 

I tried to load other versions of firmware (29.5, 29.7) but USB device (XL_Star OSBDM) isn't recognized. So after a week of struggle I'm out of competition (demo on XL_Star still works but now in bootloader mode only)

 

Thanks for watching this blog

1

Bike and XL_board day 2

Posted by sever Aug 27, 2011

Im working hard with POV device code. The main block of application will be look like:

XL_Star_pov1.jpg

 

I write (sometimes copy and paste ) code, but have problem with communication via IIC with sensor. Some nice examples of source code i found in "AN4075.pdf" http://cache.freescale.com/files/sensors/doc/app_note/AN4076.pdf?fpsp=1&WT_TYPE=Application%20Notes&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

 

and datasheet for sesnsor. I will fight more with sensor tomorow

0

Bike and XL_board

Posted by sever Aug 25, 2011

Hello!

It's my first post here. I received a new XL_Star board, and thinking about project bike-oriented .

The first step is learning XL Board and writing test application which use XL_Star board as POV (Persistence Of Vision) device on bike's wheel.

The second and final step is using XL_Star board as device to test wheel balancing.

I think XL_Star board can be good platform to both of steps because it has a integrated acceleration sensor and battery supply.

2

Hello Everyone!

 

As we approach over 150 registered members and with over 45 different applications active on the challenge we set for the Summer of Design, we shared your collective success with our partners at Freescale.

This is a great start to evolving the future engineering leaders – we are amazed by what all our innovative minds are achieving collaboratively and are looking forward to the next great application for the Board XL_Star!’ commented Andy Mastronardi, Director at Freescale University Programs.

 

And Andy knows when he spots innovation as the champion of many successful international programs that Freescale runs. Along with Andy and his team, we are thrilled to announce that next week onwards, we will be opening up our next phase – this is where you all can review, vote and the rest of the community will help pour in there expertise through a polling leader board. Each week we will publish the top 10 applications as you progress your designs. For this, we hope to set some ground rules – as you are the experts here, I would appreciate your views:

 

Ground rules

    1. Graceful professionalism. We have a lot to learn from each other. When the leader boards open, please feel free to comment, course correct and appreciate the applications. If you course-correct, please be respectful and constructive – that is much more fun.
    2. If you come across a technical issue – feel free to raise it with our experts: Joe, Gordan and Roy can help offer advice
    3. There will be surprises each week and we hope to also source a guest expert to source their favourite Top 5 apart from the public vote. Mystery guests may choose to announce themselves only at the time that fortnightly chart closes
    4. If you don’t make it for the first week: remember, this is a fortnightly chart and you can be in the Top 5 very soon
    5. Help each other – real innovation happens when we all work together to not instantly perfect but adopt, adapt and improve!

 

We keep this simple. For you to succeed in this, there is a simple tips –

1.  Keep sharing your design progress with your blog. Some of you are building a great portfolio of what your application serves, what your process is and how you are getting along. If you have it all mapped out, give us an idea of how you are getting along (a status bar for example might be a good way to convey it, or simply end your blog post with what may be coming up next!)

2.  Keep pulsing your friends and colleagues – spread the word about your application! Do point out to your network if they are not accustomed to working in English language they can view the material in any language using ‘google translate’ tool on the top right hand side. One of the simple ways to spread the word is even your status update here on element14, on facebook or tweet about it drawing your own following: you can add @element14 within your update.

3.  Video is king: Take a leaf from our element14 superstar – Ben Heck himself: along with your blog, you can also very simply upload your videos on the application demo on element14. Don’t worry if its not fully picture perfect for youtube’s wider broadcast, but you can even choose the best video clips to piece it together for your final broadcast. Your own debut!

4.  Ask for opinions at the end of your blogs or videos – some of you are already doing that and is driving excellent feedback from many experts on the community

5.  Remember - you are winning anyway! You would have noticed the small badges that have appeared on your profile – you are already earning points on your interaction with the community here: check out the details here on what these means


Till soon and happy designing! *Watch this space!*

0

RS Design World

Posted by stecarlos Aug 15, 2011

Hello!

I waste a lot of time, but I was busy. It's going be hard, Frescale uC are something new for me.

 

I want to build the spy. It should show top speed and time.

1 2 3 4 Previous Next