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

Microcontroller temperatuur,windrichting & snelheid

Pagina: 1
Acties:
  • 2.831 views

Verwijderd

Topicstarter
Ik ben dus vanplan een weerstation zelf te bouwen.
Met temperatuurmeting/windrichting en windsnelheidsmeting

Deze waardes zou ik dus ook naar de pc willen overzetten
Alleen ben ik een tamelijke leek op vlak van microcontrollers.
Dit zou mogenlijk zijn met een Texas 8051 microcontroller met usb?

1.Thermometer digitaal:
Ik zou dus een Dallas DS1820 gebruiken voor het meten van de temperatuur,
en deze dan koppelen aan een microcontroller K8051?
Dit zou ik dan willen uitlezen op de pc.
Elke 30minuten zou ik de tijd willen laten registreren.
En dan op het einde van de dag een dag verloop van de temperaturen zien.

Dit is de grootste struikelblok, heeft iemand hier een idee van?

2.Windsnelheidsmeting
Dit zou ik op dezelfde manier doen als een kilometerteller van een fiets.
Met een pulsgever en deze koppelen op de externe klok van een microcontroller K8051 ook.
Op deze manier kan je de pulsen laten tellen en zo programmeren dat hij de juiste snelheid uitleest op de computer.

Dit is het schema met uitlezing, wat ik dus zou doen is de pulsgever CNY170 aan de microcontroller koppelen, de externe puls van de microcontroller en dan zou dit wel lukken

Afbeeldingslocatie: http://home.hetnet.nl/~colmer-kj/Fotos/Windmeterschema.jpg

3.Windrichting
Ik weet niet als het mogenlijk is,
maar kan je op de zelfde manier als de windsnelheid de windrichting ook meten?

Zelf had ik dit schema al gevonden:
Afbeeldingslocatie: http://home.hetnet.nl/~colmer-kj/Fotos/Windrichtingschema.jpg

Is er een mogenlijkheid dat ik dit schema kan koppelen aan een K8051 microcontroller?

[ Voor 19% gewijzigd door Verwijderd op 05-03-2009 21:11 ]


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 15:08
Over de mogelijkheid kan ik heel kort zijn: het is zeker en vast mogelijk om een weerstation naar jou wensen in een 8051 te programmeren. Ik ben wel niet zo bekend met de architectuur en de mogelijkheden van de 8051 maar elke seconde zowel temperatuur, windsnelheid en windrichting loggen zal die zeker aankunnen.

Elk half uur temperatuur uitlezen, neem nu 8-bits waarde, dat zijn dan 48 byte's, dat is bijna niets, dat kan je nog gemakkelijk in het RAM van je µC opslaan. Wil je meer data opslaan (langere tijd, elke 5 minuten, of ook je windsnelheid en richting erbij) dan kan je eventueel nog een externe I2C of SPI EEPROM (houdt ook zijn data bij spanningsverlies) aansluiten. Heb je de smaak van het programmeren te pakken, hang dan een SD/MMC kaartje aan je µC, die kan je (als ik me niet vergis) via SPI aansturen en zo rechtstreeks je logs van het geheugenkaartje in je PC uitlezen.

Windsnelheid kan idd gemakkelijk met pulsjes tellen, wat je ook vaak ziet is de uitlezing van een oude muis (met bal) die gebruikt wordt (schijf met gaatjes, 2 sensoren die de gaatjes zien waarvan je dan 1 sensor gebruikt).

Voor de windrichting gebruikt men in je voorbeeldschema een absolute rotary encoder; daarmee kan je zoals ernaast vermeld staat rechtstreeks de windrichting uitlezen, en die kan je rechtstreeks aan je µC hangen.
Een 2-bits (quadratuur modulatie) incrementele rotary encoder is niet interessant voor jou toepassing, maar is wel degene die je het meest zal vinden, die gebruik je om rechts of links draaien te detecteren, maar omdat die niet absoluut is weet je enkel dat ie verdraaid is.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 21:12

