SchemaTheek
 
Home Nieuws Forum Schema's Artikelen Magazine Downloads Links Shops Zoeken
 
Controle Paneel
Gebruikersnaam
Wachtwoord
  Onthoud mij
» Wachtwoord?
» Registreren
Site info
» Het Team
» Contact
» FAQ
» Leden
» Upload Archief
Stats
Totaal online: 20
20 gasten
0 leden:
Forum > Digitaal > Seri?le Ethernet-module op een PIC18F4520
pascalbianca
Lid
Berichten: 1394
Gepost op zaterdag 1 November 2014 00:24:11 QuoteWijzig

Doel is om mijn vijver project aan het internet te koppelen.
Ik heb veel info door gespit omtrent deze circuits.
Nu heb ik via http://www.mikroe.com/ een mooie pdf gevonden met voorbeelden.

I.o.m. Stynus plaats ik deze topic aangezien er enige problemen zijn terwijl alles zou moeten kloppen.
En aangezien hier ook nog bijna niets over op dit forum te vinden is.

Het schema dat ik heb na heb gemaakt is deze.:


De code is helaas niet in picbasic maar in MicroC , wat uiteraard als laatste doel omgezet gaat worden in proton.:


Code
/*
 * Project name:  Web-Based Control and Monitoring
 * Copyright:
     (c) www.studentcompanion.co.za, 2014.
 * Test configuration:
     MCU:             PIC18F4520
     Oscillator:      8.000 MHz
 */
 
const char HTTPheader[] = "HTTP/1.1 200 OKnContent-type:";
const char HTTPMimeTypeHTML[] = "text/htmlnn";
const char HTTPMimeTypeScript[] = "text/plainnn";
//
// Define the HTML page to be sent to the PC
//
char StrtWebPage[] =
"<html><body>
<form name="input" method="get">
 <table align=center width=500 bgcolor= LightGray border=2>
 <tr><td align=center colspan=2><font size=5 color=RoyalBlue face="verdana">
 <b>Web-Based Control and Monitoring with PIC Microcontroller</br></font></td>
 </tr><tr> <td height="200" align=center bgcolor=LightGray><input name="TA"
 type="submit"value="TOGGLE RELAY A"></td>
 <td height="200" align=center bgcolor=LightGray><input name="TB"
 type="submit"value="TOGGLE RELAY B"></td></tr><tr>
 <td align=center colspan=2><font size=2 color=RoyalBlue  face="verdana">
 <a href= "http://www.studentcompanion.co.za"target="_blank">? 2014 Student Companion</a>
 </br></font></td> </tr>
 </table></form></body></html>" ;
// Ethernet NIC interface definitions
//
sfr sbit SPI_Ethernet_Rst at RC0_bit;
sfr sbit SPI_Ethernet_CS  at RC1_bit;
sfr sbit SPI_Ethernet_Rst_Direction at TRISC0_bit;
sfr sbit SPI_Ethernet_CS_Direction  at TRISC1_bit;
//
// Define Serial Ethernet Board MAC Address, and IP address to be used for the communication
//
unsigned char MACAddr[6] = {0x00, 0x14, 0xA5, 0x76, 0x19, 0x3f} ;
//unsigned char MACAddr[6] = {0x20, 0xCF, 0x30, 0x27, 0x02, 0x2A} ;
unsigned char IPAddr[4] = {192,168,0,152};
unsigned char getRequest[10];

typedef struct
{
  unsigned canCloseTCP:1;
  unsigned isBroadcast:1;
}TethPktFlags;

//
// TCP routine. This is where the user request to toggle Realy 1 and Relaye 2 are processed
//
unsigned int SPI_Ethernet_UserTCP(unsigned char *remoteHost,
                                  unsigned int remotePort, unsigned int localPort,
                                  unsigned int reqLength, TEthPktFlags *flags)
{
  unsigned int Len;
  for(len=0; len<10; len++)getRequest[len]=SPI_Ethernet_getByte();
  getRequest[len]=0;
  if(memcmp(getRequest,"GET /",5))return(0);

  if(!memcmp(getRequest+6,"TA",2))RD0_bit = ~ RD0_bit;
  else if(!memcmp(getRequest+6,"TB",2))RD1_bit = ~ RD1_bit;

  if(localPort != 80)return(0);
  Len = SPI_Ethernet_putConstString(HTTPheader);
  Len += SPI_Ethernet_putConstString(HTTPMimeTypeHTML);
  Len += SPI_Ethernet_putString(StrtWebPage);
  return Len;
}

