



Progetto di meccatronica esp32 con servomotore per accendere pc portatile fisicamente problemi
Figura 1 Servomotore mini 9G SG90 deve cliccare il margine per farlo accendere, è tenuto da colla a caldo di scarsa qualità e morsetto
FIgura 2 ESP32 con modulo WiFi + Bluetooth, consumo energetico ultra-basso, Dual Core NodeMCU-32 32D 32U, scheda a 30 pin ho collegato al 3.3v forse 5 v sarebbe meglio ma non c'è l'ho in questo esp32.
FIg 3 Schema riassuntivo ma non realistico dei pin della scheda visto che ho usato un sito che fa per arduino e non esp32
Fig 4 Interfaccia da browser con portforwading abilitato e accessibile tramite ddns registrato (il mio ip di casa cambia nel tempo).
Premessa: non sono un ingegnere ma un programmatore non ho mai studiato la laurea e ho fatto solo l'itis informatica ma l'elettronica e la meccatronica mi interessa, come altre cose...
Attualmente utilizzo questo sistema da quasi un anno, il computer portatile è un server per hostare CIV V in pitboss e poichè non volevo lasciarlo sempre acceso e consumare energia iberno automaticamente il pc dopo tot tempo.
Cose che sono vere e non potete metterle in discussione:
- Non funzionano sistemi come wakeuplan perchè bios portatile non li sopporta e inoltre è collegato via lan.
- Non funziona far cliccare un tasto al servomotore perchè in ibernazione (che è l'unico vero modo per risparmiare energia) i tasti non rispondono.
- Non comprerò un server nuovo
I miei amici per accenderlo accedono da internet (figura 4) all'esp 32 tramite interfaccia e accendono il pc tramite protocollo "#include <WebServer.h>" con portforwading e ddns registrato.
Problemi:
- Il servomotore se non clicca sui margini del tasto(figura 1) e non fa leva non ce la fa ad accenderlo, poichè il servomotore funziona a bassa potenza non è davvero forte, servomotore migliori ne abbiamo? mi picerebbe qualcosa che colpisce dall'alto verso in basso ma non ho idea di cosa cercare. attualmente per risolvere questo problema l'arduino a una routine di controllo che cercare di far auto spostare il servomotore provando a farlo muovere di nuovo se non si accende il server ( funziona 1 volta si 10 no per ovvi motivi)
- Il morsetto si smolla, il morsetto si smolla facendo muovere il servomotore!!! Questo problema ho cercato di risolverlo mettendo della colla a caldo ma ovviamente sembra che abbia risolto il problema temporanemaente forse la colla caldo non è abbastanza forte e ogni tanto torna il primo problema (MISTERO alla fine la colla caldo lo tiene bene ma il problema 1 ritorna)
- Il gatto mi tocca il servomotore e morsetto, il gatto continua a importunarmi il pc, non so come risolvere il problema a parte diglielo, in effetti non gli ho detto di smetterla magari ci prova
Codice parziale: moveservo(powerdelay) per correggere il problema 1 è settato su 2000
180° va solo se è 1000 delay, se write(0) ruota all'infinito
void MoveServo(){
myServo.write(0);
delay(1000);// 180°
myServo.write(180);
delay(500);// 0°
myServo.write(90);
delay(1000);// fermo
}
void MoveServo(int powerdelay){
myServo.write(0); //gira orario
delay(powerdelay);
myServo.write(180); //gira anti orario
delay(500);
myServo.write(90); //fermo
delay(1000);
}
Hardware suggerito per risolvere i problemi? I miei amici non mi finanziano quindi le soluzioni devono costare al massimo 10€.
Attualmente la media di utilizzo temporale prima che devo fixare la posizione è circa 1-3 mesi, vorrei migliorarla ad almeno 3-6.