Schede di debug fatte in casa per avr. Iniziare a prepararsi

La scheda di debug è uno strumento piuttosto utile nello sviluppo di vari dispositivi elettronici. Ma puoi crearlo da solo? O dovresti fare affidamento solo su analoghi industriali? Che caratteristiche ha questo dispositivo? Ne parleremo oggi.

Informazione Generale

Quando parlano di questo argomento, spesso intendono una scheda di debug per Atmega8 o un altro microcontrollore simile, che si basa su un principio di funzionamento a 8 o 16 bit. Ma il mondo va avanti. È giunto il momento per i microcontrollori a 32 bit. A questo proposito, prenderemo in considerazione ciò che potrebbe essere a nostra disposizione in questo momento. Particolare attenzione dovrebbe essere prestata alla scheda di debug STM32, sebbene l'AVR sia ancora considerato nell'articolo. Ma prima, vediamo il quadro generale.

L'avvento dei microcontrollori a 32 bit ha notevolmente ampliato la quantità di attività che potevano svolgere. Ma è necessario ottimizzare le decisioni prese e le attrezzature create. Sebbene si presti attenzione ai vecchi campioni, è semplicemente impossibile non notare la loro versatilità e buona qualità.

Cos'è STM32?

Naturalmente, il più interessante nell'articolo è la scheda di debug. Ma per capire il punto aggiuntivo, diamo un'occhiata a quello principale. Diciamo che abbiamo STM32F103C8T6. La scheda di debug è un progetto di microcontrollore costruito su un core ARM Cortex-M3. Ha un numero significativo di vantaggi, il principale dei quali è la versatilità. A proposito, ora Cortex-M3 è uno standard industriale a tutti gli effetti. La scheda di debug è una superficie su cui possono interagire tutti i pin STM32, garantendo l'esecuzione delle attività esistenti.

Iniziare a preparare

Quindi, abbiamo bisogno di una scheda di debug. che parametri dovrebbe avere? Lo compri o lo fai da te? Che taglia dovrebbe essere? Inizieremo con l'ultima domanda. Inizialmente, è necessario selezionare un tale dispositivo in modo che tutti i meccanismi e gli elementi costitutivi possano adattarsi con successo su di esso. Nella maggior parte dei casi, è sufficiente che la scheda di sviluppo dell'AVR abbia i lati di quindici centimetri. Questa dimensione è adatta per la compattezza e le capacità del dispositivo.

Prima di procedere con la produzione o l'acquisto di una tavola, è necessario prima redigere il suo diagramma. Per fare ciò, puoi disporre gli elementi su carta e tracciare linee di connessione tra loro. Se tutto ha funzionato senza problemi, ottimo, puoi iniziare azioni pratiche. Quindi devi solo posizionare e saldare tutti gli elementi richiesti, e il gioco è fatto: la scheda è pronta. Questo è come appare in poche parole. Ora vediamo tutto più in dettaglio.

Pianificazione

La necessità di utilizzare schede di debug prima o poi supera ogni radioamatore. Questo è un tipo di debug a livello hardware. Se lo desideri, puoi acquistare una tavola già pronta per tutti i gusti. Ma a noi interessa analisi dettagliata questo argomento? Pertanto, vedremo come creare una scheda di debug con le nostre mani.

Inizialmente, è necessario decidere se stiamo sviluppando una scheda per esigenze specifiche o ne stiamo realizzando una universale. Poiché la prima opzione è abbastanza specifica, la seconda sarà considerata nell'ambito dell'articolo. Devi pensare alle fondamenta. Se guardi la maggior parte delle tavole casuali per hobby, va notato che sembrano molto sciatte. I fili sporgono come preferisci e può essere alquanto problematico vedere cosa è collegato a cosa. Pertanto, è necessario prevedere la possibilità di fissarli in modo che non si sovrappongano.

Se crei per un caso specifico e sviluppi uno schema, puoi mettere in salamoia le tracce. Questa opzione è la più interessante. A proposito, la situazione è abbastanza popolare quando viene utilizzato uno schema universale e le tracce vengono applicate o rimosse. Per capire meglio, diamo un'occhiata ad alcuni esempi.

Scheda di alimentazione

Diciamo che stiamo costruendo qualcosa di dimensioni significative e il nostro dispositivo è composto da diversi moduli. In questo caso, il circuito della scheda di debug dovrebbe prevedere la possibilità di ottenere tensione continua o alternata all'ingresso. Per ottenere più metodi di connessione, è necessario pensare a connettori e morsettiere. Per garantire il funzionamento, è necessario fornire non solo batterie, ma anche uno stabilizzatore. E in caso di leggeri sovraccarichi e surriscaldamento concomitante, puoi usare un piccolo radiatore.

Scheda microcontrollore

Ed ecco la parte divertente. È possibile che le schede di debug per microcontrollori e gli elementi ausiliari siano i componenti più complessi. Dopotutto, sono i "cervelli" dei dispositivi tecnici. Per un inizio di successo nel campo delle schede di sviluppo, non è consigliabile iniziare con controller a 32 bit complessi. Puoi iniziare con qualcosa di più semplice. Ad esempio, dal veterano sviluppo meccatronico ATmega8. Per non complicare ulteriormente la situazione, puoi cavartela con la costruzione della stampa su un lato.

