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

[EL] Stand-alone nightrider met tail(pwm)

Pagina: 1
Acties:

  • Lamborghini
  • Registratie: Maart 2001
  • Laatst online: 08-06-2022
Nightrider met tail (PWM), goedkoop, simpel en veelzijdig

Voor wie een nightrider licht wil met glow, zonder al teveel onderdelen, kosten en poespas, heb ik goed nieuws. Ik heb software geschreven waarmee je zowat iedere Atmel controller kan gebruiken om zowat elke variant van de nightrider te bouwen. De mogelijkheden van de nightrider schakeling zijn zeer divers waarbij de opbouw ervan geheel naar keus is van de bouwer ervan.
De schakeling kost qua onderdelen nog geen €10 (excl. led's).

Mogelijkheden:

*Zelf kiezen van glow/staart lengte, van 0 tot 15 (afhankelijk van aantal gekozen kanalen)
*Zelf kiezen van "loop"-snelheid
*Zelf kiezen van eigen AVR
*Zelf kiezen van oscillator (indien AVR geen interne bezit), van 500kHz tot 6.5MHz
*Zelf kiezen tussen 3 tot 16 kanalen
*Zelf kiezen van iedere I/O pin op de controller als PWM kanaal
De mogelijkheden zijn hierdoor zeer divers wat zorgt dat de nighrider door vrijwel iedereen kan worden gemaakt.


Benodigdheden:

*Eén Atmel AVR
*Klein voedingscircuitje, bijv. een 7805 incl C'tjes
*3 tot 16 led's incl voorschakelweerstand
*AVR progger (bijv. deze), nodig om de software erin te zetten
*Indien de gekozen AVR geen interne osc mogelijkheid heeft is er nog een crystal nodig

Hier zie je het universele schema, waarbij je eigenlijk zelf nog alles moet kiezen, maar dat is juist het grote voordeel van deze schakeling.


Afbeeldingslocatie: http://home.planet.nl/~steenb/nightrider_glow.png


Zoals je ziet weinig benodigdheden, en tevens veel vrijheid in de keuze van de onderdelen.
Ondanks dat vrijwel iedere AVR geschikt is moet deze toch aan een paar eisen voldoen:
-1500 bytes Flash geheugen (minimaal)
-128 bytes SRAM geheugen hebben (minimaal)
-EEPROM geheugen hebben
-1x 8-bits timer0 met timer overflow interupt mogelijkheid
-1x 16-bits timer1 met CTC interrupt mogelijkheid
Hieraan voldoen zeer veel typen, zoals: AT90S2313, ATmega8, ATmega8515, enz.


Software

De AVR is een microcontroller dus zonder software zal de schakeling niks doen. Aangezien de software afhankelijk is van de vele gebruikerskeuzes kan ik hier niet zomaar één hex filetje plaatsen, dat zouden er dan namelijk zeker zo'n 50 verschillende zijn. Wie de hex-file nodig heeft moet mij even een mailtje sturen met de volgende gegevens:
-AVR type
-gebruikte oscillator snelheid (ook als die intern is)
-Van ieder kanaal welke pin erbij hoort (poort en pinnummer)

Je krijgt dan van mij de hex file gemailt die speciaal voor jou schakeling is compiled. Deze kan je dan vervolgens in je AVR flashen en dan werkt je schakeling :) De andere instellingen kun je vervolgens zelf doen door die in het EEPROM in te stellen, dat zijn de:
-snelheid
-glow/staart lengte


Dat kan toch ook wel zonder microcontroller?!

Tuurlijk, maar dat kost heel wat meer, niet alleen qua geld maar ook qua tijd en ruimte. De PCB wordt groter omdat men minimaal 3 IC's nodig heeft ipv 1. Men moet gebruik maken van condensatoren, die zijn niet alleen prijzig, ze nemen eveneens veel ruimte in op je printje.
Ook wordt het schema complexer, en wat krijg je er voor terug? -> Helemaal niks extra want die schakeling zonder microcontroller is minder flexibel. Zo kan je achteraf niks meer wijzigen aan de staartlengte.
Op deze site zie je bijvoorbeeld een schema van een microcontrollerloze knightrider.


Vragen/opmerkingen:

Als je nog vragen hebt over iets dat onduidelijk is of wat dan ook dan kun je die in dit topic stellen. Andere reacties betreffende de schakeling zijn eveneens zeer welkom :)

