Waar zijn we nu mee bezig ? Microcontrollers

Gestart door ToThePoint, 13 januari 2012, 10:27:28 AM

PeterC

#720
Citaat van: Geert op 30 december 2014, 19:56:50 PM
...hoe jij met µC technologie kan toveren...

...Was ik maar een tovenaar...  ...ik lees veel, heel veel saaie technische datasheets...  ...En heb mijn 'assembler' bagage...

Waar het hem om gaat is dat ik, net als jij in een assembler tijdperk ben 'gekweekt'.  Assembler heeft op al mijn programma's zijn stempel gezet (zowel privé als professioneel - als je alleen bent om  software te schrijven, schrijf je die naar je eigen goesting/kennis/ervaring).  In elke taal probeer ik de assembler denkwijze te implementeren (vandaar dat mijn code soms moeilijk vatbaar/leesbaar is). 
Jongere generaties en nieuwkomers zien assembler vaak als een draak waar je heel veel ontwikkelings-, debug- en denktijd moet insteken (zie mijn reactie #705 - en die was zeker niet negatief bedoeld!).

Assembler, de taal van de electronica.  Denk in logische bouwstenen (destijds TTL) en zet dat om in code en je hebt een programma.  Als je nu aan een serieuze technicus vraagt wat TTL is, antwoord die steevast met 'Time To Live'...

Al geruime tijd gebruik ik JAL als PIC programmeertaal.  Een hogere programmeertaal met een lage instapdrempel maar die ook low-level-programmering toelaat (er is zelfs een instructie ASM voorzien om delen van je code in assembler te schrijven).




Citaat van: Geert op 30 december 2014, 19:56:50 PM
...En zeker links erbij blijven vermelden...

Het is maar een kleine moeite om die in de tekst in te pakken en niet gedeelde kennis is verloren kennis!


Citaat van: conducteur op 30 december 2014, 21:20:26 PM
Menucode: te ingewikkeld als ontspanning 's avonds na het veel te ingewikkelde studeren...

Ik heb ook veel te weinig commentaar in die code geschreven; maar ja: "een aanzet tot een soort van universele menu voor de PIC18 serie".  Met veel commentaar raak je daar wel uit wijs, je bent verre van een uil!  ;)

Groetjes, Peter


raf

ik heb nog op deze manier leren programmeren

ld a,(Height)                 
  ld b,a                         
  ld a,(Width)                 
  add a,a                       
  add a,b                       
  add a,b                       
  ld (Perim),a
dit is een routine om een vierkant of rechthoek te maken en dan alles in perim op te slaan
maar das meer dan 40 jaar gelden

gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Havoc

Je kan met een CCP een adc maken met nog wat randelectronica: double slope convertor. Niet de snelste maar als het moet...
Met vakantie voor onbepaalde duur.

PeterC

Raf, ik ga een poging doen om je probleem te begrijpen.  Verbeter me als ik je probleem verkeerd inschat.

Citaat van: raf op 30 december 2014, 21:29:41 PM
...een probleem met ccpmx  bij een 16f88 die heeft twee ccp ingangen waar je deze een beetje kan verkrachten om er een A/D converter van te maken...

Een 16F88 heeft inderdaad 2 CCP ingangen (RB0 en RB3) maar heeft intern slechts één Capture, Compare, PWM (CCP) module.

Citaat van: raf op 30 december 2014, 21:29:41 PM
...deze twee registers zouden we met elkaar moeten kunnen vergelijken...

Je wil dus voor de ene meting de CCP module aan RB0 koppelen en voor een andere meting de CCP module aan RB3 hangen?

Citaat van: raf op 30 december 2014, 21:29:41 PM
...we krijgen dit in basic niet goed of helemaal niet aan het werk...

Helaas krijg je dat in geen enkele taal opgelost: CCPMX is een configuratie bit (fuse) in het 'CONFIGURATION WORD 1 REGISTER'.  En het antwoord waarom je dat niet in je programma kan wijzigen, vind je op pagina 129 van de datasheet (hoofdstuk 15.1):

Citaat van: 'Microchip datasheet 16F88'
15.1 Configuration Bits
The configuration bits can be programmed (read as '0'), or left unprogrammed (read as '1'), to select various device configurations. These bits are mapped in program memory locations 2007h and 2008h.
The user will note that address 2007h is beyond the user program memory space which can be accessed only during programming.

Je zal dus op zoek moeten gaan naar een andere oplossing softwarematig of naar een andere controller met 2 CCP modules (oa 18F2455/2550/4455/4550).

Groetjes, Peter


raf

hoi peter

