Goedemiddag,
Ik hoop dat dit topic op de juiste plek staat. Ik ben van plan om binnenkort eens te beginnen aan een RGB LED lamp (zoals velen hier gedaan hebben
). Nu ben ik zelf meer iemand die zich met programmeren bezig houdt dan met electronica, en weer er dan ook niet zo heel veel van af. De basis is bekend, maar zelf een schema kunnen maken... dat zit er niet echt in.
Na wat zoek werk kwam ik deze interessante LED controller tegen: http://www.petesworld.demon.co.uk/homebrew/PIC/simplergb/index.htm . Deze heeft niet bijster complexe onderdelen, dus dat moet mij ook nog wel lukken denk ik (alhoewel ik dan wel even het printje bestel
). Het mooie van dit projectje is namelijk dat het direct op de serieele poort van een PC is aan te sluiten.
Nu heb ik echter een aardig aantal 433Mhz zenders/ontvangers liggen uit een Samenkoop actie, namelijk:
Zender: http://www.samenkopen.net/action_product/372885/557313
Ontvanger: http://www.samenkopen.net/action_product/372885/39065
Als ik het aansluit schema bekijk van de seriele optie van het RGB project: http://www.petesworld.demon.co.uk/homebrew/PIC/simplergb/srcs_pcsp.pdf
Lijkt het mij toch dat het mogelijk zou moeten zijn om de zender direct op de compoort aan te sluiten (met een klein schematje zoals je hier op Tweakers wel ziet: http://gathering.tweakers.net/forum/list_message/24407471#24407471), en de ontvanger direct op de seriele aansluiting op de RGB controller (geen idee of hier nog wat tussen moet), dus de in/ground pin van de seriele kabel gewoon vervangen met de ontvanger module. wat ik met de stroom moet doen moet ik dan nog even uitzoeken, maar goed.
Zou dit kunnen werken? Of denk ik te simpel en heb ik alsnog allemaal MAX232 dingen nodig enzo, waar ik niet op echt op zit te wachten als beginner
.
Alvast bedankt voor een reactie 
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
is heel goed mogelijk 5 volt op de zender data draadje er aan rammen gnd eraan knopen(dus van je voeding en van je compoort)
andere kant ontvanger weg zetten eventueel buffertje erachter het beestje kan maar 500µA leveren(zo uit men hoofd) dat kan genoeg zijn overgens verder is er geen levelconverter meer nodig
Hoi timmie,
Bedankt voor je antwoord! Als ik het schematje van het topic op tweakers bekijk, moet de zender volgens mij genoeg stroom vanaf de compoort kunnen halen - dat wil ik dus eerst proberen.
De ontvanger wil ik denk ik op dezelfde voeding aansluiten als de LED controller (moet dan wel 12v -> 5v worden, eens zien of ik dat kan regelen
), of via een paar batterijen.
Met een buffertje bedoel je een condensatortje neem ik aan?
.
Hardware matig is het inderdaad niet zo moeilijk, zoals je het omschrijft zal dat wel kunnen.
Maar dan nu de software, je kan niet zomaar een rs-232 verbinding vervangen door die modules uit sk actie.
Wil je een (betrouwbare) verbinding opzetten dan moet er op zijn minst manchester codering en crc bij komen.
Ik heb niet de gehele pagina van die rgb dimmer gelezen, maar als je de source code kan downloaden dan is dit nog wel te doen, anders gaat het niet.
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
Op 5 augustus 2007 20:04:13 schreef 2N3055:
Hardware matig is het inderdaad niet zo moeilijk, zoals je het omschrijft zal dat wel kunnen.
Maar dan nu de software, je kan niet zomaar een rs-232 verbinding vervangen door die modules uit sk actie.
Wil je een (betrouwbare) verbinding opzetten dan moet er op zijn minst manchester codering en crc bij komen.
Ik heb niet de gehele pagina van die rgb dimmer gelezen, maar als je de source code kan downloaden dan is dit nog wel te doen, anders gaat het niet.
De source code die downloadbaar is heeft al een checksum erin, dus dat lijkt mij opzich genoeg. Het risico dat er soms een pakketje weg valt neem ik maar lief
. Dat is namelijk geen probleem. De RGB leds krijgen de kleur van de laatst correct ontvangen packet.
Bart Hiddink
Bart Hiddink is Ideetron; electronics and projects, http://www.ideetron.nl. LoRaWAN Nutcase.
Een seriële COM poort vervangen door een simpele draadloze zender en ontvanger gaat niet werken.
Waar het op fout gaat is het verschil in gedrag van de fysieke laag. Een koperdraad is iets heel anders dan een radioverbinding.
In theorie zal het allemaal wel werken. Maar in de praktijk gaat het fout bij het versturen van de data.
Kijk eens naar de opbouw van een serieel verstuurde byte:
http://www.acumeninstruments.com/Support/documentation/SerialPortBasic…
Dat signaal komt rechstreeks uit een UART en wordt alleen geconditioneerd door een RS232 tranceiver. Voor een koperleiding is dat voldoende.
Wat vooral opvalt is het start- en stopbit.
Voor een draadloze verbinding moet je nog veel meer truuks uithalen:
- het startbit moet worden vervangen door een header. Dat is een samenvoeging van een een aantal bytes die de ontvanger laten reageren, laten synchroniseren en die de software laat weten wanneer de data begint.
- de data is de te verzenden data, wel of niet versleuteld door een CRC code.
- het stopbit moet worden vervangen door een footer. De footer bevat een byte die aangeeft dat de data is geëindigd en de CRC code. Dat laatste is optioneel en alleen noodzakelijk om de verbinding te beschermen tegen verlies van data door stoorsignalen.
Die CRC is noodzakelijk als je een hoge faalkans hebt en het belangrijk is dat de data goed overkomt.
Voor een RGB lamp zou je kunnen starten door de CRC achterwege te laten.
Ga er vanuit dat je 8 bytes nodig hebt voor je header, 3 voor de data (elke kleur 1) en 3 voor de footer met CRC.
Je moet dus minimaal 14 bytes verzenden bij een draadloze verbinding.
Zie je het verschil?
Maar is het (theoretisch weer
) niet zo dat de data die op pin 3 en 5 staat (volgens mij, ground en TXD) hetzelfde de lucht ingaat, en ook weer uit de lucht gepakt wordt?
Anders geformuleerd: Is het software matig (op de PIC) op te lossen?
Bart Hiddink
Bart Hiddink is Ideetron; electronics and projects, http://www.ideetron.nl. LoRaWAN Nutcase.
Ja, dat kan.
En in een ideaal (theoretisch) systeem klopt dat ook.
Maar beschouw de ontvangen data als een reproductie van de verzonden data.
En in een draadloze verbinding is de reconstructie van het verzonden signaal vaak "een soort gelijk" signaal. Het enige dat klopt is de timing maar vaak lijkt het signaal zelf niet echt meer op het origineel.
Vandaar dat je truuks moet uithalen om de verbinding een beetje betrouwbaar te maken. En natuurlijk is dit softwarematig op te lossen.
Wat ik eerder schreef is een manier om het start- en stopbit zo te veranderen dat de data (daar waar het om gaat) op een betrouwbare manier over de draadloze verbinding te transporteren.
Het beste kun je het zelf ervaren.
Bart: Duidelijk!
. Ik ga ook eerst de normale 'kabel versie' maken. Werkt die, dan ga ik de 433mhz versie proberen.
Daarom nog even een kort vraagje. Ik kan op Google nergens een simpel schema vinden waar een 433mhz ontvanger module op de compoort gezet wordt. Met de eerder genoemde modules (zie start post), is dit een kwestie van weer een paar diodes? Ik vermoed dat er bij de ontvangende kant namelijk wel met een MAX232 gewerkt moet worden om alles mooi naar standaard seriele voltages om te zetten.
Mijn idee is namelijk om ook een ontvanger op de compoort (tijdelijk) te zetten zodat ik wat makkelijker kan debuggen. In de lucht is zo lastig zien wat er allemaal voorbij vliegt
. Enige suggesties?
Bart Hiddink
Bart Hiddink is Ideetron; electronics and projects, http://www.ideetron.nl. LoRaWAN Nutcase.
Dit is het halve probleem.
Dat concentreert zich rond de interfacing van de ontvanger aan je COM poort.
Uit de ontvanger komt een analoog signaal. Als je pech hebt is dat signaal stochatisch (een moeilijk woord voor "ruis" of "willekeurig" ) bij geen ontvangst.
Dan moet je daar vrij uitgebreide software tegenaan gooien om daat wat van te kunnen maken.
Maar in feite wil je die ruis niet. Je wil een signaal als de zender aangaat en geen signaal als de zender zwijgt. En het liefst alleen bij jou zender.
Dat noemen ze een squelch. http://en.wikipedia.org/wiki/Squelch
Zoek dus een ontvanger die daar een voorziening voor heeft.
Meestal kun je dan met een potmeter de squelch instellen, of er komt een RSSI signaal uit de ontvanger en dan moet je het squelch-circuit extern maken.
Ik gebruik deze modules:
http://www.rfsolutions.co.uk/acatalog/DS069-8.pdf
En daar zie je op P4 de aansluitingen van de ontvanger.
Pin 13 of 14 (afhankelijk van het type) is de RSSI uitgang.
Na de squelch kun je het ontvangersignaal conditioneren (filteren) en dan gewoon een MAX232 gebruiken voor de koppeling met de COM poort.
Je moet inderdaad op RS232 uitkomen. Dan kun je met een kabel debuggen. Dat is een hele goeie van je.
Ik heb ergens het schema liggen van de schakeling, squelch en filter.
Zodra ik het heb gevonden dan post ik dat hier.
Bart Hiddink
Bart Hiddink is Ideetron; electronics and projects, http://www.ideetron.nl. LoRaWAN Nutcase.
Even een hele grote kick
.
Omdat ik tegenwoordig amper thuis ben heb ik er zo nu en dan een weekendje aan kunnen werken. Alles werkt nu perfect icm met m'n moodlight. Benodigdheden zender: 433mhz zender + MAX233, en de ontvanger een 433 mhz ontvanger + MAX233. Verder niets, op een gezonde portie 5v na
.
Verder geen extra onderdelen, geen timing issues, etc. Dus ik kan nu mooi de moodlight kleuren aanpassen via PHP. De grootste fout die ik gemaakt heb (en pas vanmorgen realiseerde) was dat er bij de MAX233 op een stuk of 4 locaties pins gebridged moeten worden. Daarvoor werkte het heel erg slecht / korte afstand (<10 cm) - nu haal ik minimaal al 25meter.
Moet zeggen dat ik het uiteindelijk ook met een Arduino heb zitten testen, en dat je daarmee helemaal makkelijk een zender/ontvanger in elkaar kan knutselen. Een kwestie van minuten. Gaat weer een wereld voor mij open qua mogelijkheden
.