Jump to content

yosh

Members
  • Content Count

    207
  • Joined

  • Last visited

  • Days Won

    14

Reputation Activity

  1. Like
    yosh got a reaction from spirilis in Custom MSP430-Board for EasyDriver   
    Hi, encouraged by @@bluehash I

  2. Like
    yosh got a reaction from qgs in Custom MSP430-Board for EasyDriver   
    Hi, encouraged by @@bluehash I

  3. Like
    yosh reacted to chicken in [Energia Library] Hardware Counter Library for MSP430   
    From time to time, threads pop up where someone tries to count very fast pulses in the hundreds of kHz or even MHz range. There is a solution for the hardcore C-coders among us, but to my surprise there was no Energia library for this simple problem.
     
    I herewith present the CounterLib for Energia
    Download
    Source code and detailed instructions are also available on GitHub:
    https://github.com/astuder/CounterLib-Energia
     
    Currently the library supports MSP430G2553, MSP430F5529 and MSP430FR5969.
     
    To create an instance of the counter, simply declare it as a global variable like this:

    Counter<> MyCounter; // create a counter that counts pulses on pin P1.0Once created, the counter has 5 functions:start() initializes the timer peripheral and I/O pin and starts the counter stop() stops the counter, but does not reset the counter value read() reads the current value of the counter reset() resets the counter to 0, the counter keeps running readAndReset() reads the current value and resets the counter to 0 And a basic example, which should work for signals lower than 65 kHz:
    Counter<> MyCounter; // create counter that counts pulses on pin P1.0 void setup() { Serial.begin(9600); MyCounter.start(); // start counter } void loop() { MyCounter.reset(); // reset counter to zero delay(1000); // wait one second Serial.println(MyCounter.read()); // read number of pulses during the last second delay(1000); // wait another second } The library also supports dividers to measure much faster signals. For more detailed instructions see GitHub. 
    The library uses the external clock input of the timer peripheral. This enables the library to measure very fast signals (MHz range). On the downside, each timer only has a specific pin assigned, and the G2553 only has one timer with an external pin. It is also possible, that other Energia libraries or built-in functionality use the same timer, which won't work.
     
    Here's a list of the timers supported by the library and their pins:

    | Timer | G2553,| | | | | | G2452,| F5529 | FR5969 | FR6989 | | | G2231 | | | | |------------|-------|-------|--------|--------| | CL_TimerA0 | P1.0 | P1.0 | P1.2 | P1.2* | | CL_TimerA1 | n/a | P1.6 | P1.1* | P1.1* | | CL_TimerA2 | n/a | P2.2 | n/a | n/a | | CL_TimerB0 | n/a | P7.7*| P2.0* | P2.0 |Pins marked with * are not broken out on the LaunchPad or are difficult to access. 
    The library probably works on many other MSP430's, but you'll need to adjust the #defines in the library. Please report back if you successfully tested with other devices, so that I can extend the library.
     
    Please report any bugs.
     
    And also let me know if you break any speed records. So far I only tested it up to 750 kHz.
     
    Edit 9/3/15: Added support for FR5969. Thanks @@Fmilburn
    Edit 9/4/15: Refactored to make it easier to add more MCUs. Several bug fixes, thanks to all the eagle-eyed members of 43oh
    Edit 3/13/16: Replaced attached ZIP file with link to GitHub to always give up-to-date version
  4. Like
    yosh got a reaction from bluehash in What are you doing right now..?   
    Hi @@bluehash
    This notch isn't really necessary but I thought it could provide an easy access to the motor cable pins (see image). If I use the EasyDriver board with screw terminals, I have easy access to the screws. If I use an EasyDriver board with pins, there is enough space to connect stepper motors with standard female dupont connectors. In the prototyping stage I found this a convenient way as I want to test different stepper motors.
     
     

  5. Like
    yosh got a reaction from tripwire in What are you doing right now..?   
    Hi @@bluehash
    This notch isn't really necessary but I thought it could provide an easy access to the motor cable pins (see image). If I use the EasyDriver board with screw terminals, I have easy access to the screws. If I use an EasyDriver board with pins, there is enough space to connect stepper motors with standard female dupont connectors. In the prototyping stage I found this a convenient way as I want to test different stepper motors.
     
     

  6. Like
    yosh got a reaction from bluehash in What are you doing right now..?   
    Assembling and testing my custom EasyDriver-MSP430 board. The MSP430G2452 is powered by the 3.3V output of the EasyDriver, so only one power supply is needed. Push button to start/stop/reverse the motor.
    Despite my poor PCB designing skills it works good so far Initially I planned to turn the EasyDriver board upside down to get a smaller package (large cap facing towards MSP430 board), but the A3967 IC is getting really warm/hot, so I did it this way just to be on the safe side...
     
       
  7. Like
    yosh got a reaction from tripwire in What are you doing right now..?   
    Assembling and testing my custom EasyDriver-MSP430 board. The MSP430G2452 is powered by the 3.3V output of the EasyDriver, so only one power supply is needed. Push button to start/stop/reverse the motor.
    Despite my poor PCB designing skills it works good so far Initially I planned to turn the EasyDriver board upside down to get a smaller package (large cap facing towards MSP430 board), but the A3967 IC is getting really warm/hot, so I did it this way just to be on the safe side...
     
       
  8. Like
    yosh reacted to odyssey in Hello from Germany   
    Hello forum,
     
    thanks to all the members for a lot of useful topics, so beginners - like me - can get started with a new platform:
     
    About a month ago I began using a RBL CC3200 board for the development of a CAN bus project. I am driving a BEV (Smart 42 electric drive) and did a protocol analysis to find "interesting stuff" on the CAN bus. The goal is to develop a vehicle status monitor to remotely display this data. So I am now digging into MQTT stuff, encryption of the data, connecting by WiFi or GSM... Currently using Energia - but maybe I have to switch to CCS to get the security things to work?
     
    The current "work in progress" you find here: SmartED status monitor (youtube video)
     

     
    There will be a lot of further questions, so I am hoping for help here...
     
    Best regards
    odyssey
  9. Like
    yosh got a reaction from Nikromante in Issue: Msp Energia And Knob Mode (Fixed)   
    Did you choose the right board and mcu (e.g. G2553) in the menu?
  10. Like
    yosh reacted to greeeg in RGB 4x4 button thing   
    Started looking into a enclosure for this project. ( Typically this would be done before designing the PCB.... )
    But I'd like to make use of some of the rapid prototyping tools I've invested in.
     
    Something I should have done before sending the board off to the fab.. Verified that the holes lined up. (they didn't on board version 1)
    By exporting a copper layer as a dxf or svg, you can then import your PCB into your favorite CAD tool. Luckily Adafruit provide the 3d CAD file for the rubber elastomer buttons.


     
    Good to see that everything lines up. Next step is a simple 2 part case.
  11. Like
    yosh reacted to chicken in [MNP] Think of your Neighbors   
    Monday Night Project (MNP) is my attempt to have a regular rhythm to work on a project from start to finish. Each Monday night, between 8ish and 10ish I will work a bit on the project, and post a write-up about my progress to keep some public pressure up to actually follow through .

    On to my first MNP!
     
    Our local watering hole has a deck overlooking a pond and parts of the community. In winter people usually just go out for a quick smoke, but in summer its rather pleasant to stay out there and banter away, increasing in volume as the night wears on and alcohol gets into heads. Obviously there are complaints .

    One night, after a few beers too many, the idea came up of having an electronic minder, that shushes people when it gets too loud. As with every beer idea, you're surprised to find that there's actually already a product or two or three that one could buy. But where's the fun in that?

    So here we go: The "Think of your neighbors", or Toyn, as I like acronyms.

    A microphone picks up sound which is converted to a digital value by an ADC. Some magic determines what's acceptable, tolerable, or too loud. The magic device then drives a sign with RGB blinkenlights to indicate when it's time to tone it down.

    For A/D conversion and magic I will use a MSP430G2553 on a rev 1.5 LaunchPad. 6 analog outputs should be perfect to drive the LEDs. Programmed with Energia to keep things simple.

    For the microphone, I ordered a breakout board from SparkFun that also includes an amplifier. While I was at it, I also included 6 N-channel MOSFETs to drive the sign, which I expect to be constructed from 1 or 2 non-addressable RGB strips. The parts from SparkFun arrived today, as usual including a convenient red project box.

    I haven't ordered the LEDs yet (probably some cheap LED strips from eBay). For prototyping, a few random RGB LEDs from the chunk bin will do

  12. Like
    yosh got a reaction from RROMANO001 in Mailbag   
    You could go to a veterinarian who makes microchip implants for dogs or to a studio which makes transdermal implants/piercings.
  13. Like
    yosh reacted to B@tto in MT3339 + MSP430G2553 issue   
    Hey guys,
     
    Some news : at this moment I was not looking for it but I found this http://www.alphamicrowireless.com/media/433544/gtop%20module%20application%20note%20-a00%20_mt3339%20series_.pdf
     
    The hardware design application note ! So I think my troubles comes from my tracks : a large major part of the surface under the GPS module is GND plane, but some tracks pass througth it. I think it's the only explanation ... For now I stop to work with this module.
     
    Now I'm working with SIM808 which has, looking to its specifications, an MT3339 as GPS chip (the specs are exactly the same). Only one UART needed and all the job is done by the SIM808, you just have to parse the GPS message when position is ok  
     
    But I also noticed that I still have this big error on position. After spending almost an afternoon, I found the solution : https://labs.mediatek.com/forums/posts/list/124.page  I just needed to convert to "real" decimal coordinates, so multipliate decimal parts by 100/60
     
    Hope it will help
  14. Like
    yosh got a reaction from Cmr in ezchronos msp430   
    May be this is a starting point: http://processors.wiki.ti.com/index.php/EZ430-Chronos#Factory_Programmed_Chronos_Firmware
  15. Like
    yosh reacted to L.R.A in Tiva C Series LaunchPad Based Digital Oscilloscope with Labview Interface   
    The Tiva ADC, like most integrated ADCs in MCUs is not exactly the most accurate, actually most users report that the 3 LSB are useless.

    Have you considered making this with a external ADC? Could even be a TivaScope boosterpack
  16. Like
    yosh reacted to YVO in msp430f5529lp + 430boost-sharp96 + Energia IDE   
    I found where was the problem.
     
    The problem came of :
     
    - SPI.setClockDivider(SPI_CLOCK_DIV2); // SPI_CLOCK_DIV2 is = 2
    That's correct with sharp96 but for sharp128, he must be SPI_CLOCK_DIV2 is = 4.
     
    I'm happy...  
  17. Like
    yosh reacted to spirilis in The MSP432 Launchpad   
    I am fairly certain the XDS-ET on the MSP432 LP should be able to program external devices.  The protocol is ARM SWD fyi.
  18. Like
    yosh reacted to spirilis in The MSP432 Launchpad   
    I think it's sampleable right now.
     
    Sent from my Galaxy Note II with Tapatalk 4
  19. Like
    yosh got a reaction from spirilis in Help to Port MSP430G2744 to Energia   
    http://forum.43oh.com/index.php?/topic/3594-MSP430G2955-Launchpad--Development#entry47184
  20. Like
    yosh reacted to cubeberg in Working with a Gameboy Printer   
    I've got a lot more work for this project - but I wanted to post what I have so far in case anyone else is interested in the code.
    I started with the Arduino library at https://github.com/davedarko/GBPrinter- which looks like it's based on an earlier AVR project - http://hackaday.com/2010/10/08/game-boy-printer-usb-cable-and-software/
    The library itself need some serious help to make this a "real" library.  Right now - pins are hardcoded, the examples don't work completely, among other things.
     
    So - if you'd like to get this working for yourself - here's what you need to do:
     
    Download the library from Github and put it in your libraries folder.   Crack open GBPrinter.h and change delayMs to 60 instead of 20 Connect GND, and the IN/OUT/Clock pins from the printer to your Launchpad For more information, hookup, etc - you can find a lot on google - but I found this page very helpful - https://milesburton.com/Gameboy_Printer_with_Arduino.  There is a download at the bottom of the page for a word doc.  
     
    From there - the example "GBPrinter" will work for a single "block" print (16x20 pixels).  Open the serial monitor and send a single "h".  The serial setup is a bit odd - so here is a slightly modified version where you see a bit of debugging on startup.  GBPrinter.ino
     
    I've got a few more sketches - one including the 43oh logo - but apparently Google Drive didn't sync them, so I'll have to grab those tonight and post them.  
    Dave Darko's site has some image conversion functionality - but I can't get the applet to work.  There is also a PHP site on the github repo that does something as well.  I wrote a c# converter that I'll be cleaning up and posting later.  
     
    My goal end-project is an internet-connected printer - probably something along the lines of an inspirational quote/image-of-the-day for people who visit my desk at work.  
     
    And here are some pics as proof
     

     
     
     
     
  21. Like
    yosh got a reaction from B@tto in MT3339 + MSP430G2553 issue   
    Sounds like a good idea/workaround ... I made some MT3329/39 boards last year and had the same problems on some boards (I tried different designs). I were not able to meet all the design recommendations regarding ground plane etc. given in the data sheet, so this could be a problem with my designs, too. Sometimes it took minutes (10-20) until I had a fix. On other boards/designs I got a fix in less than one minute.
     
    So I will try your workaround as soon as I find some time ...
     
    Best wishes
  22. Like
    yosh reacted to B@tto in MT3339 + MSP430G2553 issue   
    Hi, thanks for your answer.
     
    In the original conception, I use a 1
  23. Like
    yosh reacted to roadrunner84 in MSP430G2553 : missing RAM ...   
    Ive been peeking in the SoftwareSerial source code <energia root>/hardware/msp430/libraries/SoftwareSerial/SoftwareSerial.cpp and it looks like there is a lookup table with baud rates and corresponding settings in there:
    // // Lookup table // typedef struct _DELAY_TABLE { long baud; unsigned short rx_delay_centering; unsigned short rx_delay_intrabit; unsigned short rx_delay_stopbit; unsigned short tx_delay; } DELAY_TABLE; #if F_CPU == 16000000L //formula is roughly rxintra=rxstop=tx = F_CPU / baud / 3 - 5/3 // so, delay = 16000000 / 3 / baud - 5/3 // and, rxcenter = 1/2 rxintra _DELAY_TABLE table[] = { // baud rxcenter rxintra rxstop tx {115200, 15, 32, 32, 32, }, {57600, 38, 78, 78, 78, }, {38400, 61, 123, 123, 123, }, {31250, 72, 155, 155, 155, }, {28800, 80, 170, 170, 170, }, {19200, 126, 262, 262, 262, }, {14400, 177, 353, 353, 353, }, {9600, 265, 540, 540, 540, }, {4800, 547, 1095, 1095, 1095, }, {2400, 1103, 2190, 2190, 2190, }, {1200, 2200, 4400, 4400, 4400, }, {300, 8881, 17762, 17762, 17762, }, }; I have to note my installation is Energia 0101E0011, not 0014. But I think the same holds for 0014.
    This table is not defined as static, and thus will be loaded into RAM, not flash!
    Append the keyword const before _DELAY_TABLE table[] = and you should save 144 bytes of RAM.
  24. Like
    yosh reacted to spirilis in Voltage regulator 12vdc to 3.3vdc   
    I typically use these for such applications-
     
    http://www.mouser.com/ProductDetail/Murata-Power-Solutions/OKI-78SR-33-15-W36-C/?qs=sGAEpiMZZMt6Q9lZSPl3RZClZUSM9XSruU79hDuX5cI%3d
     
    Switching type regulator, so much less heat.  Rated up to 36V, designed for nominal 12V or 24V applications (Vin(MIN) = 7V fyi)
     
    Fwiw- I have one of the 5V versions of this in my wife's car running an arduino-based project that has been running continuously for some 2.5 years now... it works great.
    I did end up putting a filter cap and fuse in-line before the regulator after doing some research into alternator load dumps and the high voltages possible with alternators & noise and such.  Can't recall the exact values for all of them, but one piece involved a 1uF high voltage rated film cap.  Should be high voltage rated anyhow (150-250V or so to cover the worst case scenario).  Then a TVS diode and fuse to blow in case you get such a massive dump.
  25. Like
    yosh reacted to svcguy in Solar Cell Booster Pack   
    This is my first attempt at a booster pack design.  The design is inspired by the TI/Element 14 Fuel Tank Booster Pack.  I wanted to improve on a few of the aspects of the Fuel Tank as well as add a few features to it.
     
    Fuel Tank Cons:
    Non-standard pinout.  The I2C pins are not brought out to 9 and 10 as they should be on the BP standard Not solar friendly.  The charging IC on the Fuel Tank supports solar charging, but it's not easy to add it. Battery is in parallel with load.  The battery is always powering the LP, even when charging current is available Not low-power friendly.  The regulators fitted on the board have a PowerSave mode, but it required soldering a resistor to enable it.  Also, LEDs cannot be disabled Fuel Gauge is not configurable for a different sized battery.  The FG IC used requires a new "golden file" to uploaded to the IC to change any LiPo cell parameters (design capacity, etc). Solar Cell Changes:
    Change I2C pins to comply to BP standard Add DC jack to make connecting solar panel easier Change charging circuit (credit to Adafruit for the charging circuit http://www.adafruit.com/product/390) Add breakouts for the PS and EN pins for both regulators, add jumpers on all LEDs, add the ability reroute I2C (more on that below) Change FG IC to a more configurable one.  BQ27425-G1 is used which uses a generic LiPo impedance curve, and has a configurable design capacity Solar Cell Cons:
    Use of QFN and BGA IC packages makes it impossible to hand solder More to come...  
    I use a CC3200 launchpad and one of my biggest annoyances is that the green and yellow led are shared with the I2C pins.  I wanted to add the ability to move those signals on the booster pack to an alternate location.  This way, no power needlessly wasted on these LED's when not in use.  I also added an INA219 high side I2C current monitor which would give similar abilities to measure current and voltage of the solar panel as the FG IC gives on the battery side.
     
    I wanted to get feedback from the community on the design as well as make it open source so I have placed my entire KiCad project on GitHub.  At the moment, I don't really have any plans to manufacture them or sell them.  This was essentially a personal project for me, but I wanted to share.  I look forward to hearing thoughts on the design!
     
    Schematic:
    SolarCellBoosterPackSchematic.pdf
     
    GitHub repo:  https://github.com/svcguy/SolarCellBoosterPackHW (The docs folder contains pdfs of the schematics if you're not a KiCad user)
    3D renderings:


     
    Thanks,
    Andy
     
     
×
×
  • Create New...