Gå till innehåll

bygga en mini drivare?


patrikk

Rekommenderade inlägg

Lägg ut din sketch också för felsökning. Istället för jarduino så kolla på stilo_3 på code.google istället. Allt jarduino har har han snott från stilo och ändrat till sitt utseende bara. Till detta vill han ha donation för att släppa på pass ordet till sin source.

Länka till kommentar
Dela på andra sidor

  • Svar 71
  • Skapad
  • Senaste svar

Mest aktiva i detta ämne

Mest aktiva i detta ämne

Populära bilder

PWM kan du inte mäta med mätinstrument så vidare du inte kan kolla frekvens med den. Enkelt beskrivet är PWM en strömbrytare för 0->5V som man tänder och släcker fort.

För att mäta att man åtminståne har en PWM-signal ut duger en multimeter utmärkt... Varierar man PWM-signalen så skall man kunna mäta upp en spänning som varierar mellan 0-5V beroende på PWM-värdet.

Länka till kommentar
Dela på andra sidor

Lägg ut din sketch också för felsökning. Istället för jarduino så kolla på stilo_3 på code.google istället. Allt jarduino har har han snott från stilo och ändrat till sitt utseende bara. Till detta vill han ha donation för att släppa på pass ordet till sin source.

test sketchen är medföljande sketch till kortet från adafruit så det ska funka men visst kan jag lägga ut det.

Vill passa på att tacka alla här i tråden som hjälper till

#include <Wire.h>#include <Adafruit_PWMServoDriver.h>


// called this way, it uses the default address 0x40
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
// you can also call it with a different address you want
//Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x41);




void setup() {
//Serial.begin(9600);
//Serial.println("16 channel Servo test!");


pwm.begin();

pwm.setPWMFreq(100);
}


void loop() {
pwm.setPWM( 0, 0, 2047 );


}

Länka till kommentar
Dela på andra sidor

The following example will cause channel 15 to start low, go high around 25% into the pulse (tick 1024 out of 4096), transition back to low 75% into the pulse (tick 3072), and remain low for the last 25% of the pulse: Copy Code

  • pwm.setPWM(15, 1024, 3072)

Och du har 0, 2047 så starta 0 för att gå ned vid 50% prova med 0, 8, 4088 i koden och se om det hjälper (läsproblem igen).

Länka till kommentar
Dela på andra sidor

#include <Wire.h>

#include <Adafruit_PWMServoDriver.h>

// called this way, it uses the default address 0x40

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

// you can also call it with a different address you want

//Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x41);

void setup() {

Serial.begin(9600);

Serial.println("16 channel PWM test!");

// if you want to really speed stuff up, you can go into 'fast 400khz I2C' mode

// some i2c devices dont like this so much so if you're sharing the bus, watch

// out for this!

pwm.begin();

pwm.setPWMFreq(1600); // This is the maximum PWM frequency

// save I2C bitrate

uint8_t twbrbackup = TWBR;

// must be changed after calling Wire.begin() (inside pwm.begin())

TWBR = 12; // upgrade to 400KHz!

}

void loop() {

// Drive each PWM in a 'wave'

for (uint16_t i=0; i<4096; i += 8) {

for (uint8_t pwmnum=0; pwmnum < 16; pwmnum++) {

pwm.setPWM(pwmnum, 0, (i + (4096/16)*pwmnum) % 4096 );

}

}

}

Kör den koden för den cyklar alla kanaler och använder du inte alla så spelar det ingen roll.

Länka till kommentar
Dela på andra sidor

[TABLE=width: 90%]

[TR]

[TD=align: left]Board[/TD]

[TD]I2C / TWI pins[/TD]

[/TR]

[TR]

[TD=align: left]Uno, Ethernet[/TD]

[TD]A4 (SDA), A5 (SCL)[/TD]

[/TR]

[TR]

[TD=align: left]Mega2560[/TD]

[TD]20 (SDA), 21 (SCL)[/TD]

[/TR]

[TR]

[TD=align: left]Leonardo[/TD]

[TD]2 (SDA), 3 (SCL)[/TD]

[/TR]

[TR]

[TD=align: left]Due[/TD]

[TD]20 (SDA), 21 (SCL), SDA1, SCL1[/TD]

[/TR]

[/TABLE]

Länka till kommentar
Dela på andra sidor

hmm jag kanske har kommit på det

det verkar som att jag inte får ut tillräckligt med A från mina batterier för att tända LED:en kan det stämma ( har 2 st ikea AA batterier)

mäter jag vid batteriet så har jag nog med amp. men mäter jag vid leden så och det inte tillckligt för att tända den. vad osakar det är det mosfet:en eller resistorn

Länka till kommentar
Dela på andra sidor

Då har du ju signal varje fall ut men den skall vara +5V egentligen.

Så om du mäter över den gula tråden på din bild på sidan 3 och gnd skall du ha spänning nu men ditt 100Kohms motstånd kan dra vara orsaken. Kan vara att dioden tar så mycket spänning så du inte får ut något. Vet att mina LDD-1000H tar 3V från mig.

Länka till kommentar
Dela på andra sidor

Då har du ju signal varje fall ut men den skall vara +5V egentligen.

Så om du mäter över den gula tråden på din bild på sidan 3 och gnd skall du ha spänning nu men ditt 100Kohms motstånd kan dra vara orsaken. Kan vara att dioden tar så mycket spänning så du inte får ut något. Vet att mina LDD-1000H tar 3V från mig.

jag kommer upp i 4.59 om jag mäter över den gula tråden

och jag kommer upp i 3.23 om jag mäter över dioden

Länka till kommentar
Dela på andra sidor

Då skall väl lysdioden lysa nu om du har 3.23V över lysdioden? Så du har nu satt mätinstrumentet vid lysdioden när du mäter? För att mäta över Hef så får du koppla bort lysdioden och mäta också. Har du spänning nu skall skall den om strömstyrkan är rätt tända lysdioden.

Länka till kommentar
Dela på andra sidor

Gå med i konversationen

Du kan posta nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.

Guest
Svara på detta ämne...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Ditt tidigare innehåll har återskapats.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Skapa Ny...