SA007

Moderator Tweaking
Je hebt in ieder geval niet zulke complexe schema's nodig om een paar simpele sensors aan een microcontroller te hangen.

De DS1820 is iig een goede keus als temperatuurmeting, deze is al erg vaak gebruikt voor dergelijke toepassingen, veel voorbeeldcode voor te vinden en ook erg gemakkelijk meerdere van deze eraan te hangen (kunnen heel simpel doorgelust worden).

Voor je windsnelheid, als dat inderdaad een simpele optisch sensortje is kan je het led gedeelte aansluiten zoals op je schema, en dan de andere kant het deel met het pijltje aan de aarde hangen, en het andere deel met een weerstandje naar de plus (net als de led kant)
Die kant kan je dan 1 op 1 doorlussen met een pinnetje van je microcontroller om het uit te lezen.

De LDR's van je onderste schema is eenzelfde verhaal, als je chip analoge ingangen heeft (hebben de meeste) is de ldr samen met het weerstandje erbij genoeg om een signaal op je microcontroller te krijgen.

  • jeronimo
  • Registratie: September 2003
  • Laatst online: 19:53
Als je toch al een 1-wire interface gebruikt voor de temperatuur zou ik snel proberen om een DS2423 te regelen om als counter te gebruikten voor je windsnelheidsmeter. Die kun je dan namelijk op dezelfde bus plaatsen.

De windrichtingsmeter zou ik opbouwen met een 3 tal CNY70's, in plaats van de LDR's, gecombineerd met een een gray code schijf.

Verwijderd

Topicstarter
SA007 schreef op donderdag 05 maart 2009 @ 22:39:
Je hebt in ieder geval niet zulke complexe schema's nodig om een paar simpele sensors aan een microcontroller te hangen.

De DS1820 is iig een goede keus als temperatuurmeting, deze is al erg vaak gebruikt voor dergelijke toepassingen, veel voorbeeldcode voor te vinden en ook erg gemakkelijk meerdere van deze eraan te hangen (kunnen heel simpel doorgelust worden).

Oke deze snap ik ondertussen door jullie goede uitleg :P

Voor je windsnelheid, als dat inderdaad een simpele optisch sensortje is kan je het led gedeelte aansluiten zoals op je schema, en dan de andere kant het deel met het pijltje aan de aarde hangen, en het andere deel met een weerstandje naar de plus (net als de led kant)
Die kant kan je dan 1 op 1 doorlussen met een pinnetje van je microcontroller om het uit te lezen.

Dus je bedoeld dat ik gewoon mijn schema gebruik van hierboven en dan de pulsgever dubbel leg naar de microcontroller.

De LDR's van je onderste schema is eenzelfde verhaal, als je chip analoge ingangen heeft (hebben de meeste) is de ldr samen met het weerstandje erbij genoeg om een signaal op je microcontroller te krijgen.

In het laatste schema, dan moet ik die 3 uitgangen van de gray-code naar de microcontroller leggen?
Het is inderdaad een analoog signaal, dus dan moet ik een analoog digitaal omzetter gebruiker om het naar de 8051 te sturen?
jeronimo schreef op donderdag 05 maart 2009 @ 22:41:
Als je toch al een 1-wire interface gebruikt voor de temperatuur zou ik snel proberen om een DS2423 te regelen om als counter te gebruikten voor je windsnelheidsmeter. Die kun je dan namelijk op dezelfde bus plaatsen.

Dus dan leg ik die Dalas DS1820 en DS2423 beiden op dezelfde bus, wat bedoel je daarmee :P ?
Ik ben iig nog een leek op gebied van uC's, net een half jaar programmeren achter de rug in 8051ID
maar iets praktisch uitvinden is toch iets anders :P


De windrichtingsmeter zou ik opbouwen met een 3 tal CNY70's, in plaats van de LDR's, gecombineerd met een een gray code schijf.

