Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. I've just started a project "Sensorless BLDC Motor Controller: Modular System" on Kickstarter. It is open source hardware/firmware project. https://www.kickstarter.com/projects/946939931/sensorless-bldc-motor-controller-modular-system Event driven finite state machines (FSM) approach was used for this sensorless BLDC motor controller firmware. The programming language is C and there is no operating system. It was implemented by myself from scratch based on the well known motor control, other algorithms and the firmware is a totally open source product. What the implemented firmware can do? Uses a 31.25 kHz symmetric PWM scheme to better detect BEMF zero crossing 12-bit ADC configured as a window comparator makes more error prone zero crossing detection, especially on a start Initial Position Detection (IPD) algorithm was implemented based on Variable Inductance Sensing Method A rotor revolving direction can be changed any time on a fly, that can be used for "reverse braking" Safety stop when a motor stalled Motor speed control (start, stop, up, down, duty cycle %) and obtaining a real time telemetric data (speed, voltage current) using serial UART interface configured for 460800 bps Motor speed control using standard 1...2 ms PPM of remote control (RC) devices I hope it can help an engineering community. Thanks.
  3. My apologies. I did see that you had mentioned the fact that you are using the 5529. I didn't connect the dots very well between your hardware and the MSP430G2 Launchpad as it pertains to the CC110 Booster Pack. When I tested the CC110 I did use the MSP430G2 so disregard my comments on everything except the actual results of my distance test. Perhaps @energia could jump in and shed some light on the Energia implementation as it pertains to the CC110 Booster Pack and the issue you are experiencing. Wish I could have been more help.
  4. Last week
  5. Sorry dubnet , I see you did say GUI in your message. But if you know something about the CCS example project on the CD please advise. Thanks -Don
  6. I need help, I am trying to get my nokia 5110 working with a CC3200 launchpad. I was able to get the Nokia working with the msp430g2553 using the LCD_5110 library. But no Luck with the CC3200, I also tried it with the LCD_5110_SPI library. I am hoping someone will share a working example for the Nokia on a CC3200. I tried the suggestions in this post. https://forum.43oh.com/topic/7768-problem-with-cc3200-and-lcd5110-library/?tab=comments#comment-62408 Thank you.
  7. By demo software do you mean the GUI to control and change parameters or I see a CCS project under CDROOT\Firmware\CCS and I'd assume its using the libraries under CDROOT\Firmware\src, thats the only place with libraries. I haven't tried that, didn't' know how to make it work with a msp430f5529lp and I didn't see any documentation on it, for example what kind of test is it? Is it same as the Wirlesstest.ino in Energia or does it just flash led's when I push a button, does it output information I need to read on a serail port? Like the GUI I think that firmware is expecting the MSP-EXP430G2 board from what I can see in the directories, did you use theEXP430G2 launchpad or another. If you have a pointer of what I'd need to modify to make it work on the 5529LP I'd appreciate it much or can you explain to me basically how to use that firmware I'd really appreciate it. I understand how to use CCS . If you are talking about the GUI it won't run on the msp430f5529lp it wants the MSP-EXP430G2, below is what I did to try and make the GUI work on the 5529LP or with just putting a processor on the CC110L board. You dont need to read it, its kind of off topic and I dont want to change this to a topic of how to port the GUI sofware to other boards, just FYI below, maybe I should tick with trying to get that other software on the disk Thanks much my friend! -Don The GUI, wants the MSP-EXP430G2 Launch pad and it doesn't work on the msp430f5529lp I have. Seems that I should be able to change a board description file to make it work but I cant find a way to do that. I put socket on the CC110L board, thinking I could put the processors that comes with the CC110L kit, it should look just like the 430G2 board then, it has same connections from processor in socket to CC110L. My plan was to use the ezFET Lite emulator on my 5529LP, to communicate to that socketed processor on the CC110L board. I removed the 2-pin jumpers on my 5529LP between the emulator and 5529LP section, then jumpered the UART signals and jtag signals from the emulator up to CC110L board, and of course power and gnd. That should have worked but I got no communications. I had same eact wiring as what the 430G2 board would have had but it didnt work with the anaren demo software. Maybe the processor they gave me wasn't pre flashed, I had read others had that problem but that was people back 2 or 3 years ago when Anaren first released the board. Thanks for the advice, if anything pops up please advise. I'm going to try to flash the processor anaren gave me or I'll just spring for 2 MSP-EXP430G2 to see if these CC110L's work, I bought alot of 5529LP launch pads, kind of aggrevates me I've been stuck this long and they wont work uunder a supposedly perfect Energia sketch.
  8. Have you tried to use the demo software included with the CC110 Booster Pack to verify performance? It allows you to set the various parameters of the CC110 from a GUI. The default program for the Launchpad itself is preprogrammed in the MSP430G2553's included with the CC110 Booster Pack. I was able to achieve reliable communications between two modules at a distance of 300 feet or more between two floors inside a concrete/metal commercial building.
  9. Energia Version energia-1.6.10E18 I beleive this is refered to as Energia V17 Anaren C110L Booster Pack - there is no revision on silkscreen MSP430F5529 Launc Pad Rev 1.6 Running Energia Sketch AIR430BoostUSAFCC -WirelessTest.ino Including test serial output dispaly at end of this write up Basic Problem: CC110l Signal Receive strenght is reported near minimum when boards are only 6 inches to 1 foot aparts. Range is only a few feet before test crash. RSSI reports -45 at about 6-8 inches and -60 at 12-14 inches. I'm running wirelesstest.ino using 2 configurations of MSP430F5529 with a CC110L Booster Pack. This test sets up both boards to transmit and recevie an incrementint 0-9 count from each other and display the DATA count with RSSI, LQI, CRCBIT status info. It infintely repeats, no action required. I have both on seperate USB ports on my laptop mapped to serial COM5 and COM7. Both COM ports put out the status seen below and repeat endlessly with no error. I had same problem with previous version of energia and have tried ths with 4 different CC1101 boards. The launch pads run other programs fine. The boards are about 6 inches aprt and report RSSI value of -45 and going to about a foot its -63, I can see the RSSI value change in real time as I move the boards closer or further apart. The sketch has variable POWER_MAX set. I runt the sketch through Energia showing the near bottom signal strenght and I have also imported the wirlesstest.ino to CCS and reloaded the code o launchpads using CCS to try to find out what value is being programmed for power level but I'm not so experienced in debugging this very complcated driver code with structures calling structures and pointers used everywhere. I can't understand why the signal strenght is so low, I can see any configuration error I'm making either H/W or Energia -wise. If the code is bugged surley other would see this. But it seems like for some reason the POWER_MAX variable is not being programmed correctly. It goes through several redefines and POWER_MAX is reall not POWER_MAX, It sets the board to around 4dbm as I can trace through the driver files but that is pretty high power anyway, and I should be able to go thru rooms and not drop out with boards a few feet apart. I have tried this in different rooms and places and have tied battery power to my boards to seperate them from the PC and I get the same problem. The other wireless tests in the FCC directory fail as well after a few feet of board seperation. As far as RSSI value reported below the CC110L specification Section 5.18.2 page 37, in middle of page it has a note saying RSSI is reported in dbm value. Below that it states the RSSI Status Register is a 2s compliment and gives equations of how to convert to dbm, below that are graphs that show Power Level vs RSSI value. These 2 graphs are nearly 100% linear so fo a given RSSI value, lets say best case I'm getting of -45, the output power level is -45 dbm. So weather RSSI resgister is the actual dbm or needs conversion either way, my power is near bottom and after a seperation of a few feet the serail output stops logically because there is near 0 signal strenght My though is to try and use CCS to find what value is being programmed for power level. That is not so easy, I've debugged and looked over the code in great detail but I'm more towards the upper novice when it comes to code this complicated. If anyone has an idea why this low signal level may be happening or can advise a idea of what I could use as a watchpoint for the programmed power level value that would help alot. I've had these for 6 months now and have yet to make them work at anything other than a few feet of distance. Some CCS debug info I've found: Sketch Begins with Radio.begin(0x01, CHANNEL_1, POWER_MAX); In A110X2500Radio.c POWER_MAX is redfiend: Line 77 #define POWER_MAX POWER_4_DBM // Alias for maximum provided power In A110X2500Radio.c Line 69 POWER_4_DBM = 0, // 4dBm In A110LR09Config.h starting at Line 64 there is a large " Power Table user Settings" All but 5 entries are commented out. One of the uncommented lines, Line 85 #define A110LR09_POWER_4_0_DBM // 4.0dBm Note the A110LR09_POWER_4_0_DBM very close to POWER_4_DBM from A110X2500Radio.c Line 69 I'm wondering if this table is supposed to be selecting the actual power level and for some reason the #define POWER_MAX POWER_4_DBM statement that occurs early on is not getting translated or equated correctly, the code doesn't see a valid power level selected and its programmed at this low value or this low power level I'm seeing is the default? Thanks a million , sorry for the book I wrote, would this have been more appropriate put in Energia Libraries, I'm a newbie, not sure - Don Below is the output from one of the boards on serial port, the other boards output is identical. RX (DATA, RSSI, LQI, CRCBIT): (0Air!, -45, 0, 1) TX (DATA): 2Air! RX (DATA, RSSI, LQI, CRCBIT): (1Air!, -45, 0, 1) TX (DATA): 3Air! RX (DATA, RSSI, LQI, CRCBIT): (2Air!, -45, 0, 1) TX (DATA): 4Air! RX (DATA, RSSI, LQI, CRCBIT): (3Air!, -45, 0, 1) TX (DATA): 5Air! RX (DATA, RSSI, LQI, CRCBIT): (4Air!, -45, 0, 1) TX (DATA): 6Air! RX (DATA, RSSI, LQI, CRCBIT): (5Air!, -45, 0, 1) TX (DATA): 7Air! RX (DATA, RSSI, LQI, CRCBIT): (6Air!, -45, 0, 1) TX (DATA): 8Air! RX (DATA, RSSI, LQI, CRCBIT): (7Air!, -45, 0, 1) TX (DATA): 9Air! RX (DATA, RSSI, LQI, CRCBIT): (8Air!, -45, 0, 1) TX (DATA): 0Air! RX (DATA, RSSI, LQI, CRCBIT): (9Air!, -45, 0, 1)
  10. Problems with Energia on MSP430 LaunchPad

    Hi, I'm getting the same issue when attempting to run the demo program Blink 'usbutil: unable to find a device matching 0451:f432 '. Looking at the 'Common error messages' no further forward. I am using following SW versions:- PC os - WinXP Energia 1.6.10E18 ES430-UART driver The board thats indicated on the ide is :MSP-EXP5430G2553lp' ? The board documentation only has - MSP-EXP5430G2553- so not sure what lp means on the Energia IDE. Port is :COM3
  11. Part Number: TM4C123GH6PM Tool/software: Energia 1.6.10E18 LaunchPad board name and version: TIVA TM4C123GH6PM IDE version: Energia 1.6.10E18 or CCS7.0 OS name and version: Windows7 While uploading a simple LED Blink code on Tiva TM4C123GH6PMevaluation board, I get an error "Failed: Unable to find an entry in the TPI ini file for "TMS470REX"", failing to upload to the device. Please help!
  12. Msp430 software serial error

    Use the hardware serial to communicate, not software serial. As dubnet noted, post your code.
  13. Without LaunchPad

    Yeah. Its so hard understanding for me
  14. Without LaunchPad

    Hi @mesuttopuzlu you need to create a new variant. Do a search on 43oh for “Energia variant”. See for example:
  15. Without LaunchPad

    Hi everone. I am newbe on MSP430 family and new member this forum. Can I use Energia Framework for another MSP430 family without LaunchPad. Because we have a started project that is about water speed measurment and we used MSP430F4152 MCU on the HardWare. There is no posibilty changing MCU on project now. My question is so simple; Is there any posibilty programming MCU on Energia (for example MSP430FR4133 or MSP430F4152) without LaunchPad?
  16. Msp430 software serial error

    With the 5529 you don't want to use software serial. It isn't necessary as the 5529 has 2 hardware serial ports. if you are doing an include of the software serial library in your code you will want to remove it. Also, please only post once. You may also want to post your code with your request for help. It allows folks to better help you.
  17. Hi , I had a problem blinking a Led in a simulink model using Embedded Coder For Energia package(having a pulse generator and digital output on pin 39) , it gives me that error and am irritated about it : 'C:/Program' is not recognized as an internal or external command, operable program or batch file. gmake: * [Tawfiks.o] Error 1### Creating HTML report file Tawfiks_codegen_rpt.html### Build procedure for model: 'Tawfiks' aborted due to an error.Error(s) encountered while building "Tawfiks":### Failed to generate all binary outputs. Any idea how to solve this problem?
  18. Hello, I'm actually trying to communicate with Gps through Uart. But every time its giving error like this. error: #error This version of SoftwareSerial supports only 20, 16 and 8MHz processors. I don't know how to solve it. so, please help me to finish this project. it's very urgent Thanks in advance.
  19. Problems with Energia on MSP430 LaunchPad

    > Has anyone found a solution? Maybe this will help??? https://github.com/energia/Energia/wiki/Common-error-messages
  20. energia software serial with msp430f5529

    My understanding is that the software serial is only supported in the value line MCUs under energia. However, the 5529 has two hardware serial ports available under energia. I have used both ports on the 5529 with energia in past projects.
  21. while integrating GPS with my msp430. I'm getting these errors from the library. so please someone help me out. C:\Users\softdesigners\Desktop\energia-1.6.10E18\libraries\SoftwareSerial\SoftwareSerial.cpp:81:2: error: #error This version of SoftwareSerial supports only 16MHz processors C:\Users\softdesigners\Desktop\energia-1.6.10E18\libraries\SoftwareSerial\SoftwareSerial.cpp: In member function 'void SoftwareSerial::begin(long int)': C:\Users\softdesigners\Desktop\energia-1.6.10E18\libraries\SoftwareSerial\SoftwareSerial.cpp:251:31: error: 'table' was not declared in this scope C:\Users\softdesigners\Desktop\energia-1.6.10E18\libraries\SoftwareSerial\SoftwareSerial.cpp: In member function 'virtual size_t SoftwareSerial::write(uint8_t)': C:\Users\softdesigners\Desktop\energia-1.6.10E18\libraries\SoftwareSerial\SoftwareSerial.cpp:319:26: error: 'XMIT_START_ADJUSTMENT' was not declared in this scope
  22. MSP432 RTC User adjust

    now I have done some alterations on my file clock.c, and i see in the register's the clock working, so how can I get each parameter (Year, Month, Day, Hour, Minute)
  23. hello! have you got the code for the cc3200?
  24. Earlier
  25. mCPC, C-Programmable Controller

    mCPC430 is an industry ready, freely C-programmable controller, based on MSP430 processor. It offers the flexibility of C programming language using integrated development environment from Texas Instruments. The main advantage of using this device is that it can take a product from concept to market in a short time by investing only in writing the application code. Thus, the product designer will focus on writing the application code, based on an already designed and tested hardware system. Model mCPC Microcontroller MSP430F6736A 25 MHz system clock, 128 KB Flash, 8 KB SRAM, 24-bit Sigma-Delta ADC, RTC, 32-bit hardware multiplier RTC 32.768 kHz, ±20 ppm Digital inputs 2 digital inputs Digital outputs 2 digital outputs, optically isolated, open-collector Analog inputs 2 universal analog inputs (differential 24-bit) - thermistor, RTD Pt100, Pt500, Pt1000, 2 or 4 wire - bridge sensor - electronic device 2 analog 4-20/2-10 mA (10-bit) Communication interface - 2 x RS232, ultra-low power - RS485, MAX3471, 1.6 μA with receiver enabled Memory archives EEPROM, 25LC256, 32768 x 8-bit organization Power supply Battery 3.6V, A, AA and/or external power supply 5 ... 27VDC, or photovoltaic panel Backup power 330 mF supercap Ambient temperature -25 … +55 °C Housing Polycarbonate UL 94 V0, crystal-clear lid, Bocube Protection Class IP66 Dimensions Length-151mm x Height-80mm x Width-60mm
  26. @energia Sorry for the delay following up on this - had some family medical issues that I had to be present for. If it is okay, I'm posting my version here in case somebody else needs to do the same thing, will save them a few steps I basically combined the sketch you linked to with the WPA example - this allowed me to get details about the board (mac, IP) and do basic troubleshooting. Switched the Ethernet client to WiFi and plugged in my own values for SMTP and email addresses. I put a comment in indicating which lines somebody who wants to use this would need to change. My next step is to combine this with the "test" firmware I wrote for my PCB, and, if everything works on the Launchpad, upload the bin using Uniflash. Will let you know how that works out! Code from attached Sketch: //combines the WPA WiFi example with the Arduino "panic email" sketch - uses WiFi client in place of Ethernet - WPA client shows data about your board and connection in serial monitor // //replace the variables on lines 8, 10, 12, 15, 17, 18, 67, 71, 75, 82, and 84 (for your board and your SMTP server) // //If all variables are correct, board connects to router then waits until SW3 is pressed, then sends email. // #include <SPI.h> #include <WiFi.h> WiFiClient client; //the Pin for SW3 on a launchpad int buttonPinSW3 = 3; //your router's SSID char ssid[] = "YourSSID"; //your router's password char password[] = "YourPassword"; boolean statusCheck=false; //your board's mac address byte mac[] = { 0xDA, 0xE5, 0x13, 0x25, 0x47, 0xB8 }; //your SMTP server char server[] = "mail.send.com"; int SMTPport = 25; void setup() { Serial.begin(115200); Serial.print("Attempting to connect to Network named: "); Serial.println(ssid); WiFi.begin(ssid, password); while ( WiFi.status() != WL_CONNECTED) { Serial.print("Attempting to connect to Network named: "); Serial.println(ssid); Serial.println("."); delay(300); } Serial.println("\nYou're connected to the network"); Serial.println("Waiting for an ip address"); while (WiFi.localIP() == INADDR_NONE) { Serial.print("."); delay(300); } Serial.println("\nIP Address obtained"); printCurrentNet(); printWifiData(); pinMode(buttonPinSW3, INPUT); } void loop() { if(digitalRead(buttonPinSW3)==HIGH && statusCheck==false) { if(sendEmail()) Serial.println(F("Email sent")); else Serial.println(F("Email failed")); statusCheck = true; } else if (digitalRead(buttonPinSW3)==LOW) { statusCheck = false; } } byte sendEmail() { byte thisByte = 0; byte respCode; if(client.connect(server,SMTPport)) { Serial.println(F("connected")); } else { Serial.println(F("connection failed")); return 0; } if(!eRcv()) return 0; // change to your public ip client.println(F("helo [173.6.157.102]")); if(!eRcv()) return 0; Serial.println(F("Sending From")); // change to your email address (sender) client.println(F("MAIL From: <sender@send.com>")); if(!eRcv()) return 0; // change to recipient address Serial.println(F("Sending To")); client.println(F("RCPT To: <reader@readme.com>")); if(!eRcv()) return 0; Serial.println(F("Sending DATA")); client.println(F("DATA")); if(!eRcv()) return 0; Serial.println(F("Sending email")); // change to recipient address client.println(F("To: You <reader@readme.com>")); // change to your address client.println(F("From: Me <sender@send.com>")); client.println(F("Subject: Panic Alarm!\r\n")); client.println(F("The panic button was pressed!!!")); client.println(F(".")); if(!eRcv()) return 0; Serial.println(F("Sending QUIT")); client.println(F("QUIT")); if(!eRcv()) return 0; client.stop(); Serial.println(F("disconnected")); return 1; } byte eRcv() { byte respCode; byte thisByte; int loopCount = 0; while(!client.available()) { delay(1); loopCount++; // if nothing received for 10 seconds, timeout if(loopCount > 10000) { client.stop(); Serial.println(F("\r\nTimeout")); return 0; } } respCode = client.peek(); while(client.available()) { thisByte = client.read(); Serial.write(thisByte); } if(respCode >= '4') { efail(); return 0; } return 1; } void efail() { byte thisByte = 0; int loopCount = 0; client.println(F("QUIT")); while(!client.available()) { delay(1); loopCount++; // if nothing received for 10 seconds, timeout if(loopCount > 10000) { client.stop(); Serial.println(F("\r\nTimeout")); return; } } while(client.available()) { thisByte = client.read(); Serial.write(thisByte); } client.stop(); Serial.println(F("disconnected")); } void printWifiData() { // print your WiFi IP address: IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); Serial.println(ip); byte mac[6]; WiFi.macAddress(mac); Serial.print("MAC address: "); Serial.print(mac[5], HEX); Serial.print(":"); Serial.print(mac[4], HEX); Serial.print(":"); Serial.print(mac[3], HEX); Serial.print(":"); Serial.print(mac[2], HEX); Serial.print(":"); Serial.print(mac[1], HEX); Serial.print(":"); Serial.println(mac[0], HEX); } void printCurrentNet() { Serial.print("SSID: "); Serial.println(WiFi.SSID()); byte bssid[6]; WiFi.BSSID(bssid); Serial.print("BSSID: "); Serial.print(bssid[5], HEX); Serial.print(":"); Serial.print(bssid[4], HEX); Serial.print(":"); Serial.print(bssid[3], HEX); Serial.print(":"); Serial.print(bssid[2], HEX); Serial.print(":"); Serial.print(bssid[1], HEX); Serial.print(":"); Serial.println(bssid[0], HEX); long rssi = WiFi.RSSI(); Serial.print("signal strength (RSSI):"); Serial.println(rssi); byte encryption = WiFi.encryptionType(); Serial.print("Encryption Type:"); Serial.println(encryption, HEX); Serial.println(); } WiFi_Email_Example.ino
  27. Congrats for reaching level 430

    Definitely. I have to get badges back. I'll look into this. Good eye! Goodjob Fmilburn!
  28. SRAM decay and reset

    Hi all, I have a potentially odd question. I am using and MSP430FR5994 board and would like to measure SRAM decay. However, whenever I toggle the system from on to off and then on again the locations in SRAM that I am reading are full of random of values. While I would expect random values, I would not expect them at the timescales that I have the system off. The system is off for no more than 10ms. According to https://spqr.eecs.umich.edu/papers/rahmati-usenix12.pdf that should be short enough where I get very little decay. I should also specify that the random values seem to be consistent across runs; what I mean is they don't really seem random at all since the values appear each time. Some Questions: 1. Could this have something to with my SRAM controller settings? I do not set anything in this regard. 2. Could this have something to do with the way I am powering the board? Probably out of the scope of this forum, but I do have a capacitor, so even though I say "turn off," the voltage supplied to the board usually does not reach zero. Cheers!
  1. Load more activity
×