Menu

PCA9685 PWM Driver - formal release and demos

Anobium
2018-07-14
2018-08-06
<< < 1 2 3 (Page 3 of 3)
  • stan cartwright

    stan cartwright - 2018-08-01

    I would say you need a good 5V supply if you are using 18 servos. You will get strange results if not enough power.
    The thing must suppoort it's weight and batterys.
    I got 3.6 li-ion,2 in parallel type from laptop..using two of these is 7.2V at lots of amps.-
    the servos need 5V ..to 6V
    so how to drop 7.2V to 5V ?
    I'm looking for a bridge rectifier. two diodes in series one side is 1.4V drop,
    same for other half/2 diodes but in parallel with other side/diodes..twice the current.
    ,
    a dc-dc converter at 8 A is out...and weight.
    why do diodes seem to good to be true?

     
  • stan cartwright

    stan cartwright - 2018-08-05

    I have asked but no reply to why I can't use a variable instead of PCA9685_led5
    PCA9685_WriteChannel (PCA9685_led5 ,0, servopos, PCA9685_ADDRESS_2 )
    in the include it's
    Sub PCA9685_WriteChannel( _localregister as byte, _localValueOn as word, _localValueOff as word, Optional In _localDevice as byte = PCA9685_ADDRESS_1 )what value would _localregister as byte, be?,,for led0 to led15
    Use these

        #define PCA9685_LED0          0x06
        #define PCA9685_LED0_ON_L     0x06
        #define PCA9685_LED0_ON_H     0x07
        #define PCA9685_LED0_OFF_L    0x08
        #define PCA9685_LED0_OFF_H    0x09
        #define PCA9685_LED1          0x0a
        #define PCA9685_LED1_ON_L     0x0a
        #define PCA9685_LED1_ON_H     0x0b
        #define PCA9685_LED1_OFF_L    0x0c
        #define PCA9685_LED1_OFF_H    0x0d
        #define PCA9685_LED2          0x0e
    
     

    Last edit: stan cartwright 2018-08-05
  • stan cartwright

    stan cartwright - 2018-08-05

    sorted.

    var=channel/led/servo 0 to 15
    servopos=scale (angle,0,179,deg0,deg180)
    PCA9685_WriteChannel (6+var*4 ,0, servopos, PCA9685_ADDRESS_2 )
    

    Saves someone else looking through the lib.

     
  • stan cartwright

    stan cartwright - 2018-08-06

    Your lib has much commented that I'll try to fill but since you have introduced multiple devices instead of led0 to led15 why not led0 to ledmax number and divide by 16. call it led
    if the result is 0 then it's board 0, 1-board 1,etc.
    the base address is 0x80 so multiply above result by 2 and add to 0x80.

    so led=18 would be 18/16=1----board 1
    x2=2
    0x80+2=0x82----board 1 address
    usage-- PCA9685_WriteChannel (6+(led mod 16)4 , 0 , servopos , 0x80+(led/16 )2)

    I have't tested or the idea of just using a channel for all devices.
    Any thoughts Anobium?

    all devices would have to be in series ie fill board 0,then board 1 from socket 0.
    so led=16 is second board first socket

     

    Last edit: stan cartwright 2018-08-06
<< < 1 2 3 (Page 3 of 3)

Log in to post a comment.