🧪 Stanno arrivando nuovi tutorial — dal braccio robotico al sensore
Vai al contenuto
Acquista questo prodottoNegozio ufficialeSito ufficiale

Controllo web PWM ​

Questa pagina è la descrizione dedicata alla versione PWM (ESP32-S3) del controllo web. Per l'interfaccia comune, le modalità di avvio, le pose predefinite e la teleoperazione con telecamera vedi Panoramica del controllo web.

Hardware e flashing ​

Connessione web ​

  1. Nel menu a tendina «Driver» in alto seleziona PWM (ESP32-S3)
  2. Fai clic su Add port… e seleziona la porta USB dell'ESP32-S3
  3. Fai clic su Connect: la pagina esegue automaticamente l'handshake (NOP), invia la scelta della mano e torna alla posizione centrale
  4. Poi controlla con gli slider, le pose predefinite e la teleoperazione con la telecamera; il titolo delle dita mostra CH 1/2 … (numero di canale PWM)

Modalità PWM: selezione del driver in alto e visualizzazione dei canali CH

Pannello di controllo manuale in modalità PWM: il titolo delle dita mostra i canali CH, il pulsante della coppia è nascosto

Differenze rispetto alla versione SCS0009 ​

VoceVersione bus SCS0009Versione PWM
Baudrate seriale1.000.000115.200
Scheda driverScheda driver bus USBESP32-S3 + scheda adattatrice PWM
CoppiaAttivabile/rilasciabileNessuna (il firmware non ha comandi di coppia, il pulsante viene nascosto)
Arresto di emergenzaRilascia tutta la coppiaInvia 0xFF per interrompere il gesto; i servo restano alimentati e mantengono la posizione
VelocitàSupporta il parametro di velocitàI frame di pilotaggio diretto non hanno parametro di velocità
RetroazioneLettura di posizione/temperatura/tensione/velocitàNessuna lettura, impossibile rilevare blocco o perdita di passi
Mano destra/sinistraID servo diversiStessi canali, invio di 0xF1 per cambiare (influenza soprattutto i gesti del firmware; le pose della pagina usano la mappatura della rispettiva mano)

Calibrazione degli angoli ​

La pagina converte i valori di posa in 8 angoli da 0 a 180°, con la formula predefinita:

angle = 90 + dir × scale × valore di posa + offset
  • Per ogni dito il primo canale ha dir = -1, il secondo dir = +1
  • Per impostazione predefinita scale = 1, offset = 0, cioè si rispecchia direttamente l'angolo dell'asse del servo
  • Se mirror_pose è vero, si scambiano prima i due valori di posa di ogni dito (in questo repository è attivo per entrambe le mani)

Se sulla macchina reale la direzione è opposta o il centro è sfalsato, modifica pwm.calibration in config.json:

jsonc
"pwm": {
  "calibration": {
    "right": {
      "pointer": { "scale": 1.0, "offset_deg": [0, 0] }
    }
  }
}
  • Direzione opposta: imposta scale del dito corrispondente a -1
  • Offset del centro: regola offset_deg (separatamente per i due canali)
  • Procedura dito per dito: torna al centro → trascina un singolo dito → osserva direzione/centro → modifica scale/offset_deg → ricarica la pagina e riprova

Domande frequenti ​

  • Connessione fallita / ESP32 non risponde: verifica che il baudrate sia 115200, che sia selezionata la porta COM dell'ESP32, che l'alimentazione sia 5 V/3 A e che ci sia massa comune; all'apertura della porta l'ESP32 può resettarsi e la pagina ritenta automaticamente il NOP
  • I servo non si muovono o tremano: verifica prima che i servo siano digitali a 333 Hz (PTK 7452 MG-D o equivalenti) e che l'alimentazione sia sufficiente; l'SG90 richiede una modifica del firmware
  • Direzione invertita: imposta scale del dito corrispondente a -1
  • Centro sbagliato: regola offset_deg del canale corrispondente
  • Messaggio «occupato (gesto in corso)»: il firmware sta eseguendo un gesto integrato; attendi che finisca o premi l'arresto di emergenza (0xFF)
  • Scansione dei servo: tools/scan_servos.py vale solo per SCS0009; per il PWM usa AmazingHand-PWM/tools/serial_test.py o la pagina web

Pagine correlate ​