ps. ik geef graag de hex-code aan iedereen die het maar wil, maar voorlopig houd ik de broncode (geschreven in C) nog wel even voor mezelf.

[ Voor 9% gewijzigd door Lamborghini op 02-06-2006 22:07 ]


  • Ganzz
  • Registratie: Mei 2004
  • Laatst online: 23-10-2021
Tof dat ga ik eens proberen, mooie how-to

[www.ganzz.nl]


  • dj_dysaster
  • Registratie: Januari 2003
  • Laatst online: 08:02

dj_dysaster

Stoom \o/

Ik ga dat eens proberen met een pic :7 :9~ . Schema is toch zo ongeveer hetzelfde :)

  • Lamborghini
  • Registratie: Maart 2001
  • Laatst online: 08-06-2022
dj_dysaster schreef op dinsdag 28 december 2004 @ 23:12:
Ik ga dat eens proberen met een pic :7 :9~ . Schema is toch zo ongeveer hetzelfde :)
Klopt, alleen dan moet je wel zelf de software nog schrijven want die is anders ;)

Verwijderd

wat zijn de kosten ongeveer? zulke dingen zijn leuk :)

  • dj_dysaster
  • Registratie: Januari 2003
  • Laatst online: 08:02

dj_dysaster

Stoom \o/

[b][message=22450006,noline]
De schakeling kost qua onderdelen nog geen €10 (excl. led's).
|:(

  • Gnuitenjong
  • Registratie: November 2003
  • Laatst online: 04-06-2023

Gnuitenjong

Check:www.lowlands .oma-g.com!

Ik vind het een leuk projectje, maareh, ik heb geen pic-programmer. Kun je dit gewoon doen met elke pic-programmer of heb je een speciale nodig? Op circuitsonline.nl staat bijvoorbeeld een met een heel makkelijk schema, zou die bijvoorbeeld werken?

[CM] Flightcase Mod


  • Lamborghini
  • Registratie: Maart 2001
  • Laatst online: 08-06-2022
Gnuitenjong schreef op donderdag 30 december 2004 @ 11:31:
Ik vind het een leuk projectje, maareh, ik heb geen pic-programmer. Kun je dit gewoon doen met elke pic-programmer of heb je een speciale nodig? Op circuitsonline.nl staat bijvoorbeeld een met een heel makkelijk schema, zou die bijvoorbeeld werken?
Ten eerste is het GEEN pic, maar een avr. Dus wel een microcontroller maar niet van het merk Microchip maar van Atmel. Derhalve heb je dus niks aan een pic-programmer.
Ten tweede staat duidelijk vermeld in mijn openingspost wat je nodig hebt. Ik heb zelfs gelinkt naar een schema voor de programmer. Makkelijker kan ik het jullie niet maken ;)

  • Gnuitenjong
  • Registratie: November 2003
  • Laatst online: 04-06-2023

Gnuitenjong

Check:www.lowlands .oma-g.com!

Sorry, stom van me, niet goed gelezen.8)7

[CM] Flightcase Mod


  • Neptunus
  • Registratie: Januari 2001
  • Laatst online: 13-11 10:50
Iets van een uitleg over je code is misschien erg leerzaam voor de lezers van dit topic. Zelf ben ik daarin natuurlijk geintereseerd. Bv over timers en gebruik van PWM en aansturen van de bepaalde led. Welke code het is geschreven enz.

Je code wil je zeker niet posten of wel?

Verder vindt ik het een goed topic start met leuke avi's.

[ Voor 10% gewijzigd door Neptunus op 30-12-2004 18:09 ]


  • Lamborghini
  • Registratie: Maart 2001
  • Laatst online: 08-06-2022
Neptunus schreef op donderdag 30 december 2004 @ 18:08:
Welke code het is geschreven enz.

Je code wil je zeker niet posten of wel?
Jongens jongens, "having a hard time reading the start post?" No offence maar je bent al de 3e die iets vraagt over iets dat gewoon kan worden teruggevonden in de startpost. Ik schrijf niet voor niks een lange startpost om vervolgens alles opnieuw te gaan vertellen ;)
Iets van een uitleg over je code is misschien erg leerzaam voor de lezers van dit topic. Zelf ben ik daarin natuurlijk geintereseerd. Bv over timers en gebruik van PWM en aansturen van de bepaalde led.
Dat is niet zo 1, 2, 3 uit te leggen. De code is niet zozeer extreem groot of uitgebreid, het is eerder de complexiteit ervan die het lastig maakt om het aan iemand uit te leggen. Globaal genomen werkt het zo:

