| | #10 (permalink) Top | |
| User Data registr.: 03-09-2012 Residenza: Gubbio-Ravenna
Messaggi: 1.771
| Citazione:
1) il comando "if(val>=0) " puoi anche levarlo tanto qualsiasi numero che viene salvato nella variabile "val" è per forza >=0 avendo dichiarato la variabile val un intero (rappresentabile da 0 a 255) 2) il codice è giusto ma non funzionerà a dovere con l'ESC Premessa: Il regolatore, viene pilotato con segnali aventi frequenza 50Hz, (periodo 20ms )con "impulsi" di lunghezza compresi tra 1ms e 2 ms che stabiliscono in qualche modo (per farla breve) la velocità del tuo motore. Ora con il comando AnalogWrite, tu generi si un segnale PWM ma ad una frequenza che non può essere cambiata che di default è 490 Hz. In sostanza è come se tu parlassi italiano a un cinese: nessuna comprensione. Secondo me l'errore che fai è proprio qua anche se mi sembra strano che comunque la ventola giri lo stesso fermandosi poi. Ripeto: parti usando gli esempi che utilizzano la libreria Servo in cui le temporizzazioni sono settate correttamente. AnalogWrite andrebbe bene per generare un segnale PWM altrimenti che comando useresti? DigitalWrite? Se fosse così dovresti tenere conto anche delle temporizzazioni giuste, duty cicle ecc ecc...con la "servo library" si farebbe prima.
__________________ Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat Sito Web: https://sites.google.com/site/curtmansquadroncombat/ Ultima modifica di aero330 : 12 giugno 15 alle ore 22:48 | |
| | |
| Bookmarks |
| |