Sida 1 av 1
LTC2944
Postat: 9 februari 2017, 17:25:04
av rolex42
Fick hem 2
LTC2944 Samples igår som jag lödde på adapter PCB. (Har inte provat ännu att lödningen lyckats).
Tänkte skriva en Arduino lib.
Lödningen var en utmaning.
Kikade bla på
Mooshim och
Ghlargh för tips.
Det är inte så enkelt som det verkar på filmerna.
Jag skulle behöva ett bra mikroskop. Helst ett som inte kräver en PC.
Nu sitter jag med mobilen och 8x lupp.
Re: LTC2944
Postat: 9 februari 2017, 22:48:52
av rolex42
Ett problem som kan uppstå är att Arduino Wire lib aktiverar intern pull-up på i2c pinnarna.
Och en del kretsar tål inte pull-up till 5V.
Denna krets har enl databladets Absolute Max.
SCL, SDA, ALCC Voltage............................... –0.3V to 6V
Då borde det väl fungera utan modifiering av pull-up i Wire?
Re: LTC2944
Postat: 10 februari 2017, 09:49:28
av floppen
Re: LTC2944
Postat: 10 februari 2017, 18:10:04
av rolex42
Har laddat ner Linduino och det verkar finnas 2943 & 2945. Ska kolla om de är användbara.
För att kolla min lödning kollade jag på
Brainy-Bits och körde följande i2c-scanner. Enl databladet ska jag hitta en device med address 1100100, 0x64
Kod: Markera allt
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("\nI2C Scanner");
}
void loop() {
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ ) {
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
I2C_Scanner_LTC2944.png
Re: LTC2944
Postat: 12 februari 2017, 21:50:56
av rolex42
LINDUINO inkluderar förutom kod för LTC2943 som i stort sett är samma som LTC2944, även deras egen I2C.
Betydligt mer komplex som jag uppfattar det än Wire.
Efter mycket strul med en bränd Arduino Nano. Felsökning för att komma fram till det.
Därefter helt övertygad om att jag eldat upp båda LTC2944 när jag blåste på med hetluften.
LINDUINOs kod i sin grundform har jag inte fått att fungera.
Först fick jag ju kontakt med kretsarna med I2C Scanner som använder Wire.
Men sen får jag inte läsning av register att fungera med Wire.
Till slut svarar (åtminstone ena kretsen) när jag dissikerat LINDUINOs kod och plockat det jag behöver:
Kod: Markera allt
LTC2943_2
Start loop ...
I2C device found at address 0x64 !
charge_code= 32766
Charge: 5570.2202 mAh
temp_code= 37824
Temperature 21.2 C
Start loop ...
I2C device found at address 0x64 !
charge_code= 32766
Charge: 5570.2202 mAh
temp_code= 37824
Temperature 21.2 C
Re: LTC2944
Postat: 12 februari 2017, 22:16:50
av rolex42
En ändring som behöver göras för LTC2944 är:
Kod: Markera allt
const float LTC2943_FULLSCALE_VOLTAGE = 70.8;
(Som för LTC2943 är 23.6)
Re: LTC2944
Postat: 15 februari 2017, 11:54:13
av rolex42
Man ska tydligen göra en del modifieringar i koden om man kör LINDUINO utan Linears demoboard.
Finns beskrivet på sidan
Going Generic.