Monday 30 October 2017

Moving Media Msp430


Ingegneria integrata in post. ho intenzione di mostrare come implementare la più semplice filtro digitale possibile quotmoving filterquot media. se è molto facile da implementare, ma ancora in molte applicazioni questo è più che sufficiente. per esempio riducendo il rumore casuale dalla segnale. naturalmente quando è molto semplice non hanno problemi simili. essa non l'ha risposta del filtro molto forte. Canale 1 ingresso. spazzare da 20Hz a 6Khz, Channel 4 uscite (verde) 15 punti filtrato, M (rosso) Uscita nel dominio freq Sabato 1 ottobre 2016 Questo progetto è la parte finale nel Fare una davvero potente luce solare. In questo progetto intigrate Philips Lumileds LTC3478 base driver e BQ24650 Based MPPT Solar Li-Ion carica Controller. Useremo totale 3 9 Watt ciascuno schede driver LED e un regolatore di carica per caricare 7.6V 20000mAh batteria a 6 celle Li-leone, vi è 4 display grafico a barre LED per mostrare il livello della batteria stima e un solo pulsante per controllare Onoff, diverso livello di luminosità. e selezionare uno. tutte o alcune delle schede LED a litup. non c'è molto da descrivere in termini di schmeatic e firmware come tutto il firmware e Schmeatic aer già sul mio pannello di interfaccia github account. User è fatto di PCB con 4 LED di stato della batteria di una porta per il connettore pannello solare e un interruttore di comando. quando la batteria è chargin LED di stato visualizzato di conseguenza e quando la batteria si scarica LED di stato aggiornato di conseguenza. In aggiunta al piccolo progetto di illuminazione solare che stavo lavorando ho creato questo piccolo regolatore di carica solare per caricare la batteria agli ioni di litio (Li-ion). Circuito Impiego del Texas Instrument BQ24650 nel cuore del circuito di controllo della carica. come circuito ha MOSFET esterno in modo corrente massima 160charge può essere regolato su valori molto alti. 160Circuit accettare i valori pannello solare da 5V a 28V. L'ho testato con 12V nominale (17Volts circuito aperto) 160. e 24 Volt nominale pannello solare in corrente di carica della batteria fino a 4A. Attualmente installato in casa mia da pochi mesi la carica di una batteria 20000 mAh. Circuito ha grande elevata capacità di corrente connettore a 4 pin Molex per il pannello solare. connettore a 6 pin per la batteria e l'interruttore di carico. è anche possibile collegare NTC per il monitoraggio temprature batteria. BQ24650 può automaticalley monitor di temprature della batteria. Microcontroller ha dedicato 3 uscita PWM per pin header oscuramento e 6 GPIO LED per lo stato bettery led e una chiave di interfaccia utente. Ciao zu Deutsch Leser. Das ist mein Erste Artikel auf Deutsch. I habe viel aufrufe aus Deutschland deshalb Jetzt ab, ich werde auch auf Deutsch publizieren weil ich Detusch lerne und ich mchte mehr bungen. Jedes Artikel wird auf Deutsch und wir English. wenn Widerspruch zwischen dem Artikel auf Deutsch und Englisch haben, die inglese berwiegt weil meine Erfahrungen auf deutsch Kurze ist.160 160 160 160So beginnen wir. Heutzutage arbeite ich un Projekt einem. quotMPPT Solar Li-ion Laderquot. bei diesem Projekt brauche ich eine160sehr160vollmacht 25W LED leicht. aber ist viel 25W pelliccia ein160LED-Triberg. Es erforden viele kentnisse ein 25 W LED-Triberg zu Entwerfen. Hauptsorge auf die Projket quotMPPT solare - lon Laderquot ist zu Lernen wie der MPPT Larder arbeitet und wie die software Algorithmus sind. Das Projekt ist ein Teil von ein Projekt era publiziere spter.160 ich 160 160 160 reticenza stavo lavorando ad un progetto di illuminazione solare 160little , ho bisogno di un folle davvero brillante illuminazione 25W 160LED. Ma problema è stato per 25W è un sacco di potenza per il LED e richiede alcune abilità per fare una così alta potenza LED driver. Obiettivo primario di questo progetto è quello di ottenere una conoscenza discesa di regolatore di carica MPPT e gli algoritmi di carica MPPT. questo progetto è parte del progetto. che posterò più tardi. 160160160 Questo post sarà 4 ° parte in serie di fare un capace BRACCIO Consiglio Linux a casa. fare clic su Primo. Secondo e terzo per andare a parti precedenti, così lascia iniziare. quello che è un Bootloader, Perché abbiamo bisogno di it160 un boot loader è un programma che è il primo ad essere eseguito dalla CPU. si recide uno scopo quotconfiguring poche cose molto essenziali molto specifiche prima di caricare il programma principale (può essere OS) in memoryquot principale. è per questo che si chiama boot loader. a seconda delle esigenze del boot loader può fare qualche altro compito (noi li coprire qui). ci sono varie forme e dimensioni del bootloader. tutti servono quasi lo stesso scopo. con microcontrollori. alcune volte in realtà non caricare il programma principale in memoria, ma passano il puntatore di esecuzione di programma principale in modo che il programma principale può essere eseguito direttamente formare la memoria in cui si trova. Bordo Con 4.3 pollici LCD in esecuzione l'applicazione QT5 per visualizzare immagini JPEG e TimeWhat è FRAM Struttura molecolare FRAM è una memoria ad accesso casuale, il che significa che ogni bit viene letta e scritta singolarmente. Questa memoria non volatile è simile in struttura alla DRAM, che utilizza un transistor e un condensatore (1T-1C), ma memorizza FRAM dati come una polarizzazione di un materiale ferroelettrico (lead-Zirkonate-titanato). Come un campo elettrico viene applicato, dipoli spostano in una struttura cristallina per memorizzare le informazioni. Tale struttura si traduce in una serie di vantaggi: non volatilità scrive Veloce Resistenza a bassa potenza ad alta resistenza ai campi elettromagnetici e alle radiazioni senza pari flessibilità sicurezza dei dati L'uso del cristallo di polarizzazione in contrapposizione a caricare l'immagazzinaggio consente il mantenimento dello stato, requisiti di tensione inferiori (a partire da 1,5 V) e velocità di scrittura quando confrontato con Flash, tecnologie EEPROM e SRAM utilizzati in applicazioni tipiche MSP430 microcontrollore. In aggiunta ai benefici connessi con tecnologie di memoria tradizionali, FRAM offre vantaggi di sicurezza a livello di sistema. La mancanza di una pompa di carica elimina una vulnerabilità chiave contro gli attacchi fisici. FRAM è anche resistente ai campi electricmagnetic così come le radiazioni. Dal momento che lo stato FRAM non è memorizzato come una carica, particelle alfa non sono suscettibili di causare bit per capovolgere e Soft Error Rate FRAM (SER) è al di sotto dei limiti rilevabili. In cima a questa resistenza alle interferenze esterne, FRAM è anti-strappo, il che significa potenza persa durante un ciclo writeerase non causare la corruzione dei dati. Infine, i dati possono spesso essere protetti utilizzando la crittografia. La velocità di scrittura veloce e ad alta resistenza di FRAM consente agli sviluppatori di generare chiavi più frequentemente per la trasmissione dei dati più sicura. Prestazioni in una tecnologia microcontrollore FRAM offre diversi vantaggi rispetto alle tecnologie di memoria tradizionali. Questi vantaggi possono portare a reali benefici a livello di funzione a bassa potenza e applicazioni con microcontrollori di base. Fast Write velocizza i tempi di produzione potenziale e risparmio di tempo di sviluppo meno vulnerabili agli attacchi Enable on-the-fly scrive con buffer pari a zero quando si ricevono dati dai canali di comunicazione ad alta velocità inferiori di scarico di energia e il potenziale di risparmio di un cuscinetto esterno o l'evitamento di un MCU con un grande efficienza RAM impronta Aumento con basso duty cycle attiva perché le scritture sono completati rapidamente dando il tempo più lungo in stand-by No Erase necessario in quanto FRAM scrive non richiedono un pre-cancellazione, tempo di cancellare la memoria e collo di bottiglia energia è completamente eliminato anti-strappo dei dati durante l'accensione Bassa perdita di energia scrive No pompa di carica necessaria per FRAM scrive, impedendo sia ad alta media e potenza di picco del processo di FRAM scrittura non consuma energia in più rispetto a una lettura, facendo il bilancio di energia durante la registrazione semplice dei dati e dati sullo stato del backup completo indolore, il codice oi dati memoria power fail da FRAM scrive non svuotare eccessivo di energia Eseguire nel corso degli aggiornamenti aria con fiducia da centinaia di kB di dati possono essere aggiornati in una frazione del tempo senza l'utilizzo di una parte significativa della risorsa di energia in tempo reale scrive consente una maggiore reattivo registrazione dei dati, ad esempio nel caso di eventi di guasto veloce CPU non si svolge nel processo di scrittura, gli interrupt non siano bloccate e le scritture sono stati completati nei istruzioni tempo di ciclo non segmentato memoria significa un intero segmento della memoria non deve essere backup per aggiornare una sola parola. Aggiornamento bit per bit, word-saggio o il blocco-saggio come adatto alla vostra applicazione Unified Memory esperienza flessibilità senza pari con la possibilità di spostare il codice, dati variabili e confini di dati costanti ovunque in tutto FRAM Consente una piattaforma comune microcontrollore sfruttando codice flessibile e allocazione dei dati non c'è bisogno di cambiare MCU se il rapporto di codice e dati non può essere deciso al momento della progettazione iniziale adatto per grandi applicazioni RAM - elimina la necessità di un microcontrollore con memoria RAM più grande: il rapporto Flash FRAM tecnologia casi d'uso FRAM offre diversi vantaggi rispetto tradizionale tecnologie di memoria. Questi vantaggi possono portare a reali benefici a livello di funzione in applicazioni a bassa potenza. Soluzione Funzioni Bassa ciclo attivo per operazioni di scrittura non volatili a bassa media e la potenza di scrittura di picco porta a bassa media e il consumo di potenza di picco del MCU variabili di tempo più veloce di sveglia memorizzato in non volatile FRAM coppia perfetta con BQ25570 Specificamente progettato per acquisire e gestire W a mW di potenza generata da DC fonti Vantaggi solare, termica o eolica Solution Ottenere più vicino alla batteria nominale efficienza della batteria di capacità è migliorata e la durata è estesa limitando picco di corrente vendemmia consumo di energia può essere l'unica fonte di energia, o può integrare le batterie per il prodotto più a lungo la sicurezza di vita dei dati Sicurezza dei dati proteggere la proprietà intellettuale e le trasmissioni con FRAM Solution caratteristiche No pompa di carica necessaria resistenza ai campi esterni di ritenzione Stato sul potere fallire, scritture rapide e 10 scrittura acceleratori cicli hardware per encryptiondecryption utilizzando l'Advanced Encryption standard (AES) Soluzione Vantaggi protetto di memoria da alcuni tipi di attacchi fisici FRAM non è suscettibile di errori software aggiornare le chiavi di sicurezza in modo rapido ed inviare notifiche in caso di alcuni cambi di stato AES accoppiato con l'autenticazione consente più sicura la comunicazione dei dati flessibilità sviluppo sviluppo flessibilità - Eliminare i confini tradizionali tra codice, variabili e dati costante soluzione Caratteristiche Flash: rapporto di RAM è standard del settore, nessuna personalizzazione consentito FRAM rompe questa barriera con la possibilità di personalizzare la dimensione dei blocchi di memoria flessibilità per modificare questi limiti in fase di esecuzione o in fase di compilazione della soluzione Vantaggi Meno piattaforme di tempo più veloce sul mercato FRAM consente agli sviluppatori di mantenere 1 piattaforma attraverso progetti con diverse esigenze Lower sistema di costi Non c'è bisogno di pagare per un dispositivo più grande solo per ottenere più RAM efficienza produttiva efficienza produttiva - tempo di risparmio soldi moduli display eink Sviluppare elettronici shelf-etichette e altro ancora utilizzando FRAM abilitato I moduli la flessibilità unica di TI FRAM MCU ci ha permesso di impostare la partizione tra la memoria RAM di tipo e di memoria di programma in qualsiasi punto all'interno della FRAM e creare una soluzione di e-ink display unica a basso costo all'interno di un design compatto, ha detto Don Powrie, CEO di DLP design. Normalmente, al fine di ottenere questa quantità di RAM, avremmo bisogno di un MCU molto più grande, così facendo salire il costo complessivo del prodotto. Problema cliente Tempo necessario per aggiornare la visualizzazione Eink deve essere mantenuto al minimo la capacità di memorizzare e richiamare immagini a schermo intero dal frame buffer immagine è importante avere abbastanza RAM in fretta, un MCU molto più grande e più costoso sarebbe necessario Advantage FRAM Aggiornamento Eink visualizzazione ridurre rapidamente il costo di MCU quando standard Flash RAM rapporti non sono ideali o quando è richiesta buffer RAM esterna dei dati è assicurata sulla perdita di potere MSP430FR2033 piccola memoria (fino a 16 KB FRAM) ingombro con abbondante InputOutput (IO) pin. I dispositivi dispongono inoltre logico speciale modulazione infrarossi (IR) per semplificare la progettazione di applicazioni, tra cui telecomandi. Fino a 16 MHz fino a 16 KB FRAM non volatile a 10 canali a 10 bit ADC IR Modulation Logic fino a 60 GPIO MSP430FR2311 piccola memoria (fino a 4 KB FRAM) ingombro con funzionalità analogiche estese. Dispositivo è dotato di amplificatore operazionale, amplificatore a transimpedenza (TIA). comparatore e ADC per il collegamento diretto ai sensori in un sistema. Fino a 16 MHz fino a 4 KB FRAM non volatile a 8 canali a 10 bit ADC amplificatore Transimpedance piccolo pacchetto (3x3) MSP430FR2633 piccola memoria (fino a 16 KB FRAM) ingombro con abbondante InputOutput (IO) pin. I dispositivi dispongono Captivate tecnologia touch capacitiva per consentire a bassa auto-alimentazione e mutua capacità disegni con immunità al rumore 10 V RMS. Fino a 16 MHz fino a 16 KB non volatile FRAM MSP430FR4133 piccola occupazione di memoria con un controller LCD ultra-low-power e abbondante touch capacitivo abilitato IO pin. Il controllore LCD a 256 segmenti ha una pompa di carica integrata per il contrasto mantenuto in modalità a bassa potenza e le caratteristiche del software pin configurabili per il layout hardware semplificata degli LCD. logica modulazione IR è accessibile nelle MCU anche. Fino a 16 MHz fino a 16 FRAM Industrys controller Power LCD più basso KB non volatile a 10 canali a 10 bit ADC IR Modulation Logic Fino al 60 di tocco capacitivo abilitato GPIO MSP430FR5739 La prima serie di dispositivi con tecnologia FRAM. Questi microcontrollori offrono 5 timer, un 12-canale 10-bit ADC, e l'accesso diretto alla memoria (DMA) per ridurre al minimo il tempo in modalità attiva. Questa serie offre anche il più piccolo dispositivo confezionato in portafoglio MSP430 (24-pin 2x2 DSBGA). Fino a 24 MHz fino a 16 KB non volatile FRAM 12 canali a 10 bit ADC comparatore 5 Timer accesso diretto alla memoria più piccolo pacchetto in portafoglio (DSBGA 2x2) Fino a 33 GPIO MSP430FR5969 mondi serie di MCU potenza più bassa (nome in codice: Wolverine) con un ingombro di memoria di medie dimensioni (fino a 64 KB FRAM). Questi dispositivi dispongono di 100 AMHz attuale modalità attiva e 450 corrente modalità standby nA con l'orologio in tempo reale (RTC) abilitato. Il portafoglio comprende anche un convertitore a 16 canali 12-bit analogico-digitale (ADC) che può accettare input singoli o differenziali. Un comparatore finestra è integrato per un tempo prolungato in modalità a bassa potenza. Questi MCU dispongono anche di un acceleratore a 256-bit Advanced Encryption Standard (AES) e il modulo di incapsulamento della proprietà intellettuale (IP) per la protezione dei dati importanti. Fino a 16 MHz fino a 64 KB FRAM non volatile a 16 canali a 12 bit ADC comparatore 5 Timer diretto Memory Access 256-bit AES fino a 40 GPIO MSP430FR6989 Questi microcontrollori espandere la nostra serie MSP430FR59x58x con più memoria e l'integrazione. Questi dispositivi dispongono di una grande impronta di memoria (fino a 128 KB FRAM), un controllore LCD 320 segmenti a bassa potenza con pompa di carica integrata, e una nuova estesa Scan Interface (ESI) per misurare la rotazione o anche di prossimità. Fino a 16 MHz fino a 128 KB non volatile controller FRAM LCD a 16 canali ADC comparatore 12 bit estesa Scan Interface 5 Timer diretto Memory Access 256-bit AES fino a 83 GPIO valutazione e la progettazione Texas Instruments ha gli strumenti di valutazione giusti per aiutare si sceglie il dispositivo FRAM per la propria applicazione e iniziare a sviluppare. Se nuovo per microcontrollori, un ingegnere esperto, proprio a partire valutazione, o integrano microcontrollori MSP430 in un disegno, l'ultra-low-power MSP430FRxx FRAM serie di microcontroller. Per la valutazione veloce o prototipazione rapida, i kit di sviluppo LaunchPad MSP430 FRAM-based offrono tutto il necessario per iniziare per meno di 20. Questa piattaforma MCU a basso costo è completato con tavole di destinazione Socket per un perno di breakout completo dei nostri microcontrollori. Questi moduli di valutazione (EVM) consentono la piena integrazione di MSP430 MCU in un sistema di sviluppatori. Questi kit sono tutti abilitati dal microcontrollore programmerdebugger MSP430, MSP-FET. Ambienti integrati di sviluppo (IDE) o librerie di applicazioni sono disponibili per avviare lo sviluppo anche. Per iniziare non è mai stato più semplice con codice TI Composer Studio o gli IDE IAR Embedded Workbench. A queste si aggiunge liberi, librerie ottimizzate per migliorare le prestazioni delle operazioni matematiche e semplificare lo sviluppo quando si utilizza touch capacitivo o grafica in un'applicazione. Ottimizzatori, come EnergyTrace8482 tecnologia. sono a disposizione per consentire il tempo ridotto a mercato anche. I progetti di riferimento sono a disposizione per aiutare gli sviluppatori a formare i loro sistemi anche. TI disegni forniscono la base di cui avete bisogno, inclusi i file metodologia, sperimentazione e progettazione per valutare e personalizzare il sistema in modo rapido. TI disegni aiutano ad accelerare i tempi di commercializzazione. In esecuzione su 8 MHz Attendere controllo dello Stato e di esecuzione delle istruzioni velocità di marcia superiore a 8 MHz Wait controllo dello Stato e velocità di esecuzione delle istruzioni L'orologio di sistema per la CPU o DMA può superare i requisiti di accesso FRAM e tempo di ciclo. Per questi scenari, un meccanismo generatore di attesa stato è implementato. Il quotRecommended Conditionsquot funzionamento della scheda di dati specifici del dispositivo elenca gli intervalli di frequenza con le impostazioni necessarie stato di attesa. Il numero di stati di attesa è controllata dal NWAITS2: 0 bit nel registro FRCTL0. Per aumentare la frequenza di clock di sistema oltre la frequenza massima consentita dalla impostazione attesa stato attuale, sono necessarie le seguenti fasi: Aumentare il numero di stati di attesa configurando NWAITS2: 0 secondo la frequenza di riferimento. FRCTL0 FRCTLPW NWAITSx aumentare la frequenza ai nuovi termini target. In del tempo di scrittura, FRAM è scritto in blocchi di quattro parole, e il tempo di scrittura è incorporato in ogni ciclo di lettura. Quindi, non c'è differenza tra il tempo di lettura e scrittura di tempo per un byte FRAM, parola o blocco 4word. Per quanto riguarda la frequenza di lettura, FRAM accessi (lettura e scrittura) sono limitato a 8 MHz. Tuttavia, Flash legge può avvenire alla massima velocità consentita dal dispositivo (fSYSTEM), che è o 8 MHz o 16 MHz in microcontrollori MSP430F4x per esempio. Nota: La velocità di esecuzione di istruzioni in un sistema basato FRAM è influenzata dall'architettura. Il MSP430FRx MCU usa una cache associativa a 2 vie che impiega una combinazione di registro e FRAM accede quando esegue dalla memoria non volatile. Questo permette il throughput sistema sia superiore alla frequenza massima di lettura consentita di 8 MHz. Si prega di consultare la FRAM tecnologia MSP430 Come e best practice per ulteriori informazioni sull'esecuzione usando MSP430FRx MCU. Memoria schema di partizionamento della memoria layout di partizionamento Dato che la memoria FRAM può essere utilizzata come memoria universale per codice di programma, le variabili, costanti, pile, e così via, la memoria deve essere partizionato per l'applicazione. Code Composer Studio e IAR Embedded Workbench per MSP430 IDE possono entrambi essere utilizzati per impostare un layout di memoria applicationrsquos per rendere migliore uso possibile della FRAM sottostante a seconda delle esigenze applicative. Questi schemi di partizionamento della memoria sono generalmente situati all'interno del file di comando del linker specifici IDE. Per impostazione predefinita, i file di comando del linker in genere allocare le variabili e le pile in SRAM. E, codice di programmi e costanti sono allocati in FRAM. Queste partizioni di memoria possono essere spostati o dimensionati a seconda delle esigenze applicative. Si prega di consultare la FRAM tecnologia MSP430 Come e best practice per maggiori informazioni e per dare un'occhiata più da vicino il partizionamento della memoria utilizzando IAR Embedded Workbench. Memory Esempio di partizionamento 1) Manuale MPU Configurazione Avanti, MPU può essere configurato per proteggere tre segmenti di memoria differenti in software. Ogni segmento può essere configurato singolarmente per leggere, scrivere, eseguire, o una loro combinazione. La maggior parte delle applicazioni dovrebbero avere una qualche forma di variabili che dovrebbero essere protette come leggere e scrivere, le costanti da sola lettura, e il codice di programma dovrebbero essere leggere ed eseguire solo. Ci sono due registri che definiscono come i confini del segmento sono configurati: Memory Protection Unità Segmentazione Border 1 (MPUSEGB1) e di protezione della memoria Unità Segmentazione bordo 2 Registra (MPUSEGB2). Prima di scrivere al registro, l'indirizzo deve essere spostato a destra da 4 bit. Nota: la più piccola allocazione dimensione del segmento MPU è 1KB o 0x0400. Per ulteriori informazioni, consultare la guida utenti di famiglia specifico del dispositivo. MPU memoria Segmentazione esempio 2) basata su wizard MPU codice di configurazione Composer Studio v6rsquos built-in MPU guidata MSP è accessibile attraverso la proprietà del progetto CCS. Per aprire questa finestra di dialogo, fare clic destro sul progetto nella vista CCSrsquo Esplora progetto e selezionare Proprietà. Attivare la MPU selezionando la casella Abilita Unità di protezione della memoria (MPU). Poi, la configurazione dovrebbe essere lasciato in default per permettere al compilatore di configurare e partizionare le aree di memoria basati nell'uso applicazione automaticamente. Ad esempio, le costanti sono configurati come sola lettura o il codice del programma è configurato come leggere ed eseguire solo. Se configurato attraverso la MPU guidata, l'avvio di routine C configura automaticamente e consente la MPU prima di entrare in main () senza ulteriori passaggi necessari per voi. Si prega di consultare la FRAM tecnologia MSP430 Come e best practice per maggiori informazioni e per dare un'occhiata più da vicino a garantire FRAM utilizzando IAR Embedded Workbench. MPU Wizard Il MSP ultra-low-power microcontroller (MCU) serie di Texas Instruments (TI) offre il più basso consumo energetico e il perfetto mix di periferiche integrate per un'ampia gamma di bassa potenza e applicazioni portatili. Ciò può includere l'uso come MCU dosaggio o come un microcontrollore in disegni telecomando, con l'integrazione che consente funzionalità di un driver di segmento LCD o modulatore ir. TI fornisce un supporto robusto design per la famiglia di MCU a basso consumo MSP tra cui documentazione tecnica, formazione e kit di sviluppo microcontrollori e strumenti software integrati necessari per iniziare oggi Questo rende il MSP430, un facile da usare microcontrollore per iniziare lo sviluppo. Questo microcontrollore a basso costo è il luogo perfetto per iniziare per la batteria MCU alimentato applications. Blog Entry 11 settembre 2011 da RSF. sotto Robotics. Quando Texas Instruments (TI) ha introdotto la loro nuova linea di valore a 16 bit microcontroller completo con la scheda di programmatore e lo sviluppo di nome MSP430 Value Line LaunchPad a metà del 2010 per solo USD 4,30 includere il costo di trasporto, questo lo rende come programmatore e lo sviluppo economico piattaforma di bordo che si possa trovare sul mercato. Pertanto, l'introduzione della linea di LaunchPad scheda di sviluppo valore MSP430 fare un enorme impatto soprattutto tra i hobbisti dell'elettronica, studenti e appassionati perché ora il grande ragazzo (TI) è seriamente prendendo parte al mercato hobbisti elettronica e competere direttamente la loro classe a 16 bit microcontrollori linea valore ai microcontrollori a 8 bit di classe, che sono per lo più dominate da Atmel e Microchip. La scheda di sviluppo MSP430 Value Line LaunchPad è venuto con l'eclissi basato Texas Instruments ambiente di sviluppo integrato (IDE) chiamato Code Composer Studio (scaricabile dal sito web TI) e dotato con il professionista compilatore grado C e debugger, che rendono lo sviluppo di MSP430 microcontrollore sistema embedded basato diventare facile e divertente. Come sapete la maggior parte del hobbisti dell'elettronica utilizzato il popolare classe di microcontrollore a 8-bit per la maggior parte del loro progetto embedded come microcontrollori AVR della Atmel e microcontrollori PIC Microchip. Ora si potrebbe chiedere perché dobbiamo imparare un altro tipo di microcontrollori come la maggior parte del microcontrollore moderna ha già fornito tutte le caratteristiche necessarie di cui abbiamo bisogno. Perché no, imparare un altro tipo di microcontrollore è uno dei temi affascinanti e stimolanti da imparare soprattutto per l'hobbista veri elettronica come questo sarà ampliare la nostra conoscenza e utilizzare ciò che è il migliore per ogni tipo di microcontrollori per sostenere il nostro futuro integrato progetto di sistema . Il progetto MSP430 microcontrollore Dopo molte considerazioni su quello che è il modo interessante per introdurre questo MSP430 microcontrollore, invece di iniziare con un LED lampeggiante comune, ho deciso di costruire un robot semplice e tuttavia più popolare, 8230yes, 8230is un'altra linea Follower Robot (LFR ) utilizzando la Texas Instruments 14 pin a 16-bit microcontroller MSP430G2231 che vengono con la scheda di sviluppo MSP430 Value Line LaunchPad. Perché penso che la costruzione di un robot vi darà le conoscenze di base e la comprensione che si ha bisogno di iniziare esplora molte delle caratteristiche anticipo offerte da questo linee di valore MSP430 16 bit microcontrollori da soli. Se si nota sull'immagine sopra di questa linea Follower Robot (LFR) ha utilizzato un simile telaio CD, motoriduttore DC e sensori trovato su miei precedenti articoli 8220The LM324 Quad Op-Amp Linea Follower robot con Pulse Width Modulation 8220. Quindi questo progetto anche serve come un buon esempio della versione 8220digital8221 del LFR we8217ve analogico costruito prima. Quello che segue è lo schema elettronico completo della linea Follower Robot: ora elencare giù tutti i componenti elettronici necessari e altri materiali supportati per costruire questo LFR: 1. Resistenze: 220 (2), 470 (1), 10K (3), (2) 22K e 47K (1) 2. Resistenza di Dependent Luce (2) 3. Condensatori: 0.1uF (3), 1uF (1) e 47uF16v (1) 4. Diodi: 1N4148 (2) 5. alta intensità 3 mm blu Light Emitting Diode (3) 6. MOSFET a canale N: BS170 (3) 7. IC: ACS 1722A regolatore di tensione 3,3 volt o equivalente motore 8. Texas Instruments MSP430 Value Line LaunchPad Development Board 9. DC: solarbotics GM2 Geared DC motore con ruote (2) 10. Un riarmo interruttore a pulsante 11. PCB perforata: 70 x 55 mm per la scheda madre e 50 x 15 mm per i sensori di bordo 12. 4 x titolare aa 13. CDDVD ROM (2) 14 . Perline plastica e carta clip per la ruota (la terza ruota) 15. Bolt, dadi, doppio nastro e standard nastro elettriche per la linea nera 16. Texas Instruments Code Composer Studio core Edition versione 4.2.1.00004 (usato in questo progetto) 17 . Texas Instruments MSP430G2231 microcontrollore scheda SLAS694 e SLAU144F. Il firmware completo per questo progetto Linea Follower robot è stato sviluppato con il linguaggio C: Il design del robot linea seguace Robot Principio di funzionamento Questa linea Follower utilizzato il sensore della fotocellula conosciuto come un resistore dipendente Luce (LDR) a base di solfuro di cadmio (CdS) per rilevare la linea a binario nero, quando il LDR è al di sopra della linea di pista nera che darà un valore ad alta resistenza mentre sopra lo sfondo bianco e darà un basso valore di resistenza. Insieme con il resistore 22K, formeranno what8217s noti come il circuito divisore di tensione. Questo sensore circuito partitore di tensione fornirà la tensione variabile a seconda della quantità di intensità della luce riflessa verso il LDR. Il blu Light Emitting Diode (LED) fornirà una fonte di luce costante per i sensori. Successivamente il microconttroller MSP430G2231 tradurrà questa tensione variabile utilizzando la sua conversione da analogico a digitale (ADC) periferico nella velocità di rotazione del motore a corrente continua con quello noto come segnale Width Modulation (PWM) Pulse. Perché questo LFR usato il 8220 differenziale di sterzo 8221 (vale a dire utilizzati due motori DC indipendente per lo sterzo) metodo, quindi, variando la sinistra e la destra velocità di rotazione del motore a corrente continua proporzionale all'intensità della luce ricevuta da entrambi i LDR destra e sinistra, abbiamo potuto facilmente rendere il robot per navigare la linea pista nera con successo. Il microcontrollore MSP430G2231 Il Mixed Signal Processing (MSP) 430 serie di microcontroller è stato introdotto alla fine del 1990 da Texas Instruments. It8217s un RISC (ridotto set di istruzioni del computer) di microcontrollori a 16-bit con architettura di von Neumann in cui la CPU, IO, e la memoria dinamica lo stesso controllo a 16 bit, l'indirizzo e bus dati. Il MSP430 è specialmente disegno per bassi consumi e ottimizzare da utilizzare con il compilatore C. La serie linea di 8220G8221 valore come il MSP430G2231 microcontrollore a 14 pin viene introdotto insieme al prezzo fenomenale scheda di sviluppo LaunchPad. Questo microcontrollore ha queste seguenti caratteristiche interessanti che I8217m sicuro come l'elettronica hobbista si ansiosi di provare da soli. Una delle caratteristiche che fanno di questo 14-pin MSP430G2231 microcontrollore speciale è la configurazione in logica di emulazione on-chip con quello che viene chiamato 8220 Spy-Bi-Wire 8221 o anche conosciuto come JTAG a 2 fili (Joint Action Group di prova). Questa utile funzione ci permette di intensificare la linea di codice C per riga, impostare un punto di interruzione, e controllare il valore delle variabili o registri mentre il chip è nel circuito (nella programmazione del circuito e il debugging). Il microcontrollore MSP430G2231 InputOutput (IO) Il microcontrollore MSP430G2231 ha 10 IO, 8 perni sui primi porte (P1) e 2 perni sulle seconde porte (P2). Tutte queste porte sono configurabili come le porte di ingresso o di uscita di uso generale e spesso multiplex altre funzioni IO come AD (analogico a digitale) in ingresso, PWM fuori, USI (interfaccia seriale universale), orologio d'ingresso, Crystal Oscillator ingresso, e JTAG terminale IO. Come you8217ve evince dalla tabella sopra, l'LFR utilizzato solo diverse porte IO e come regole empiriche alle porte di IO non utilizzati devono essere configurati come le porte di uscita e lasciarli scollegati. In alternativa è possibile configurare tutte le porte non utilizzate, come le porte di ingresso (di default sul ripristino l'accensione) e attivare la resistenza di pull-down al fine di evitare l'imprevedibile 8220 galleggiante 8221 ingressi problemi sorgono nel progetto. Il seguente codice C mostra come configurare le porte IO necessarie a tal LFR: The P1DIR (porta 1 direzione) registro viene utilizzato per configurare la direzione porta IO, in cui ogni bit di questo 16 bit corrispondente alle porte IO (P1.0 a P1.7). Attivando il bit corrispondente abbiamo semplicemente dire il microcontrollore MSP430G2231 per configurare la porta come una porta di uscita. Avanti il ​​P1REN (porta 1 pull-uppull-down resistenza) registrarsi, abilitando il bit corrispondente potremmo attivare la resistenza di pull-down (configurato come input) o resistenza di pull-up (configurata come uscita). Il P1OUT MSP430G2231 microcontrollore (porta 1 uscita) registro è utilizzato per controllare la porta di uscita stato logico, è usato per accendere e spegnere il P1.0 e P1.6 per generare il segnale PWM richiesta. Ho usato queste porte perché queste porte sono collegate con due LED nel scheda di sviluppo MSP430 LaunchPad, quindi, si potrebbe facilmente verificare l'uscita PWM utilizzando questi LED. La porta di uscita P1.7 è usato anche per controllare il sensore LED accanto come la sorgente luminosa del sensore, serve anche come indicatore segno quando la finitura LFR calibrazione dei sensori. L'operatore a seguito dell'uso bit di codice in linguaggio C per accendere e spegnere la porta utilizzando il registro microcontrollore P1OUT la MSP430G2231: Dalla scheda tecnica la corrente massima di uscita per ogni porta è di circa 6 mA e per tutte le uscite combinate è di circa 48 mA, questo naturalmente non è adatto a guidare il motore a corrente continua direttamente quindi in questo progetto ho usato il MOSFET a canale n (Metal Oxide Semiconductor effetto di campo Transistor) BS170 per guidare il motore a corrente continua e il sensore a LED. Il vantaggio di utilizzare MOSFET perché questo tipo di transistor è molto alta impedenza di ingresso sul suo gate (G) terminale che significa la sua necessità corrente molto bassa per operare e la sua ha una bassa resistenza ON tra il drain (D) e Source ( S) terminali chiamati Rds soprattutto quando funzionare con più alta tensione di alimentazione DC paragonare alla ordinaria Bipolar Junction Transistor (BJT). Applicando tensione superiore alla Vgs tensione di soglia di tensione cioè applicata tra il terminale di gate e source, it8217s circa 2 volt sul BS170 MOSFET, potremmo portare il MOSFET nella sua fase satura (ON) e questo livello di tensione potrebbe essere facilmente fornita dal MSP430G2231 porta di uscita microcontrollore. Il MSP430G2231 Pulse Width Modulation Pulse Width Modulation (PWM) è una tecnica largamente usata nel circuito di commutazione moderna per controllare la quantità di energia fornita al dispositivo elettrico (cioè il motore DC). Semplicemente accende e si spegne l'alimentazione fornita al motore a corrente continua rapidamente e la quantità media di energia ricevuta da parte del motore a corrente continua è corrispondente al ON e OFF periodo (duty cycle) quindi variando il periodo ON cioè più lungo o più corto del OFF periodo, potremmo controllare la velocità di rotazione del motore DC. Il microcontrollore MSP430G2231 ha in realtà due registri capturecompare che potrebbero essere utilizzati per generare automaticamente il PWM, ma perché abbiamo bisogno di due fonti PWM indipendenti con il duty cycle PWM configurabile e sulla frequenza PWM specifica, quindi non abbiamo potuto usare il costruito in PWM, che è fornito dal microcontrollore MSP4302231. Invece su questo progetto LFR ho usato il PWM software che si basa sulla MSP430G2231 TimerA canale 0 interrupt. Il PWM software di base potrebbe essere fatto creando prima contatore rampa digitale di base per il periodo del segnale PWM e quindi utilizzare la variabile da confrontare con il valore del contatore rampa e questo creerà il duty cycle PWM necessarie come mostrato in questa figura seguente: L' contatore rampa digitale di base utilizzata la variabile pwmcount a contare da 0 a MAXCOUNT e iniziare a contare da 0 di nuovo più volte. Il pwmcount fornirà un periodo costante al segnale PWM. Poi abbiamo bisogno di due variabili pwmm1 e pwmm2 da confrontare con la variabile pwmcount. Quando il pwmcount raggiungere lo 0, abbiamo semplicemente accendere la porta di uscita MSP430G2231 microcontrollore e quando il pwmcount pari al pwmm1 o il valore pwmm2, abbiamo semplicemente disattivare la porta di uscita MSP430G2231 microcontrollore. Quindi variando sia del valore pwmm1 o variabili pwmm2 potremmo controllare il duty cycle del segnale PWM. Abbiamo usato il microcontrollore MSP430G2231 TimerA nel 8220 Modalità Up 8221 al effettivamente aumentare e controllare il valore pwmcount e quando il contatore registro TimerA (TAR) pari a Timer Un CaptureControl Registrati canale 0 (TACCR0) genererà l'interrupt. Perché su questo progetto ho usato MSP430G2231 microcontrollore standard di Sub Main Clock (SMCLK) di 1 MHz per la sorgente di clock TimerA, assegnando in tal modo 99 al registro TACCR0 renderà il canale TimerA 0 per generare interrupt su ogni 100 (TACCR0 1) Cicli o circa 0,1 ms come mostrato in questa seguente codice C: l'implementazione del software PWM è implementato all'interno del canale TimerA gestore di funzione 0 interrupt come mostrato in questa seguente codice C: scegliendo MAXCOUNT di 100, potremmo ottenere il periodo di PWM circa 101 x 0,1 ms, che è di circa 10,1 ms o potremmo dire che la frequenza PWM è di circa 100 Hz e assegnando ciascuna del valore pwmm1 e pwmm2 variabili da 0 a 100, siamo riusciti a ottenere l'output duty cycle PWM variabile da 0 a 100. la pwmm1 e pwmm2 valore di variabili è fornita dal valore digitale da sinistra e sensori retto dalla funzione adc2cycle () che sostanzialmente impostare il valore di duty cycle PWM superiore e inferiore restituito a queste variabili. L'impostazione di soglia superiore e inferiore è dipende dalla linea di pista nera ed i sensori caratteristici e potrebbe essere cambiata modificando ciascuno dei MaxThreshold e il valore di definizione MinThreshold. Il microcontrollore MSP430G2231 ADC Peripheral Il MSP430G2231 ha un 10-bit analogico a conversione digitale (ADC) periferico noto anche come ADC10 periferico con 8 canali (A0 a A7), in cui il canale (A10) viene usato specialmente per il termometro interno. Il MSP430G2231 ADC10 periferico utilizzato quello che viene chiamato 8220 approssimazioni successive Metodo 8221 per convertire l'ingresso analogico da uno di questi canali per la rappresentazione digitale a 10 bit e memorizza il risultato nel registro ADC10MEM. La periferica ADC10 è controllato da due registri di controllo, ADC10CTL0 e ADC10CTL1. Così impostando il bit ADC10ON (logico alto) in ADC10CTL0 registro permettiamo questo nucleo ADC. La cosa più importante da ricordare che questi registri di controllo ADC10 possono essere modificati solo quando ENC (Enable Conversione) bit in ADC10CTL0 è basso (ENC 0) e prima la conversione AD questo bit deve essere impostato a (alto logico) 1. The MSP430G2231 ADC10 peripheral have four operating mode which could be selected by setting the CONSEQx bits in the ADC10CTL1 (ADC10 Control Register 1) and on this LFR project we will use the 8220 Single Channel Single Conversion Mode 8220. The following C code show how we setup the MSP430G2231 microcontroller ADC10 peripheral: The multiplexer analog channels input could be selected by assigning the corresponding INCHx bits in the ADC10CTL1 register. The actual AD conversion is take placed in the ReadSensor() function, as shown on this following C code: Noticed on the C code above that before we change the ADC10 control register (i. e. ADC10CTL0 and ADC10CTL1 ), we have to disable the ADC10 first be resetting the ENC bit on ADC10CTL0 register then prior to the AD conversion we set (enable) the ENC and ADC10SC (ADC10 Start Conversion) bits in ADC10CTL0 register. Next we wait the conversion by checking the ADC10BUSY bit on the ADC10CTL1 register. When the ADC10BUSY bit is become 822008221 means the conversion is done and we could retrieve the stored 10-bit digital value in the ADC10MEM register. One of the most important features on this LFR project is the used of the calibration phase in the CalibrateSensor() function. In the calibration phase we read the sensors for their maximum value (i. e. on the black line) and the minimum (i. e. on the white background) value. This calibration phase will ensure both of the left and right sensors provide equal value to the PWM generator for driving DC motor. The actual algorithm to make this LFR navigate the black track line successfully is shown on this following C code: The Line Follower Robot Assembly The Line Follower Robot first is constructed on the breadboard in order to test the circuit before I move it to the perforated PCB (70 x 55 mm) I used a similar wiring method to wire the circuit on the main LFR perforated PCB as explained on my previous article 8220Quick and Efficiently Wiring Your Prototype Circuit Board 8220. The Line Follower Robot construction could be constructed freely but the easiest one is to use the discarded CDDVD ROM as shown on these following pictures: I glued the two CDROM together in order to make more room and attached the two GM2 DC motors, 4xAA battery holder, main board, and sensor board using the double tape. The sensors (LDR and LED) are constructed in a small perforated PCB (50 x 15 mm) with this following guidance: Finally using the Texas Instruments MSP430 Value Line LaunchPad development board Spy-Bi-Wire connector and the Texas Instruments Code Composer Studio Core Edition v4.2.1.00004 (used in this project), we could easily programming and debugging the LFR firmware: After putting all the parts together and downloading the code into the MSP430G2231 microcontroller flash RAM now is time to watch how this nice Line Follower Robot in action: Another interesting video of this MSP430G2231 based Line Follower Robot: As you8217ve seen from the demo video above this Texas Instruments 16-bit MSP430G2231 microcontroller based Line Follower Robot design could handle and smoothly navigate the complex black track line using just two LDR sensors. I hope this Line Follower Robot project will trigger your passion to learn more about this powerful 16-bit MSP430 value line series microcontroller from Texas Instruments. Bookmarks and Share Related Posts

No comments:

Post a Comment