Auteur Topic: Waar zijn we nu mee bezig ? Microcontrollers  (gelezen 248257 keer)

Offline PeterC

  • Forumlid
  • Berichten: 3.355
    • JAL pagina
  • Voornaam: Peter
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #240 Gepost op: 29 juli 2012, 21:41:56 pm »
Klaas, de herhalingsfrequentie is 49,99 Hz (zonder kristal op de processor toch vrij nauwkeurig met kistal 4MHz! - verwarrend: 3 PIC projecten gelijkertijd op mijn breadboard [^]) en de pulsduur is tot op 1 ?s in te stellen: 1 ms geeft 1000 (+/-1)?s, 2 ms geeft 2000 (+/-1)?s. Dit volgens berekeningen en de meetresultaten (Fluke).

Het huidig programma is heel eenvoudig: opstarten geeft 1.5 ms (neutraal), na 1 seconde gaat de servo naar links (rechts?) bij 1.0 ms pulsduur, gevolgd door 1.5 ms (neutraal - terug na ??n seconde) en dan naar 2ms (rechts).  Daarna in een loop naar links - neutraal - rechts - neutraal - links...

Enkele eenvoudige testen laten al het verschil zien tussen een servo (kleine 's') en een Servo (grote 'S')!  Conradjes van enkele Eurootjes ratelen en schreeuwen tijdens de test.  Oer-oude-Robbe/Graupner-servo's (prijs=Conrad*20) doen het veel rustiger en stiller...
Groetjes, Peter


Offline Klaas Zondervan

  • Forumlid
  • Berichten: 5.423
    • http://people.zeelandnet.nl/zondervan
  • Voornaam: Klaas
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #241 Gepost op: 29 juli 2012, 22:16:11 pm »
Peter, ik zie ook dat de herhalingsfrequentie 49,99 Hz is. En die is zo mooi stabiel omdat die is afgeleid uit de kristalfrquentie.
Maar in je vorige bijdrage wekte je, althans voor mij, de indruk dat de nauwkeurigheid van de herhalingsfrequentie belangrijk is. En daar reageerde ik op door te stellen dat die er weinig toe doet.
Je zou zelfs de opvolgingstijd voor de pulsen kunnen vari?ren, b.v. achtereenvolgens 18, 20, 19 en 21 ms maken.
Je zal zien dat de servo daar geen last van heeft. In de servo zit nl. niets wat die opvolgingstijd controleert. De servo kijkt alleen naar de lengte van de puls, en verwacht na enige tijd een "opfrisser". Maar hoe lang "enige tijd" is, dat is niet kritisch.

Offline argilla

  • Forumlid
  • Berichten: 3.108
  • Voornaam: Marc-Laurent
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #242 Gepost op: 30 juli 2012, 17:29:19 pm »
klinkt zeer interessant weer een stukje bijgeleerd zie [:)]
argilla
H0, On30, 1/29, Gn15

Offline Havoc

  • Forumlid
  • Berichten: 6.272
  • Voornaam: Johan
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #243 Gepost op: 30 juli 2012, 18:27:58 pm »
citaat:
Al een tijdje zit ik met de gedachte om een I2C signaalgever/sniffer te ontwerpen die de I2C signalen omzet in een seri?el signaal om via USB naar een terminalprogramma op de PC met I2C bouwstenen te kunnen communiceren (zonder een ingewikkelde testomgeving te bouwen) en om 'onbekende' I2C signalen te kunnen 'hacken' (oa de I2C communicatie tussen een IB en keyboard 6040 - om die zelf te kunnen maken).


Dit is een handig en goedkoop ding dat we op het vorige werk daarvoor soms gebruikten: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en028600
Expert in non-working solutions.

Offline PeterC

  • Forumlid
  • Berichten: 3.355
    • JAL pagina
  • Voornaam: Peter
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #244 Gepost op: 30 juli 2012, 22:24:41 pm »
Een 'spielerei' gekocht maar ik heb geen idee hoe ik er moet aan beginnen...
Ik zou twee van die matrixen achter elkaar willen zetten.  Volgens mijn bescheiden mening kom ik dan op 40 poorten (8rood + 8groen + 8rood + 8groen + 8common) die ik moet aansturen???  Zal wel eenvoudiger kunnen zeker?
Ik wil zoveel mogelijk vanuit een controller gaan sturen, dus zeker geen gebruik gaan maken van 4 naar 16 multiplexers.  Voor de common wil ik eventueel nog een 3 naar 8 mux inzetten (via schakeltransistoren).

De eerste versie van de servotester is af.  Nu nog de HTML pagina's maken [xx(]

[Edit]: Voor wie 'spielereien' of degelijk materiaal zoekt: http://www.watterott.com/ (geen reclame - ik plaats de link enkel omdat er nogal wat 'speciallekes' in hun aanbod zitten).
Groetjes, Peter