blijkt dat die signalen op RA3 en RA4 naar buiten komen
maar dan nu de vraag zijn die alleen maar 1 of 0 of komt daar een serieel signaal naar buiten
blijft niet gemakkelijk en op sommige forums krijg je dat je de manual moet lezen
maar ik denk dat er veel zitten die hun belangrijker voelen dan ze zelf zijn en zelf het antwoord niet weten
aanbieding van dat er iemand het wel voor me zou willen maken en dan eventueel een prijsofferte er achter aan

het is modelbouw en zowel Harm als ik willen LEREN en zelf uitvogelen hoe het moet .
maar soms zitje muur vast en vroeger kon ik het "foerd" gaan vragen en die mensen waren wel bekwaam en konden dan na x aantal tijd een oplossing geven waar je mee verder kon
ze gaven niet meteen de oplossing maar zetten wel aan tot verder doen en dat was wat de bedoeling is

hier wat we soms terug krijgen van andere fora

Zelfs die electronica-theoriemannetjes kunnen/willen niet even een voorbeeld regeltje in elkaar steken))
Gaan alleen maar mekkeren dat je een thermokoppel niet direct aan je PIC mag aansluiten, dat moet via Een thermokoppel vraagt een vij speciale behandeling (juiste connectors, compensatie, versterking), oftewel een gespecialiseerd signaalconditionerings IC,, terwijl ook jij weet dat mijn sleepboot al jaren goed werkt.

en ja zijn sleep boot werkt reeds jaren perfect
nu is het probleem dat Harm een speciale stoom ketel heeft gemaakt voor in een nieuwe boot
een thermo koppel via een opamp aan RA0 (a/d )om de hitte van de brander vlam te meten
de tweede sensor aan een opamp aan RA2 (a/d)om de kleur van de ceramische brander te meten
en deze twee vergelijken daar dan de gasklep mee bedienen
de reden is dat er een vlam moet zijn en bij voldoende stoom druk mag die vlam op waak vlam over gaan
de tweede IR sensor dient om de kleur van de ceramische brander in het oog te houden
is de kleur BV te wit dan is er teveel vlam en kan deze Ceramsiche brander smelten
is ze te rood dan is de vlam te koud om voldoende stoom te ontwikkelen en de motoren aan het draaien te houden




dit is de stoom ketel (zelfbouw)

de brander met ceramiek blokken

niet zo een gewoon spelletje want loopt het verkeerd doet knal en das nie plezant
gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Havoc

Citaat van: raf op 31 december 2014, 12:59:48 PM
hoi peter

blijkt dat die signalen op RA3 en RA4 naar buiten komen
maar dan nu de vraag zijn die alleen maar 1 of 0 of komt daar een serieel signaal naar buiten
blijft niet gemakkelijk en op sommige forums krijg je dat je de manual moet lezen
maar ik denk dat er veel zitten die hun belangrijker voelen dan ze zelf zijn en zelf het antwoord niet weten
aanbieding van dat er iemand het wel voor me zou willen maken en dan eventueel een prijsofferte er achter aan

Raf, het probleem is dat er zoveel versies van die µP zijn dat je niet alles van elk type kan weten. En de handleiding lezen is echt wel een noodzaak. Het is natuurlijk niet leuk maar zoals Peter hierboven schreef: het staat in de manual.

Citaat van: raf op 31 december 2014, 12:59:48 PMZelfs die electronica-theoriemannetjes kunnen/willen niet even een voorbeeld regeltje in elkaar steken))
Gaan alleen maar mekkeren dat je een thermokoppel niet direct aan je PIC mag aansluiten, dat moet via Een thermokoppel vraagt een vij speciale behandeling (juiste connectors, compensatie, versterking), oftewel een gespecialiseerd signaalconditionerings IC,, terwijl ook jij weet dat mijn sleepboot al jaren goed werkt.

Allemaal relatief, wil je op 1°C nauwkeurig meten elke keer opnieuw of steekt het niet op een graad of 10? In het eerste geval ga je niet kunnen zonder koude junctie compensatie, de correcte kabel en software interpollatie. In het tweede geval gaat jouw methode ook werken. Het is niet omdat die mensen je de methode geven om het goed te doen dat je moet denken dat ze met je voeten spelen en dat je er minachting voor moet hebben "omdat ze het te ingewikkeld maken". Ze doen dat echt met een reden, dat is niet mekkeren.

Als ik op het werk een opstelling bouw om Pt100 thermometers af te regelen dan doe ik dat hoe het moet. Die zaken gaan naar klanten en die zijn tot op 1°C correct. Dat is met de juiste kabel, de juiste connectoren etc. Als dat op de werf enkel getest moet worden of het werkt dan doe ik dat ook met een stuk koperdraad en een suikertje.