Dus dit is dan compleet anders dan mijn schema, of vervang je gewoon de LDR door de CNY70's?
Welke oplossing is het beste, LDR's lijkt mij simpeler en goedkoper ofniet?
naftebakje schreef op donderdag 05 maart 2009 @ 22:32:
Voor de windrichting gebruikt men in je voorbeeldschema een absolute rotary encoder; daarmee kan je zoals ernaast vermeld staat rechtstreeks de windrichting uitlezen, en die kan je rechtstreeks aan je µC hangen.
Een 2-bits (quadratuur modulatie) incrementele rotary encoder is niet interessant voor jou toepassing, maar is wel degene die je het meest zal vinden, die gebruik je om rechts of links draaien te detecteren, maar omdat die niet absoluut is weet je enkel dat ie verdraaid is.

Dus je bedoelt in het schema die 4051 is een absolute rotary encoder, die automatisch die 8 standen heeft
En op die manier kan je dan de windrichting gaan aangeven. Heb je een idee hoe je die aansluit op de microcontroller (8051 ook?)
Allesinds al heel bedankt voor jullie hulp!
EDIT: Kan iemand de topic titel veranderen naar "Microcontroller temperatuur,windrichting & snelheid"

[ Voor 39% gewijzigd door Verwijderd op 05-03-2009 23:15 ]


  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Verwijderd schreef op donderdag 05 maart 2009 @ 23:04:

EDIT: Kan iemand de topic titel veranderen naar "Microcontroller temperatuur,windrichting & snelheid"
OK.
Dit kun je evt ook in een TR zetten, nu lees ik toevallig heel het topic, maar het valt niet altijd op.

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 21:12

SA007

Moderator Tweaking
wat jeronimo bedoelt is dat de DS1820 temperatuursensor verbind via een busysteem, de 1-wire bus van dallas/maxim.
Nu is daar blijkbaar ook iets wat je kan gebruiken voor je winsnelheid, de DS2423, dus die 2 kan je direct aan elkaar koppelen zonder dat het extra werk is om eht aan te sluiten op je microcontroller.

De 4051 is duidelijk geen rotary encoder, maar een 3-to-8 decoder, dat heeft verder weinig te maken met een rotary encoder.
Wwat naftebakje bedoelt is dat wat aan de 4051 hangt een absolute rotary encoder is (die 4 LDR's en beetje electronica vormt een absolute rotary encoder.

Een absolute rotary encoder is simpelweg een sensor die je kan draaien en aangeeft waar hij is.
Absolute omdat hij niet aangeeft hoe ver hij draait maar precies waar hij staat.
Rotary omdat het draait ;)
Encoder omdat het er encoded uitkomt, alsin er komt een code uit en niet 1 pin voor elke richting. De 4051 in het schema zorgt er vervolgens voor dat het 1 pin in elke richting wordt (dus wordt dan als decoder gebruikt)

Verwijderd

Topicstarter
SA007 schreef op vrijdag 06 maart 2009 @ 15:32:
wat jeronimo bedoelt is dat de DS1820 temperatuursensor verbind via een busysteem, de 1-wire bus van dallas/maxim.
Nu is daar blijkbaar ook iets wat je kan gebruiken voor je winsnelheid, de DS2423, dus die 2 kan je direct aan elkaar koppelen zonder dat het extra werk is om eht aan te sluiten op je microcontroller.
De DS2423 is niet meer verkrijgbaar, heb je nog een idee welke andere component dit ook nog kan?

Verwijderd

Topicstarter
Wat bedoelen jullie met het aansluiten op het bussyteem?
Ik heb nog nooit iets aangesloten op een microcontroller vandaar.

2.windsnelheid:
Afbeeldingslocatie: http://home.hetnet.nl/~colmer-kj/Fotos/Windmeterschema.jpg
Sluit ik gewoon de CNY170(pulsgever) op de externe klok van de 8051 aan als counter?
Dus daar waar de twee pijltjes staan (de zwarte en de witte) net boven de weerstand, onder de CNY70
deze leg ik dan gewoon dubbel naar de microcontroller, externe klok?

3.windrichting:
Hoe sluit ik de uitgangen van het schema aan op de 8051?(Dus N-O-Z-W etc..)
Afbeeldingslocatie: http://home.hetnet.nl/~colmer-kj/Fotos/Windrichtingschema.jpg

[ Voor 53% gewijzigd door Verwijderd op 08-03-2009 11:43 ]


Verwijderd

Topicstarter
Heeft iemand een idee waar je aan een 8051 module kan geraken met USB?
Of seriele uitgang?
En die voorzien is van digitale ingangen?

[ Voor 8% gewijzigd door Verwijderd op 08-03-2009 14:02 ]


  • Sphere-
  • Registratie: November 2003
  • Laatst online: 28-08 19:53
Verwijderd schreef op zondag 08 maart 2009 @ 13:10:
Heeft iemand een idee waar je aan een 8051 module kan geraken met USB?
Of seriele uitgang?
En die voorzien is van digitale ingangen?
Vrijwel elke 8051 heeft wel een UART (Universal Asynchronous Receiver Transmitter). Dat is een module voor seriele communicatie. Knoop daar een level converter aan die de 0-5V signalen van de UART omzet in RS232 levels (-15V en 15V) ala MAX232 en je kan communiceren met een PC. Zo te horen heb je nog geen ervaring met microcontrollers. Ik zou dan niet gelijk met USB beginnen. USB is honderd keer moeilijker dan RS-232.

Verwijderd

Topicstarter
Sphere- schreef op zondag 08 maart 2009 @ 14:14:
[...]


Vrijwel elke 8051 heeft wel een UART (Universal Asynchronous Receiver Transmitter). Dat is een module voor seriele communicatie. Knoop daar een level converter aan die de 0-5V signalen van de UART omzet in RS232 levels (-15V en 15V) ala MAX232 en je kan communiceren met een PC. Zo te horen heb je nog geen ervaring met microcontrollers. Ik zou dan niet gelijk met USB beginnen. USB is honderd keer moeilijker dan RS-232.
Microcontroller bordje

Dit is dit het bordje dat ik ga kopen, dit is een bouwpakket met USB voorzien.
Is dit een goede keuze, normaal gezien moet alles aansluitbaar zijn hierop, veronderstel ik?

  • Sphere-
  • Registratie: November 2003
  • Laatst online: 28-08 19:53
Verwijderd schreef op zondag 08 maart 2009 @ 15:37:
[...]


Microcontroller bordje

Dit is dit het bordje dat ik ga kopen, dit is een bouwpakket met USB voorzien.
Is dit een goede keuze, normaal gezien moet alles aansluitbaar zijn hierop, veronderstel ik?
Alles wat je wilt is met dit bordje mogelijk ja :)

Verwijderd

Topicstarter
Is het programmeren van :

- Een registratie van de windsnelheid,windrichting, minimum & maximum temperatuur en luchtvochtigheid
eigenlijk moeilijk, en deze zou elke 30minuten moeten worden opgeslagen over 24uur tot 48uur, dat gedeelte zou ik nog moeten programmeren.
- Ik zou dus de gegeven elke 30minuten moeten laten registreren en opslaan over 24-48uur.

Kan iemand mij helpen op dat vlak, en is dit veel werk als beginner?
En inderdaad ben ik nog een leek hier omtrent

Voornamelijk zal ik programmeren in 8051 ID veronderstel ik (assembler)

Is er niemand die kan helpen met hoe ik de sensoren op eenzelfde microcontroller aansluit?

[ Voor 7% gewijzigd door Verwijderd op 08-03-2009 18:50 ]


  • jeronimo
  • Registratie: September 2003
  • Laatst online: 19:53