//
// UDP routine. Must be declared even though it is not used
//
unsigned int SPI_Ethernet_UserUDP(unsigned char *remoteHost,
                                  unsigned int remotePort, unsigned int destPort,
                                  unsigned int reqLength, TEthPktFlags *flags)
{
   return(0);
}

//
// Start of MAIN program
//
void main()
{
     ADCON1 = 0x0F;         // All AN pins as digital
     CMCON  = 0x07;         // Turn off comparators
     TRISD = 0;             // Configure PORTD as output
     PORTD = 0;
     SPI1_Init();           // Initialize SPI module
     SPI_Ethernet_Init(MACAddr, IPAddr, 0x01); // Initialize Ethernet module

     while(1)                          // Do forever
     {
        SPI_Ethernet_doPacket();      // Process next received packet
     }
}



Deze heb ik uiteraard in de 18F4520 gezet.
Het gedeelte dat weg kan uit het schema is alles tot en met de ENC28J60, hier heb ik namelijk een module voor, deze namelijk.:
ENC28J60 Ethernet Module for Arduino (deze kan hier gewoon voor gebruikt worden)


Alleen op een of andere manier ziet mijn router het circuit niet.
De led op ENC28J60 Ethernet Module for Arduino knippert wel.

Nu is dus mijn vraag of jullie suggestie, idee?n of zelfs weten wat de oorzaak kan zijn waardoor ik hem niet kan traceren via mijn router cq aan de praat krijg.



http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op zaterdag 1 November 2014 10:31:08 QuoteWijzig

Kijk ook effe hier.
http://www.libstock.com/project_categories/view/16/ethernet

Oh ja hou er rekening mee dat er de LIB's van M.E. niet foutloos zijn!
Er zijn er al genoeg mensen die er over klagen!
 
[Bericht gewijzigd door Henk (NL) op Zaterdag 1 November 2014 10:44:19]

pascalbianca
Lid
Berichten: 1394
Gepost op zaterdag 1 November 2014 10:51:03 QuoteWijzig

Beste Henk,

Die libs heb ik ook al getest, zelfs diverse schema's.
Ergens ga ik de fout in maar zie het niet, dus daarom of er eens naar mijn eerste post gekeken kan worden.
Er zijn ook genoeg mensen die het wel voor elkaar krijgen , dus ga ik daarop niet af aangezien je het zelf moet ondervinden waar het fout gaat!


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2773
Gepost op zondag 2 November 2014 14:57:44 QuoteWijzig


Quote
Het gedeelte dat weg kan uit het schema is alles tot en met de ENC28J60, hier heb ik namelijk een module voor, deze namelijk.:
ENC28J60 Ethernet Module for Arduino (deze kan hier gewoon voor gebruikt worden)


Je hebt de 74HCT245 toch laten zitten hoop ik? Die zorgt voorde omzetting van 5 naar 3.3V, zonder zal je de enc opblazen.

Draait de pic wel?


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op zondag 2 November 2014 17:24:56 QuoteWijzig

Ja die heb ik zeker nog daar zitten omdat 2 data lijnen niet gelezen kunnen worden op 3V3 en die 74HCT245 zet die 3V3 signaal om naar 5V signaal.
De IC draait gewoon, heb namelijk een toggle led geprobeerd.


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op zondag 2 November 2014 18:50:28 QuoteWijzig

Als ik het zou maken dan sloot ik alles aan op 3.3V!

(Die Bustranceiver 245 zit ook op +5Volt de RESET vanaf de PIC gaat rechtstreeks naar de ENC, en een paar via 100Ohm)


------
Automatische edit 2014-11-02 19:20:54, toevoeging:

Dit is de NL versie van de PDF in MikroE PIC-Basic
http://www.mikroe.com/downloads/get/553/nl_article_basic_pic_02_09.pdf
In 'C'
http://www.mikroe.com/downloads/get/552/nl_article_c_pic_02_09.pdf
 
