Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Nuovi progetti, quale microcontrollore?

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto UtenteEtemenanki » 15 dic 2023, 9:47

ThEnGi ha scritto:... è una casistica estremamente specifica e ultra specialistica ...

Be', in quei casi ci sta (e di sicuro non l'avranno neanche fatto girare su una MCU ad 8 bit :mrgreen: )

Ma fra l'essere costretti a programmare in assembler, ed il volerlo fare, c'e' una bella differenza :lol:
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
7.556 3 6 10
Master
Master
 
Messaggi: 4742
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[12] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto Utentestefanopc » 15 dic 2023, 11:30

A livello dilettantistico ho cominciato con i PIC 16F84 e 16F88.
Ho realizzato una decina di progetti in assembly Mpasm con gestione a tre fili del display LCD, ADC , conversione da 12 bit a BCDcode ecc.
Poi sono passato ad Arduino e mi sono trovato benissimo.
Non sono un purista quando trovo una libreria ben fatta la uso.
Altrimenti ne provo altre o faccio da me.
Quando mi serve accedere ai registri non ho problemi.
Il vero problema è che Atmel portroppo fa dei manuali di m... a niente a che vedere con quelli di un tempo di Microchip.
Risultato devi cercare i tutorial per capire come fare molte cose che non li non trovi.
Attualmente sto utilizzando la versione Mega ridotta.
https://www.ebay.it/itm/323637273785?va ... yhEALw_wcB

Proprio ora sto realizzando un mezzo plc economico fai da te per sostituirne uno precedentemente realizzato con Pic16F84 che controlla tutto l'impianto termico e solare termico di casa.
ad Foto UtenteHad3s consiglio di cominciare con una delle versioni equipaggiata con ATmega2560 come ad esempio questa
https://www.ebay.it/itm/352609088768?ha ... R6rVw86NYw

Io utilizzo anche i cloni cinesi che per le mie esigenze hanno sempre funzionato senza alcun problema.
Il progetto piu complicato tra Hw e Sw è stato il Battery manager montato sulla mia auto elettrica :ok: .


Paragonare Arduino al mondo Apple mi sembra un filo azzardato ma va be' :mrgreen:
Neanche fosse il piu moderno plc della Siemens .
Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
11,2k 5 9 13
Master EY
Master EY
 
Messaggi: 4632
Iscritto il: 4 ago 2020, 9:11

0
voti

[13] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto Utenteandrew95 » 15 dic 2023, 11:35

Foto UtenteThEnGi penso sia abbastanza fondamentale specificare l'obiettivo che hai in mente di fare altrimenti le soluzioni sono le più disparate e si rischia di andare fuori tema.
Avatar utente
Foto Utenteandrew95
18 4
 
Messaggi: 44
Iscritto il: 22 set 2015, 14:43

2
voti

[14] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto Utentedadduni » 15 dic 2023, 12:15

Quando si parla di queste cose (soprattutto quando esce fuori il nome di Arduino) mi sembra che si abbandoni un po' la ragione e si vada avanti per fede.

L'unico obiettivo semplice e chiaro di quando si inizia un percorso e' capire l' obiettivo. Stop. Senza preconcetti, senza assunzioni prefatte.

Io lavoro in settore Spazio. E' ovvio che non mandiamo in orbita gli Arduini, non hanno le certificazioni, non sono performanti, non si conscono bene le librerie cosa fanno. In orbita ci vanno progetti verificati e certificati, contro le radiazoni ecc... Pero' quando io sono in lab e mi serve mandare 2 dati tramite I2C ho sempre un Arduino pronto sul banco perche' in 4 righe di codice e due fili ottengo quello che mi serve.

Albero di Natale? Arduino si.
Sicurezza del codice? Arduino no.
Lampadina che si accende WiFi? Arduino si.
Bomba che espode WiFi? Arduino no.

Dal punto di vista pratico ed ingegneristico onestamente io non capisco nemmeno dove stia la discussione, si fa cosi' per ogni singola cosa al mondo. E' meglio Python o C++? Se voglio avere mille librerie e una cosa di alto livello meglio python, se voglio un codice performante che controllo nei minimi dettagli C++.

Se, invece, la domanda fosse "quale piattaforma e' meglio per imparare?". Io ho iniziato con Arduino montando insieme librerie che non conoscevo e che non capivo. Poi ho spacchettato le librerie e ho iniziato a riscriverle a mano accedendo ai registri e leggendo il datasheet (si, gli Arduini li puoi programmare come normali microcontrollori con i registri di basso livello). Oggi consiglierei a chiunque di partire con gli STM32. Hanno le HAL che sono di alto livello e funzionano benone, poi hai le LL che sono di basso livello e piu' performanti e se proprio ti serve qualcosa puoi accedere direttamente ai registri. Hai 1000 board diverse, di complessita' diverse, hai dei tool ben supportati e oggigiorno li trovi ovunque, letteralmente ovunque.
Avatar utente
Foto Utentedadduni
1.963 2 7 12
Expert EY
Expert EY
 