Het probleem is simpelweg dat er nogal wat variabelen zijn die we nu nog niet kennen.

Ik noem er een paar:

1. Temperatuurmeting via een 1-wire device is in de basis eenvoudig, maar zelf in assembly de 1-wire implementeren lijkt me vrij lastig. De bascom AVR ondersteund dit wel, in de bascom 8051 heb ik dit nog niet gezien. Dus is dit board de beste keuze? Hoe ga je de data uitlezen?

2. Heb je voldoende intern geheugen om de data voor 48 uur op te slaan?

3. Voor het meten van de gevraagde gegevens zijn er nogal wat manieren om dat te doen. Hoe makkelijk of moeilijk je dit doet hangt voor een deel af van je kennis op het gebied van elektronika en software. Als voorbeeld, de windsnelheid kun je wel als byte / waarde aanbieden (bijv m/s). Maar als het softwarematig handiger is dit als analoge waarde op een AD converter aan te bieden geven we je het verkeerde advies.

4. In dezelfde elektuur stond een PIC bordje met usb interface die icm met een pc ook al deze zaken zou kunnen meten. Dit klinkt als een eenvoudigere oplossing, maar voldoet misschien weer niet aan je vraag?

Just my 2 C

  • hondapower
  • Registratie: April 2005
  • Laatst online: 18-11 20:02
Kijk anders eens naar een Arduino (www.arduino.cc)
Daarmee kun je met zeer weinig moeite maken wat je wilt.
Neem bv een LM35 temperatuursensor, lcd'tje erbij... hoe je dat allemaal moet interfacen is allemaal al voorgemaakt en te vinden op internet.

Verwijderd

Topicstarter
Ik heb dus een gewone 4051 microcontroller gebruikt.

[ Voor 98% gewijzigd door Verwijderd op 19-04-2009 12:32 ]


Verwijderd

Topicstarter
Basicstamp wordt nu gebruikt. Deze heeft flashgeheugen

[ Voor 65% gewijzigd door Verwijderd op 19-04-2009 12:31 ]


  • jeronimo
  • Registratie: September 2003
  • Laatst online: 19:53
Ik doe even een aanname, want de ene keer noem je een 4051 en dan weer een 8051.
Je gaat het elektuur ontwerp gebruikten met de AT89C5131 controller.

Hiervoor kun je de Bascom8051 gebruiken om je programma te maken en Flip om de hex in je controller te zetten. Van Bascom8051 kun je de demoversie (functioneel tot 4K code) downloaden op http://www.mcselec.com/in...cat_view&gid=98&Itemid=54. Hier staat ook de manual voor bascom. In de manual kun je vinden dat er support is voor 1 wire devices.
Met de manual en de D18S20 datasheet zou je er dus uit moeten kunnen komen.

De 80C5131 heeft 1K data EEPROM on chip. Als dat niet genoeg is kun je vrij eenvoudig, omdat je toch al gebruik maakt van de 1 wire interface ook een 1 wire EEPROM toevoegen.
De SHT71 is iets lastiger omdat daar geen kant en klare ondersteuning voor is. Het protocol lijkt op I2C maar is net iets anders. Datasheet: http://www.sensirion.com/...humidity-sensor-SHT7x.pdf

Overigens denk ik dat je voor beide sensoren met google genoeg voorbeelden kunt vinden.

Verwijderd

Topicstarter
Iemand een idee hoe ik een hygrometer mechanisch kan maken?

[ Voor 39% gewijzigd door Verwijderd op 19-04-2009 12:30 ]


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

Sprite_tm

Semi-Chinees

Je klinkt in dit topic verdachte veel alsof dit een opdracht is voor school. Zoja: zou je niet eens wat meer zelf bedenken en uitzoeken, of desnoods wat aan je leraar vragen? Een hygrometer mechanisch maken is bijvoorbeeld niet zo moeilijk als je er even over brainstormt: pak even erbij hoe een hygrometer kan werken en zie hoe je daar een sensor aan kan knopen. In de tijd dat het me kost om deze post te schrijven, heb ik al zo'n 3 manieren bedacht; dat moeten jullie dus ook wel kunnen.

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


