spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Robotica di base > Elettronica > E. Digitale

Rispondi
 
Strumenti discussione Modalità  visualizzazioe
  #1  
Vecchio 28-01-2010, 15.48.56
luigi91 luigi91 non è collegato
Robottaro senior
 
Data registrazione: 28-01-2010
Residenza: potenza
Età : 27
Messaggi: 50
Potenza reputazione: 38
luigi91 E' per ora ancora un mistero
Predefinito problemi di comunicazione PIC16F887-->RS232

salve a tutti...cercherò di essere breve e il più comprensibile possib. sto cercando di realizzare un progetto per la mia tesina delle superiori che interessa il pic16f887, in poche parole, vorrei comandare 3 motori passo passo quante sono le dimensioni (X,Y,Z) ed, all'estremità dell'asse Z posizionare un trapano per fargli eseguire dei fori, le coordinate dovranno essere introtte da PC, tramite programma da scrivere in visual basic... adesso arriva il mio problema, cominciando con i test mi accorgo della difficoltà del pic di comunicare con PC... cosa succede, testando il circuito con l' usart terminal (software integrato in mikro basic) questo comincia a ricevere dati che non dovrebbe, ed il pic non riceve niente...

posto il programma caricato sul pic:
(mikrobasic)
dim posizione,contatore as byte
sub procedure delay()
delay_ms(500)
end sub

main:
trisb=0
portb=0
contatore = 0
posizione = 0
usart_init(4800)
usart_write(1)
do
posizione = Usart_Read
loop until Usart_Data_Ready = 1
do

select case portb
case 0000
portb = 0001
delay()

case 0001
portb=0010
contatore = contatore+1
delay()
case 0010
portb=0100
contatore = contatore+1
delay()
case 0100
portb=1000
contatore = contatore+1
delay()
case 1000
portb=0001
contatore = contatore+1
delay()
end select

loop until posizione = contatore
end.


quasi dimenticavo, ringrazio in anticipo chi deciderà di darmi una mano
Rispondi citando
  #2  
Vecchio 29-01-2010, 07.27.07
roby123 roby123 non è collegato
Nuovo robottaro
 
Data registrazione: 01-10-2009
Residenza: Romagna
Messaggi: 28
Potenza reputazione: 0
roby123 E' per ora ancora un mistero
Predefinito

Ciao Luigi91,

Io dividerei il problema in parti piu' piccole cosi' da poter affrontare il tutto un po' piu' semplicemente e a piccoli passi.
Prova a fare cosi':
Comincia dalla seriale del pc, sei certo che funziona?
Prova a mettere in corto l' RX con il TX prima del micro. a questo punto provi a inviare un dato dal PC, ti ritorna?
Se sei arrivato a questo punto allora hai la certezza che tutto l'hardware che stai utilizzando per le comunicazioni e le varie connessioni sono a posto.
Ora fatto questo se ci sono dei problemi, dividi ulteriormente il tutto in blocchi piu' semplici e riprova.
Per la parte software, simula il tutto con un pulsante connesso ad un piedino, prima fai funzionare un asse, poi il successivo ecc, fino ad aver provato il tutto.
Solo a quel punto, dopo avere la certezza che ogni singolo "blocco" funziona, cominci ad "assemblare" il tutto.

Ciao e .. buon divertimento.
Roberto
Rispondi citando
  #3  
Vecchio 29-01-2010, 09.43.14
luigi91 luigi91 non è collegato
Robottaro senior
 
Data registrazione: 28-01-2010
Residenza: potenza
Età : 27
Messaggi: 50
Potenza reputazione: 38
luigi91 E' per ora ancora un mistero
Predefinito

ciao roby, grazie per l interesse....
veniamo al sodo, ho pensato anch io alla divisione in blocchi di tutto il progetto, infatti il pezzo di codice postato è una parte di quello che dovrebbe essere il tutto; ho provato anche a mettere in corto Rx e Tx, il dato ritorna. ma oggi sono ancora piu giu di morale dato che ieri sera preso da una voglia di veder funzionare la comunicazione, ho ricreato questo circuito, seguendolo alla lettera, e logicamente, conderando i gusti pin del 16f887...
http://knol.google.com/k/programmare...seriale-rs232#

ma niente, non vedo un led accendersi neanche se lo minaccio... ho pensato, sarà che sto sbagliando il quarzo?!... ne sto utilizzando una da 2.54Mhz collegato su osc1 e osc2, poi mandati a massa....
grazie ancora per l interesse
Rispondi citando
  #4  
