Hallo,

Na veel puzzelen kreeg ik op me breadboard perfecte RS232 communicatie werkend en was mijn project 100% in orde om een printplaat voor te ontwerpen en etsen.

Nu heb ik me printplaat geetst en begon ik met het testen van RS232, verzenden van microcontroller via max232 chip naar PC gaat prima maar het ontvangen gaat niet.

Ik heb er nu een echo inzitten, dus iedere char die binnen komt wordt terug gestuurd. En ik stuur bijvb het alfabet over maar krijg alleen hex waarde 0 binnen. Maakt niet uit welke char is stuur ik krijg alleen een hex 0 binnen.

Wat klopt er niet? Wat heb ik fout gedaan? Het schema klopt want het is het zelfde schema als wat perfect werkte op de breadboard, alles heb ik nagekeken.

Het vreemde is dat er wel data binnen komt maar altijd als char met hex waarde 0.

Heb zojuist ook de IC verwisseld maar dit heeft geen verscil in de werking.

welke heb je vervangen??? de microcontroller of de max232

test dit eens: verwijder de µc uit zijn voetje (je hebt toch een voetje gebruikt?) en maak een bruggetje waar normaal de RX en de TX zijn. Als je dan wel een gewone echo hebt, ligt de fout bij je µC. Blijft het hetzelfde ligt de fout ergens anders...

Hier hoef ik ze er niet voor uit te halen, ik kan namelijk ook gewoon de UART uitzetten en de pinnen door verbinden toch?

zo ben je wel absoluut zeker. Maar je kan ze ook idd beide op ingang zetten...

Test je die communicatie met terminal of hyperterminal? Miss. helpt dit programma'tje wel, heeeel handig!

http://download.com.com/3120-20-0.html?qt=docklight&tg=dl-20

Heb 'k ook al veel plezier van gehad bij testen van communicatie van PIC-projecten!!

Groeten, de Wiebo

Ik gebruik de terminal speciaal voor microcontrollers, deze kan hex, decimaal, char en binair. Ook zit er een macrofunctie op.

http://bray.velenje.cx/avr/terminal/

idd, dat is zo ongeveer hetzelfde. Ze hebben beide dezelfde fucties, maar de grafische interface is beetje anders...

Groeten

Hoi

Heb je niet bij de PCB een spoor aan een verkeerde poot geplakt (ja, heb ik ook al eens gedaan...)

Is je PCB goed geetst? Niet nog stiekum ergens een randje koper over? (ff testen met de multimeter zonder ICs op de PCB).

Zit je voeding goed? Voldoende ontkoppeld? (soldeer eens 10uF tantaal direct over de voedingspinnen van de MAX).

De MAX232 is feitelijk niets anders dan nivo conversie. Als je aan de 5V zijde de nivo's veranderd (ff zonder uC), zie je dan aan de RS232 kant ook wat veranderen (en vice versa).

De MAX moet oscilleren om z'n RS232 niveau's te verkrijgen. Zoek ff uit welke C waarvoor gebruikt wordt, en kijk eens met de scoop of dat zou kunnen kloppen.

Succes
Marco

Heb het probleem gevonden, en een software fout (verkeerde versie er in gezet) en daarna een fout pin 2,3,4 omgewisseld, dus alleen pin3 zat goed. Ik heb nu een nieuw probleem...

Ik stuur om de seconde E 1sec wachten, P en nog 1 sec een Z

Dit is wat ik ontvang :
EPZPEPZÅPÚEPZEPEPÚEPZÅPZEÐEPÚÅPZEPZEPEPZEPZÅPZEÐPEPÚEPZÅPZÅÐPEPZ

Volgens mij is een van mijn verbindingen niet goed die ik opnieuw heb aangelegd.

---------------------- edit ----------------------
Ik heb de uC er uit gehaald pinnen van Tx en Rx door verbonden en het werkt als een trein, iets fout in me uC dus

Ik denk dat het een software fout is.... ik heb een 1ms teller en me RS232 data... volgens mij verkloten ze elkaar...

[Bericht gewijzigd door Parcye op ]

Op 17 februari 2004 21:53:13 schreef Parcye:
Dit is wat ik ontvang :
EPZPEPZÅPÚEPZEPEPÚEPZÅPZEÐEPÚÅPZEPZEPEPZEPZÅPZEÐPEPÚEPZÅPZÅÐPEPZ

Zit er dus ook effectief 1 seconde tussen deze karakters?
En welke uC gebruik je? PIC? AVR?

Groeten, de Wiebo

AVR ATmega8

vreemde is dat hij wel werkte in de middag... maar heb net de spanning gekeken en die is kleine 3v, dat zal dus het probleem zijn.

Ik gebruik 9v bat. met een LM7805 om 5 volt te maken, maar nu is dat dus 3.1V en zal het daardoor niet kunnen zijn?

zou kunnen ja. je voedingspanning is niet meer betrouwbaar en dus kan je signaal vervorm worden.

Koop in plaats van een batterij zo'n goedkope universele adaptor, is de prijs van 2 batterijen

Hoe lang zou een 9v bat. mee moeten kunnen gaan bij een AVR uC die niet super veel doet?

Als je het mij vraagt zou dat het probleem moeten zijn ja: de +5V wordt naar +9V en -9V geconverteerd, maw (5 - 0,6)*2 of 8,8 Volt, bij 3,1V zou dit maar (3,1 - 0,6)*2 = 5 Volt, en dit is te laag om de RS232 een goed signaal te geven...
Al eens een MAX232A geprobeerd? De 'A' is de nieuwe versie en de omgevormde spanningen zouden veel stabieler moeten zijn.
Overigens, de waarde van de 4 condensatoren die bij de MAX232 staan heeft niet zo echt belang, als je tss de 100nF en 10µF zit, zit je normaal altijd goed.

Groeten, Wiebo

geen flauw idee, hangt van allerlei zaken af:

*capaciteit batterij
*kloksnelheid AVR
*programma
*aangesloten extra's (zoals een max232)
*...
*..

Het is van 9v 5v maken... is dus 56% over houden...

Op het moment dat de baterij geen 9v meer levert maar nog maar 7v is dat 3.8v en 6v is nog maar 3,3v en zo gaat het hard...

2x TSOP1736
1x max232
4x led
1x ATmega8 1MHz