element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Test & Tools
  • Technologies
  • More
Test & Tools
Documents Programmable Electronic Load - ToDo and Done
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Test & Tools to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Engagement
  • Author Author: Jan Cumps
  • Date Created: 16 May 2020 6:38 AM Date Created
  • Last Updated Last Updated: 16 May 2020 6:40 AM
  • Views 502 views
  • Likes 2 likes
  • Comments 0 comments
Related
Recommended

Programmable Electronic Load - ToDo and Done

The list of todo and done entries in the main Programmable Electronic Load was becoming too big.

I've offloaded it to this post.

 

To resolve:

How?
power launchpad when device not usb connected,Either PC, or when used stand-alone a USB power brick
separation of load power rails and control electronic rails (don't damage a connected PC)I2C isolator IC, and I2C only interface with power part.
MSP432 has no DACExternal DAC, with I2C
is isolation needed between msp and load?I2C isolator IC, and I2C only interface with power part.
overload protection?yes, in firmware, based on FET specs - initial a simple shutdown

MSP432 different adc results A0 and A1 - raised on e2e forum

https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/563659/2065067#2065067

Must be my interpretation of the interface or a thing in TI-RTOS driver.

The raw examples give a nice 729 nd 672 for 0.109V input. That's close enough.

Button to turn off  remote access?not planned, but can be done using free MSP432 GPIO, no isolation needed
Block remote commands when sensing front panel activity?not planned, the device doesn't have front panel. Can be implemented if needed
What is the power-on state?same as *RST: Constant current, 0 amperes, input off

watch-out: with built-in ref, max ADC value is 2.5V. We need to scale our sense resistor/whatevers for that.

We can have 3.3V conversion if we have a reasonable external reference. We would have to present this on pin P5.6 - by default muxed to PWM TA2.1

Not relevant, external ADC with I2C
PWM signals not available on BoosterPack Connectors. They are routed to Green and Blue led.Changed MSP_EXP432P401R.c to route to P2.6 and P2.4

PWM frequency (and rc filter) dependent on the number of steps we allow between duty 0 and 100%

Only checked with setting the parameters in microseconds. I'll also test how granular we get with fractions.

External DAC, with I2C
I2C speed sufficient for the control loop?

A single conversation with a TMP006 for benchmark at 400 kHz: 140 µS end-to-end on oscilloscope - add some time before and after the conversation for setup and data collection.

Peripheral can go to 1 MHz - not standard supported in RTOS, would only use if speed is an issue and the I2C slaves can have it.

how to power the DAC and ADC when LaunchPad is isolatedfixed. The driver board delivers that
ADC1115 address by default same as DAC address 0x48

In schema/PCB, configure for 0X49 by connecting P1 tp V+

 

$6 or more  but this would work

http://www.ti.com/lit/ds/symlink/dcp021212.pdf

http://www.ti.com/lit/ds/symlink/dcr010505.pdf

 

 

11.1 Layout Guidelines

Carefully consider the layout of the PCB in order for the best results to be obtained. Input and output power and ground planes provide a low-impedance path for the input and output power.

 

For the output, the positive and negative voltage outputs conduct through wide traces to minimize losses. A good-quality, low-ESR, ceramic capacitor placed as close as practical across the input reduces reflected ripple and ensure a smooth start-up.

 

A good-quality, low-ESR, ceramic capacitor placed as close as practical across the rectifier output terminal and output ground gives the best ripple and noise performance.

 

The location of the decoupling capacitors in close proximity to their respective pins ensures low losses due to the effects of stray inductance, thus improving the ripple performance. This location is of particular importance to the input decoupling capacitor, because this capacitor supplies the transient current associated with the fast switching waveforms of the power drive circuits.

 

If the SYNC pin is being used, the tracking between device SYNC pins must be short to avoid stray capacitance. Never connect a capacitor to the SYNC pin.

If the SYNC pin is not being used it is advisable to place a guard ring (connected to input ground) around this pin to avoid any noise pick-up. Ensure that no other trace is in close proximity to this trace SYNC trace to

Maybe a port of the Arduino PID Library? Brett has documented this very deeply. Also has a self-train engine. Needs conversion from c++ to c (done that before for LCD libs, not that hard). Generic.

Another option is a PID library that Martin Valencia and I selected as project of the month. This one is written for MSP432 (direct register, not driver/RTOS compatible). It's more a school example than a generic library.

port of the Arduino PID Library

removed because we don't use PID, can always be ressurected from GIT

need to set PID SetOutputLimits() to the maximum of the output function (whether PWM or DAC)PID not implemented (was, but removed from source. Can be reintroduced if applicable ...)

each lib usees its own int formats image .

TI-RTOS: UInt

scpi: stdint , stdbool and int_fast16_t

Display: unsigned char and stdint

PID: double, int, long, unsigned ...

Whenever possible, let's use <stdint> and <stdbool>. Leave libs unchanged
Fan Control

We have 7 pins of the  PCA9557DPCA9557D left Either break these out to a header connector(and have the luxury to control 7 additional isolated input/outpts or add a FET that can control the FAN(12V).

At the moment, it's not implemented. Up to the user to either have the fan on all the time or to change firmware ...

ADC/DAC PCB changes:

- quad DAC

- I2C isolated broken out

- guard trace around analog if doable

-  few GPIOs to software switch things on the power side? Isolation? - I2C extenders on the power board is a better option - keeps things isolated

WIP. Current board works for proto if VSENSE and VOUT of DAC are bodged with a solder blob

Implemented

Low power analog boardproto ready
High power componentsselected
Temperature measurement?

solved in hardware, needs implementation in firmware.

Implemented

Voltage divider + protection for voltage sense.

Add a voltage divider for the voltage sense. Depending on the voltage range we accept, we'll need a (fairly stable) divider that takes care that the DAC input sees a level within its range. Maybe with a zener diode over the sense pins to protect the DAC from overvoltage...

 

Not needed - see comment peter: the input resistors keep max current below the ADC max.

 

 

When way too much timeValue

SCPI over Ethernet/WiFI with CC3100 boosterpack. The MSP432 TI-RTOS and SCPI libs are ready for it.

It doesn't take too much code changes. We don't even need to store home WiFI credentials on the MSP.

THe CC3100 can be setup and store a profile by itself.

I don't see a real need for this. The only advantage it would give us is having two physical layers - that forces us to make all code UART/USB independent.

We can also stick a *IoT Ready* label on the front panel then image.

(on the other hand, I don't wnt to submit unsafe code, so to cather for my ego, it should at least be an SSH/SSL/WhatHaveYouEncrypted link)

or allow conditional compilation of MSP432 Ethernet driver and connect it to SCPI

real

Add a 4-wire voltage measurement.

This requires a 3rd ADC channel - and the default TI-RTOS/MSP432 implementation caters for the 2 that we're already using for V and I.

It should be possible to add additional ones, because MSP432 has more ADCs. Have to check the file MSP_EXP432P401R.h/c and Board.h

Edit: Done - with the quad ADC we have this option

real
scrolling graph display of I/U/P/R ?real
Temperature measurementreal
future revision: Connect input voltage to spare ADC (via divider network) to have over power protection independent of sense wiresreal
future revision: Break out the spare port expander pinsreal
  • Share
  • History
  • More
  • Cancel
  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube