Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won

  1. personally I use the SPI method exclusively for the smart LEDs (WS2812B, and sk6812 recently) one trick for getting the timing to cooperate is to set the SPI divider to get you close then you can change the rate of the MCLK registers to fine tune the timing. it only has to be changed while the SPI is transmitting so you can change the clock back to normal "speed" after your done with the transmission.
  2. well i decided to try and do a switching converter for the power on my board because i figured it is what I neede (LDO in reality would have been cheaper / easier, live and learn) the chip i designed the circuit for was the TPS62177 fixed output 3.3v regulator... all good and well but well the PDF datasheet is shared between that and the TPS62175 which is the adjustable version... well needless to say the 62175 was what got ordered. and an adjustable regulator in a fixed circuit umm well blows a hole in the chip, quite a spark erupting from it as well. not the best image but its hard to capture anyway it should be fine once I order the right part... hehe pays to make sure you check the parts. on the other note i now have 29 of the TPS62175 chips that I have absolutely no use for, so if anyone wants them (about 50 bucks worth of them) let me know.
  3. hey guys I decided to cut down a launchpad to send just the programmer piece to a customer to load a program into a product with. and i was getting annoyed that the cutboard refused to talk to or download to a processor, while a full launchpad worked just fine. I knew you could cut the board at the dotted line, so i was frustrated. after some research it turns out the communication trace going to the RST (and maybe the TST) one as well actually is routed down between the two rows of pins on the 10 pin jtag header between the two sides of the launchpad board... if you follow the dotted line all the way through and bisect that header, you end up cutting the communications line. so i soldered some replacement lines in and poof it works fine... so just a note if you want to cut a launchpad down, cut on the far side of the header retaining all 10 pins, or atleast through the pin holes on the bottom. Don't follow the dotted line, to make sure you retain the programming lines... just thought I would share
  4. JWoodrell

    Your last beer

    Barq's root beer... (hehe i never could get into the taste of beer, too bitter for me
  5. JWoodrell

    small solution for detecting 120V AC as a digital input

    unfortunately i have to detect 16 different lines (these are output verification on a relay control module, so i gotta do 15 copies of this circuit, and don't have the room to implement alot of these suggestions.) the msp430 talks to an open drain constant current led driver, driving the LEDs inside some SSR relays to switch the AC signal to control the 120v relays on the target piece of equipment) each of these outputs is what I am sensing and feeding into the sensing optocouplers, all acting as open drains on on a common sensing bus, so when i put it through self test, it turns each one on and off seperately looking for that sense buss to be pulled low. here is what the board layout looks right now (with the capacitor driven optos) looks like for those playing at home... the LED driver is a Texas Instrument TLC5926 the SSRs are Panasonic AQH3213A the Optocouplers are Lite-On LTV-814HS, and LTV-844HS (single, and 4 channel units) and the 3.6v regulator is a Texas Instrument TPS54336 switcher this PCB actually serves 3 functions. the wall mounted box has this board to drive the primary 15 relays, if I cut along the 120v line, and mount a second version via standoffs with the JP points and close the solder jumper on the back, it will act as a second relay board with its LED driver serial input coming from the output of the main LED driver, so it is a second set of 15 relays as an optional expansion for them. neither of these have the MSP430 mounted on them though, the hand held box has this board in the base with the MSP430 mounted and none of the 120v stuff populated, and going out the PB_IO header, and the OLED_IO header to the frint panel of the handheld unit to the switch board that has the user push buttons and OLED on it for the interface, so this same PCB has 3 different jobs built into it.
  6. JWoodrell

    small solution for detecting 120V AC as a digital input

    that is something to say towards the opto then, because worst case is the capacitor would fail shorted and would cause the optos LEDs to blow and wouldn't take out anything else cause the output side is still isolated.
  7. JWoodrell

    small solution for detecting 120V AC as a digital input

    the power for this is coming from a 840KW 4160V generator, so power is pretty much unlimited, my primary concerns are isolation, footprint, cost, and excessive heat dissipation. I like that sensor chip, but at 3.75 a piece they will get expensive, and sensing current would require the relay at the far end to be working. the second concern is the need for 15 copies of this on the board and those SOT8's will take up too much space i think. Thanks for the suggestion, I may use those for a different function i need though in studying the charts in the datasheet, I only have to overcome the current flowing from the pullup resistor on the input pin to drag the line negative, so about 0.072 mA so based on the current transfer ratio it looks like 1 to 2 mA would be the actual minimum to be safe, but since the capacitor doesn't disipate heat I'm not all that concerned, I will play with smaller currents and see if it improves the timing pulse action.
  8. I posted this on a different forum and got some help but wanted to run it past you guys to see if anyother ideas shook out of the tree. [this is a repost from a different forum combining a few of my posts] hey guys the project I am working on requires me to sense the presence of 120v on 15 different lines back to my microcontroller, trying to do it with optocouplers means i have to drop 120v across resistors to provide 20mA to the opto LED means i am dissipating 2.5W on 15 different resistor sets... 30W in a relatively small plastic box is gonna get very hot. there has to be a simple way to detect, hey there is voltage here. no power is required eventually just driving the input to the micro through an opto for isolation. I can't find any microtransformer on digikey, although I may not be looking in the right place. the end goal is just verifying the SSR relays are actually "closing" to verify that voltage is being sent out to the control relays. they are 100-c09d10 allen bradley relays on the equipment I am building this for so I have to work with them. they only draw about 80mA when once they are closed so i don't think there is enough for a current sense solution... but I am open to whatever ideas people have. thanks for helping me with this, ac stuff is still new to me, my projects are usually just 3.6-5V dc stuff. [----------------------------------------------------------------------------------------] well this is how this ended up the simulator predicted 30mA through the opto-coupler, and the physical circuit hit around 36mA if you discount an oscillation (which happens each time and I'm not sure why but i don't think its a problem) the part is rated for a max of 150mA input current so i don't think 30-40 is gonna hurt it. i think i can write off the difference to the simulator using "generic" LEDs and also the resistor being 5% and the cap being 10% tolerance. ah well close enough I am using the input pullup resistor in the micro controller to pull up the open collector on the output transistor, so it goes low when voltage is present, and high when not... and as a nice side effect there is a short timing pulse when the current is 0 (changing directions) at the top and bottom of the sine wave that gives me a short timing pulse i can time the operation to for a zero crossing switching of the SSRs all in all this worked out very well, thank you guys for the help. there is a small oscillation (at around 1MHz but it is very small around 2mA) but I'm not worried. [----------------------------------------------------------------------------------------] how I ended up hooking it up. The optocoupler does in fact pull the line low, and even gives me a timing pulse incidentally here is the oscillation at the peak current draw here is the current draw plot in general (across a 100 ohm resistor) more of a triangular wave rather than a sine that the simulator predicted, but i guess thats real world components any thoughts on better or simpler ways to do it?
  9. JWoodrell

    How slow can MSP430 run?

    well the processor can and will sit paitently by and wait for the next clock, this is how the debugger on the launchpad works anyway, it counts the clock cycles and when it stops the clocks at a given clock then it knows where the target processor is in its cycle.(i think) so you can in theory feed as few or as many "clocks" in as you need and the logic state machine will faithfully step forward as slow as you want, just realize how many tens or hundreds of clocks it can take to perform a given function (which you don't notice at MHZ speeds, but if you were at say 10 clocks / second would be forever to even execute an interrupt (which takes 6 clocks until it starts the subroutine)
  10. JWoodrell

    atx power box

    The earth ground is commected to the groundame of the pcb in the same place it was in the metal case (where the pcb mount holes are, i wired those 4 points together and connected the earth wire. That is also the common output line for the dc Sent from my iPhone using Tapatalk
  11. JWoodrell

    atx power box

    well I needed a full 24v supply to test my project here (only 300 mA) and i thought hey i can snag the 12V and -12V rail from my workhorse ATX supply i have, but then i thought this morning, HEY i got that Dangerous prototypes ATX breakout board as a prize on the forum here a while back although at this point i don't remember for what. so i was off to the races, resoldering and reworking the dc half of the ATX supply board to clean up the wan-hung lo construction and massive blobs of solder all over everything... anyway it now only has a single line from each rail to the pin on the breakout board rather than the 6 to 8 wires per rail for the computer like it used to have, much cleaner and better airflow. anyway stuffed it in a spare 4"x6"x2" project box i had left over, with just alittle encouragement two of the mounting holes for the atx pcb mounted to the mounting bosses in the box, so its actually screwed down nicely. used the stock plastic isolator sheet that used to isolate the pcb from the metal atx frame to isolate the atx breakout from the high voltage stuff, as well as directing air flow around in the case. works pretty well, and not as large as I thought it would end up being when i started. I like how it turned out you can see the LEDs shining through the label for each rail. the guts from my atx, and the breakout board.
  12. JWoodrell

    how to load a compiled binary file?

    I need to send an updated program to a customer to load. but I don't want to send the c++ files and CCS. I know I can compile to a binary file, how can i get the customer to download this file to the msp? I can provide the loader circuit from the launchpad, but what program do they use and whatnot, I have never had to load a program other than from the c++ inside CCS
  13. JWoodrell

    checking a character string in a buffer

    thanks for the fast reply pabigot. string.h was already included for other stuff, so bonus. if ( strncmp(Line,"[start config]",lineLength-2 ) == 0) works beautifully for me.
  14. hey guys working on reading a config file and parsing it. so i read some number of bytes into a buffer (64 byte long) is there an easier way to test is the bytes read match a given string. currently I have to do this *read bytes* if (Line[0] == '[' && Line[1] == 's' && Line[2] == 't' && Line[3] == 'a' && Line[4] == 'r' && Line[5] == 't' && Line[6] == ' ' && Line[7] == 'c' && Line[8] == 'o' && Line[9] == 'n' && Line[10] == 'f' && Line[11] == 'i' && Line[12] == 'g' && Line[13] == ']'){ printf("it matches"); } this works but is a pain in the butt to work with. but what I would like to do is something more like this *read bytes* if (Line == '[start config]'){ printf("it matches"); } but this fails because "Line" is a 64 byte long buffer and I only read 14 bytes into it, so the rest of the garbage space is still there. does this make sense? I know how many bytes i read into it is there someway to make it only test x number of bytes from a buffer when testing for equality? or some other thing I can't even thing of.
  15. what usb are you using, is it the software bitbang USB code we wrote here or some hardware solution. how is your pcb laid out what pins of the debugger are you hooking up to, just the test reset lines, or all 6 (tst, rst, vcc, gnd, txd, rxd). does the chip "run" without the debugger and the usb just doesn't enumerate, or does it not run at all? many questions, need answers [edit] hehe and I posted that before reading the rest of the thread, but several are still valid questions [/edit] I know bbusb is sensitive to the clock frequency playing nice, maybe the debugger is messing with or correcting your crystal frequency? if one usb type will enumerate, but another wont then your device , config, and interface descriptors may be malformed for the combo keyboard / mouse. it is ultra picky on getting those right