Vecchio 29-01-2010, 19.19.26
L'avatar di sergio_camici
sergio_camici sergio_camici non è collegato
Administrator
 
Data registrazione: 24-05-2002
Residenza: Binasco (MI)
Età : 53
Messaggi: 2,665
Potenza reputazione: 298
sergio_camici La sua reputazione è oltre la sua famasergio_camici La sua reputazione è oltre la sua famasergio_camici La sua reputazione è oltre la sua famasergio_camici La sua reputazione è oltre la sua famasergio_camici La sua reputazione è oltre la sua famasergio_camici La sua reputazione è oltre la sua famasergio_camici La sua reputazione è oltre la sua fama
Predefinito

Citazione:
Orginalmente inviato da luigi91 Visualizza messaggio
ma niente, non vedo un led accendersi neanche se lo minaccio... ho pensato, sarà che sto sbagliando il quarzo?!... ne sto utilizzando una da 2.54Mhz collegato su osc1 e osc2, poi mandati a massa....
grazie ancora per l interesse
Scusa, ma se il progetto indicato prevede un quarzo da 8Mhz come pensi possa funzionare con uno da 2.54?
La base dei tempi sarà tutta sballata.
__________________
ciao
Sergio
---
Hai deciso di costruire un robot? Bene...
Cominciamo dalle brutte notizie: non e' facile...
Rispondi citando
  #5  
Vecchio 29-01-2010, 20.55.31
luigi91 luigi91 non è collegato
Robottaro senior
 
Data registrazione: 28-01-2010
Residenza: potenza
Età : 27
Messaggi: 50
Potenza reputazione: 38
luigi91 E' per ora ancora un mistero
Predefinito

ho appena ultimato i test con il quarzo da 8Mhz... ma il risultato non cambia... ho controllato le tensioni...
alimento con 5V; ritrovo:
-10V sul pin 14 di max232
-10V sul pin 13
+5V sul pin 12
+5V sul pin 11


alimentazione al PIC arriva correttamente; Vdd verso Vcc, e Vss verso massa-

collegamenti della max 232 come questi :
http://knol.google.com/k/-/-/17t6pvd...base%20(2).bmp

ma in pratica: nessun led che si accende; dov è che sbaglio?!...


per favore, aiutooo!!!
Rispondi citando
  #6  
Vecchio 30-01-2010, 10.02.44
Arkham00 Arkham00 non è collegato
Robottaro master
 
Data registrazione: 20-07-2007
Residenza: Reggio Emilia
Messaggi: 225
Potenza reputazione: 266
Arkham00 La sua reputazione è oltre la sua famaArkham00 La sua reputazione è oltre la sua famaArkham00 La sua reputazione è oltre la sua famaArkham00 La sua reputazione è oltre la sua famaArkham00 La sua reputazione è oltre la sua famaArkham00 La sua reputazione è oltre la sua famaArkham00 La sua reputazione è oltre la sua famaArkham00 La sua reputazione è oltre la sua fama
Predefinito

Un appunto sui condensatori. Sembrano collegati ai piedini giusti ma di solito il simbolo del condensatore elettrolitico prevede un rettangolino nero per il polo negativo ed un rettangolino bianco per quello positivo.
Nello schema che tu indichi sembrano disegnati al contrario o con un'altra convenzione. Controlla sul datasheet originale del MAX232 che la polarità sia corretta.

Per verificare l'attività di una linea RS232 ti consiglio di fare un piccolo monitor: metti 2 LED di diverso colore in antiparallelo con una opportuna resistenza in serie (es 2,2kohm) e collega uno di questi circuiti tra i pin 2 e 5 del connettore seriale DB9 ed un'altro circuito tra i pin 3 e 5 sempre del DB9. In questo modo dovresti vedere lampeggiare i LED quando il PC trasmette e quando (e se) il PIC risponde.
Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalità  visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code è Attivato
Le smilies sono Attivato
[IMG] è Attivato
Il codice HTML è Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Comunicazione RS232 con CONTROLLO DI PARITA' maverik46 Elettronica 2 12-11-2011 21.41.10
Problema comunicazione RS232 amuro78 P. in C, C++ 5 26-02-2010 10.09.40
Comunicazione wireless tra 2 PIC (RS232) Chip8110 E. Digitale 6 11-01-2009 12.10.07
Comunicazione Rs232/USB BQuadra Elettronica 12 21-08-2008 00.42.21
Programma test comunicazione rs232 BQuadra P. in C, C++ 2 07-08-2008 22.02.48


Tutti gli orari sono GMT. Adesso sono le: 05.22.50.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB