Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Ibutton uitlezen en gegevens draadloos verzenden

Pagina: 1
Acties:
  • 204 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

Momenteel ben ik druk bezig met het maken van een project voor school. De bedoeling van dit project is om de code die in een ibutton staat te versturen via een 433 MHz verbinding naar een computer. Het uitlezen van een ibutton is verder geen probleem en aan de computer kant zit het ook aardig alleen het zenden en ontvangen van de data wil echt totaal niet lukken.


Ik maar gebruik van een LI-433TR deze zijn te koop bij http://www.leiderdorpinstruments.nl Het probleem is als volgt: Ik gebruik een avr om de gegevens van de ibutton uit te lezen en deze door te sturen via een rs232 verbinding. tussen de transceiver en de avr zit een max232 dit is voor het verschil in spanning. aan de computer hang ik ook een schakeling met daarop een LI-433TR en weer een max232. Ook zitten er nog een paar onderdelen op voor de voeding. Alleen als ik nu met hyperterminal ga kijken zie ik alleen maar vage tekens. De data die ik wil zenden is niet meer te vinden.

€"r À €î  ü ß àâ €B
ïú ž…ß `ð ðÀþøøà€ú èNåþ {øüýö € ô èÎ ø€°€òØ€û þþð
ñü?žýõððdžÄà€à€ þ ÂÏà ÀÀÀý`À àê Ðà !º0ôB À f 'ßùÀøC ü€ô0þð€ ø€hð ïÀ¿ ßð ø
î ¤ ðÀà @ ìÀøÈž „÷¾ þ¿


Zoiets krijg ik te zien.

Weet iemand wat ik nu fout doe en is het noodzakelijk om een max232 tussen een transceiver (TTL niveau) en een avr te plaatsen? Ik hoop dat iemand hier eens een schakeling heeft gemaakt met de LI-433TR en dat die persoon er mij mee wilt helpen zodat ik het ook werkend krijg.


voor de duidelijkheid heb ik er nog even een plaatje bij gezet:

Afbeeldingslocatie: http://www.sportacademymuslu.nl/schema.jpg

Verwijderd

Voor alle seriële communicatie geld dat je extra moet opletten of zender en ontvanger (zowel hard als software) wel allebei staan ingesteld op dezelfde:
- baudrate (300 t/m maximale hardware snelheid)
- aantal databits (7 of 8)
- wel/geen paritybit (0 of 1)
- wel/geen stopbit (0 of 1)
- wel/geen startbit (0 of 1)

[ Voor 11% gewijzigd door Verwijderd op 22-12-2003 00:10 ]


Verwijderd

Topicstarter
bij de transceivers die ik gebruik kan ik verder weinig instellen. Je ken er gewoon data instoppen en dan zou er bij de andere transceiver weer de goede data uitkomen. Maar helaas zo makkelijk werkt het dus niet. :|

  • Sine
  • Registratie: Juni 2001
  • Laatst online: 00:14
heb je het schakelingetje als eens direct gevoed ?

Ik kan me voorstellen dat het hele ding wat meer stroom gebruikt dan dat je uit een com poort kunt halen.

Repareren doe je zo.


Verwijderd

Mocht je het schema niet zelf ontworpen hebben, houd je dan wel rekening met de condansatoren van de MAX232 chip? Volgens mij zijn die gerelateerd aan de baudrate die hij gebruikt.

De voeding van de seriele poort lijkt me iid wat weinig voor deze toepassing. Een lab voeding of goede adapter lijkt me beter.

Een paar klasgenoten hebben via een 433 module 2 pc's gekoppeld via een simpel programmatje die karakters overstuurd. Ze zijn nogal lang aan het stoeien geweest met het afregelen voor het goed werkte.

Hoe is je afscherming. Ik heb ooit op de MTS diverse videozenders gemaakt (tijdens het gebeuren hierboven) en die hadden goede afscherming nodig om fatsoenlijk te werken. Ook al heeft het niet veel nut, kwaad kan het ook niet. Een stuk alu folie kan al wonderen doen.

  • Dr Nix
  • Registratie: September 2000
  • Laatst online: 27-11 09:58

Dr Nix

a.k.a. Dr. Nix

Verwijderd schreef op 21 december 2003 @ 00:26:
Mocht je het schema niet zelf ontworpen hebben, houd je dan wel rekening met de condansatoren van de MAX232 chip? Volgens mij zijn die gerelateerd aan de baudrate die hij gebruikt.
Nee, die condensatoren zijn ervoor om een hogere (rs232) spanningen op te kunnen wekken uit 5 volt. En een soort buffer hiervoor.

Een koe is en blijft een merkwaardig beest!


Verwijderd

Heb je toevallig een ATMEGA8535 gebruikt? Ik heb hier een tijd geden ook problemen mee gehad wat betreft RS-232. Toen ik de AT90S8535 weer gebruikten was 't probleem opgelost.

Je kunt de hardware testen door de RXD en TXD pen aan de TTL kant van de MAX232 aan elkaar te verbinden. Je tekst die je op de pc intypt zou je dan meteen terug moeten krijgen (loopback principe dus).

Controleer eens of de voedingsspanning van je RS-232 niet in elkaar zakt (dit omdat jij die dus als voeding voor je systeem gebruikt). Ff scoop eraan hangen en goed controleren of je dipjes kunt waarnemen. Haal ook eens die led los want die trekt behoorlijk wat vermogen.

Verwijderd

Topicstarter
Zo al heel wat reacties :) De voedingsspanning ging inderdaad aardig na beneden maar niet onder het minimum wat de transceiver nodig had. Maar ik heb het ook getest door de 5 volt van de pc af te tappen. Ik kreeg hierdoor wel meer signaal(ruis) binnen maar de data die ik verstuurde niet.

Ook heb ik de transmit en de receive al eens aan elkaar doorverbonden, met hyperterminal heb ik even getest of het werkte en volgens mij zit daar het probleem niet in. Ik kreeg gewoon de data te zien die ik ingaf.

De chip die ik gebruik is een at90s1200, als ik een normale kabel hang tussen de schakeling en de pc werkt alles wel goed. Ik krijg dan met hyperterminal precies te zien wat ik had ingesteld. Alleen met het extra printje voor het zenden en ontvangen gaat het fout. Ik krijg dan alleen maar ruis.

Ik zag dat Bugs die ook wel eens op dit forum komt deze transceivers wel werkend heeft gekregen. Ik hoop dus dat hij of iemand anders mij er mee wil helpen.

Verwijderd

Verwijderd schreef op 21 december 2003 @ 22:32:
Zo al heel wat reacties :) De voedingsspanning ging inderdaad aardig na beneden maar niet onder het minimum wat de transceiver nodig had. Maar ik heb het ook getest door de 5 volt van de pc af te tappen. Ik kreeg hierdoor wel meer signaal(ruis) binnen maar de data die ik verstuurde niet.
Kwestie van wat condensatoren gebruiken. Om te beginnen zou ik eens de datasheet van de LM7805 erbij pakken. Je ziet dan dat er 2 condensatoren bij MOETEN staan (dit is om resonantie van je LM tegen te gaan wat je ruis goed kan verklaren)!!!
Verder moet je over de voeding van elk IC een condensatortje van 10nF hangen, en dat zo dicht mogelijk bij het IC zelf! Elk digitaal schakelend IC produceert ruis en je moet ruis zo dicht mogelijk bij de bron aanpakken.
Ik verwacht dat je storing dan compleet weggehaald is.

Wat me trouwens opvalt is dat de AT90S1200 geen Uart heeft. Hoe doen jullie de communicatie zonder Uart te gebruiken? Had een AT90S2313 gepakt, die heeft wel Uart (en is toevallig ook pincompatible dus je hoeft aan je hardware niks te veranderen).

Kun je je systeem eens testen zonder je tranceivers er tussen te zetten (Je AT90S1200 rechtstreeks aan je MAX232). Ik lees net dat je dat dus al getest hebt:).
Heb je toevallig een datalogger? Zo ja, kijk dan eens wat je verzend en wat je ontvangt.

Ik zie trouwens in de datasheet van je tranceiver dat die maximaal 20Kbit/Sec kan verwerken. Zit je daar nog onder (vraag me niet hoe je dat kan berekenen!)? Ga eens op een zo laag mogelijke snelheid en probeer 't daar nog eens.

Weet je zeker dat je de juiste instellingen hebt voor de communicatie (9600 Baud, 8 bits, 1 stopbit, no parity, etc, etc...of zoiets).

[ Voor 5% gewijzigd door Verwijderd op 21-12-2003 23:46 ]


  • sebastius
  • Registratie: September 2000
  • Laatst online: 25-11 19:16

