:: Re: [DNG] C vs ADA : advice sought
Top Page
Delete this message
Reply to this message
Author: dvalin
Date:  
To: dng
Subject: Re: [DNG] C vs ADA : advice sought
On 01.10.24 22:24, Joel Roth via Dng wrote:

> Erik Christiansen via Dng wrote:


> > On 8-bit microcontrollers, the KISS principle is key to survival. There


> > is no fat for surplus fancy stuff. But go to an ARM chip with reams of RAM


> > and program memory, and you can pack the piano in your luggage for the


> > trip. So, is the aim an ocean liner cruise, or wilderness canoeing?


>


> Hi Erik,


>


> Tho I don't program for microcontrollers, reading your text


> I find great introduction to the issues involved, and


> helpful in thinking about programming in general.


>


> I live almost entirely in the world of "cotton wool" and it


> helps to know how to think about things when some or other


> thorn pokes through.


It seems to me a bit like being in the infantry, rather than in the

navy, on an aircraft carrier with AWACS overhead and a swarm of F35s in

three rings screening out to 300 km. Both the reconnaissance and the

actions are distinctly more immediate.

On the current project, a 230 Vac "excess solar only" power diverter for

my HWS (Hot Water Service, probably called a "Boiler"? in USA), I

connected a simple zero-crossing detector to the ATmega16's INT0

external interrupt pin, for AC frequency measurement and minimum

interference Triac (power switch) firing. But on turning from hardware

design to software, while the PCB was being made, I found it would have

been better to use another input (ICP) which can trigger an

instantaneous snapshot of on-board hardware Timer1, into a 16 bit

capture register pair, for software reading at a slower pace. (I'm

running Timer1 at 4 uS ticks to count the nominal 50 Hz half-cycle

duration. If it has shifted significantly toward 53 Hz (possible only

off-grid) then the battery inverters are throttling back the AC

inverters due to an excess of solar generation over consumption. That

throttling method is an industry norm, here down under. Dunno what's

done where you don't have to dodge kangaroos on country roads at night.)

But closer reading of the 323 page microcontroller datasheet revealed

that even while pin6 on I/O port D was configured to the alternate

function of ICP (timer capture), it could *simultaneously* be configured

as an output pin. That should allow me to software set the pin in the

INT0 ISR, synthesising the desired ICP response despite a missing

physical connection, so the hardware convenience is utilised, without

having to chop PCB tracks and run ugly little wires in fiddly fashion.

If that vaguely resembles rebuilding an aircraft after take-off, then it

shouldn't surprise that working pointers hard is not even slightly

scary.

Why not just buy one? Well, the commercial diverters assume a grid

connection, and use power export to the grid as a measure of solar

surplus. That's not much use when there's no grid. Until my unit is up

and running, it's a matter of switching the HWS off before sunset to

avoid flattening the house battery unnecessarily, though at 46 kWh, it'd

wear it OK.

Erik