petoi-camp-logo.png
Chinese
ZH
Chinese
ZH
English
EN
  • 主页

  • 论坛

  • Shop

  • 简介

  • 图鉴

  • 资源

    • Documentation Center
    • GitHub 源代码
    • 教程视频
    • NyBoard V0_1 手册
    • NyBoard V0_2 手册
    • Smartphone App
    • GitHub/CatMini
  • 社区

    • 成员
  • More

    Use tab to navigate through the menu items.
    Tomi Ade
    1d

    Trouble Uploading to Nyboard - stk500_recv(): programmer is not responding

    3
    0
    Phillip Brush
    4d

    On Definition Rule Issues

    4
    0
    Struzck
    2021年4月28日

    pyBittle, Open Source library to connect and control Bittle

    23
    5
    若要查看作用方式,請前往您的即時網站。
    • 類別
    • 所有文章
    • 我的文章
    Roselli Sergio
    2021年2月20日
    已編輯: 2021年11月26日

    Installazione Robot Bittle (Italiano step by step)

    在 General Discussions

    Una volta eseguita la fase di montaggio del busto, lasciate collegati i servomotori ma senza assemblare le gambe e le ginocchia in modo da poter eseguire correttamente in seguito il settaggio dello zero dei servomotori.


    Inizia tutto con il download della libreria dal seguente qui e ricordatevi di rinominare la cartella in OpenCat


    Quindi caricate il file .ino e inviatelo a Bittle,vedi figura sotto.


    Inizia con un errore (ma non fateci tanto caso) in fase di compilazione di OpenCat.ino (che si trova nella cartella Utente\Documents\Arduino\OpenCat)



    In file included from C:\Users\Sergio\AppData\Local\Temp\arduino_build_604654\sketch\WriteInstinct/OpenCat.h:85:0,
    
                     from C:\Users\Sergio\Documents\Arduino\libraries\OpenCat\OpenCat.ino:31:
    
    C:\Users\Sergio\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\Wire\src/Wire.h: In member function 'void Motion::loadDataFromI2cEeprom(unsigned int&)':
    
    C:\Users\Sergio\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\Wire\src/Wire.h:68:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
    
         uint8_t requestFrom(int, int);
    
                 ^~~~~~~~~~~
    
    C:\Users\Sergio\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\Wire\src/Wire.h:65:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
    
         uint8_t requestFrom(uint8_t, uint8_t);
    
                 ^~~~~~~~~~~

    La compilazione procede e lo sketch viene inviato al Bittle quandoha finito di inviare aprite il terminal di Arduino ,riceverete il seguente messaggio (rappresentato anche in figura sopra) :


    18:25:44.207 -> * Start *
    18:25:44.207 -> Initialize I2C
    18:25:44.207 -> Connect MPU6050
    18:25:44.720 -> Test connection
    18:25:44.720 -> MPU successful
    18:25:44.720 -> Initialize DMP
    18:25:45.573 -> 1693 41 -31 8 
    18:25:45.573 -> Enable DMP
    18:25:45.573 -> Enable interrupt
    18:25:45.573 -> DMP ready!
    18:25:46.391 -> 
    18:25:46.391 -> * Assigning 1 skill addresses...
    18:25:46.391 -> Finished!

    che conferma che il programma è stato trasferito e che tutte le componenti sono attive



    Andare quindi nella sottodirectory di (Utente\Documents\Arduino\librerie\OpenCat\WriteInstinct ), e modificare le righe di WriteInstinct.ino come descritto dal manuale decommentando la vostra scheda di bordo correttamente


    #include "InstinctBittle.h" //activate the correct header file according to your model
    //#include "InstinctNybble.h"
    
    //#define NyBoard_V0_1
    //#define NyBoard_V0_2
    #define NyBoard_V1_0

    Quindi trasferiamo OpenCat.h (una delle quattro schede schede), sarà il codice principale da inviare al Bittle


    Il codice comprende 3 file :


    WriteInstinct è responsabile della scrittura dei dati raccolti durante la calibrazione nella EEPROM.

    Instinct definisce tutti i tipi di posture. Qui viene definita la postura di riferimento, postura seduta, in piedi ecc.

    OpenCat è il programma generale che esegue i movimenti delle posture definite in Instinct.h .


    Ancora una volta durante la compilazione compariranno gli stessi errori postati sopra che per comodità ri-posto nuovamente


    In file included from C:\Users\Sergio\AppData\Local\Temp\arduino_build_132630\sketch\OpenCat.h:85:0,
    
                     from C:\Users\Sergio\Documents\Arduino\libraries\OpenCat\WriteInstinct\WriteInstinct.ino:31:
    
    C:\Users\Sergio\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\Wire\src/Wire.h: In member function 'void Motion::loadDataFromI2cEeprom(unsigned int&)':
    
    C:\Users\Sergio\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\Wire\src/Wire.h:68:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
    
         uint8_t requestFrom(int, int);
    
                 ^~~~~~~~~~~
    
    C:\Users\Sergio\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\Wire\src/Wire.h:65:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
    
         uint8_t requestFrom(uint8_t, uint8_t);
    
                 ^~~~~~~~~~~

    alla fine della compilazione si avranno i seguenti messaggi


    
    avrdude: Version 6.3-20190619
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch
    
             System wide configuration file is "C:\Users\Sergio\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
    
             Using Port                    : COM13
             Using Programmer              : arduino
             Overriding Baud Rate          : 115200
             AVR Part                      : ATmega328P
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PC2
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
             Memory Detail                 :
    
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
               flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
               lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
    
             Programmer Type : Arduino
             Description     : Arduino
             Hardware Version: 3
             Firmware Version: 4.4
             Vtarget         : 0.3 V
             Varef           : 0.3 V
             Oscillator      : 28.800 kHz
             SCK period      : 3.3 us
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0x1e950f (probably m328p)
    avrdude: reading input file "C:\Users\Sergio\AppData\Local\Temp\arduino_build_851178/WriteInstinct.ino.hex"
    avrdude: writing flash (25572 bytes):
    
    Writing | ################################################## | 100% 3.97s
    
    avrdude: 25572 bytes of flash written
    avrdude: verifying flash memory against C:\Users\Sergio\AppData\Local\Temp\arduino_build_851178/WriteInstinct.ino.hex:
    avrdude: load data flash data from input file C:\Users\Sergio\AppData\Local\Temp\arduino_build_851178/WriteInstinct.ino.hex:
    avrdude: input file C:\Users\Sergio\AppData\Local\Temp\arduino_build_851178/WriteInstinct.ino.hex contains 25572 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ##
    avrdude: stk500_paged_load(): (a) protocol error, expect=0x10, resp=0x00
    #avrdude: stk500_cmd(): programmer is out of sync
    avr_read(): error reading address 0x0000
        reathe selected serial port     rea does not exist or your board is not connected
    d operation not supported for memory "flash"
    avrdude: failed to read all of flash memory, rc=-2
    avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x2a
    
    avrdude done.  Thank you.

    NOTA!!!!!

    Ricordarsi nel monitor seriale, di impostare Nessuna fine di riga e baudrate su 115200 (o 57600 per NyBoard V0_ *). Immettere tre Y maiuscole dopo il prompt e attendere che la MPU si calibri.



    Confermate quindi "y" alle domande che vi saranno rivolte




    Calibrate infine la MPU? (Y/n) rispondendo ancora Y


    Inizierà quindi la calibrazione......




    Se tutto andrà bene dopo al massimo un paio di minuti otterrete un beep lungo con la seguente schermata :




    ATTENZIONE!!! Non toccare nulla durante questo periodo di attesa !!!!


    È NECESSARIO collegare tutti i servi e le batterie per una corretta calibrazione. Quindi, nel monitor seriale, digitare "c" per accedere alla modalità di calibrazione.


    Ci sarà rumore proveniente dal sistema di ingranaggi dei servi e vedrete la tabella di calibrazione:


    18:58:22.725 -> 0	1	2	3	4	5	6	7	8	9	10	11	12	13	14	15	
    18:58:22.760 ->