Displayen:
De led's worden gedisplayed met PWM techniek, waarbij 1 hardwaretimer zorgt voor een referentie en alle PWM kanalen aan de hand van die referentie softwarematig zijn geimplementeerd.
Nighrider:
Om de PWM kanalen om de zoveel tijd hun waarde te updaten wordt een 2e hardwaretimer toegepast. Verschillende functies zorgen er vervolgens voor om te berekenen wat de PWM waarde moet zijn op een gegeven moment met gebruik making van de instellingen zoals staartlengte enz.

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Gaaf :D ik heb nog een at90s2313 over van een ander projectje, had er namelijk 2 besteld. Alleen moet ik nog even een werkende progger bouwen :P
Ik neem aan dat je ook gewoon leds aan kan sluiten zoals ze hier hebben gedaan:
http://www.mcselec.com/images/an_1281.gif
dus 2 leds parallel in tegengestelde richting waardoor een output ook als GND kan dienen, dan kan je met 8 uitgangen 16 leds aansturen, of 2 kleuren :P

Leuk IIG dat je er een topic voor gemaakt hebt, vast wel wat mensen die het goed kunnen gebruiken :)

[ Voor 11% gewijzigd door _ferry_ op 30-12-2004 21:06 ]


  • Lamborghini
  • Registratie: Maart 2001
  • Laatst online: 08-06-2022
_ferry_ schreef op donderdag 30 december 2004 @ 21:05:
Ik neem aan dat je ook gewoon leds aan kan sluiten zoals ze hier hebben gedaan:
http://www.mcselec.com/images/an_1281.gif
dus 2 leds parallel in tegengestelde richting waardoor een output ook als GND kan dienen, dan kan je met 8 uitgangen 16 leds aansturen, of 2 kleuren :P
Nope, dat zal niet werken. Er zijn namelijk altijd meerdere led's aan, en zo zullen dus regelmatig twee pinnen (of meer) hoog zijn om twee ledjes (of meer) te laten branden.
Je zult voor 16 leds gewoon 16 pinnen moeten gebruiken.

  • Neptunus
  • Registratie: Januari 2001
  • Laatst online: 13-11 10:50
Lamborghini schreef op donderdag 30 december 2004 @ 20:08:
[...]

Jongens jongens, "having a hard time reading the start post?" No offence maar je bent al de 3e die iets vraagt over iets dat gewoon kan worden teruggevonden in de startpost. Ik schrijf niet voor niks een lange startpost om vervolgens alles opnieuw te gaan vertellen ;)


[...]

Dat is niet zo 1, 2, 3 uit te leggen. De code is niet zozeer extreem groot of uitgebreid, het is eerder de complexiteit ervan die het lastig maakt om het aan iemand uit te leggen. Globaal genomen werkt het zo:

Displayen:
De led's worden gedisplayed met PWM techniek, waarbij 1 hardwaretimer zorgt voor een referentie en alle PWM kanalen aan de hand van die referentie softwarematig zijn geimplementeerd.
Nighrider:
Om de PWM kanalen om de zoveel tijd hun waarde te updaten wordt een 2e hardwaretimer toegepast. Verschillende functies zorgen er vervolgens voor om te berekenen wat de PWM waarde moet zijn op een gegeven moment met gebruik making van de instellingen zoals staartlengte enz.
Jammer dat je er niet dieper op in wilt gaan. Zekers voor je jongens die er wel iets mee kaas van gegeten hebben. Maar natuurlijk nog nite zoveel kaas als jou. Maar goed, als je hetvoor je zelf wilt houden vindt ik het ook prima.

Alleen mis ik dan wel een beetje het nut van je post. Vindt het natuulijk wel leuk dat je ons laat zien wat er allemaal mogelijk is. Kijk je hoeft helemaal niet je code online te zetten. Maar jou je dan een uitgebreide theorie uitleg willen geven. Zodat we er iets van kunnen opsteken.

Hoe het nu ontveer werkt is meduidelijk met je quote op mijn post. Maar nu de rest, je moet daar naruurlijk wel zin in hebben. Het is geen moeten.
Pagina: 1