Die ketel interesseert me wel :D Kan je daar wat maten opkleven? Diameter buis en een lengte hier en daar is fijn. Lijkt op een kruising van een Yarrow, Thornycroft en Woolnough.
Met vakantie voor onbepaalde duur.

PeterC

Raf, met je uitleg nu weet ik wat de bedoeling is, maar dat heeft niets meer te zien met die CCPMX fuse.

C1OUT en C2OUT zijn de uitgangen van de twee analoge comparators en als je die gewoon als comparator gebruikt (=vergelijker) geven die een 1 of een 0 op de uitgang afhankelijk van het verschil in spanning tussen de twee verschillende ingangen.  Op pagina 122 zie je op welke 8 manieren je beide comparators kan schakelen.

Maar als ik verder lees, koppel je een thermokoppel aan RA0 en een (analoge?)sensor aan RA2.  RA0 en RA2 hangen beiden aan een andere comparator.  Ga je dan op de andere ingang van de comparators een referentiespanning zetten?
Of is het de bedoeling dat je gewoon de ADC van de controller gaat gebruiken? en digitaal de waarden gaat vergelijken?

Voor iemand je verder kan helpen, ga je toch nog wat meer uitleg moeten geven of eventueel een schema bijvoegen.




Heel mooi (en ingewikkeld) zilversoldeerwerk!

...maar als ik naar de druk op die manometer kijk, huiver ik...
Groetjes, Peter


raf

hallo havoc

het is een yarrow ketel type

het probleem met die pt100 is dat die meer dan 5 volt nodig heeft en der is maar 12 volt max aan boord van de te bouwen boot
en minachting heb ik niet en nooit gehad behalve dan als dommerikken zich slimmer willen voordoen dan ze zijn
zoals BV in 900 topic's aan geven dat ze weten hoe het moet maar nog NOOIT een oplossing hebben gegeven of ooit een werkend gebouwd stuk van hun zelf hebben laten zien zowel op electro als modelbouw gebied

ik zal eens zien of Harm de tekeningen van de yarrow kan door mailen

gr raf

If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

raf

ja op de andere ingang van de comperator komt een referentie spanning
maar het probleem is dat er eigenlijk twee verschillende referenties zouden moeten zijn en dat kan niet met deze processor heb ik begrepen
er is maar 1 ingang welke je de twee tegelijk als referentie spanning kunt gebruiken

gr raf en ik zal eens kijken wat er van de sturing reeds klaar is want er zit meer dan alleen maar dit in de processor
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

conducteur

Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

loebaske

TIK  TAK ik kan niet meer volgen, peis dat ik een oude vent ben.....

zal maar sebiet naar het zand manneke kijken op tv, dan snap ik nog iets  :) :) :) :)

Geert

Raf ik raad je aan je probleemstelling opnieuw op te starten in een nieuw draadje.

Ik ben beroepsmatig meet en regeltechnieker.  Ik ken bijgevolg heel wat over temperatuurmetingen. Als hobby ken ik redelijk wat over PIC µC en de hardware daarvan. Ik wil je wel verder helpen indien ik je wensen iets beter ken.  ;)

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

raf

Hallo Geert

ik zal zien of ik Harm (das een persoon) die de ketel en dergelijke gebouwd heeft mee naar hier kan overhalen.
ik heb mijn hulp aan geboden omdat ik wel een beetje uit de voeten kan met een picµp maar mijn kennis is beperkt

dan zal ik een nieuw draadje op starten en dan zien we wel hoe het loopt
Harm kan beter uit leggen wat hij wil bereiken en het is niet zijn eerste project
hij heeft reeds een stoom sleepboot waar hij maar met een sensor en een picµp de brander stuurt maar deze ketel is meer complex

gr raf   
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Harm

Citaat van: raf op 31 december 2014, 16:02:00 PM
naar hier kan overhalen.

Dat is gelukt Raf en gelukkig ben ik toegelaten op dit forum.(heren, dank daarvoor)

Ik zal eerst maar eens doorlezen wat er al besproken is.
Heb ondertussen de 16F88 zo dat die al 3 verschillende ingangen bekijkt op de grootte van de spanning, na ADC maakt hij er getallen van op een display.
Verder is het ook gelukt om één vorm van vergelijken (compare) werkend te krijgen. (met wisselende ingangsspanningen die liggen tussen 9mV (lager gaat mijn potentiometer spanningsdeler niet) en de 5V.
Zojuist nog ruzie gehad met CVRCON, dus het vordert.
8)

groet van Harm


raf

#734
Hé Harm welkom hier

ik denk dat we nu beter een nieuw  draadje gaan openen voor dit specifieke probleem mijn gedacht


gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.