Ma cosa succede se i requisiti vanno oltre questi limiti? Utilizzare la stampa fronte/retro? In alternativa, sì. Ma se l'eccesso di capacità è insignificante, spesso è possibile fare a meno di montare i ponticelli. È meglio posizionare i connettori delle porte e i circuiti pull-up su fazzoletti in miniatura separati. Questo approccio faciliterà il layout della scheda del microcontrollore. Ma questa è solo una teoria generale. Parliamo di implementazione in pratica.

PCB fatto a mano

Inizialmente, abbiamo bisogno di carta su cui verrà disegnato il layout per il PCB. È auspicabile che sia sottile. Questo è importante per ottenere una foratura accurata. Per evitare sorprese, la carta può essere incollata al cartone con la colla. Successivamente, dovresti ritagliare il disegno incollato. Bene, la dima di foratura è pronta. Selezioniamo uno spazio vuoto di fibra di vetro rivestita di pellicola della dimensione richiesta. Alleghiamo un modello di carta e cartone e lo tracciamo attorno al perimetro con una matita o un pennarello. Quindi tagliamo il laminato in fibra di vetro lungo le linee che abbiamo tracciato, usando delle forbici per metallo, oppure lo sega con un seghetto. Incolliamo le parti con la colla.

A proposito, un piccolo consiglio: non è necessario spalmare l'intera superficie, basta lasciare una goccia di colla in ciascuno dei quattro angoli. Se non vuoi aspettare, usa il "Momento". Ti permetterà di continuare a lavorare dopo pochi secondi.

Facciamo buchi

A tale scopo, è più adatta una mini-macchina speciale. Ma puoi anche usare strumenti manuali. Per la stragrande maggioranza degli scopi, un trapano con un diametro di 0,8 mm è più che sufficiente. Va notato che una scheda di alta qualità potrebbe non funzionare la prima volta a causa della complessità del lavoro e della necessità di avere una mano ferma. Se tali azioni vengono eseguite per la prima volta (e così, molto probabilmente, lo saranno), allora possiamo solo consigliarti di prepararti mentalmente al fatto che le esercitazioni verranno interrotte. Dopo aver completato l'intera gamma di lavori, per assicurarti della loro qualità, guarda la liquidazione. Se alcuni difetti sono evidenti, devono essere prontamente eliminati.

Applicare un disegno topografico

I luoghi in cui passeranno i percorsi conduttivi devono essere protetti dalla distruzione durante l'incisione. Per fare questo, sono coperti con una maschera speciale. Tutte le sostanze di terzi devono essere rimosse prima dell'applicazione. Ciò è particolarmente vero per la colla che potrebbe rovesciarsi accidentalmente sulla superficie.

Dopo che le tracce sono state contrassegnate, possiamo procedere al processo di disegno di un'immagine. Lo smalto impermeabile (qualsiasi) è adatto a questo scopo.

Trasferire il disegno dalla carta alla fibra di vetro

Questa è la fase più cruciale. È necessario mettere la carta (dal lato in cui si trova il disegno) sulla fibra di vetro e premerla con grande forza. Quindi riscaldiamo il "sandwich" risultante nel forno a una temperatura di 200 gradi. Stiamo aspettando che il consiglio si raffreddi al valore della stanza. Dopodiché, resta da staccare la carta e il disegno rimarrà sul circuito stampato. Questo può sembrare piuttosto complicato, specialmente con la temperatura. Soprattutto per queste persone dubbiose, alcuni artigiani suggeriscono di usare un ferro da stiro elettrico. Ma qui va fatto un avvertimento importante: il risultato è instabile. Certo, puoi provare a esercitarti per un giorno o due e, forse, non sarà peggio che nel caso del forno. Ma c'è ancora il problema della difficoltà di fornire il riscaldamento simultaneo della superficie attraverso l'intero circuito stampato alla stessa temperatura. Pertanto, il disegno non viene trasferito completamente in questo modo.

I problemi più significativi sono le lacune che emergono con questa creazione. Per sicurezza durante la "preparazione" del circuito stampato nel forno, può essere inoltre ricoperto da diversi lati con fogli di metallo spessi da cinque a sei millimetri. Questo viene fatto per evitare deformazioni negative durante il trattamento termico del pannello.

Conclusione

Quindi, in generale, la scheda per l'AVR è pronta. Naturalmente, qui viene descritto un metodo universale e ognuno dovrà completarlo da solo per condizioni specifiche, concentrandosi sulle proprie esigenze. Puoi anche sperimentare la creazione di schede universali. Ogni artigiano li affina costantemente in qualche modo, in modo che siano migliori e di qualità superiore. Inoltre, il loro sviluppo ci consente di garantire l'affidabilità dei circuiti creati.

Dopo aver letto molti post e commenti da DIY, mi è sembrato che ci siano molte persone qui interessate ai microcontrollori e alla loro programmazione. Ci sono ancora più persone che vorrebbero iniziare, ma non sanno da dove.
Credo che sia necessario iniziare con la pratica, quindi non prenderò in considerazione gli emulatori.