Offline PeterC

  • Forumlid
  • Berichten: 3.355
    • JAL pagina
  • Voornaam: Peter
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #245 Gepost op: 31 juli 2012, 13:09:00 pm »
citaat:
Geplaatst door Klaas Zondervan

...De servo kijkt alleen naar de lengte van de puls, en verwacht na enige tijd een "opfrisser"...


Ja en nu ondervonden dat die vrij kritisch naar die puls kijkt. Een variatie van slechts 2?s in de puls en de servo staat reeds te 'jitteren'.  Vooral 'goedkopere' servo's hebben er last van.  De afwijking in de pulslengte was het gevolg van luiheid: een ontkoppelcondensator van 100nF over de spanningslijnen van de controller doen wonderen [^].
Groetjes, Peter


Offline PeterC

  • Forumlid
  • Berichten: 3.355
    • JAL pagina
  • Voornaam: Peter
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #246 Gepost op: 31 juli 2012, 13:10:55 pm »
citaat:
Geplaatst door Havoc

Dit is een handig en goedkoop ding dat we op het vorige werk daarvoor soms gebruikten: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en028600


Johan, zo te zien doet de 'Bus Pirate' net hetzelfde (en nog enkele extra zaken) maar is de prijs ervan minder dan de helft dan die van Microchip.
Groetjes, Peter


Offline Havoc

  • Forumlid
  • Berichten: 6.272
  • Voornaam: Johan
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #247 Gepost op: 31 juli 2012, 19:26:59 pm »
citaat:
Ik zou twee van die matrixen achter elkaar willen zetten. Volgens mijn bescheiden mening kom ik dan op 40 poorten (8rood + 8groen + 8rood + 8groen + 8common) die ik moet aansturen??? Zal wel eenvoudiger kunnen zeker?


Hoeft niet, je kan toch de rood en groen van beiden samen nemen. Dan heb je 8 rood, 8 groen en 16 common. Je zou ook nog kunnen rood en groen multiplexen, dan heb je 8 r/g + select en 16 common. Die 16 common zouden via een shuifregister kunnen. Die andere ook, hangt wat af van hoeveel io je hebt/wil/kan gebruiken.

Klopt van die bus pirate, maar de microchip hadden we liggen in de kast.
Expert in non-working solutions.

Offline PeterC

  • Forumlid
  • Berichten: 3.355
    • JAL pagina
  • Voornaam: Peter
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #248 Gepost op: 31 juli 2012, 20:57:54 pm »
citaat:
Geplaatst door Havoc

citaat:
Ik zou twee van die matrixen achter elkaar willen zetten. Volgens mijn bescheiden mening kom ik dan op 40 poorten (8rood + 8groen + 8rood + 8groen + 8common) die ik moet aansturen??? Zal wel eenvoudiger kunnen zeker?


Hoeft niet, je kan toch de rood en groen van beiden samen nemen. Dan heb je 8 rood, 8 groen en 16 common. Je zou ook nog kunnen rood en groen multiplexen, dan heb je 8 r/g + select en 16 common. Die 16 common zouden via een shuifregister kunnen. Die andere ook, hangt wat af van hoeveel io je hebt/wil/kan gebruiken...



Ik heb wat in een ver verleden zitten zoeken toen er nog busbuffers bestonden.  Een 74241 (niet-inverterende-buffer) is 8 bit en heeft een output-enable.  Zo vier stuks parallel en ik kan de anodes al aansturen (8 bits data + 4 stuurlijnen).  Voor de kathodes zal ik wel een darlington-array moeten gebruiken (er kunnen 8 leds gelijkertijd branden = 160 mA - een inverterende array kan ik positief aansturen).

Nu vraag ik mij af met dergelijke schakeling: de led zal slechts 1/32? van de tijd oplichten(4 * 8 kolommen, 8 rijen).  Ga ik dan nog genoeg lichtopbrengst hebben (het is de bedoeling om er glasvezels voor te zetten voor een 'spielerei').  Geven rood en groen gemultiplexed nog effectief geel?  Wat is de 'ideale' minimum tijd dat een gemuiltiplexte led nodig heeft om het goed te doen?

Met datgene dat ik nu voor ogen heb, heb ik 2 * 8 bits poorten nodig + 4 voor de buffers aan te sturen + communicatielijnen.  Ik denk dat ik dan al beter een 40 pins PIC neem en een 8 bits poort extra inzet.  Heeft als voordeel dat de led 2 maal zo lang kan branden.

Groetjes, Peter


Offline Havoc

  • Forumlid
  • Berichten: 6.272
  • Voornaam: Johan
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #249 Gepost op: 31 juli 2012, 21:23:43 pm »
Kan je niet beter iets met een latch gebruiken? Bvb een 74hc595 (8 bit shift met latch) of 74hc574 (8 bit latch)? Een HC gaat ook maar 24mA driven trouwens. Misschien beter demultiplexing en driven scheiden? Anders moet je naar iets als een ABT gaan die 64mA aankan.

