4.6 Progetto: Sistema di Alimentazione Intelligente

In questo progetto, il modulo a ultrasuoni rileva se gli animali si trovano nell’area di alimentazione, e il Servo apre automaticamente la mangiatoia per il pollame. Inoltre, l’integrazione dell’IOT consente il monitoraggio remoto di tali sistemi di alimentazione, il che offre molta comodità.

Nel complesso, l’automazione e il funzionamento remoto stanno ottimizzando il processo di alimentazione per questo sistema.

img


4.6.1 Diagramma di Flusso

image-20230607085516167


4.6.2 Servo

Descrizione:

Il Servo, chiamato anche Dispositivo Servo RC, è un motore con feedback. Comunemente, il Servo esegue un controllo preciso della posizione e produce una coppia elevata, che si trova spesso in progetti di robotica, auto RC, aeroplani e aeromobili.

img


Struttura Interna:

img

  • ① Segnale (S): Riceve il segnale di controllo dal microcontrollore.

  • ② Potenziometro: la parte di feedback del Servo. Misura la posizione dell’albero di uscita.

  • ③ Scheda incorporata (Controller interno): il cuore del Servo. Elabora il segnale di controllo esterno e il segnale di feedback della posizione e aziona il Servo.

  • ④ Motore DC: la parte esecutiva. Produce velocità, coppia e posizione.

  • ⑤ Sistema di ingranaggi: Scala le uscite dal motore all’angolo di uscita finale secondo un certo rapporto di trasmissione.


Azionare il Servo:

Il segnale (S) riceve il PWM per controllare l’uscita del Servo, e la posizione dell’albero di uscita dipende direttamente dal duty cycle del PWM.

Ad esempio:

  • Se inviamo un segnale con larghezza di impulso di 1,5 ms al Servo, il suo albero (corno) ruoterà nella posizione centrale (90°);

  • Se la larghezza dell’impulso = 0,5 ms, l’albero ruota al suo minimo (0°);

  • Se la larghezza dell’impulso = 2,5 ms, l’albero ruota al suo massimo (180°).

NOTA: L’angolo massimo varia a seconda del tipo di Servo. Alcuni sono a 170° mentre altri sono solo a 90°. Nonostante ciò, i Servo di solito si muovono di metà (del massimo) se ricevono un segnale con larghezza di impulso di 1,5 ms.

img

Il periodo di un Servo dura solitamente 20 ms e produce impulsi a una frequenza di 50 Hz. La maggior parte dei servi funziona normalmente a 40~200 Hz.


Schema di Collegamento:

Collegare il Servo a io26.

Attenzione: Collegare il giallo a S (Segnale), il rosso a V (Alimentazione) e il nero a GND. Non invertirli!

img


Codice di Test:

  • Inizializzare la porta seriale e definire una variabile item con un’assegnazione di 80.

img

  • Impostare item all’angolo del Servo da 80° a 180°, ruotando di 1° ogni 15 ms.

img

  • Il Servo ruota di 1° ogni 15 ms, da 180° a 80°.

img

Codice completo:

img

Risultato del Test:

La mangiatoia si apre lentamente e poi si chiude, il che è controllabile.

NOTA: Il servo SG90 può ruotare di 180°. Poiché la mangiatoia è piccola, 100° di rotazione sono sufficienti per chiudere completamente la scatola.

  • 80°: completamente aperto

  • 120°: semiaperto

  • 180°: chiuso

img


ATTENZIONE

Non mettere le dita nella scatola per evitare di pizzicarsi!

Non bloccare la porta con qualcosa per evitare di danneggiare il servo!


4.6.3 Sensore Ultrasonico

Descrizione:

img

Schema Elettrico:

img


La frequenza delle onde sonore che l’uomo può udire è 20Hz ~ 20KHz, mentre le onde ultrasoniche sono al di fuori di questo intervallo.

Ultrasuoni:

img

Il modulo a ultrasuoni converte l’elettricità e le onde ultrasoniche l’una nell’altra tramite l’effetto piezoelettrico, e trasmette e riceve anche onde ultrasoniche.

Questo tipo di onda presenta direttività, forte penetrazione e facile concentrazione dell’energia sonora.

img

In questo sistema di rilevamento a ultrasuoni, per prima cosa programmiamo sulla MCU (scheda di sviluppo ESP32) per generare un’onda quadra originale a 40KHz e azionare il modulo a ultrasuoni per emetterla. Immediatamente, il modulo calcola la distanza dall’oggetto dopo aver ricevuto l’onda riflessa (Echo) amplificata e modellata dal circuito. Qui, registra la durata dell’emissione e della riflessione e calcola la distanza in base alla differenza di tempo.

In parole semplici, la MCU controlla il modulo per emettere onde ultrasoniche che vengono rimbalzate dopo aver incontrato ostacoli e vengono ricevute dal modulo. La differenza di tempo tra di esse è un fattore importante nel calcolo della distanza (la velocità di propagazione del suono nell’aria è di 340 m/s).


Schema di Collegamento:

Collegare l’Echo del modulo ultrasonico a io13 e Trig a io12.

Attenzione: Collegare il giallo a S (Segnale) e il rosso a V (Alimentazione). Non invertirli!

img


Codice di Test:

Impostare il pin corretto: Trig al pin io12; Echo al pin io13.

img

Risultato del Test:

In questo kit, il raggio di rilevamento è compreso tra 3 e 8 cm.

Aprire il monitor seriale e osservare.

img


4.6.4 Sistema di Alimentazione Intelligente

Descrizione:

Il sistema di alimentazione intelligente alimenta in modo intelligente il pollame domestico tramite un modulo a ultrasuoni e un servo. Il primo rileva la distanza dagli animali mentre il secondo controlla l’apertura o la chiusura della mangiatoia. Quando un animale domestico viene rilevato vicino alla scatola, il servo la apre per alimentarlo.


Schema di Collegamento:

Collegare l’Echo del modulo ultrasonico a io13 e Trig a io12; collegare il servo a io26.

Attenzione: Collegare il giallo a S (Segnale), il rosso a V (Alimentazione) e il nero a GND. Non invertirli!

img


Codice di Test:

Flusso del codice:

img

Codice:

  • Inizializzare la porta seriale. Definire una variabile e assegnarle 180.

img

  • Impostare correttamente il pin e stampare il valore ricevuto.

img

  • Determinare il valore della distanza rilevata. Se è compreso tra 2 cm e 7 cm, la mangiatoia si aprirà.

img

Codice completo:

img

Risultato del Test:

Quando viene rilevato un animale, aprire la mangiatoia.