![]() |
Inleiding |
De afgelopen zomervakantie heb ik mezelf bezig gehouden met het ontwerpen en bouwen van een draadloos karakter LCD voor mijn pc. In tussentijd zijn er hier op GoT een aantal topics voorbij gekomen over hetzelfde onderwerp, maar telkens zonder concrete resultaten, dus vandaar deze howto. ![]() |
Wat heb je dan precies gedaan? |
Voor dit project heb ik een eenvoudig 4x20 karakter LCD gebruikt, met HD44780 controller. Het display wordt aangestuurd door een PIC16F628A. De zender is ook rondom de 16F628 opgebouwd en wordt doormiddel van een CP2102 op de USB poort aangesloten. Voor de gegevensoverdracht gebruikt ik twee radiomodules van velleman (die had ik nog liggen van mijn profielwerkstuk van vorig jaar). De zender wordt gevoed door de USB poort en het LCD door drie AA batterijen van 600mAh (NiCd). Op de printplaat van de LCD controller heb ik ook een batterij oplader en een DC-DC converter opgenomen. De lader is gebaseerd op de Max713 en kan tijdens het laden van de batterijen ook het LCD en de controller voeden. De converter bestaat uit een Max682 en wat condensators, deze zorgt er voor dat de spanning van de batterijen en de lader (3,0 tot 5,5V) wordt omgezet in een constante 5V spanning. Het geheel heb ik ingebouwd in een zelfgemaakte behuizing van 1,0mm styreenplaat. Met een beetje polyesterplamuur en verf ziet dat er zo uit: |
![]() |
Omdat de CP2102 een virtuele COM-poort aanmaakt op de computer, heb ik de PIC software zo geschreven dat het LCD commando's accepteert die eigenlijk bedoeld zijn voor CF634 LCD's van CrystalFontz, die op de seriële poort worden aangesloten. Hierdoor hoefde ik zelf geen software meer te schrijven voor de pc, omdat de CF634 al door veel bestaande programma's wordt ondersteund. Bovendien kon ik zo mooi gebruik maken van de CrystalFontz functie om het backlight via de pc te regelen in plaats van met een potmeter. ![]() |
Schema's en ontwerp (batterijlader) |
Ik heb de schema's voor de zender en ontvanger/controller in een aantal losse stukken opgedeeld, dat leek me iets duidelijker dan één groot schema met alles door elkaar. Ik begin met het schema van de batterijlader: |
![]() |
Wanneer er een gelijkspanning van 7,5 tot 15V op deze schakeling wordt aangesloten, zal de Max713 de batterijen op gaan laden met een stroom van ongeveer 250mA. Het laden stopt automatisch na 3 uur, of eerder als de batterijen sneller vol zijn. Voor een duidelijke uitleg van de werking van deze schakeling kan je in de datasheet van de Max713 kijken. De "3 - 5,5V" pijl geeft de aansluiting met de converter aan (zie ook hieronder). De potmeter R7 moet zo afgesteld worden dat er op de VLIMIT pin 1,8V komt de staan, hierdoor word de maximale ouput van de lader 3x 1,8 = 5,4V. Dit is nodig om de converter te beschermen, want die kan maximaal 5,5V aan. R1 - 68kΩ R2 - 22kΩ R3 - 1Ω R4 - 150Ω R5 - 220Ω* R6 - 470Ω R7 - 10kΩ potmeter C1 - 10nF C2 - 1μF C3 - 10μF C4 - 10μF C5 - 10nF D1 - 1N4007** D2 - LED T1 - BD682*** G1 - Serieschakeling van drie oplaadbare 1,2V NiCd batterijen IC1 - Max713 * Dit is een voorschakelweerstand voor D2, berekend op 20mA bij 7,5V, ik gebruik zelf namelijk een 7,5V adapter om de batterijen te laden. Bij een adapter met hoger voltage of bij lagere stroom door de LED moet een grotere weerstand worden gebruikt. ** 1N4001 kan ook gebruikt worden. *** 2N6109 of andere transistor met vergelijkbare specificaties kan ook. |
Schema's en ontwerp (DC-DC converter) |
![]() |
Deze dc-dc converter zal van de batterij spanning van ongeveer 3,5V of de laadspanning van maximaal 5,4V een stabiele 5V maken voor het LCD en de controller. Als de batterijspanning onder de 3V is gedaald werkt de converter niet goed meer en zul je de batterijen opnieuw moeten opladen. R10 - 100kΩ C6 - 1μF C7 - 470nF C8 - 4,7μF IC3 - Max682 |
Schema's en ontwerp (LCD controller) |
![]() |
Dit is de manier waarop ik de LCD controller heb aangesloten, het lijkt misschien wat onlogisch en rommelig, maar zo kwam het op de printplaat het beste uit. De pinout van het lcd is de "standaard" HD44780 pinout, omdat er soms afwijkende vormen voorkomen geef ik hem er voor de zekerheid even bij: 1 - GND 2 - VCC 3 - VLC 4 - RS 5 - R/W 6 - EN 7 - DB0 (niet aangesloten) 8 - DB1 (niet aangesloten) 9 - DB2 (niet aangesloten) 10 - DB3 (niet aangesloten) 11 - DB4 12 - DB5 13 - DB6 14 - DB7 15 - Backlight + 16 - Backlight - En de onderdelen nog even: R8 - 10kΩ R9 - 100Ω T2 - BC847* IC2 - PIC16F628A *BC547 of iets vergelijkbaars kan natuurlijk ook |
Schema's en ontwerp (Ontvanger) |
![]() |
De ontvanger heb ik even apart van de controller genomen, ook al is het eigenlijk maar een klein onderdeeltje. Dat doe ik, omdat ik aanvankelijk wat problemen had om de ontvanger werkend te krijgen in combinatie met de Max682 als voeding. De Max682 schakelt op ongeveer 1MHz en dat gaf nogal wat storing in de ontvangst, om dit op te lossen heb ik de condensators C9 en C10 toegevoegd. Als je geen schakelende voeding, zoals de Max682, gaat gebruiken kan je deze condensators weglaten. Pinout van de ontvanger: 1 - GND 2 - Digital Out 3 - Analog Out 4 - VCC 5 - VCC 6 - GND 7 - GND 8 - Antenna C9 - 3300μF C10 - 22nF RX1 - Velleman RX433 |
Schema's en ontwerp (Zender) |
![]() |
Mensen die bekend zijn met de USB - UART IC's van FTDI zien nu misschien waarom ik voor de wat ongebruikelijkere CP2102 heb gekozen, namelijk vanwege de eenvoudige aansluiting en het kleine aantal externe componenten. Het enige nadeel was dat 'ie in een behuizing zat van 5x5mm ![]() R11 - 4,7kΩ C11 - 100nF C12 - 1μF IC4 - CP2102 En dan de zender zelf. De PIC16F628A is eigenlijk overkill, maar daar had ik er nou eenmaal nog een boel van liggen, bovendien hebben ze onboard UART, wat weer scheelt in het programmeerwerk (ben natuurlijk lui ![]() |
![]() |
R12 - 10kΩ IC5 - PIC16F628A TX1 - Velleman TX433N Als je geen zin hebt om een CP2102 in MLP-28 package te solderen, kan je natuurlijk ook een FTDI chip gebruiken voor USB, of een Max232 / Max233 voor seriëel. |
LCD rechtstreeks op USB poort (niet draadloos) |
![]() |
Met dit schema kan je een HD44780 LCD rechtstreeks op de USB poort aansluiten, met een kabel dus. Je hebt ook hier een USB - UART converter voor nodig, je kunt daarvoor hetzelfde schema als wat hierboven staat gebruiken (met de de CP2102). Aansluiten met op de COM poort met een Max233 of Max232 kan ook, maar dan moet je nog wel ergens 5V vandaan zien te halen. De PIC code voor deze schakeling is, net als de draadloze versie, compatible met de CF-634, met als enige verschil dat deze schakeling op 9600baud werkt, en de draadloze op 2400baud. R13 - 100Ω R14 - 10kΩ IC6 - PIC16F628A T3 - BC547 of vergelijkbaar |
Nog een paar foto's |
![]() ![]() ![]() ![]() ![]() ![]() |
PIC Software |
De software voor de PIC's kan je hier vinden: Zender, ASM file Zender, HEX file Controller / ontvanger, ASM file Controller / ontvanger, HEX file Seriëel LCD (niet draadloos), ASM file Seriëel LCD (niet draadloos), HEX file |
Datasheets |
Max713 datasheet Max682 datasheet Max232/233 datasheet PIC16F628A datasheet RX433 datasheet TX433N datasheet CP2102 datasheet |
Disclaimer |
Ik ben niet verantwoordelijk voor opgeblazen LCD's, USB poorten, batterijen of wat voor mislukkingen dan ook. De info in dit topic is naar mijn weten correct, maar er kan natuurlijk ergens een foutje ingeslopen zijn. Voor zo ver ik kan beoordelen is dit project redelijk ingewikkeld, maar met een beetje elektronica kennis moet er wel uit te komen zijn ![]() ![]() Ik hoop dat het een beetje een duidelijk verhaal was, veel plezier er mee ![]() |
[Voor 23% gewijzigd door LWY op 02-01-2006 17:56]