Per cominciare, hai bisogno di un programmatore, ma ci sono tonnellate di informazioni a riguardo su Internet, quindi mi fermerò solo superficialmente. Il più semplice di questi è il cosiddetto "5 fili", è facile da realizzare: prendiamo il cavo LPT e lo colleghiamo all'MC tramite resistori, come mostrato nella figura:

Devi fare tutto con molta attenzione, masterizzare l'LPT in questo modo - alla volta.
È molto meglio fare qualcosa di più decente, ad esempio USBasp è più sicuro e funziona tramite USB.
In alternativa, acquista un programmatore nello stesso Voltmaster o Chip-and-Dip.
I parametri con cui iniziare non sono così importanti, ad eccezione del prezzo e dei microcircuiti supportati.

In effetti, questo è tutto. Cristallo + programmatore + desiderio e desiderio, questo è sufficiente per iniziare a programmare MK. Ma l'organizzazione del circuito stesso e la periferia (reggiatura) del MC gioca un ruolo anche molto importante.
Puoi, ovviamente, creare un circuito stampato per ogni caso quando vuoi giocare, ma sono favorevole a soluzioni più universali e più veloci.

Certo, ci sono schede di prototipazione, ma per me la rete di fili e ponticelli sembra orribile e inaffidabile e, soprattutto, non chiaramente (e questo è importante durante lo sviluppo e l'addestramento).

Esistono schede di sviluppo per vari microcontrollori. E tutto in loro è buono, tranne il prezzo (il più senza pretese è di 2-3 mila rubli - ne vale sicuramente la pena, ma è quello che fanno i radioamatori, in modo che tu possa farlo da solo se possibile). Pertanto, ho deciso di creare la mia semplice scheda di debug che soddisferà le mie esigenze.

Quali erano i requisiti per questa scheda:

  • Facilità di esecuzione
  • Visibilità
  • Versatilità
  • Economicità
  • Facile creare un dispositivo di prova
  • display LCD
  • Tastiera integrata
  • 2 porte libere (con la possibilità di utilizzarle a tua discrezione)
  • Porta COM sulla scheda per l'integrazione con un computer

Cosa è stato utilizzato nella produzione:

  1. Laminato in fibra di vetro su un lato ~ 70r
  2. Pad per il collegamento di periferiche e commutazione (pin come sulle schede madri, su cui sono appesi i ponticelli) ~ 50r
  3. Pulsanti tattili - ~ 50r
  4. Presa per il microcircuito 30p
  5. Connettore per porta COM 20p
  6. Microcircuito MAX232a 50r
  7. Indicatore LCD - da 250r
  8. Il chip ATmega32 stesso da 200r
totale 720r a prezzi folli di Mosca per i componenti radio (o meglio, secondo il listino prezzi di Voltmaster).
Ecco cosa ho finito con:
2. Cablaggio
Ora in ordine. Iniziamo disponendo il tabellone in Sprint-Layout. In effetti, questo è il momento più cruciale nella creazione di un dispositivo, è necessario tenere conto di tutte le sfumature, e anche a questo punto è necessario capire cosa è richiesto esattamente dalla scheda, come dovrebbe apparire, come è più conveniente. Pertanto, non ti consiglio di ripeterlo alla cieca, vale la pena sedersi e guardare gli analoghi, isolando soluzioni o nodi interessanti per te stesso. io l'ho preso così:

Maggiori informazioni sulla periferia, per questo vale la pena dare un'occhiata al pinout del cristallo:

  • Sopra PORTA ci sarà una tastiera - 7 pulsanti, posizionati in modo che con l'aiuto di essi fosse possibile navigare se necessario, ad esempio, attraverso il menu (croce) e un paio di pulsanti per funzioni aggiuntive.
  • Su PORTB Ho posizionato il display LCD nel modo in cui è previsto nel codevision avr con mezzi standard (vengono utilizzati tre registri di comando display e 4 registri dati)
  • PORTC e PORTD portato fuori pad per il collegamento di periferiche. Ho previsto anche dei pannelli porta pinze accanto alle pastiglie, ma non sono comparsi in casa mia e la loro installazione è stata rimandata a tempi migliori
  • Ho anche posizionato max232 con reggette per condensatori e un connettore per porta COM.
  • Per versatilità, ogni pin del controller viene indirizzato a pad paralleli alla presa per il microcircuito.
  • I pin di programmazione SCK, MISO, MOSI e RESET sono duplicati da un'altra fila di pad
3. Fare un sigillo
Non appena la tavola è stata disposta, è stato realizzato un sigillo utilizzando un metodo di ferro laser. non ha senso soffermarsi sul metodo, dal momento che è stato descritto centinaia di volte su Internet, e almeno. Risultato:
4. La fase finale
poi foriamo, armeggiamo, saldiamo la nostra scheda.
5. conclusione
E ora, la nostra scheda di debug è pronta per semplificare lo sviluppo su MK. Ora, per imparare a lavorare con le funzionalità dell'MK AVR, non dobbiamo scolpire una palla di fili. basta collegare le periferiche necessarie alle porte libere (siano essi LED, sensori, driver di azionamenti e servocomandi, ma anche molto altro), e scrivere con calma il programma.

In conclusione, vorrei dire che l'aspetto e la funzionalità di questa scheda si sono formati su requisiti e desideri soggettivi e tutti coloro che desiderano realizzare un dispositivo del genere dovrebbero sedersi e pensare a impostare il problema e i requisiti.
Tutto il lavoro è durato una sera.

Ciao a tutti! Non molto tempo fa, ho iniziato a studiare i microcontrollori AVR e, dopo un po', mi sono stancato di strattonare i pin in Proteus, un sacco di bug e non è stato divertente.Pertanto, è stato deciso di creare una piattaforma di debug su cui sarebbe essere possibile assemblare facilmente ed eseguire il debug del circuito desiderato. Dopo aver rovistato su Internet, ho scelto molte opzioni per le schede, che vanno dall'amatoriale all'industriale, ma ho sempre voluto qualcosa di mio, ho raccolto idee diverse e mi sono messo al lavoro, dopo un po' ho ottenuto questo:

Non ho elaborato lo schema in quanto tale, ho tolto tutto dalla mia testa. Le dimensioni di questo miracolo sono 150x100mm La tavola è stata realizzata utilizzando un fotoresist.
Dopo che le parti sono arrivate, la scheda è stata assemblata e testata. Non ci sono state difficoltà nell'assemblaggio, se non per saldare FT232 Ora vi dirò cosa esattamente ho farcito qui

1. Nutrizione. La scheda può essere alimentata sia da una sorgente esterna che dal connettore USB superiore, la sorgente viene selezionata tramite un jumper PS/USB Il circuito di alimentazione USB contiene un fusibile autorigenerante da 400mA a protezione della porta. Mi sono imbattuto in uno stabilizzatore 78R05, ha 4 uscite, quest'ultimo è responsabile del blocco della stabilizzazione. Può essere facilmente convertito in un classico stabilizzatore. È inoltre possibile selezionare la tensione di alimentazione, 3,3 o 5 Volt, utilizzando il ponticello CPU_Power. Sotto i pin ci sono le tensioni: 5V, 3.3V e GND, rispettivamente
2. Il convertitore USB-UART viene utilizzato per la comunicazione del microcontrollore con un PC, è realizzato sul microcircuito FT232RL, l'intera porta COM virtuale e i pin UART con indicazione di ricezione e trasmissione sono cablati. Tre pin sono saldati sotto. È possibile programmare l'EEPROM interna del microcircuito utilizzando il programma MProg e, ad esempio, avranno un segnale di clock. Li uso per sbloccare l'MK, ho inserito il cablaggio e l'ho sbloccato. Confortevole! È inoltre possibile eseguire il flashing della ROM per visualizzare le modalità operative
3. Bloccare i livelli di sollevamento. Una cosa indispensabile quando si lavora con protocolli come 1-Wire e I2C, è possibile collegare l'uscita all'alimentatore tramite un resistore o anche a massa.
4. Assemblaggio di Darlington ULN2003 in versione SMD per la commutazione di carichi ad alta potenza.
5. Blocco di interfaccia dei livelli logici 3.3-5V per funzionare con tutti i tipi di mikruh . a bassa tensione
6. In realtà i pannelli stessi per MK, DIP-20, DIP-40 e DIP-28. I cavi per il collegamento del quarzo sono saldati sui contatti della pinza
7. Una colonna di LED illuminati da un'unità logica
8. Microcircuito dell'orologio in tempo reale DS1307, con tutte le reggette (lo slot della batteria è sotto il display) Spesso utilizzato dai radioamatori
9. Pin firmware ISP-10 standard e pulsanti di ripristino con pullup di ripristino pin commutabile
10. Un blocco di resistori, due trimming e una variabile, due resistori durante l'installazione dei ponticelli formano divisori di tensione. Anche un blocco di 4 circuiti RC per lavorare con PWM. Bene, e un cicalino con un transistor amplificatore.
11. La tastiera Matrix, con i ponticelli rimossi, si trasforma in un mucchio di pulsanti indipendenti, puoi anche tirarla a terra
12. Display LCD a due righe. Non mi dilungherò nei dettagli, dirò solo che la retroilluminazione è controllata da un transistor
13. Indicatore quadruplo a sette segmenti con un anodo comune (puoi anche attaccare con un catodo comune), combinato con un registro a scorrimento 74HC595. Ho deciso di combinare questi due dispositivi per risparmiare spazio. La scelta della modalità di funzionamento viene effettuata dal jumper Hi-Z/OE. Jumper OE-funziona con il registro, Hi-Z mette i pin del registro in uno stato ad alta resistenza, puoi connetterti direttamente ai segmenti

È tutto! In conclusione, dirò che il consiglio si è dimostrato con lato migliore e ne sono molto soddisfatto, tutto è collegato tramite cablaggio con contatti da connettori BLD, tutto questo è isolato dal restringimento termico Ecco la scheda al lavoro, il debug del programma, ovviamente, un mucchio di fili

Il mio programmatore, che è familiare a molti AVR-910, ma convertito in STK-500, funziona con AVR-Studio e la velocità è molte volte superiore! L'archivio contiene un file PCB e il firmware STK-500 con i driver

Bene, qualche altra foto

Ciao a tutti! Sono contento di vedervi, cari lettori, sul mio blog dedicato alla creatività radioamatoriale. Mi chiamo Vladimir Vasiliev e oggi ho un nuovo articolo interessante per te, almeno spero che ti interessi.

L'altro giorno ho pensato: “Perché non comincio a imparare da solo un nuovo linguaggio di programmazione, ho già esperienza con assembler, voglio qualcosa di nuovo”. E questo nuovo linguaggio per me è il linguaggio C. Il linguaggio C mi ha attratto, probabilmente codice più leggibile dell'assemblatore. Dopotutto, più codice scrivi in ​​assembler, più è facile confondersi con esso.

Per studiare C, ho bisogno di una sorta di banco di prova per esperimenti ed esperimenti. Dopotutto, se raccogli una scheda separata per ogni programma, incidi textolite, ecc. eccetera. ci vorrà troppo tempo. Pertanto, ho deciso di creare una sorta di scheda universale piena di LED, pulsanti e altre cose, che è sufficiente per i miei occhi per la prima volta.

Naturalmente, sono consapevole da molto tempo che esistono soluzioni interessanti già pronte sotto forma di schede di debug di diversi produttori e ad un prezzo molto conveniente.

Mi sembra che questo sia eccessivo, perché è molto più economico e piacevole usare nel lavoro un prodotto sviluppato e assemblato da soli. Bene, ora scoprirai cosa ne è venuto fuori tutto. A proposito, voglio parlarti di uno sviluppo interessante, te ne parlerò in uno dei seguenti articoli, quindi non perdere.

COSTRUZIONE

Nel design della scheda non ho cercato di coglierne l'immensità, ma mi sono limitato a quella che viene definita la "funzionalità più popolare". Quindi non ho usato componenti costosi, ho fatto esattamente quello che era raggiungibile a piedi.

Nell'immagine qui sotto, puoi vedere cos'è la scheda di debug.

Come previsto, la scheda doveva essere piccola e avere una varietà di modi per fornire energia. Questo è inteso in modo che io possa far funzionare la scheda in qualsiasi luogo in cui vi sia una tale possibilità e la presenza di un'alimentazione a 5V.

MODALITÀ DI FORNITURA DI CIBO

I pasti possono essere forniti in quattro modi diversi:

1. Tramite il connettore di programmazione IDC-10. Qui, l'alimentazione viene fornita direttamente dal programmatore, il che, a mio parere, è conveniente per alimentare sia il programmatore che il dispositivo che viene flashato dalla stessa fonte di alimentazione. La presenza di alimentazione sarà segnalata da un led colorato.

2. La morsettiera installata sulla scheda permette di alimentare il dispositivo dal vano batterie o dalla propria alimentazione. Quindi, portando con sé l'alimentatore, è possibile far funzionare la scheda in qualsiasi condizione di campo, purché ci sia una presa da 220V nelle vicinanze.

3. E' possibile alimentare la scheda direttamente dalla porta USB del computer. I computer sono ormai ad ogni passo, e in effetti sono anche meravigliose fonti di alimentazione a cinque volt. Impossibile non approfittarne.

4. C'è un altro modo, anche se un po' "perverso"(l'ho scoperto solo di recente), c'è un blocco separato per il montaggio senza saldatura sulla scheda e contiene una misteriosa possibilità. Le prese esterne di questo blocco hanno potenziali di massa e di alimentazione. E se altri metodi non sono adatti (secondo il design degli elementi che trasportano corrente), allora questa è un'altra opzione.

In ciascuna delle quattro opzioni funzionerà un LED di accensione.

Tutta la funzionalità della scheda dipende dalla presenza di "chips" e "buns". Vuoi sempre riempire il tabellone fino alla follia, ma questo non è sempre possibile, e a volte i tentativi di spingere qualcosa di improduttivo si trasformano in un duro rastrello nella schiena.

Nella mia "creazione" ho cercato di seguire i principi di affidabilità, funzionalità, praticità e, ovviamente, fattibilità economica. Il risultato è quello che avrebbe dovuto essere. Qualcosa del genere.

Il cardine della scheda è il cardine del microcontrollore Atmaga 8. Ho implementato il collegamento del controller alle unità funzionali (tobish, pulsanti, luci, ecc.) tramite appositi. connettori PLS e BLS. PLS è questo tipo di pin installati sulla scheda. La parte di accoppiamento è costituita da connettori femmina BLS per filo. Inoltre, senza utilizzare fili, i nodi più ovvi possono essere collegati con ponticelli - ponticelli. Per impostazione predefinita, nessun pin del controller è legato a nulla.

Per più Per comodità, la scheda contiene pin aggiuntivi con massa e alimentazione. Sono raggruppati e installati nella parte superiore della scheda, sopra il display digitale a sette segmenti.

"CHIPS E RAGAZZI"

Mi soffermerò un po' su questo e cercherò di illuminare questo problema in modo più dettagliato:

1. Tastiera a matrice. Sulla scheda, la tastiera è rappresentata da un piccolo array di 9 pulsanti. La raccolta dei pulsanti in una matrice può salvare in modo significativo le gambe del controller e più pulsanti vengono utilizzati, più è giustificato.

La figura mostra un esempio dello schema tradizionalmente consigliato per l'accensione della tastiera a matrice, che ho applicato con successo sulla mia scheda. Sulla sinistra c'è un mozzicone di una tavola divorziata, esattamente il posto con i bottoni. È possibile che avrebbe potuto essere diluito in modo più razionale, ma questa opzione mi andava bene. La cosa principale è che non c'erano ponticelli. I pulsanti utilizzati sono stati i primi che si sono imbattuti nel negozio di radio, molto simili al TS-A1PS-130. A proposito, il ritaglio della scheda tecnica non è suo. In linea di principio, qualsiasi pulsante senza blocco andrà bene, è una questione di gusti.

Non ho nemmeno dovuto acquistare le resistenze di pull-up, le ho trovate nel mio negozio, con un valore nominale di circa 1 kOhm. Puoi scegliere quasi tutti i diodi. Le tracce dei pulsanti sono indirizzate ai pin situati lungo il perimetro del controller.

Puoi collegarli all'atmega installando ponticelli sui pin vicini o cablando. Quindi la tastiera può essere collegata a pin assolutamente arbitrari. Sul circuito stampato, tutta questa vergogna appare così.

2. Pulsanti separati. Oltre alla tastiera a matrice, ho deciso di aggiungere pulsanti solitari per rendere meno limitate le limitate capacità della scheda. E poiché uno sul campo non è un guerriero, allora due bottoni stavano come un guanto.

I loro circuiti e cablaggi in atto, in linea di principio, non brillano di immaginazione, ma vale la pena mostrarlo.

Il diagramma mostra che i pulsanti sono tirati ad un'estremità da resistori dell'ordine di 1kΩ all'alimentazione, con l'altro lato piantato a terra. I pulsanti sono collegati ai pin del controller con un filo. Fino al momento in cui viene premuto il pulsante, il pin del controller è collegato all'alimentazione tramite un resistore. Questa tecnica elimina varie interferenze che causano anomalie e falsi allarmi.

Bene, e come sembra tutto su una vera tavola. Mi scuso per la qualità, l'ho filmato dal telefono, il mio vecchio telefono Nokia 5230.

3. Indicatore a sette segmenti, saldato dalla scheda di un vecchio computer. In precedenza, tali indicatori mostravano la frequenza del processore, c'era persino un certo pulsante "TURBO" che aumentava la frequenza "molte volte",

E questo indicatore mi è tornato utile e ha trovato una seconda vita, per così dire. Scheda tecnica e specifiche Non ho potuto google. Quindi mi scusi, ma il metodo di un'attenta composizione è stato in grado di determinare l'essenza segreta di questo solido.

Tutta la varietà di LED è raggruppata in due gruppi: "otto". Ogni "otto" ha un solo anodo e molti catodi. I catodi vengono commutati rispettivamente sui pin del controller tramite resistori. Selezioniamo i resistori per la capacità di carico del controller, li ho circa 500 Ohm.


Sulla scheda, ho posizionato l'indicatore a sette segmenti a sinistra del controller e ho portato tutti i catodi ai pin PLS. Gli anodi sulla mia scheda possono essere collegati all'alimentatore con ponticelli, ma a proposito, possono essere alimentati dal controller con un filo. Per comodità ho disegnato un promemoria a destra dell'indicatore, in modo da non dimenticare quale gamba è collegata a quale segmento.

Su una lavagna reale, inizialmente volevo visualizzare tutte le iscrizioni e i promemoria in pseudo-serigrafia con bottino, ma all'ultimo momento ho cambiato idea. Tuttavia, se ne hai davvero bisogno, lo stamperò in seguito come istruzione metodica documentata.

4. LED. Sulla mia scheda di debug, ho fornito due file di LED, una sotto l'altra. Secondo il diagramma, sono collegati tramite resistori, come lo stesso indicatore a sette segmenti. I LED non sono rigidamente legati sotto nulla. Tutta la commutazione viene eseguita manipolando ponticelli e speciali. cablaggio. Ogni anodo LED può essere collegato all'alimentazione installando dei jumper. Qui dovrai accenderlo / spegnerlo impostando zero sul pin corrispondente del controller, basta prendere e trascinare il segnale zero dal controller al catodo del LED richiesto.

Puoi andare dall'altra parte. Colleghiamo il catodo del LED con un ponticello a terra (presa pin situata a destra) e inviamo un segnale dal controller all'anodo con un filo (pin strip a sinistra).

La presa di aggancio situata nel mezzo viene fornita in aggiunta, se improvvisamente si desidera utilizzare un resistore diverso o utilizzare una tecnica di circuito diversa. Oltre all'indicatore a sette segmenti, i LED possono essere collegati in aggiunta al controller installando gli appositi jumper.

5. Emettitore piezoceramico. Ho pensato a lungo all'indicazione del suono. Ho potuto scegliere di installare un normale altoparlante o un emettitore piezoceramico. Di conseguenza, non mi sono preoccupato e ho optato per un piezo. Con l'altoparlante, dovresti installare un transistor amplificatore e inventare qualcosa in modo costruttivo, poiché non c'erano conclusioni convenienti per l'installazione a pagamento su di esso. (Ho avuto un altoparlante da un telefono cellulare).

Con un emettitore piezoceramico, tutto si è rivelato molto più semplice. È sufficiente collegarlo al controller e mettere a terra la seconda uscita. Non ho nemmeno dovuto mettere un resistore in serie, poiché la resistenza del piezic si è rivelata solo molto grande. Quindi, un ponticello doveva essere saldato nei fori predisposti per il resistore.

Separatamente, vorrei dire che gli emettitori piezoceramici sono disponibili con o senza generatore incorporato. Ho finito con un generatore interno, quindi se non c'è un generatore, dovrò generare un segnale a livello di codice, ma potrebbe essere ancora più interessante.

6. Blocco per montaggio senza saldatura. Come sapete, non si può prevedere tutto, quindi, affinché il volo creativo fosse meno limitato, si è deciso di installare un blocco senza saldatura sulla scheda. Il blocco è un tipo di prese PBD con una disposizione a due file di prese, installate su una scheda.

Quindi puoi assemblare rapidamente una sorta di circuito senza usare un saldatore. L'alimentazione e la messa a terra vengono portate fuori lungo i bordi dei pad e un piccolo spazio tra le prese ti consentirà di spingere anche un microcircuito in un pacchetto DIP. Almeno non sarà sicuramente un'aggiunta superflua.

Il blocco senza saldatura può essere alimentato con alimentazione diversa da 5V, solo il resto delle caratteristiche della scheda dovrà essere rinunciato. In ogni caso, la tensione non deve superare la tensione consentita per i condensatori che si trovano nel circuito di alimentazione, e soprattutto vale la pena prendersi cura dell'indicatore LED.

Tariffa in questo caso deve essere diseccitato, tutti i ponticelli e i cavi vengono rimossi. Solo in questo caso, puoi alimentare le file estreme delle prese dei pad e assemblare qualsiasi circuito ti piaccia.

TECNOLOGIA DI PRODUZIONE

Ho progettato la scheda nel programma DipTrace, poiché si è scoperto che il programma è molto facile da usare e ti consente di ottenere un risultato decente abbastanza rapidamente. Dopo SprintLayot e Eagle CAD, il programma mi è sembrato semplicemente fantastico.

Ad essere onesti, non ho dovuto correre in giro per le parti radio, dato che avevo già la parte principale. A proposito, sto parlando di come non fare un bagno di vapore a scapito dei componenti. 🙂 Ho acquistato principalmente prese, connettori, pulsanti, un emettitore piezoceramico. In linea di principio, questo è tutto.

Poi ho dovuto stampare il tutto su carta fotografica e posizionarlo sotto il ferro. Dopo aver sciacquato sotto l'acqua corrente e trattato la tavola con acetone, il disegno delle tracce è apparso in tutto il suo splendore. Quante volte sono convinto che il corretto approccio a dia un risultato di altissima qualità.

Inoltre, le tracce sono state stagnate. A tal fine, questa volta ho utilizzato una certa innovazione. Ho estratto un saldatore da 40 W dal cabinet e ho avvolto una speciale treccia smontabile sulla punta dal negozio di ricambi radio e voilà. Sono stato molto contento del risultato. Durante la stagnatura, ho usato la normale glicerina da farmacia come flusso. Dopo aver completato i componenti, si è scoperto ciò che puoi vedere nelle immagini sopra.

In generale, questo è tutto ciò di cui volevo parlarti nell'articolo di oggi. Se hai domande o suggerimenti, scrivi nei commenti, ma scrivi qualsiasi pensiero su questo progetto, perché lo scopo originale di questo sito era quello di ottenere informazioni utili e ovviamente comunicazione.

Se le informazioni ti sono sembrate interessanti e utili, assicurati di condividerle con i tuoi amici in social networks, le icone si trovano sul bordo sinistro della pagina.

Penso che queste schede siano molto facili da usare e soprattutto per l'apprendimento della programmazione del controller. Usando una scheda di debug, non puoi preoccuparti dell'hardware, ma concentra completamente la tua attenzione sulla scrittura del firmware.

Tutti i materiali del progetto può essere scaricato in un archivio .

Inoltre, cari amici, potete iscrivervi agli aggiornamenti del sito e ricevere nuovi materiali e regali direttamente nella vostra casella di posta. Per farlo è sufficiente compilare il modulo sottostante.

Questo è tutto per me, ti auguro tutto il meglio e ci vediamo di nuovo,

Con n/a Vladimir Vasiliev.

La scheda di debug è un modulo universale con un microcontrolloreATmega 32 aziende ATMEL... L'idea alla base del modulo è di avere un minimo di componenti sulla scheda con il microcontrollore necessario per il flashing/debug del dispositivo. E tutte le periferiche necessarie sono collegate separatamente. Così, la tavola diventa piccola, scomparela necessità di inserire funzionalità ridondanti nella scheda, poiché dopo aver conosciuto l'uno o l'altro componente, si bloccherà come un peso morto, mentre è meglio metterlo in funzione e la stessa scheda di debug può essere utilizzata nel dispositivo finito .

IL MODULO PRINCIPALE

Sulla scheda madre, oltre al microcontrollore, è presente un connettore standard a 6 pin per la programmazione in-circuit, un convertitore su un microcircuitoFT 232 RLper collegare il dispositivo a un personal computer tramite uno standardUART, un risonatore a cristallo esterno ad alta frequenza in un case troncato e un pulsante di ripristino hardware per il microcontrollore.Ho anche installato un accelerometro analogico nella mia versione della scheda.ADW 22035 da AnalogicoDispositivo (messo a scopo informativo)... L'accelerometro utilizza il settimo canale dell'ADC del microcontrollore ed è collegato ad esso tramite un condensatore ceramico C3 da 0,1 μF. Con una tale capacità, il polling rate dell'accelerometro dovrebbe essere di 50Hz (per maggiori dettagli, vedere la scheda tecnica).All'uscita dell'accelerometro, a seconda del valore misurato dell'accelerazione, ci sarà un valore di tensione da 0 alla tensione di alimentazione. L'accelerometro analogico può essere sostituito con un resistore trimmer da 10-20 kΩ, il terminale centrale dovrà essere collegato all'ingresso ADC, e quelli esterni al bus di alimentazione (Vcc e Gnd)

La scheda è realizzata su un PCB a doppia faccia, tutti i componenti tranne la resistenza di pull-up della gambaRipristina, sono in cima. Tutte le gambe libere del microcontrollore vengono portate ai connettoriJ 1 e J 2.

Usato come indicazioneSMD LED: PLED- indicatore di alimentazione nel circuito, D1 e D2 indicazione di trasferimento dati tramite UART.

Per facilitare il cablaggio della scheda nella zona del convertitoreFT 232 RL, si è deciso di trasferire i led di segnalazione alle uscite ausiliarie del microcircuitoCBUS 3 e CBUS4. Pertanto, per indicare la ricezione/trasmissione dei dati, è necessarioriprogrammareEEPROM microcircuiti FT 232 RL .

Altre valutazioni dei componenti:

R 2, R 3, R 6 - 510 Ohm

R 4, R 5 - 1kOhm

C 1, C 2 - 20 pf

DO4, DO5, DO6 - 0,1 μRF

tutti i componenti nella taglia 0805.

Foto delle tavole risultanti


E dall'altra parte


MODULO DI ESPANSIONE CON DISPLAYNOKIA 3310



Per padroneggiare il display sul controller PCD8544 daNokia3310, viene assemblata una scheda di espansione, collegata alla scheda principale tramite i pin headerJ 1 e J2 (durante il collegamento, l'indice dei connettori su entrambe le schede deve corrispondere). Il display impiega per connettersile seguenti gambe MK:

RipristinaPortaC.0

SCEPortaC.1

D/C - Porta C.2

SDin - Porta C.3

SCLKPortaC.4

Alla conclusione Voutè collegato un condensatore elettrolitico con una capacità di 4,7 μF.

Questa scheda ha anche 4 pulsanti tattili e 3 LED. I LED sono collegati tramite resistori di limitazione della corrente (510 Ohm nominali) ai terminaliPortD.4, PortD.5 e PortD.7 che permette di utilizzare hardware PWM (OC 1 UN, OC 1 B e OC2). Per collegare i pulsanti vengono utilizzate le gambe del microcontrollore in grado di gestire gli interrupt esterni (S 1 – int 0, S 2 – int 1, S 4 – int2). Per collegare un pulsanteS 3 riservato PortaB.3 senza interruzioni esterne. resistoriR 1- R4 con un valore nominale di 10 kOhm, tirano su le linee per il collegamento dei pulsanti al bus di alimentazione. Pertanto, durante la configurazione, la condizione di spinta deve essere impostata su un fronte di discesa o su un livello basso. Per collegare rapidamente periferiche aggiuntive, alcune linee del microcontrollore vengono portate in uscita al connettoreJ 3. Per la capacità di generare suoni, un altoparlante si trova sul retro della scheda. In questa versione, l'altoparlante è collegato con fili, quindi non c'è un posto speciale per questo. Altoparlante collegato al pinPorta D.6.

Il display è stato collegato alla scheda saldando una sottile vena dal filo intrecciato direttamente ai pin del display. Se fai tutto con attenzione e non surriscalda i cuscinetti di contatto, non cadranno. Quindi questi fili vengono saldati alle piazzole di contatto sulla scheda e il display viene fissato con una striscia di super colla sui lati.

Controllo delle prestazioni del display

Poiché come connettore di programmazione è stato scelto il connettore a pin angolato PLS, è stato necessario fornire un qualche tipo di protezione per controllare la corretta connessione del loop dal programmatore. È stata inventata la seguente opzione:


Il connettore è più lontano dal bordo della scheda e leggermente rialzato sopra di esso, consentendo di inserire il connettore IDC-06 solo in un certo modo - come mostrato nella foto (se si tenta di inserirlo al contrario, il sporgenza sul connettore lo impedirà). Ecco un piccolo trucco. C'è un'altra cosa quando si collega il programmatore: poiché il connettore è saldato sul lato superiore della scheda, si è scoperto che la piedinatura è stata capovolta e quindi è necessario utilizzare un cavo con un cavo incrociato per collegare:


Scarica

Pubblicazioni correlate

  • Conti del deserto nero (RU) Conti del deserto nero (RU)

    Account esteso GameNet Vantaggi di un account esteso: Possibilità di giocare con due account (in due finestre) contemporaneamente in, e ....

  • Canale televisivo La cui stella non è in TV adesso? Canale televisivo La cui stella non è in TV adesso?

    Dov'è il canale televisivo Zvezda, perché non è in TV? Molti abbonati dell'operatore Kol TV hanno dovuto affrontare un problema: il loro canale televisivo Zvezda preferito è scomparso ....