Messaggi: 1334
Iscritto il: 23 mag 2014, 16:26

0
voti

[15] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto Utentegill90 » 15 dic 2023, 12:54

Foto UtenteHad3s per risponderti bisognerebbe capire un po' meglio qual è il tuo background e il tuo scopo: se sei un ingegnere elettronico mi verrebbe da pensare che prima o poi ti capiterà di usare un micro per cose più o meno complicate, ma dipende dal tuo livello di competenze attuale a da quanto sei disposto a "scavare".

Sarebbe utile sapere:
1) A che anno di ingegneria sei? È a percorso unico o a curriculum?
2) Hai seguito corsi di programmazione/elettronica mixed signal? Conosci già bene C/C++?
3) La tua curiosità deriva da un desiderio preciso (o un'idea) di applicabilità oppure ti interessa solo capire il funzionamento in generale?
4) Budget?
Avatar utente
Foto Utentegill90
3.437 3 6 12
Master EY
Master EY
 
Messaggi: 1024
Iscritto il: 1 set 2011, 16:18

1
voti

[16] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto UtenteEtemenanki » 15 dic 2023, 13:08

stefanopc ha scritto:... quando trovo una libreria ben fatta la uso.

Anch'io, specie se devo pilotarci cose che non sono in grado di gestire con i soli registri e comandi wire (ad esempio, sto litigando con un MAX7456, ed ho rinunciato ad usare direttamente i registri, troppo incasinato per le mie scarse capacita' di programmazione), ma finche' devo leggere dei dati dai sensori o altra roba semplice, preferisco i comandi diretti ad una libreria che mi occupa l'intera memoria solo per leggere due breakout perche' ci hanno infilato pure la divina commedia :mrgreen:

... un mezzo plc economico fai da te ...

Anni fa ne avevo disegnati un paio di modelli con Mega2560 standalone, ingressi optoisolati, uscite a rele', display OLED ed encoder per le manovre sul posto e seriale per la connessione remota, se pensi che ti possano servire, nei prossimi giorni ti cerco schemi e PCB negli archivi e te li posto.


dadduni ha scritto:Bomba che espode WiFi? Arduino no.

Bastano una pila, due forcine ed un'elastico ... ah, no, aspetta, tu la vuoi Wifi, allora anche un pezzo di filo per l'antenna :mrgreen:
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
7.556 3 6 10
Master
Master
 
Messaggi: 4742
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[17] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto UtenteHad3s » 16 dic 2023, 0:55

Ringrazio tutti per le risposte, non credevo che la mia domanda avrebbe generato un dibattito così acceso, per un momento mi ero perso tra le risposte.
Dato che voglio cominciare con qualcosa di semplice escluderei l'uso di assembly del quale si era parlato prima, ma se ho ben capito gli ESP si possono programmare anche in C.
Per quanto riguarda il compromesso librerie si/no, non mi spaventa scrivere un po' di codice ex novo, anzi credo sarà un utile esercizio.

