877 System

Sistema a Microcontrollore 16F877A per usi generali


Ultimo aggiornamento: 9/01/2011


Tutto il materiale, dove non diversamente specificato, e' coperto dalla licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo.
Creative Commons License

PROGETTO
Sistema a Microcontrollore 16F877A per usi generali

AUTORI
Walter Lain
Fabio Pinton


Per la realizzazione delle schede fare riferimento alle pagine Incisione dei PCB per prototipaggio.


CARATTERISTICHE

Il sistema e' composto da 5 sezioni fondamentali:
NOTA: dato che qualcuno ha chiesto, ecco una breve cross-reference tra Arduino e 877 System.

Recentemente e' stato realizzato un sistema demo. Maggiori informazioni in questa pagina.
Vista 3D della scheda - Versione seriale

Vista 3D della scheda - Versione USB

Vista 3D della scheda - Versione USB+SPI+I2C


Vista 3D della scheda


Vista 3D della scheda

Vista 3D della scheda


Vista 3D della scheda


Vista 3D della scheda



Vista 3D della scheda

Pseudosinusoide a 50Hz senza carico
(I tratti verticali in corrispondenza del passaggio per lo zero sono dovuti al condensatore di filtro non scaricato)

Pseudosinusoide a 50Hz con carico di circa 200mA
(Purtroppo non e' disponibile una immagine piu' chiara)


Alcune applicazioni industriali

Sistema di collaudo sensori 16A 200Vac/270Vdc (2007)
CPU (rev. 1.3), logica e analogica dedicate su millefori, display LCD alfanumerico 2x16, tastiera 4x4


Sistema di collaudo fotocellule 10-30V ac/dc (2009)
CPU (rev. 1.5), 3 schede output, 1 scheda input, display 7segmenti 2x3, switcher, analogica dedicata, 4 pulsanti


FIRMWARE

Il firmware completo del sistema non e' fornito. Questo perche', essendo il sistema progettato per usi generali, possono essere implementate molte funzioni differenti.
Vengono invece rese disponibili le porzioni di codice utili al pilotaggio delle varie schede. Per ottenere un sistema funzionante, occorrera' creare le routines di controllo generali (vedere ad esempio la demo nella apposita sezione).
Tutto il codice, come di consueto, e' ampiamente commentato. Per eventuali dubbi, fare riferimento alla sezione PICLinux.

Firmware base - mod 27/11/2009.
NOTA: la precedente release del firmware conteneva un bug relativo all'utilizzo della macro ADDLW nella gestione interrupts. L'ordine degli operandi nella macro non e' Literal,Register ma Register,Literal. Di conseguenza il tempo di ciclo era fisso a circa 13ms qualsiasi fosse l'impostazione, e i registri all'indirizzo puntato dai literal venivano resettati ad ogni overflow del timer. (questo succede quando si scrive codice troppo di fretta)

Timer
I/O
Display
3/11/2009: driver display LCD alfanumerico.
Keyboard
3/11/2009: driver tastiera 4x4 completo.
PWM
Serial
Schermata principale del software di comunicazione


Main

Gli autori non si assumono alcuna responsabilita' per eventuali danni di ogni tipo che possano essere causati dall'utilizzo del materiale qui' presente.

Impaginazione by KCS'81