sebastius

Laten we lekker link gaan doen

Misschien handige tip: Elektuur heeft in het decembernummer een draadloze RS232 speeltje geplaatst.

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Zowiezo een tip: De meeste 433MHz zenders/ontvangers gaan niet boven de 9600 baud, als je hoger zit dan dat gaat je data eraan. Ik zou dus zeggen: Probeer het nog es maar dan bijvoorbeeld op 300 baud, op die snelheid kan je ook nog es een scoop ertussen hangen en de 2 signalen met elkaar vergelijken.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Verwijderd

De meeste 433MHz zenders/ontvangers gaan niet boven de 9600 baud, als je hoger zit dan dat gaat je data eraan.
Met PacketRadio op 27MHz kon je een snelheid van 1200~1600baud halen. Als ik dat lineair doorreken zou je maximaal 19K~25K kunnen halen, maar goed: dat is dan zonder rekening te houden met de kanaalbreedte. Hier iig een 433Mhz modem wat 153 kBit/s max haalt: http://www.qsl.net/lz1bjr/research/dsss_tnc/
Zowieso is het inderdaad een goede manier om op lage snelheden te testen, omdat deze minder gevoelig zijn voor storingen. Ook het inzetten van start/stop/paritybits zorgt voor een betrouwbaardere communicatie. Persoonlijk zou ik iig eerst testen tussen 300 en 1200baud - en eventueel ook de draadloze modules ertussenuit laten om eerst met een vaste seriële kabel de software/instellingen te testen.

[ Voor 8% gewijzigd door Verwijderd op 22-12-2003 02:20 ]


Verwijderd

Topicstarter
ik ga maar eens even de software aanpassen zodat de baudrate een stuk lager word. Ook zal ik er nog even een aantal condensatoren bij zetten. :) Hoop dat het gaat werken allemaal

Verwijderd

Topicstarter
Ik heb weer het een en ander aangepast en er is nu wel wat verschil te merken, als ik nu alles goed instel krijg ik geen ruis meer alleen ook nog niet de goede data. Zou het kunnen zijn dat de data die moet worden verstuurd te weinig bytes zijn? het zijn er namelijk maar 5 per keer. :)

Verwijderd

En je verstuurt er 8 neem ik aan... Dan mis je dus 3 bit!
Hm.... Heb je al eens naar dat timingsverhaal gekeken in de datasheet?
Zet eerst je zender en ontvanger goed (pennen 1,2 en 4 goedzetten dus), wacht dan eens 10 miliseconden (dan heeft hij ruim de tijd gehad) en ga dan pas data verzenden.

"Bij het inschakelen van de voedingsspanning moet de module minimaal 3 ms in ontvangst mode gehouden worden". Dus bij het opstarten van je systeem moet je hem eerst ff in de ontvangstmodus houden, na 3 miliseconden mag je hem pas omschakelen.

Schrijf eens een stukje code dat "hello world" om de 1 seconden verzend. Laat eens weten of je alleen bij het opstarten (de eerste keer dat hij Hello world schrijft) het probleem heeft of dat het bij elke 8 bit is (dus elke letter).

Pak er voor de gein eens een ascii tabel bij en kijk eens wat er gebeurt wanneer je 3 bits weggooit. Als het goed is zou je dan dus kunnen voorspellen welke codes je tezien krijgt.

Laatste opmerking, controleer eens met een scoop of pinnen 1,2 en 4 (en de voeding natuurlijk) stabiel blijven wanneer je dat "hello world" programma draait. Als deze niet stabiel blijven kan het heel goed zijn dat je 3 bits mist omdat je dan 1 miliseconden of langer moet wachten (en in die tijd heeft hij al 3 bit verzonden).

edit:

Een goede opmerking door Sprite_tm:
byts en bits door elkaar gehaald. Verhaal klopt dus niet helemaal meer..

[ Voor 59% gewijzigd door Verwijderd op 23-12-2003 09:58 ]


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Verwijderd schreef op 22 december 2003 @ 22:59:
En je verstuurt er 8 neem ik aan... Dan mis je dus 3 bit!
Mmm, ik moet je even op de vingers tikken, hij heeft het over bytes, niet over bits.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Verwijderd

Topicstarter
ja maar ik snap aardig wat je bedoeld, ik zal dus wel eens gaan testen of ik iets kan even snel zo'n programma in elkaar kan zetten. :)
Pagina: 1