Voor de lichtopbrengst kan je de stroom opdrijven. Gepulst kunnen leds heel wat meer verdragen dan DC. Alhoewel je datasheet er niet veel over zegt buiten max 30 mA piek bij 1/10 dutycycle en 10 kHz. Jij zit bij 1/32, maar welke frequentie ga je halen? (en als er iets mis gaat ga je snel moeten zijn!)

De inkoppeling in vezels gaat ook nog verlies geven.
Expert in non-working solutions.

Offline PeterC

  • Forumlid
  • Berichten: 3.355
    • JAL pagina
  • Voornaam: Peter
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #250 Gepost op: 31 juli 2012, 23:00:20 pm »
citaat:
Geplaatst door Havoc

...De inkoppeling in vezels gaat ook nog verlies geven...



En het zijn dan nog van die 'plastieken vezels', gerecycleerd van zo'n - hoe noem je dat - wonderlamp [:)] waar een stevige halogeenspot met kleurschijf voor de 'wonder' verlichting zorgt...

Die 10 KHz lijkt me wel haalbaar (20 MHz klok; ??n instructie per 1/4 klok).
Groetjes, Peter


Offline Havoc

  • Forumlid
  • Berichten: 6.272
  • Voornaam: Johan
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #251 Gepost op: 01 augustus 2012, 18:15:14 pm »
Die plastieken vezels zijn nog geen ramp, maar de koppeling met de led gaat lastig zijn. Als je er geen meters van gebruikt. Er is hier al ergens in een draadje over gediscussieerd. En een goede uitlijning is toch wel het minste. Met zo'n array is dat lastiger dan met 1 led.
Expert in non-working solutions.

Offline Gerolf

  • Administrator
  • Forumlid
  • Berichten: 20.198
    • Marche-en-Bières
  • Voornaam: Gerolf
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #252 Gepost op: 02 augustus 2012, 09:34:18 am »
Een dutycycle van 1/32 is te weinig, Peter. Heb ik al ondervonden [:I] Te weinig lichtopbrengst ...
Ik denk dat het beter is om je microcontroller delen van je matrix tegelijk te laten aansturen.
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Offline PeterC

  • Forumlid
  • Berichten: 3.355
    • JAL pagina
  • Voornaam: Peter
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #253 Gepost op: 02 augustus 2012, 12:39:04 pm »
citaat:
Geplaatst door Gerolf

Een dutycycle van 1/32 is te weinig, Peter. Heb ik al ondervonden [:I] Te weinig lichtopbrengst ...
Ik denk dat het beter is om je microcontroller delen van je matrix tegelijk te laten aansturen.



Met een ULN 2803a kan ik 500mA aansturen (= 16 leds op (kortstondig!) 30mA).  Dat worden dus al 2 darlingtonbuffers voor de 32 leds in een rij.  De rijen aansturen via een 74xx374 kan 'slechts' 20 mA per pin 'sourcen'.  4 latches voor telkens 8 leds.  De rijaansluitingen op dezelfde datalijnen als de kolomaansturing betekent dit nog 8 + 4 latchenables + 2 rijenable = 14 bits!  Zelfs een heel keine PIC kan dit aan.  Een dutycycle van 1/8 (minus de aansturing van de latches en de busbuffers - minder kan ik niet).  Wel heel wat externe hardware...

Het (spieler)ei moet verder broeden...

Ondertussen dergelijke modules met RGB gevonden...  8 bits per module extra... [xx(]

citaat:
Geplaatst door Havoc

Die plastieken vezels zijn nog geen ramp, maar de koppeling met de led gaat lastig zijn. Als je er geen meters van gebruikt. Er is hier al ergens in een draadje over gediscussieerd. En een goede uitlijning is toch wel het minste. Met zo'n array is dat lastiger dan met 1 led.



Enig idee welk draadje?  De uitlijning kan ik (CNC) laten doen.  De fiberkes zelf zouden in een heel kleine matrix moeten ondergebracht worden en 128 gaatjes perfect uitgelijnd boren...  Daarvoor heb ik het materiaal niet (wel de nodige vrienden die dat materiaal in huis hebben [;)]).
Groetjes, Peter


Offline patrick smout

  • Forumlid
  • Berichten: 164
  • Voornaam: patrick
Waar zijn we nu mee bezig ? Microcontrollers
« Reactie #254 Gepost op: 05 augustus 2012, 11:02:25 am »
citaat:


Met een ULN 2803a kan ik 500mA aansturen (= 16 leds op (kortstondig!) 30mA).  Dat worden dus al 2 darlingtonbuffers voor de 32 leds in een rij.  De rijen aansturen via een 74xx374 kan 'slechts' 20 mA per pin 'sourcen'.  4 latches voor telkens 8 leds.  .... Wel heel wat externe hardware...




Bekijk de TLC5916 (of variant) eens. Ook verkrijgbaar via ondermeer mouser in PDIP. Volgens mij is dit wat je nodig hebt. [;)]

http://nl.mouser.com/Search/Refine.aspx?Keyword=TLC5916

mvg,

Patrick Smout