Verwijderd

Topicstarter
Dan heb ik ook nog een probleem, hoe begin ik met programmeren van een gray-code in bascom?
Deze standen heb ik
001 Noord
111 NO
011 Oost
101 ZO
000 Zuid
110 ZW
010 West
100 NW

Dit werkt dus met 3 sensoren, wanneer ze licht opvangen is de het signaal 1
Dit zou ik moeten programmeren in Bascom zodat mijn controller weet in welke stand en ook de benaming Noord,zuid, of etc erbij zet. Zodat ik een beetje een richtlijn heb wat ik moet programmeren.
Bedankt

[ Voor 105% gewijzigd door Verwijderd op 19-04-2009 12:30 ]


  • virus.elektro
  • Registratie: Januari 2002
  • Laatst online: 20:33

virus.elektro

profesionele monitor sloper

moet dit naar gray of is dit al gray. als het al gray is klopt er weinig van bij gray is het de bedoeling dat er bij 2 opeenvolgende posities maar 1 bit verspringt. en niet 2 zoals ik nu zowat iedere keer zie. voor het programmeren zou ik een soort look up table gebruiken. dat lijkt me vrij makelijk te realiseren in een uc

elektrotechniek is leuk (nog wel). ik ga dus weer verder met leuke dingen ontwerpen. amd 2200+ 256mb 333mhz,gf4 440mx, 120gb,16X dvd. jarr-url


Verwijderd

Topicstarter
DELETE

[ Voor 104% gewijzigd door Verwijderd op 19-04-2009 12:30 ]


Verwijderd

Topicstarter
Update:

0 0 0 0 NOORD
1 0 0 1 NO
2 0 1 1 OOST
3 0 1 0 ZO
4 1 1 0 ZUID
5 1 1 1 ZW
6 1 0 1 WEST
7 1 0 0 NW

Dit is dus de gray code voor de windrichting.
De tekening van de gray code is deze:
Afbeeldingslocatie: http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/BCD-Scheibe.png/170px-BCD-Scheibe.png

Ik ga dit maken met 3 x CNY70 sensoren. Deze werken met reflectie tussen led en fotodiode, bij reflecte op het witte oppervlak geef deze een puls dus = 1. Geeft deze geen puls = 0
Het bordje dat ik ga gebruiken is een basicstamp met usb interface, zo kan ik direct via basic programmeren en doorsturen via usb zonder dat ik de interface naar usb moet aanpassen.
Ik zou dus werken met een lookup table, verder kan iemand mij opweg helpen hoe ik hieraan begin in basic?
Ik heb al wat programmeerd in basic, mits is mijn kennis nog steeds gering.

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

Sprite_tm

Semi-Chinees

Sorry hoor, maar dit topic gaat op slot. Het is niet de bedoeling dat we je stap-voor-stap door je project heen gaan slepen; als je een vraag stelt over bijvoorbeeld het implementeren van een Gray-code in basic gaan we ervan uit dat je minimaal zelf zo hard nagedacht hebt dat je een idee over de richting waarin je moet zoeken hebt, en zoniet, Google en de andere beschikbare bronnen gebruikt hebt om uit te vinden hoe en wat.

Als je dit maakt voor jezelf kan ik je aanraden om maar eens te beginnen aan een simpeler projectje (Hello World anyone?) voordat je je dit op de hals haalt. Als je dit doet als huiswerkproject kan ik je aanraden om je docent of begeleider eens te gaan pesten; hij/zij is degene die je hiermee moet helpen als je er zelf echt niet uitkomt.

Al met al: slotje dus.

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

Pagina: 1

Dit topic is gesloten.