Menu

VPP drops to 10 V when VPPU turns on.

Anonymous
2020-04-26
2020-05-05
  • Anonymous

    Anonymous - 2020-04-26

    Just made the base board and got a problem. The regulator works good until I turn the VPPU on. After that the VPP and VPPU could not be set higher than 10 V. Checked all around Q1 and Q3, also checked the VPPU network. All is OK. When the slider is at 9 V the duty cycle is around 20%. When I move the slider to 11 V the duty cycle jumps to 80%. Why does this happen? Collector current of Q1 and Q3 is very small (smaller than a milliampere).

     
  • Alberto Maccioni

    It sounds like some parasitic load.
    Duty cycle is limited to 80%.

     
  • Anonymous

    Anonymous - 2020-04-27

    I've solved the problem. Had to reduce the R10 down to 1k. Seems my BC547 wasn't close fast enough, so it needed a bit more current in the base.

     
  • Alberto Maccioni

    Also a good explanation, and solution.

     
  • Anonymous

    Anonymous - 2020-04-28

    There is an issue with opgui on linux (ubuntu 16.04). It halts while reading or writing a device (I'm trying a 24lc64 i2c memory chip). As a solution I run the opgui with strace, and all is ok then. There is no such an issue on windows machine - all goes ok. Looks like it has to slow down under linux. :)

     
  • Alberto Maccioni

    Strange, what system is that?
    OS, cpu

     
    • Anonymous

      Anonymous - 2020-05-04

      Ubuntu 16.04 x64, Intel Dual-Core E5400 @ 2.70GHz, 8 GB RAM. Here is how it's look like. The percentage is everytime different. The log is empty. Maybe it lacks a bypass capacitor on the VDD. Will try and reply soon. Thank you for assistance!

       
  • Anonymous

    Anonymous - 2020-05-04

    Tried to add more capacitors but with no success. That's very strange because if the app launched via strace it works fine.

     
  • Anonymous

    Anonymous - 2020-05-04

    It's me again. I've just found the bug. In the opgui.c there is a function named PacketIO. And there are two lines like this:

    delay-=TIMEOUT-10;  //shorter delays are covered by 50ms timeout
    

    That -= looks very strange, so I replaced it with = in both the lines:

    delay=TIMEOUT-10;   //shorter delays are covered by 50ms timeout
    

    Now it works! =)

     
  • Anonymous

    Anonymous - 2020-05-04

    Here is the patch for opgui.

     
  • Alberto Maccioni

    No, that's not a typo.
    If you do that every packet takes at least 40ms, and you will likely have a very slow data transfer rate.
    But you're in the right function; as a temporary solution insert a longer delay here:
    3303: usleep(x>MinDly?x:MinDly);
    You can experiment with the value a little bit, I would say a few ms:
    usleep(3000);
    But it depends from your system.
    I am working on a better solution that requires no additional delays.

     
  • Anonymous

    Anonymous - 2020-05-05

    The PacketIO function usually called with a little delay in the argument. 8 or 10. So the first execution of delay-=TIMEOUT-10 gives a negative number because the TIMEOUT defined with value of 50.

     
  • Anonymous

    Anonymous - 2020-05-05

    Maybe the right way is to calculate the delays in runtime? Measure the speed of system and interface by sending the test packets and adjust.

     
  • Alberto Maccioni

    delay is set to 0 if <0
    In general there is an expected execution time that depends from the commands issued in the packet, and this is passed to this function.
    However, for many other reasons, the real required time could be longer or slightly shorter, so a timeout is used; an additional delay is needed when the expected time is longer than the timeout.
    This is the right way to proceed, non need for fancy algorithms; it works perfectly under Windows.
    In linux I am using a mix of IOCTL and file IO calls, which is not ideal.
    I am working on a full file IO version with "select" wait call.

     

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.