TMC is an independent, primarily volunteer organization that relies on ad revenue to cover its operating costs. Please consider whitelisting TMC on your ad blocker or making a Paypal contribution here: paypal.me/SupportTMC

Charging goes very slow the last few days...any ideas what it could be? (incl. graph)

Discussion in 'Roadster' started by Chillout, May 10, 2015.

  1. Chillout

    Chillout Member

    Joined:
    Jun 30, 2014
    Messages:
    307
    Location:
    the Netherlands
    Hi all,

    The last few days, I've noticed that charging my Roadster takes longer than usual.
    I always use the same public charger in my hometown, which charges at 16A/230V. In my experience, this is enough to go from 0-300km range in 18 hours, which is confirmed by Tesla Roadster Charge Time Predictor

    For some reason, it doesn't seem to be that fast. Here's a graph of my last charge session. You can see the range go up by the hour, and a small hop because I switched to range charging at the end. In the end it took 28 hours to go from empty to full. Way too long in my opinion, especially because the voltage and amperage don't go down during the charging, and temperatures don't vary too much either. There's a small dip at the beginning of the charge graph, I was off the charger for a moment because of logistic reasons.

    unnamed.png
     
  2. Marius

    Marius Member

    Joined:
    Oct 21, 2012
    Messages:
    81
    Location:
    Berkel en Rodenrijs NL
    Check your cooling.
    Check charging in performance mode.
    Normally you should charge around 18 km per hour on 16A 230V.
    I had the same caused by leakage in the cooling, which makes the cooling fans run at max speed all time and using half of your charging power.
    If in performance mode you charge 18 km per hour than it is definitely a problem in the cooling unit.
     
  3. tom66

    tom66 Member

    Joined:
    Dec 17, 2013
    Messages:
    622
    Location:
    United Kingdom
    The energy must go somewhere. If the car is consuming the same kW for the same time, the net product of kWh is the same. The battery charge level should behave as normal.

    Possibly, if there is excess load on the pack (coolant pump/AC/heater/12V system), the car will have less power to charge the battery with
     
  4. Chillout

    Chillout Member

    Joined:
    Jun 30, 2014
    Messages:
    307
    Location:
    the Netherlands
    Thanks guys. I will try charging on performance mode tonight and call Tesla tomorrow morning. This needs to be fixed because daily driving has been challenging last week...
     
  5. Chillout

    Chillout Member

    Joined:
    Jun 30, 2014
    Messages:
    307
    Location:
    the Netherlands
    Update: currently charging in performance mode, and it's going at a steady 18km/h, so I'm pretty sure you guys are right. Thanks for helping out!
     
  6. Mark77a

    Mark77a Member

    Joined:
    Jul 7, 2012
    Messages:
    292
    Location:
    Poole, Dorset, UK
    Good luck with the diagnosis.

    Cool graph BTW .. how did you create ?
    (for the 'software-challenged' people on here :wink: )
     
  7. Chillout

    Chillout Member

    Joined:
    Jun 30, 2014
    Messages:
    307
    Location:
    the Netherlands
    #7 Chillout, May 11, 2015
    Last edited: May 11, 2015


    It's pretty easy. I used the same Tasker script as the one I used to update the Widgets. I added a line at the bottom that goes to the following URL:
    https://data.sparkfun.com/input/<MY STREAM>?private_key=<MY KEY>&amps=%current&kwh=%kwh&voltage=%voltage&tempbatt=%tempbatt&tempmotor=%tempmotor&temppem=%temppem&tempambient=%tempambient&soc=%soc&idealrange=%idealrange

    This is the URL of my data.sparkfun.com stream, which is basically an online database that adds a timestamp to any data that you feed it.

    Here's the public URL of my data:
    data.sparkfun.com - Stream n1qN0L2W5lCjL5jlZJgz


    You can then use this data to generate a chart on the fly, with Google Chart, by using the following HTML code on a website:

    Code:
    <!DOCTYPE html>
    <html>
      <head>
        <!-- EXTERNAL LIBS-->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <script src="https://www.google.com/jsapi"></script>
    
    
        <!-- EXAMPLE SCRIPT -->
        <script>
    
    
          // onload callback
          function drawChart() {
    
          // this is the public key of your data.sparkfun.com stream. CHANGE IT TO YOUR OWN STREAM
            var public_key = 'n1qN0L2W5lCjL5jlZJgz';
    
    
            // JSONP request to sparkfun to get the data
            var jsonData = $.ajax({
              url: 'https://data.sparkfun.com/output/' + public_key + '.json',
              data: {page: 1},
              dataType: 'jsonp',
            }).done(function (results) {
    
    
              var data = new google.visualization.DataTable();
    
    // adding some colums to the data table
              data.addColumn('datetime', 'Time');
              data.addColumn('number', 'Amperage');
              data.addColumn('number', 'Voltage');
              data.addColumn('number', 'Battery temperature');
              data.addColumn('number', 'Motor temperature');
              data.addColumn('number', 'PEM temperature');
              data.addColumn('number', 'Ambient temperature');
              data.addColumn('number', 'Range');
    
    //parse the data to the rows
              $.each(results, function (i, row) {
                data.addRow([
                  (new Date(row.timestamp)),
                  parseFloat(row.amps),
                   parseFloat(row.voltage),
                  parseFloat(row.tempbatt),
                  parseFloat(row.tempmotor),
                  parseFloat(row.temppem),
                  parseFloat(row.tempambient),
                  parseFloat(row.idealrange)
                ]);
              });
    
    //options for the graph
              var options = {
            chart: {
              title: 'Roadster charge data',
              legend: {position:'bottom'}
            },
            
         explorer: {
            maxZoomOut:2,
            keepInBounds: true
    },    
            
            series: {
              // Gives each series an axis name that matches the Y-axis below.
              0: {axis: 'Amp'},
              1: {axis: 'Volt'},
              2: {axis: 'Temperatures'},
              3: {axis: 'Temperatures'},
              4: {axis: 'Temperatures'},
              5: {axis: 'Temperatures'},
              6: {axis: 'KM'}
    
    
              
            },
            axes: {
              // Adds labels to each axis; they don't have to match the axis names. I added multiple Y-axes
              y: {
                Amp: {label: 'A'},
                Temperatures: {label: 'Temps (Celsius)'},
                KM: {label: 'KM'},
                Volt: {label: 'V'}
              }
            }
          };
                
              
              var chart = new google.charts.Line($('#chart1').get(0));
    
    //draw the cart
              chart.draw(data, options);
    
    
            });
    
    
          }
    
    
    
    
    
    
    
    
          // load chart lib
          google.load('visualization', '1', {
            packages: ['line']
          });
    
    
          // call drawChart once google charts is loaded
          google.setOnLoadCallback(drawChart);
    
    
        </script>
    
    
      </head>
      <body></body>
    </html>
    
    


    So step by step:
    - create a data.sparkfun.com stream with relevant Roadster data
    - add "HTTP POST" url to Tasker task, containing the variables (all the things with a %)
    https://data.sparkfun.com/input/<MY STREAM>?private_key=<MY KEY>&amps=%current&kwh=%kwh&voltage=%voltage&tempbatt=%tempbatt&tempmotor=%tempmotor&temppem=%temppem&tempambient=%tempambient&soc=%soc&idealrange=%idealrange
    - add the given HTML code to awesomegraphs.html on your desktop (you can do this in Notepad if you want)
    - make sure the var public_key = 'n1qN0L2W5lCjL5jlZJgz'; matches your own public key. That's all you need to change.
    - Open the html with your favorite browser and feel awesome


    If you want to, I can send you my tasker task/profile.


    Known bugs:
    - The roadster sleeps every now and then. The graph will stay flat during those times.
    - Amperage can jump to 127 sometimes for unknown reasons. that causes a spike on the graph.
    - Voltage is -1 when not charging


    Edit: this can probably be done MUCH more efficient by parsing the original OVMS logs, but I'm not that nerdy ;)
     
  8. Marius

    Marius Member

    Joined:
    Oct 21, 2012
    Messages:
    81
    Location:
    Berkel en Rodenrijs NL
    This means that as long as you manualy stop charging for instance with your OVMS, at 85%, your battery should stay OK. Anyway your cooling problem should be solved as summer is coming.
    In your diagnose screen you can select HVAC and you can read the pressure of the system which should be around 3 bar, you will propably read around 1 bar due to the defect.
    If you want more info you can PM me, to meet F2F, as apparently we both live in the Netherlands.
     
  9. Chillout

    Chillout Member

    Joined:
    Jun 30, 2014
    Messages:
    307
    Location:
    the Netherlands
    Thanks for all the assistance guys!

    Update:
    The car was in for service. They couldn't really find anything specific, although they did clean the blower/PEM/etc.
    Here's a graph from all charge measurements I made:

    Schermafbeelding 2015-06-01 om 19.25.50.png

    as you can see, last week there were a few days without any OVMS connection, when the car was in maintenance.
    After that, charging got quite a bit faster again.
    measurements are calculated added KWH per Hour
     

Share This Page