[Bericht gewijzigd door Henk (NL) op Zondag 2 November 2014 19:20:54]

pascalbianca
Lid
Berichten: 1394
Gepost op zondag 2 November 2014 21:08:02 QuoteWijzig

Henk ik weet niet in hoeverre je hiermee bekend bent maar alles op 3V3 kan niet en vooral niet bij een 18F4520, je zou dan een 18LF moeten nemen.

Het staat namelijk ook duidelijk in de pdf.:
Like all Microchip PIC18 devices, members of the
PIC18F2420/2520/4420/4520 family are available as
both standard and low-voltage devices. Standard
devices with Enhanced Flash memory, designated with
an ?F? in the part number (such as PIC18F2420),
accommodate an operating VDD range of 4.2V to 5.5V.
Low-voltage parts, designated by ?LF? (such as
PIC18LF2420), function over an extended VDD range
of 2.0V to 5.5V.


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op zondag 2 November 2014 23:25:58 QuoteWijzig

Dan pak je de LF versie toch, die het dichtste bij de 4520 is.

Gister heb ik de 18F45K22 op 3,3Volt laten werken met 'n GLCD gewoon als probeersel.
Was gewoon nieuwsgierig of die zowel op 5Volt danwel op 3.3Volt zou werken.
Ging goed op beide voltages.

pascalbianca
Lid
Berichten: 1394
Gepost op maandag 3 November 2014 06:24:43 QuoteWijzig

Ja dat is bij een 18F45K22 ook geen probleem, die heeft namelijk een Operating Voltage Range (V) 1.8 to 5.5.
Zo heeft bv. de 24FJ serie die werkt op 3V3.
 
[Bericht gewijzigd door pascalbianca op Dinsdag 4 November 2014 09:01:25]


http://pascalbianca.blogspot.nl/
pascalbianca
Lid
Berichten: 1394
Gepost op dinsdag 4 November 2014 19:42:55 QuoteWijzig

Ik denk dat ik het gevonden heb, zodra ik meer info heb laat ik het hier gelijk weten.


http://pascalbianca.blogspot.nl/
pascalbianca
Lid
Berichten: 1394
Gepost op vrijdag 7 November 2014 19:56:49 QuoteWijzig

Beste allemaal,

Na zeer lang stoeien , zoeken, testen en als resultaat een werkend project
Ik heb de print gebaseerd op een 16F877A met ENC28J60 en PC74HCT32P (deze vormt 1 signaal lijn om van 3v3 naar 5v).
De print.:


Het resultaat als ik de webpagina oproep.
Ik heb de titel in de code aangepast dat het te zien is dat hij daadwerkelijk werkt en indien er nog twijfels zouden zijn wil ik nog een filmpje maken


 
[Bericht gewijzigd door pascalbianca op Vrijdag 7 November 2014 19:57:08]


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op vrijdag 7 November 2014 21:27:27 QuoteWijzig

Proficiat!

Stynus
Admin
Berichten: 2773
Gepost op zondag 9 November 2014 13:50:20 QuoteWijzig

Nice . Heb je nu de libs van Mikroe gebruikt?


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op zondag 9 November 2014 17:18:24 QuoteWijzig

Ja helaas wel.
Doelstelling is door dit in proton te schrijven , maar eenvoudig zal dit niet worden aangezien je inderdaad met die lib's zit van Mikro.


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2773
Gepost op zondag 9 November 2014 22:49:46 QuoteWijzig

Gaat nog veel werk zijn denk ik dan.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op zondag 9 November 2014 23:12:58 QuoteWijzig

Ja inderdaad , maar goed ooit komen we er wel
Ik heb via android nu ook een werkend programma gemaakt waarmee ik het internet printje kan besturen via internet.
Helaas is die aansturing weer via Mikro , maar goed ergens moet ik mee beginnen


http://pascalbianca.blogspot.nl/

Active Topics

» Subaru Outback 2016
» Stofafzuiging
» Aanpassingen aanbouwde...
» Audi
» Show je mini projecten
» Puls schkelaar
» Draadknipper
» Intercom
» buske (Peugeot Boxer 2...
» Voeding 24V 3A Stynus

» Meer actieve topics

Advertenties

ElektronicaStynus

© 2004-2019 SchemaTheek
Laadtijd: 0.06078 sec.