Rispondendo a Foto Utentegill90: sono al terzo anno ma andrò fuori corso, ingegneria elettronica e delle telecomunicazioni curriculum elettronica; non ho affrontato corsi di elettronica mixed signal; gli unici linguaggi di cui ho seguito corsi sono python e matlab (su questo si aprirà un'altra diatriba, lo so), qualche tempo fa ho cominciato a studiare un poco di C per conto mio.
Alla terza domanda non posso dare una risposta certa, innanzitutto, come già scritto in apertura mi basta capire il funzionamento, col tempo mi verrà in mente qualcosa.
Per quanto concerne il budget non vorrei spingermi oltre i 50, scheda esclusa (prendendo ad esempio alcune economiche che ho visto in giro).
Avatar utente
Foto UtenteHad3s
25 4
 
Messaggi: 32
Iscritto il: 20 ago 2021, 11:50

0
voti

[18] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto UtenteThEnGi » 16 dic 2023, 11:25

Had3s ha scritto:Ringrazio tutti per le risposte, non credevo che la mia domanda avrebbe generato un dibattito così acceso, per un momento mi ero perso tra le risposte.


Il forum serve proprio a questo scambiarsi idee in modo civile

Poi IO ho ragione e questo è un altro dibattito :mrgreen: (ego over 9000 ! :mrgreen: )

ESP32 è una bella MCU (dual core, anche se uno è dedicato alla parte di comunicazione)
Pultroppo il suo SW è parecchio acerbo e mal documentato
A meno che non hai in mente un progetto specifico, io spingo verso gli STM32, proprio per la quantità di materiale disponibile e la flessibilità della piattaforma
Per getire un ESP dovrai usare parecchie librerie non credo sia il miglior modo per imparare

Al micro inizia a fare le cose basi ed a imparare cosa fanno i vari moduli (le alimentazioni, il Clock/PLL, USART, USB, SPI, ADC, DMA, PWM, I2C, I/O) poi vai ad aggiungere connettività wireless con tutti i sui "problemi" (entri nell'analogico).
Un modulo USART funziona in modo simile su tutte le piattaforme, se sai come funziona su un STM32 il porting su ESP è lineare

Poi per il costo che hanno le board puoi prendere sia uno che l'altro :ok:
LA cosa migliore da fare e scegliere una piattaforma e buttarsi ! Tutte hanno pro e contro, dipende dall'obbietivo

ESP32 + Arduino IDE = Prototipazione veloce con connettività
Arduino (ATMEGA) = Prototipazione veloce, modestà "capacità di calcolo"
ESP32 + ESP-IDF = Sofferenza
STM32 + Arduino IDE = Capacità di calcolo a 32bit + semplicità IDE arduino solo su board selezionate
STM32 + STMCUBE = Inizio più difficile ma potenzialità massime con tutte le board

Tutto ciò che fai con Arduino IDE puoi farlo con STMCUBE ma non il contrario :ok:

Poi Io sono del parere che prima di scrivere una linea di codice bisogna sapere cosa fa l'HW.
Sapere che
Codice: Seleziona tutto
Serial.write(xxx);
invia una stringa sulla porta seriale è un po' fine a sestessa, sapere quale HW viene impiegato è molto più aperta come cosa. (9/10 aruiniani ti diranno che li invia sulla porta USB senza sapere che un chip nel mezzo, ATMEGA328P)
anche perché in HAL è così
Codice: Seleziona tutto
HAL_UART_Transmit(&huart1, xxx, 10, 100);


L'esempio ARDUINO=APPLE è dato dal fatto che in entrambe le piattaforme le cose funzionano ma l'utente medio non sa perché :mrgreen:
Non mi è venuto paragone migliore, ma probabilmente c'è :ok:

Winzoz è milgiore però ! Non funziona e non si sa perché :mrgreen: :mrgreen:

NDR: Se hai voglia puoi anche crearti tu una tua board personalizata !!!
Io ho una rivisitazione della bluepill in cui incorporo un "UPS", EEPROM e USB-C

O_/
Avatar utente
Foto UtenteThEnGi
2.007 2 6 9
Expert EY
Expert EY
 
Messaggi: 2026
Iscritto il: 6 ott 2022, 18:43

0
voti

[19] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto UtenteHad3s » 16 dic 2023, 11:44

LA cosa migliore da fare e scegliere una piattaforma e buttarsi ! Tutte hanno pro e contro, dipende dall'obbietivo.


A questo probabilmente una risposta ce l'ho già, anche se ero orientato all'ide arduino per cominciare, dovrò installare STMcube perché serve per un corso che ho inserito a scelta "digital programmable systems" dove però non ho idea se ci diano schede con cui interagire, nel caso una personale me la procurerò lo stesso.
Avatar utente
Foto UtenteHad3s
25 4
 
Messaggi: 32
Iscritto il: 20 ago 2021, 11:50

0
voti

[20] Re: Nuovi progetti, quale microcontrollore?

Messaggioda Foto UtenteMarcoD » 16 dic 2023, 11:56

A proposito di: Serial.write(xxx);
Se vi accontentate di trasmettere 4 byte con poche pretese, potete fare " brutto " come segue: :-)

Codice: Seleziona tutto
for (  N = 0; N < 5;N++ ) { buf= BUF[N]; TXserialeSW();}
.........

void TXserialeSW()
{
int tabuni[8];
  tabuni[0]= 0b00000001;tabuni[1]= 0b00000010;tabuni[2]=0b00000100;tabuni[3]=0b00001000;
  tabuni[4]=0b00010000; tabuni[5]= 0b00100000;tabuni[6]=0b01000000;tabuni[7]=0b10000000;

  // int buf = 0b10101010;
//Serial.print(" buf= ");Serial.print(buf,HEX);   
digitalWrite(OUt1,LOW); delayMicroseconds(TR);//bit di start
for (int i =0;i<8;i=i+1) {if ((buf & tabuni[i]) == 0){digitalWrite(OUt1,LOW);}else{digitalWrite(OUt1,HIGH);};delayMicroseconds(TR);}
digitalWrite(OUt1,HIGH); delayMicroseconds(TR+TR);//due bit di stop
delay(50);// ritardo fra i byte
}


Avatar utente
Foto UtenteMarcoD
11,9k 5 9 13
Master EY
Master EY
 
Messaggi: 6471
Iscritto il: 9 lug 2015, 16:58
Località: Torino

PrecedenteProssimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Google Adsense [Bot] e 10 ospiti