Jump to content
43oh

ILAMtitan

Members
  • Content Count

    56
  • Joined

  • Last visited

  • Days Won

    3

Reputation Activity

  1. Like
    ILAMtitan got a reaction from GeekDoc in Cube Defender USB Missile Launcher   
    I apologize if this one is a bit of a text wall, but it was originally written in brain dump/report format. It's hard to post pictures of source code.
    Overview
    The basis for the MSP430 powered cube defender is an off the shelf USB powered missile launcher with an integrated webcam. The software that comes with the device is rather lackluster, and could use some improvement. It shows a low resolution view the integrated webcam in a




    USB_Turret.zip
    BasicControl.zip
    MotionControl.zip

  2. Like
    ILAMtitan got a reaction from KatiePier in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  3. Like
    ILAMtitan got a reaction from mike1994 in MSP430G2553 Timer1 interrupts trigger in debug, but don't when not in debug.   
    Mike1994, I ran your code on a launchpad I have laying around and it worked just fine for me.  I did change the output to pin 1.6 to match the hardware though.
    Try power cycling the board rather than just using the reset button; there might be a problem with your hardware.
  4. Like
    ILAMtitan got a reaction from pine in Cube Defender USB Missile Launcher   
    I apologize if this one is a bit of a text wall, but it was originally written in brain dump/report format. It's hard to post pictures of source code.
    Overview
    The basis for the MSP430 powered cube defender is an off the shelf USB powered missile launcher with an integrated webcam. The software that comes with the device is rather lackluster, and could use some improvement. It shows a low resolution view the integrated webcam in a




    USB_Turret.zip
    BasicControl.zip
    MotionControl.zip

  5. Like
    ILAMtitan got a reaction from rampadc in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  6. Like
    ILAMtitan got a reaction from cubeberg in Cube Defender USB Missile Launcher   
    I apologize if this one is a bit of a text wall, but it was originally written in brain dump/report format. It's hard to post pictures of source code.
    Overview
    The basis for the MSP430 powered cube defender is an off the shelf USB powered missile launcher with an integrated webcam. The software that comes with the device is rather lackluster, and could use some improvement. It shows a low resolution view the integrated webcam in a




    USB_Turret.zip
    BasicControl.zip
    MotionControl.zip

  7. Like
    ILAMtitan got a reaction from bluehash in Cube Defender USB Missile Launcher   
    I apologize if this one is a bit of a text wall, but it was originally written in brain dump/report format. It's hard to post pictures of source code.
    Overview
    The basis for the MSP430 powered cube defender is an off the shelf USB powered missile launcher with an integrated webcam. The software that comes with the device is rather lackluster, and could use some improvement. It shows a low resolution view the integrated webcam in a




    USB_Turret.zip
    BasicControl.zip
    MotionControl.zip

  8. Like
    ILAMtitan got a reaction from maelli01 in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  9. Like
    ILAMtitan got a reaction from spirilis in Cube Defender USB Missile Launcher   
    I apologize if this one is a bit of a text wall, but it was originally written in brain dump/report format. It's hard to post pictures of source code.
    Overview
    The basis for the MSP430 powered cube defender is an off the shelf USB powered missile launcher with an integrated webcam. The software that comes with the device is rather lackluster, and could use some improvement. It shows a low resolution view the integrated webcam in a




    USB_Turret.zip
    BasicControl.zip
    MotionControl.zip

  10. Like
    ILAMtitan got a reaction from JVimes in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  11. Like
    ILAMtitan got a reaction from vicvelcro in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  12. Like
    ILAMtitan got a reaction from igor in Cube Defender USB Missile Launcher   
    I apologize if this one is a bit of a text wall, but it was originally written in brain dump/report format. It's hard to post pictures of source code.
    Overview
    The basis for the MSP430 powered cube defender is an off the shelf USB powered missile launcher with an integrated webcam. The software that comes with the device is rather lackluster, and could use some improvement. It shows a low resolution view the integrated webcam in a




    USB_Turret.zip
    BasicControl.zip
    MotionControl.zip

  13. Like
    ILAMtitan got a reaction from petertux in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  14. Like
    ILAMtitan got a reaction from oPossum in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  15. Like
    ILAMtitan got a reaction from grahamf72 in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  16. Like
    ILAMtitan got a reaction from GeekDoc in Vetinari's Clock   
    I figured you guys might be interested in some of my tinkering with the Launchpad.  Hopefully by putting a few of my projects up here it will also keep me accountable for finishing them.
     
    This is one a cobbled together a few months ago.  It's been up on the MCU projects page on E2E, so you might have already seen it: http://e2e.ti.com/group/microcontrollerprojects/m/msp430microcontrollerprojects/664670.aspx
     
     
    PROJECT OVERVIEW
    The Vetinari clock is from a book series known as Discworld, where Lord Verinari has a clock in his waiting room which has an irregular tick. The idea of the clock is to add a sense of unease and anxiety to anyone in the waiting room since their brain doesn't filter out the ticks like a normal clock. Here's a video to get a better idea of the result.  The tick is actually a lot louder in person.
     


     
    SOFTWARE DESIGN
    To accomplish this task on a 430, we create an array of possible time frames to tick the clock, and parse through it at 4Hz. The array is 32 entries long, so it equates to 32 seconds in the real world. By randomly setting 32 of the elements high, we create a timing sequence. A high element will generate a tick of the clock. This means a second on the clock can be as little as 250ms, or as long as 24 seconds, and still keep accurate time.  Check the attached software too see how it's all done; I did my best to comment it up.  main.c
     
    HARDWARE DESIGN
    The clock coil is driven via an alternating polarity pulse.  The easiest way to change a load's polarity with an MCU is using an h-bridge.
     

     
    The schematic shown is a simple implementation using two NPN and two PNP transistors.  I had the transistors and drive resistors laying around, so this part was easy to cobble together (along with the half used battery holder).  It would be easy to use a single IO pin per side of the bridge, but the transistors fit better onto the launchpad, as shown in the image.  To add the driving resistors in series, I cut a small gap in the traces, scrapped off the solder mask on either side to make pads, and put down a small SMA resistor.  It's not pretty, but it works.
     

     
    In the clock mechanism, there is a small control board with a crystal and epoxy glob IC that normally runs the clock.  I just ripped that out and directly attached the coil to the h-bridge.
     

     
    The resulting clock is actually more maddening than I expected in a quiet environment.  By using 3V rather than the 1.5V that the original movement used, the ticks are much more pronounced and do an excellent job of ruining a person's calm.
  17. Like
    ILAMtitan got a reaction from bluehash in MSP430G2553 Timer1 interrupts trigger in debug, but don't when not in debug.   
    Mike1994, I ran your code on a launchpad I have laying around and it worked just fine for me.  I did change the output to pin 1.6 to match the hardware though.
    Try power cycling the board rather than just using the reset button; there might be a problem with your hardware.
  18. Like
    ILAMtitan reacted to bluehash in A bunch of new BoosterPacks by TI Employees   
    Just got this mailed to me by TI. A good amount of designs including a quad.
     
    Vote here.
     
    Rover vehicle powered by TI-RTOS
     
    InstaSpin QuadCopter
     
    Bluetooth Audio Amplifier BoosterPack
     
    Stepper BoosterPack
     
    Bluetooth Home Automation BoosterPack
     
    SPI Servo Boosterpack
     
    Solar Harvester Booster Pack
     
    TIPhoon Booster Pack
     
    'PID Control Tutor Kit / Levitator' on c2000 launchpad
     
    RFID Boosterpack for Stellaris Launchpad
  19. Like
    ILAMtitan got a reaction from johnnyb in Newbie with 20X4 LCD Screen & LaunchPad   
    Sadly, it's not something as simple as reading a few DIO lines and decoding them.
     
    I happen to have a Kill-A-Watt that's already in pieces, and it's easy to see that it's a highly cost optimized device (it even has a single sided PCB).  There are three pieces of silicon on the board, a four channel opamp, a small EEPROM, and a chip on board MCU (one of those dreaded epoxy glob jobs).  This means that all the measurement and display logic is done by a proprietary device.  It essentially takes in analog signals, and outputs the results straight to the LCD.
     
    Now, the LCD in this isn't the normal serial LCD that most of us are familiar with getting off of SparkFun.  Those are nice and take simple UART commands, and control the actual driving of the segments for you.  On many embedded devices, the LCD segment driver is built into the MCU itself, with no UART lines to probe for reverse engineering.  The MSP430 has these embedded LCD drivers in some of the larger devices.  The low cost driver less LCDs also don't just take a DIO line, they need charge pumps.  I'm not an expert on this topic (I just connect the thing and it works) but the LCD driver will output an AC voltage that then polarizes the segments in the LCD to turn them dark. More info on how the 430 does it can be gleaned from here: http://www.ti.com/lit/an/slaa272/slaa272.pdf
     
    In addition to this, these drive lines are also usually muxed.  So you would have to work out which ones are the COMM lines, and which ones are the segment drive lines.  Then you could potentially convert them to DC with a filter, and then into an MCU to decode. It's tough, but doable.
     
    Your other alternative is to build your own version rather than hack onto the Kill A Watt.  This lets you develop a more extensible platform, as well as use more TI devices
    Quick warning and disclaimer: working with mains voltage is super dangerous, and probably shouldn't' be done by anyone.
     
    TI already has a bunch of application notes on this, but a good place to start if you might be thinking about doing this on a launchpad is this one: http://www.ti.com/lit/an/slaa391/slaa391.pdf
    And the energy watchdog (the TI version of the Kill-A-Watt that sadly isn't available anymore) has schematics in the users guide that can be a great starting point: http://www.ti.com/lit/ug/slau362/slau362.pdf
     
    Hope your project goes well!
  20. Like
    ILAMtitan got a reaction from bluehash in SPI Communication Issue between 2 Launchpads - Reset Related   
    @@buler,
    The watchdog works like a regular timer on the MSP, but with the fun addition of resetting the part when it expires.  When you set it up, you can define this timeout to fit your application needs.  In order to prevent it from expiring, you have to reset it manually (This is usually called "kicking the dog").  Essentially, this means that you can have it setup so that if you don't detect any SPI packets in a given time, the part resets.  In this configuration, you would kick the dog whenever you receive a packet, and start the timer back at the top.  This timeout period will have to set long enough to not reset when there is a long gap in valid communication, and will be very dependent on your application.
     
    If you use the IO method, you can create a simple state machine to switch between GPIO and SPI configuration for the pin.  So the default configuration will be an IO with an ISR, when it connects it will turn to the slave clock, then a timeout could be used to assume that the master has left and turn it back to an IO.  Here's a quick pseudo code sample that should help out a bit.
     
    Main { Configure watchdog timeout, but do not enable Configure SPI CLK line as IO with ISR enabled (application loop) {} } IO ISR { Dissable IO interrupt Setup port for SPI communication Reset SPI communication application stack Enable SPI interrupt Enable watchdog timout to detect missing master } SPI ISR { Kick watchdog since we are still talking to master Process SPI packet } Watchdog ISR { Dissable Watchdog since we don't need a timeout anymore Dissable SPI interrupt Reconfigure port as IO ISR to wait for master to return Enable IO interrupt }
  21. Like
    ILAMtitan got a reaction from buler in SPI Communication Issue between 2 Launchpads - Reset Related   
    @@buler.
    Software resets on the MSP430 are fairly easy.  If I need this functionality, I just write an invalid watchdog password.  WDTCTL = 0; will do the trick.  This triggers a PUC, and will restart your software.  You can tie this to a timer or other type of timeout device.  The watchdog will also do this automatically if you don't handle the ISR.  Rather than disabling it at startup like most applications do, you can just set it to a reasonable timeout period, and then turn it off when you detect a connection with the master.
     
    There might be some ways around this though.  It looks like you're using an active low clock, which means it's default state will be high.  If you set a pin interrupt on your slave's clock pin, it can detect the rising edge, and then reconfigure the software to set up the SPI mode.  A watchdog time out could then be used to detect a disconnect, and set the pin back to IO.
     
    This is going to be dependent on your hardware configuration (pull ups and pull downs specifically), but if you're using the ones internal to the MSP, you can reconfigure those as well.
     
    Hope this helps.
  22. Like
    ILAMtitan got a reaction from buler in SPI Communication Issue between 2 Launchpads - Reset Related   
    @@buler,
    The watchdog works like a regular timer on the MSP, but with the fun addition of resetting the part when it expires.  When you set it up, you can define this timeout to fit your application needs.  In order to prevent it from expiring, you have to reset it manually (This is usually called "kicking the dog").  Essentially, this means that you can have it setup so that if you don't detect any SPI packets in a given time, the part resets.  In this configuration, you would kick the dog whenever you receive a packet, and start the timer back at the top.  This timeout period will have to set long enough to not reset when there is a long gap in valid communication, and will be very dependent on your application.
     
    If you use the IO method, you can create a simple state machine to switch between GPIO and SPI configuration for the pin.  So the default configuration will be an IO with an ISR, when it connects it will turn to the slave clock, then a timeout could be used to assume that the master has left and turn it back to an IO.  Here's a quick pseudo code sample that should help out a bit.
     
    Main { Configure watchdog timeout, but do not enable Configure SPI CLK line as IO with ISR enabled (application loop) {} } IO ISR { Dissable IO interrupt Setup port for SPI communication Reset SPI communication application stack Enable SPI interrupt Enable watchdog timout to detect missing master } SPI ISR { Kick watchdog since we are still talking to master Process SPI packet } Watchdog ISR { Dissable Watchdog since we don't need a timeout anymore Dissable SPI interrupt Reconfigure port as IO ISR to wait for master to return Enable IO interrupt }
  23. Like
    ILAMtitan got a reaction from Fred in LaunchPad Proto Plate- from Ponoko   
    Fred, the design files that Larissa hosted are all in vector formats.  let me know if there is a better file format for you regarding those and I can get it to you.
    For the corners, four L shaped pieces should be sufficient to hold it in place in two dimensions.  I don't know why I didn't think of that in the first place...
  24. Like
    ILAMtitan got a reaction from bluehash in SPI Communication Issue between 2 Launchpads - Reset Related   
    @@buler.
    Software resets on the MSP430 are fairly easy.  If I need this functionality, I just write an invalid watchdog password.  WDTCTL = 0; will do the trick.  This triggers a PUC, and will restart your software.  You can tie this to a timer or other type of timeout device.  The watchdog will also do this automatically if you don't handle the ISR.  Rather than disabling it at startup like most applications do, you can just set it to a reasonable timeout period, and then turn it off when you detect a connection with the master.
     
    There might be some ways around this though.  It looks like you're using an active low clock, which means it's default state will be high.  If you set a pin interrupt on your slave's clock pin, it can detect the rising edge, and then reconfigure the software to set up the SPI mode.  A watchdog time out could then be used to detect a disconnect, and set the pin back to IO.
     
    This is going to be dependent on your hardware configuration (pull ups and pull downs specifically), but if you're using the ones internal to the MSP, you can reconfigure those as well.
     
    Hope this helps.
  25. Like
    ILAMtitan got a reaction from LariSan in LaunchPad Proto Plate- from Ponoko   
    Fred, the design files that Larissa hosted are all in vector formats.  let me know if there is a better file format for you regarding those and I can get it to you.
    For the corners, four L shaped pieces should be sufficient to hold it in place in two dimensions.  I don't know why I didn't think of that in the first place...
×
×
  • Create New...